[med-svn] [libbpp-popgen] 03/09: Imported Upstream version 2.2.0

Andreas Tille tille at debian.org
Wed Apr 13 15:21:25 UTC 2016


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository libbpp-popgen.

commit bbfffd4c86c352d52905cb1ac4eeffcb01c1a39a
Author: Andreas Tille <tille at debian.org>
Date:   Wed Apr 13 17:14:31 2016 +0200

    Imported Upstream version 2.2.0
---
 CMakeLists.txt                                     |   6 +-
 ChangeLog                                          |   5 +
 Doxyfile                                           |   2 +-
 bpp-popgen.spec                                    |   4 +-
 debian/changelog                                   |   6 +
 debian/control                                     |   8 +-
 debian/copyright                                   |   8 +-
 debian/postinst                                    |  22 +-
 debian/postrm                                      |  26 +-
 debian/prerm                                       |  22 +-
 debian/rules                                       |   4 +-
 src/Bpp/PopGen/AnalyzedLoci.cpp                    |   4 +-
 src/Bpp/PopGen/AnalyzedSequences.cpp               |   2 +-
 src/Bpp/PopGen/DataSet.cpp                         |  10 +-
 src/Bpp/PopGen/GeneMapperCsvExport.cpp             |  14 +-
 src/Bpp/PopGen/GeneMapperCsvExport.h               |   5 +-
 src/Bpp/PopGen/Group.cpp                           |   4 +-
 src/Bpp/PopGen/PolymorphismMultiGContainer.cpp     |   8 +-
 .../PopGen/PolymorphismMultiGContainerTools.cpp    |   4 +-
 src/Bpp/PopGen/PolymorphismSequenceContainer.cpp   |  69 ++--
 src/Bpp/PopGen/PolymorphismSequenceContainer.h     |  31 +-
 .../PopGen/PolymorphismSequenceContainerTools.cpp  |  16 +-
 .../PopGen/PolymorphismSequenceContainerTools.h    |  13 +-
 src/Bpp/PopGen/PopgenlibIO.cpp                     |  14 +-
 src/Bpp/PopGen/SequenceStatistics.cpp              | 452 ++++++++++-----------
 src/Bpp/PopGen/SequenceStatistics.h                | 104 ++---
 26 files changed, 453 insertions(+), 410 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b41c336..2fdcbdb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,7 +42,7 @@ ELSE(NO_DEP_CHECK)
 # In other words, the library implements all the interface numbers in the
 # range from number current - age to current.
 SET(BPPPOPGEN_VERSION_CURRENT "6")
-SET(BPPPOPGEN_VERSION_REVISION "3")
+SET(BPPPOPGEN_VERSION_REVISION "0")
 SET(BPPPOPGEN_VERSION_AGE "0")
 
 # Effective version number computation
@@ -103,9 +103,9 @@ ENDIF(NO_DEP_CHECK)
 # Packager
 SET(CPACK_PACKAGE_NAME "libbpp-popgen")
 SET(CPACK_PACKAGE_VENDOR "Bio++ Development Team")
-SET(CPACK_PACKAGE_VERSION "2.1.0")
+SET(CPACK_PACKAGE_VERSION "2.2.0")
 SET(CPACK_PACKAGE_VERSION_MAJOR "2")
-SET(CPACK_PACKAGE_VERSION_MINOR "1")
+SET(CPACK_PACKAGE_VERSION_MINOR "2")
 SET(CPACK_PACKAGE_VERSION_PATCH "0")
 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The Bio++ Population Genetics library")
 SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt")
diff --git a/ChangeLog b/ChangeLog
index cc4bc56..ca9aad7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+19/09/14 -*- Version 2.2.0 -*-
+
+19/09/14 Julien Dutheil
+* Big cleaning in SequenceStatistics, functions have been renamed for consistency.
+
 07/03/13 -*- Version 2.1.0 -*-
 
 06/05/13 Julien Dutheil
diff --git a/Doxyfile b/Doxyfile
index c87d577..c99b33e 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -32,7 +32,7 @@ PROJECT_NAME           = bpp-popgen
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 2.1.0
+PROJECT_NUMBER         = 2.2.0
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description 
 # for a project that appears at the top of each page and should give viewer 
diff --git a/bpp-popgen.spec b/bpp-popgen.spec
index c36d2f2..41239c9 100644
--- a/bpp-popgen.spec
+++ b/bpp-popgen.spec
@@ -1,5 +1,5 @@
 %define _basename bpp-popgen
-%define _version 2.1.0
+%define _version 2.2.0
 %define _release 1
 %define _prefix /usr
 
@@ -176,6 +176,8 @@ createGeneric() {
 %{_prefix}/include/*
 
 %changelog
+* Fri Sep 19 2014 Julien Dutheil <julien.dutheil at univ-montp2.fr> 2.2.0-1
+- Statistical funcion names rationalized.
 * Thu Mar 07 2013 Julien Dutheil <julien.dutheil at univ-montp2.fr> 2.1.0-1
 - Bug fixed and warnings removed.
 * Thu Feb 09 2012 Julien Dutheil <julien.dutheil at univ-montp2.fr> 2.0.3-1
diff --git a/debian/changelog b/debian/changelog
index 0c1aec5..41e5998 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libbpp-popgen (2.2.0-1) unstable; urgency=low
+
+  * Statistical funcion names rationalized.
+
+ -- Julien Dutheil <julien.dutheil at univ-montp2.fr>  Fri, 19 Sep 2014 14:00:00 +0100
+
 libbpp-popgen (2.1.0-1) unstable; urgency=low
 
   * Bug fixed and warnings removed.
diff --git a/debian/control b/debian/control
index 514f887..4d382fe 100644
--- a/debian/control
+++ b/debian/control
@@ -4,14 +4,14 @@ Priority: optional
 Maintainer: Loic Dachary <loic at dachary.org>
 Uploaders: Julien Dutheil <julien.dutheil at univ-montp2.fr>
 Build-Depends: debhelper (>= 5), cmake (>= 2.6),
-  libbpp-core-dev (>= 2.1.0), libbpp-seq-dev (>= 2.1.0)
-Standards-Version: 3.9.1
+  libbpp-core-dev (>= 2.2.0), libbpp-seq-dev (>= 2.2.0)
+Standards-Version: 3.9.4
 
 Package: libbpp-popgen-dev
 Section: libdevel
 Architecture: any
 Depends: libbpp-popgen6 (= ${binary:Version}), ${misc:Depends},
-  libbpp-core-dev (>= 2.1.0), libbpp-seq-dev (>= 2.1.0)
+  libbpp-core-dev (>= 2.2.0), libbpp-seq-dev (>= 2.2.0)
 Description: Bio++ Population Genetics library development files.
  Contains the Bio++ classes for population genetics.
 
@@ -19,7 +19,7 @@ Package: libbpp-popgen6
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
-  libbpp-core2 (>= 2.1.0), libbpp-seq9 (>= 2.1.0)
+  libbpp-core2 (>= 2.2.0), libbpp-seq9 (>= 2.2.0)
 Description: Bio++ Population Genetics library.
  Contains the Bio++ classes for population genetics.
 
diff --git a/debian/copyright b/debian/copyright
index ff3fdc0..1ea5b79 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,5 +1,5 @@
-This package was debianized by Julien Dutheil <jdutheil at birc.au.dk> on
-Thu, 07 Mar 2013 10:51:00 +0100
+This package was debianized by Julien Dutheil <julien.dutheil at univ-montp2.fr> on
+Fri, 19 Sep 2014 14:00:00 +0100
 
 It was downloaded from <http://biopp.univ-montp2.fr/Repositories/sources>
 
@@ -9,7 +9,7 @@ Upstream Author:
 
 Copyright: 
 
-    Copyright (C) 2013 Bio++ Development Team
+    Copyright (C) 2014 Bio++ Development Team
 
 License:
 
@@ -30,7 +30,7 @@ License:
 On Debian systems, the complete text of the GNU General
 Public License can be found in `/usr/share/common-licenses/GPL'.
 
-The Debian packaging is (C) 2013, Julien Dutheil <julien.dutheil at univ-montp2.fr> and
+The Debian packaging is (C) 2014, Julien Dutheil <julien.dutheil at univ-montp2.fr> and
 is licensed under the GPL, see above.
 
 The provided software is distributed under the CeCILL license:
diff --git a/debian/postinst b/debian/postinst
index cf9e925..cff89b1 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -35,9 +35,23 @@ createGeneric() {
   done;
 }
 
-if [ "$1" = "configure" ]; then
-  # Actualize .all files
-  createGeneric /usr/include/Bpp
-fi
+case "$1" in
+  configure)
+    # Actualize .all files
+    createGeneric /usr/include/Bpp
+  ;;
+  abort-upgrade|abort-remove|abort-deconfigure)
+    echo "$1"
+  ;;
+  *)
+    echo "postinst called with unknown argument \`\$1'" >&2
+    exit 0
+  ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
 
 exit 0
diff --git a/debian/postrm b/debian/postrm
index 3931669..744f8b1 100755
--- a/debian/postrm
+++ b/debian/postrm
@@ -35,11 +35,25 @@ createGeneric() {
   done;
 }
 
-if [ "$1" = "remove" ]; then
-  # Automatically added by dh_makeshlibs
-  ldconfig
-  # Actualize .all files
-  createGeneric /usr/include/Bpp
-fi
+case "$1" in
+  remove)
+    # Automatically added by dh_makeshlibs
+    ldconfig
+    # Actualize .all files
+    createGeneric /usr/include/Bpp
+  ;;
+  purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    echo $1
+  ;;
+  *)
+    echo "postrm called with unknown argument \`\$1'" >&2
+    exit 0
+  ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
 
 exit 0
diff --git a/debian/prerm b/debian/prerm
index 5aefd24..8fab52e 100755
--- a/debian/prerm
+++ b/debian/prerm
@@ -19,9 +19,23 @@ removeGeneric() {
   done
 }
 
-if [ "$1" = "remove" ]; then
-  # Actualize .all files
-  removeGeneric /usr/include/Bpp
-fi
+case "$1" in
+  remove|upgrade|deconfigure)
+    # Actualize .all files
+    removeGeneric /usr/include/Bpp
+  ;;
+  failed-upgrade)
+    echo "$1"
+  ;;
+  *)
+    echo "prerm called with unknown argument \`$1'" >&2
+    exit 1
+  ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
 
 exit 0
diff --git a/debian/rules b/debian/rules
index 63fdf40..441d776 100755
--- a/debian/rules
+++ b/debian/rules
@@ -38,7 +38,9 @@ configure:
 config.status: configure
 	dh_testdir
 
-build: build-stamp
+build: build-arch build-indep
+build-arch: build-stamp
+build-indep: build-stamp
 build-stamp:  config.status
 	dh_testdir
 
diff --git a/src/Bpp/PopGen/AnalyzedLoci.cpp b/src/Bpp/PopGen/AnalyzedLoci.cpp
index 26a4e61..abea706 100644
--- a/src/Bpp/PopGen/AnalyzedLoci.cpp
+++ b/src/Bpp/PopGen/AnalyzedLoci.cpp
@@ -79,7 +79,7 @@ void AnalyzedLoci::setLocusInfo(
   const LocusInfo& locus)
 throw (IndexOutOfBoundsException)
 {
-  if (locus_position >= 0 && locus_position < loci_.size())
+  if (locus_position < loci_.size())
     loci_[locus_position] = new LocusInfo(locus);
   else
     throw IndexOutOfBoundsException("AnalyzedLoci::setLocusInfo: locus_position out of bounds",
@@ -163,7 +163,7 @@ void AnalyzedLoci::addAlleleInfoByLocusPosition(size_t locus_position,
                                                 const AlleleInfo& allele)
 throw (Exception)
 {
-  if (locus_position >= 0 && locus_position < loci_.size())
+  if (locus_position < loci_.size())
   {
     try
     {
diff --git a/src/Bpp/PopGen/AnalyzedSequences.cpp b/src/Bpp/PopGen/AnalyzedSequences.cpp
index 3a41892..e17cf28 100644
--- a/src/Bpp/PopGen/AnalyzedSequences.cpp
+++ b/src/Bpp/PopGen/AnalyzedSequences.cpp
@@ -111,7 +111,7 @@ std::string AnalyzedSequences::getAlphabetType() const
     return string("---");
   string alpha_type = alphabet_->getAlphabetType();
   size_t bs = alpha_type.find(" ", 0);
-  alpha_type = string(alpha_type.begin(), alpha_type.begin() + bs);
+  alpha_type = string(alpha_type.begin(), alpha_type.begin() + static_cast<ptrdiff_t>(bs));
   if (alpha_type == "Proteic")
     alpha_type = "PROTEIN";
   return alpha_type;
diff --git a/src/Bpp/PopGen/DataSet.cpp b/src/Bpp/PopGen/DataSet.cpp
index 1d382b8..02726cb 100644
--- a/src/Bpp/PopGen/DataSet.cpp
+++ b/src/Bpp/PopGen/DataSet.cpp
@@ -168,7 +168,7 @@ void DataSet::deleteLocalityAtPosition(size_t locality_position) throw (IndexOut
   if (locality_position >= localities_.size())
     throw IndexOutOfBoundsException("DataSet::deleteLocalityAtPosition: locality_position out of bounds.", locality_position, 0, localities_.size());
   delete localities_[locality_position];
-  localities_.erase(localities_.begin() + locality_position);
+  localities_.erase(localities_.begin() + static_cast<ptrdiff_t>(locality_position));
 }
 
 /******************************************************************************/
@@ -292,7 +292,7 @@ void DataSet::deleteGroupAtPosition(size_t group_position) throw (IndexOutOfBoun
   if (group_position >= groups_.size())
     throw IndexOutOfBoundsException("DataSet::deleteGroup.", group_position, 0, groups_.size());
   delete groups_[group_position];
-  groups_.erase(groups_.begin() + group_position);
+  groups_.erase(groups_.begin() + static_cast<ptrdiff_t>(group_position));
 }
 
 /******************************************************************************/
@@ -1333,9 +1333,9 @@ PolymorphismSequenceContainer* DataSet::getPolymorphismSequenceContainer(const s
       }
       if (tmp_ind->hasSequenceAtPosition(sequence_position))
       {
-        const Sequence* tmp_seq = &tmp_ind->getSequenceAtPosition(sequence_position);
-        psc->addSequence(*tmp_seq, 1, false);
-        psc->setGroupId((const string) (tmp_seq->getName()), it->first);
+        const Sequence& tmp_seq = tmp_ind->getSequenceAtPosition(sequence_position);
+        psc->addSequenceWithFrequency(tmp_seq, 1, false);
+        psc->setGroupId(tmp_seq.getName(), it->first);
       }
     }
   }
diff --git a/src/Bpp/PopGen/GeneMapperCsvExport.cpp b/src/Bpp/PopGen/GeneMapperCsvExport.cpp
index 885fe3c..fd9419a 100644
--- a/src/Bpp/PopGen/GeneMapperCsvExport.cpp
+++ b/src/Bpp/PopGen/GeneMapperCsvExport.cpp
@@ -54,7 +54,7 @@ const std::string GeneMapperCsvExport::PEAK_AREA_H = "Peak Area ";
 const std::string GeneMapperCsvExport::DAC_H = "DAC";
 const std::string GeneMapperCsvExport::AN_H = "AN";
 
-GeneMapperCsvExport::GeneMapperCsvExport(bool ia) : IndependentAlleles_(ia) {}
+//GeneMapperCsvExport::GeneMapperCsvExport(bool ia) : IndependentAlleles_(ia) {}
 
 GeneMapperCsvExport::~GeneMapperCsvExport() {}
 
@@ -123,22 +123,22 @@ void GeneMapperCsvExport::read(std::istream& is, DataSet& data_set) throw (Excep
   vector<string> col_names = dt.getColumnNames();
 
   // Finds columns containing allele data
-  vector<unsigned int> alleles_cols;
-  for (unsigned int i = 0; i < col_names.size(); i++)
+  vector<size_t> alleles_cols;
+  for (size_t i = 0; i < col_names.size(); i++)
   {
     if (TextTools::startsWith(col_names[i], ALLELE_H))
       alleles_cols.push_back(i);
   }
   // Set LocusInfo
-  vector<vector<unsigned int> > alleles_pos;
-  for (unsigned int i = 0; i < markers.size(); i++)
+  vector<vector<size_t> > alleles_pos;
+  for (size_t i = 0; i < markers.size(); i++)
   {
     al.setLocusInfo(i, LocusInfo(markers[i], LocusInfo::UNKNOWN));
   }
   std::map< std::string, std::set< std::string > > markerAlleles;
-  for (unsigned int i = 0; i < dt.getNumberOfRows(); ++i)
+  for (size_t i = 0; i < dt.getNumberOfRows(); ++i)
   {
-    for (unsigned int j = 0; j < alleles_cols.size(); ++j)
+    for (size_t j = 0; j < alleles_cols.size(); ++j)
     {
       if (dt(i, alleles_cols[j]) != "")
       {
diff --git a/src/Bpp/PopGen/GeneMapperCsvExport.h b/src/Bpp/PopGen/GeneMapperCsvExport.h
index 5f0e97f..2f74298 100644
--- a/src/Bpp/PopGen/GeneMapperCsvExport.h
+++ b/src/Bpp/PopGen/GeneMapperCsvExport.h
@@ -76,11 +76,12 @@ public:
   static const std::string AN_H;
 
 private:
-  bool IndependentAlleles_;
+  //bool IndependentAlleles_; //jdutheilon 19/09/14: this does not seem to be used anywhere!
 
 public:
   // Constructor and destructor
-  GeneMapperCsvExport(bool ia = false);
+  //GeneMapperCsvExport(bool ia = false);
+  GeneMapperCsvExport() {}
   ~GeneMapperCsvExport();
 
   // public:
diff --git a/src/Bpp/PopGen/Group.cpp b/src/Bpp/PopGen/Group.cpp
index c76280c..c5c7246 100644
--- a/src/Bpp/PopGen/Group.cpp
+++ b/src/Bpp/PopGen/Group.cpp
@@ -133,7 +133,7 @@ std::auto_ptr<Individual> Group::removeIndividualById(const std::string& individ
   {
     size_t indPos = getIndividualPosition(individual_id);
     auto_ptr<Individual> ind(individuals_[indPos]);
-    individuals_.erase(individuals_.begin() + indPos);
+    individuals_.erase(individuals_.begin() + static_cast<ptrdiff_t>(indPos));
     return ind;
   }
   catch (IndividualNotFoundException& infe)
@@ -147,7 +147,7 @@ std::auto_ptr<Individual> Group::removeIndividualAtPosition(size_t individual_po
   if (individual_position >= individuals_.size())
     throw IndexOutOfBoundsException("Group::removeIndividualAtPosition.", individual_position, 0, individuals_.size());
   auto_ptr<Individual> ind(individuals_[individual_position]);
-  individuals_.erase(individuals_.begin() + individual_position);
+  individuals_.erase(individuals_.begin() + static_cast<ptrdiff_t>(individual_position));
   return ind;
 }
 
diff --git a/src/Bpp/PopGen/PolymorphismMultiGContainer.cpp b/src/Bpp/PopGen/PolymorphismMultiGContainer.cpp
index d7fdd0e..854967e 100644
--- a/src/Bpp/PopGen/PolymorphismMultiGContainer.cpp
+++ b/src/Bpp/PopGen/PolymorphismMultiGContainer.cpp
@@ -124,8 +124,8 @@ MultilocusGenotype* PolymorphismMultiGContainer::removeMultilocusGenotype(size_t
   if (position >= size())
     throw IndexOutOfBoundsException("PolymorphismMultiGContainer::removeMultilocusGenotype: position out of bounds.", position, 0, size() - 1);
   MultilocusGenotype* tmp_mg = multilocusGenotypes_[position];
-  multilocusGenotypes_.erase(multilocusGenotypes_.begin() + position);
-  groups_.erase(groups_.begin() + position);
+  multilocusGenotypes_.erase(multilocusGenotypes_.begin() + static_cast<ptrdiff_t>(position));
+  groups_.erase(groups_.begin() + static_cast<ptrdiff_t>(position));
   return tmp_mg;
 }
 
@@ -136,8 +136,8 @@ void PolymorphismMultiGContainer::deleteMultilocusGenotype(size_t position) thro
   if (position >= size())
     throw IndexOutOfBoundsException("PolymorphismMultiGContainer::deleteMultilocusGenotype: position out of bounds.", position, 0, size() - 1);
   delete multilocusGenotypes_[position];
-  multilocusGenotypes_.erase(multilocusGenotypes_.begin() + position);
-  groups_.erase(groups_.begin() + position);
+  multilocusGenotypes_.erase(multilocusGenotypes_.begin() + static_cast<ptrdiff_t>(position));
+  groups_.erase(groups_.begin() + static_cast<ptrdiff_t>(position));
 }
 
 /******************************************************************************/
diff --git a/src/Bpp/PopGen/PolymorphismMultiGContainerTools.cpp b/src/Bpp/PopGen/PolymorphismMultiGContainerTools.cpp
index e4fba83..685103a 100644
--- a/src/Bpp/PopGen/PolymorphismMultiGContainerTools.cpp
+++ b/src/Bpp/PopGen/PolymorphismMultiGContainerTools.cpp
@@ -269,7 +269,7 @@ PolymorphismMultiGContainer PolymorphismMultiGContainerTools::permutIntraGroupAl
 
   for (set<size_t>::const_iterator g = groups.begin(); g != groups.end(); g++) // for each group
   {
-    int nb_ind_in_group = 0;
+    size_t nb_ind_in_group = 0;
 
     vector< vector<size_t> > nb_alleles_for_inds;
     nb_alleles_for_inds.resize(loc_num);
@@ -314,7 +314,7 @@ PolymorphismMultiGContainer PolymorphismMultiGContainerTools::permutIntraGroupAl
       // Build the new PolymorphismMultiGContainer
       vector<size_t> k(loc_num, 0);
 
-      for (int ind = 0; ind < nb_ind_in_group; ind++)
+      for (size_t ind = 0; ind < nb_ind_in_group; ind++)
       {
         MultilocusGenotype tmp_mg(loc_num);
         for (size_t j = 0; j < loc_num; j++)
diff --git a/src/Bpp/PopGen/PolymorphismSequenceContainer.cpp b/src/Bpp/PopGen/PolymorphismSequenceContainer.cpp
index 2469348..6d9fd4c 100644
--- a/src/Bpp/PopGen/PolymorphismSequenceContainer.cpp
+++ b/src/Bpp/PopGen/PolymorphismSequenceContainer.cpp
@@ -49,40 +49,40 @@ using namespace std;
 PolymorphismSequenceContainer::PolymorphismSequenceContainer(const Alphabet* alpha) :
   VectorSiteContainer(alpha),
   ingroup_(vector<bool>()),
-  count_(vector<size_t>()),
-  group_(vector<size_t>()) {}
+  count_(0),
+  group_(0) {}
 
 /******************************************************************************/
 
 PolymorphismSequenceContainer::PolymorphismSequenceContainer(size_t size, const Alphabet* alpha) :
   VectorSiteContainer(size, alpha),
-  ingroup_(vector<bool>(size)),
-  count_(vector<size_t>(size)),
-  group_(vector<size_t>(size)) {}
+  ingroup_(size),
+  count_(size),
+  group_(size) {}
 
 /******************************************************************************/
 
 PolymorphismSequenceContainer::PolymorphismSequenceContainer(const OrderedSequenceContainer& sc) :
   VectorSiteContainer(sc),
-  ingroup_(vector<bool>(sc.getNumberOfSequences(), true)),
-  count_(vector<size_t>(sc.getNumberOfSequences(), 1)),
-  group_(vector<size_t>(sc.getNumberOfSequences(), 1)) {}
+  ingroup_(sc.getNumberOfSequences(), true),
+  count_(sc.getNumberOfSequences(), 1),
+  group_(sc.getNumberOfSequences(), 1) {}
 
 /******************************************************************************/
 
 PolymorphismSequenceContainer::PolymorphismSequenceContainer(const SiteContainer& sc) :
   VectorSiteContainer(sc),
-  ingroup_(vector<bool>(sc.getNumberOfSequences(), true)),
-  count_(vector<size_t>(sc.getNumberOfSequences(), 1)),
-  group_(vector<size_t>(sc.getNumberOfSequences(), 1)) {}
+  ingroup_(sc.getNumberOfSequences(), true),
+  count_(sc.getNumberOfSequences(), 1),
+  group_(sc.getNumberOfSequences(), 1) {}
 
 /******************************************************************************/
 
 PolymorphismSequenceContainer::PolymorphismSequenceContainer(const PolymorphismSequenceContainer& psc) :
   VectorSiteContainer(psc),
-  ingroup_(vector<bool>(psc.getNumberOfSequences())),
-  count_(vector<size_t>(psc.getNumberOfSequences())),
-  group_(vector<size_t>(psc.getNumberOfSequences()))
+  ingroup_(psc.getNumberOfSequences()),
+  count_(psc.getNumberOfSequences()),
+  group_(psc.getNumberOfSequences())
 {
   for (size_t i = 0; i < psc.getNumberOfSequences(); i++)
   {
@@ -128,9 +128,9 @@ Sequence* PolymorphismSequenceContainer::removeSequence(size_t index) throw (Ind
 {
   if (index >= getNumberOfSequences())
     throw IndexOutOfBoundsException("PolymorphismSequenceContainer::removeSequence: index out of bounds.", index, 0, getNumberOfSequences());
-  count_.erase(count_.begin() + index);
-  ingroup_.erase(ingroup_.begin() + index);
-  group_.erase(group_.begin() + index);
+  count_.erase(count_.begin() + static_cast<ptrdiff_t>(index));
+  ingroup_.erase(ingroup_.begin() + static_cast<ptrdiff_t>(index));
+  group_.erase(group_.begin() + static_cast<ptrdiff_t>(index));
   return VectorSiteContainer::removeSequence(index);
 }
 
@@ -178,23 +178,40 @@ void PolymorphismSequenceContainer::deleteSequence(const std::string& name) thro
 
 /******************************************************************************/
 
-void PolymorphismSequenceContainer::addSequence(const Sequence& sequence, size_t effectif, bool checkNames) throw (Exception)
+void PolymorphismSequenceContainer::addSequenceWithFrequency(const Sequence& sequence, unsigned int frequency, bool checkName) throw (Exception)
 {
   try
   {
-    VectorSiteContainer::addSequence(sequence, checkNames);
+    VectorSiteContainer::addSequence(sequence, checkName);
   }
   catch (Exception& e)
   {
     throw e;
   }
-  count_.push_back(effectif);
+  count_.push_back(frequency);
   ingroup_.push_back(true);
   group_.push_back(0);
 }
 
 /******************************************************************************/
 
+void PolymorphismSequenceContainer::addSequenceWithFrequency(const Sequence& sequence, size_t sequenceIndex, unsigned int frequency, bool checkName) throw (Exception)
+{
+  try
+  {
+    VectorSiteContainer::addSequence(sequence, sequenceIndex, checkName);
+  }
+  catch (Exception& e)
+  {
+    throw e;
+  }
+  count_.insert(count_.begin() + static_cast<ptrdiff_t>(sequenceIndex), frequency);
+  ingroup_.insert(ingroup_.begin() + static_cast<ptrdiff_t>(sequenceIndex), true);
+  group_.insert(group_.begin() + static_cast<ptrdiff_t>(sequenceIndex), 0);
+}
+
+/******************************************************************************/
+
 void PolymorphismSequenceContainer::clear()
 {
   VectorSiteContainer::clear();
@@ -341,7 +358,7 @@ void PolymorphismSequenceContainer::setAsOutgroupMember(const std::string& name)
 
 /******************************************************************************/
 
-void PolymorphismSequenceContainer::setSequenceCount(size_t index, size_t count) throw (Exception)
+void PolymorphismSequenceContainer::setSequenceCount(size_t index, unsigned int count) throw (Exception)
 {
   if (index >= getNumberOfSequences())
     throw IndexOutOfBoundsException("PolymorphismSequenceContainer::setSequenceCount.", index, 0, getNumberOfSequences());
@@ -352,7 +369,7 @@ void PolymorphismSequenceContainer::setSequenceCount(size_t index, size_t count)
 
 /******************************************************************************/
 
-void PolymorphismSequenceContainer::setSequenceCount(const std::string& name, size_t count) throw (Exception)
+void PolymorphismSequenceContainer::setSequenceCount(const std::string& name, unsigned int count) throw (Exception)
 {
   try
   {
@@ -393,7 +410,7 @@ void PolymorphismSequenceContainer::incrementSequenceCount(const std::string& na
 
 /******************************************************************************/
 
-void PolymorphismSequenceContainer::decrementSequenceCount(size_t index) throw (Exception)
+void PolymorphismSequenceContainer::decrementSequenceCount(size_t index) throw (IndexOutOfBoundsException, BadIntegerException)
 {
   if (index >= getNumberOfSequences())
     throw IndexOutOfBoundsException("PolymorphismSequenceContainer::decrementSequenceCount.", index, 0, getNumberOfSequences());
@@ -404,7 +421,7 @@ void PolymorphismSequenceContainer::decrementSequenceCount(size_t index) throw (
 
 /******************************************************************************/
 
-void PolymorphismSequenceContainer::decrementSequenceCount(const std::string& name) throw (Exception)
+void PolymorphismSequenceContainer::decrementSequenceCount(const std::string& name) throw (SequenceNotFoundException, BadIntegerException)
 {
   try
   {
@@ -422,7 +439,7 @@ void PolymorphismSequenceContainer::decrementSequenceCount(const std::string& na
 
 /******************************************************************************/
 
-size_t PolymorphismSequenceContainer::getSequenceCount(size_t index) const throw (IndexOutOfBoundsException)
+unsigned int PolymorphismSequenceContainer::getSequenceCount(size_t index) const throw (IndexOutOfBoundsException)
 {
   if (index >= getNumberOfSequences())
     throw IndexOutOfBoundsException("PolymorphismSequenceContainer::getSequenceCount.", index, 0, getNumberOfSequences());
@@ -431,7 +448,7 @@ size_t PolymorphismSequenceContainer::getSequenceCount(size_t index) const throw
 
 /******************************************************************************/
 
-size_t PolymorphismSequenceContainer::getSequenceCount(const std::string& name) const throw (SequenceNotFoundException)
+unsigned int PolymorphismSequenceContainer::getSequenceCount(const std::string& name) const throw (SequenceNotFoundException)
 {
   try
   {
diff --git a/src/Bpp/PopGen/PolymorphismSequenceContainer.h b/src/Bpp/PopGen/PolymorphismSequenceContainer.h
index 5aeec8d..02656c5 100644
--- a/src/Bpp/PopGen/PolymorphismSequenceContainer.h
+++ b/src/Bpp/PopGen/PolymorphismSequenceContainer.h
@@ -104,7 +104,7 @@ class PolymorphismSequenceContainer :
 {
 private:
   std::vector<bool> ingroup_;
-  std::vector<size_t> count_;
+  std::vector<unsigned int> count_;
   std::vector<size_t> group_;
 
 public:
@@ -189,7 +189,14 @@ public:
    * @throw SequenceException if the sequence's size doesn't match the sequence's size of the container.
    * @throw SequenceException if the sequence's name already exists in the container.
    */
-  void addSequence(const Sequence& sequence, size_t effectif = 1,  bool checkNames = true) throw (Exception);
+  void addSequenceWithFrequency(const Sequence& sequence, unsigned int frequency, bool checkName = true) throw (Exception);
+  void addSequenceWithFrequency(const Sequence& sequence, size_t sequenceIndex, unsigned int frequency, bool checkName = true) throw (Exception);
+  void addSequence(const Sequence& sequence, bool checkName = true) throw (Exception) {
+    addSequenceWithFrequency(sequence, 1, checkName);
+  }
+  void addSequence(const Sequence& sequence, size_t sequenceIndex, bool checkName = true) throw (Exception) {
+    addSequenceWithFrequency(sequence, sequenceIndex, 1, checkName);
+  }
 
   /**
    * @brief Clear the container of all its sequences.
@@ -282,7 +289,7 @@ public:
    * @throw IndexOutOfBoundsException if index excedes the number of sequences in the container.
    * @throw BadIntegerException if count < 1 ... use deleteSequence instead of setting the count to 0.
    */
-  void setSequenceCount(size_t index, size_t count) throw (Exception);
+  void setSequenceCount(size_t index, unsigned int count) throw (Exception);
 
   /**
    * @brief Set the count of a sequence by name.
@@ -290,7 +297,7 @@ public:
    * @throw throw SequenceNotFoundException if name is not found among the sequences' names.
    * @throw BadIntegerException if count < 1 ... use deleteSequence instead of setting the count to 0.
    */
-  void setSequenceCount(const std::string& name, size_t count) throw (Exception);
+  void setSequenceCount(const std::string& name, unsigned int count) throw (Exception);
 
   /**
    * @brief Add 1 to the sequence count.
@@ -302,39 +309,39 @@ public:
   /**
    * @brief Add 1 to the sequence count.
    *
-   * @throw throw SequenceNotFoundException if name is not found among the sequences' names.
+   * @throw SequenceNotFoundException if name is not found among the sequences' names.
    */
   void incrementSequenceCount(const std::string& name) throw (SequenceNotFoundException);
 
-  /**
-   * @brief Remove 1 to the sequence count.
+   /**
+   * @brief Removz 1 to the sequence count.
    *
    * @throw IndexOutOfBoundsException if index excedes the number of sequences in the container.
    * @throw BadIntegerException if count < 1 ... use deleteSequence instead of setting the count to 0.
    */
-  void decrementSequenceCount(size_t index) throw (Exception);
+  void decrementSequenceCount(size_t index) throw(IndexOutOfBoundsException, BadIntegerException);
 
   /**
    * @brief Remove 1 to the sequence count.
    *
-   * @throw throw SequenceNotFoundException if name is not found among the sequences' names.
+   * @throw SequenceNotFoundException if name is not found among the sequences' names.
    * @throw BadIntegerException if count < 1 ... use deleteSequence instead of setting the count to 0.
    */
-  void decrementSequenceCount(const std::string& name) throw (Exception);
+  void decrementSequenceCount(const std::string& name) throw (SequenceNotFoundException, BadIntegerException);
 
   /**
    * @brief Get the count of a sequence by index.
    *
    * @throw IndexOutOfBoundsException if index excedes the number of sequences in the container.
    */
-  size_t getSequenceCount(size_t index) const throw (IndexOutOfBoundsException);
+  unsigned int getSequenceCount(size_t index) const throw (IndexOutOfBoundsException);
 
   /**
    * @brief Get the count of a sequence by name.
    *
    * @throw SequenceNotFoundException if name is not found among the sequences' names.
    */
-  size_t getSequenceCount(const std::string& name) const throw (SequenceNotFoundException);
+  unsigned int getSequenceCount(const std::string& name) const throw (SequenceNotFoundException);
 };
 } // end of namespace bpp;
 
diff --git a/src/Bpp/PopGen/PolymorphismSequenceContainerTools.cpp b/src/Bpp/PopGen/PolymorphismSequenceContainerTools.cpp
index 1193ac3..15c3e0a 100644
--- a/src/Bpp/PopGen/PolymorphismSequenceContainerTools.cpp
+++ b/src/Bpp/PopGen/PolymorphismSequenceContainerTools.cpp
@@ -174,7 +174,7 @@ PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::getSelectedSe
   PolymorphismSequenceContainer* newpsc = new PolymorphismSequenceContainer(psc.getAlphabet());
   for (size_t i = 0; i < ss.size(); i++)
   {
-    newpsc->addSequence(psc.getSequence(ss[i]), psc.getSequenceCount(i), false);
+    newpsc->addSequenceWithFrequency(psc.getSequence(ss[i]), psc.getSequenceCount(i), false);
     if (psc.isIngroupMember(i))
       newpsc->setAsIngroupMember(i);
     else
@@ -430,7 +430,10 @@ PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::getOnePositio
 
 /******************************************************************************/
 
-PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::getIntrons(const PolymorphismSequenceContainer& psc, const std::string& setName, const CodonAlphabet* ca )
+PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::getIntrons(
+    const PolymorphismSequenceContainer& psc,
+    const std::string& setName,
+    const GeneticCode* gCode)
 {
   Comments maseFileHeader = psc.getGeneralComments();
   SiteSelection ss;
@@ -456,7 +459,7 @@ PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::getIntrons(co
   int c1 = psc.getSite(codss[codss.size() - 3]).getValue(0);
   int c2 = psc.getSite(codss[codss.size() - 2]).getValue(0);
   int c3 = psc.getSite(codss[codss.size() - 1]).getValue(0);
-  if (ca->isStop(ca->getCodon(c1, c2, c3)))
+  if (gCode->isStop(gCode->getSourceAlphabet()->getCodon(c1, c2, c3)))
     last = codss[codss.size() - 1];
   // Keep sites between AUG and STOP
   for (size_t i = first; i < last; i++)
@@ -522,7 +525,10 @@ PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::get5Prime(con
 
 /******************************************************************************/
 
-PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::get3Prime(const PolymorphismSequenceContainer& psc, const std::string& setName, const CodonAlphabet* ca )
+PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::get3Prime(
+    const PolymorphismSequenceContainer& psc,
+    const std::string& setName,
+    const GeneticCode* gCode)
 {
   Comments maseFileHeader = psc.getGeneralComments();
   SiteSelection ss;
@@ -532,7 +538,7 @@ PolymorphismSequenceContainer* PolymorphismSequenceContainerTools::get3Prime(con
   int c1 = psc.getSite(codss[codss.size() - 3]).getValue(0);
   int c2 = psc.getSite(codss[codss.size() - 2]).getValue(0);
   int c3 = psc.getSite(codss[codss.size() - 1]).getValue(0);
-  if (ca->isStop(ca->getCodon(c1, c2, c3)))
+  if (gCode->isStop(gCode->getSourceAlphabet()->getCodon(c1, c2, c3)))
     first = codss[codss.size() - 1];
   for (size_t i = first; i < psc.getNumberOfSites(); i++)
   {
diff --git a/src/Bpp/PopGen/PolymorphismSequenceContainerTools.h b/src/Bpp/PopGen/PolymorphismSequenceContainerTools.h
index 993f1bc..7c576b6 100644
--- a/src/Bpp/PopGen/PolymorphismSequenceContainerTools.h
+++ b/src/Bpp/PopGen/PolymorphismSequenceContainerTools.h
@@ -95,7 +95,7 @@ public:
    *
    * @throw Exception if there is no ingroup sequence
    */
-  static PolymorphismSequenceContainer* extractIngroup (const PolymorphismSequenceContainer& psc) throw (Exception);
+  static PolymorphismSequenceContainer* extractIngroup(const PolymorphismSequenceContainer& psc) throw (Exception);
 
   /**
    * @brief Extract outgroup sequences from a PolymorphismSequenceContainer and create a new one.
@@ -104,7 +104,7 @@ public:
    *
    * @throw Exception if there is no outgroup sequence
    */
-  static PolymorphismSequenceContainer* extractOutgroup (const PolymorphismSequenceContainer& psc) throw (Exception);
+  static PolymorphismSequenceContainer* extractOutgroup(const PolymorphismSequenceContainer& psc) throw (Exception);
 
   /**
    * @brief Extract a special group from the PolymorphismSequenceContainer.
@@ -125,7 +125,6 @@ public:
    */
   static PolymorphismSequenceContainer* getSelectedSequences(const PolymorphismSequenceContainer& psc, const SequenceSelection& ss);
 
-
   /**
    * @brief Get a random set of sequences
    *
@@ -221,9 +220,9 @@ public:
    *
    * @param psc a PolymorphismSequenceContainer
    * @param setName name of the CDS site selection
-   * @param ca a codon alphabet
+   * @param gCode The genetic code to use
    */
-  static PolymorphismSequenceContainer* getIntrons(const PolymorphismSequenceContainer& psc, const std::string& setName, const CodonAlphabet* ca );
+  static PolymorphismSequenceContainer* getIntrons(const PolymorphismSequenceContainer& psc, const std::string& setName, const GeneticCode* gCode);
 
   /**
    * @brief Retrieve 5' sites
@@ -238,9 +237,9 @@ public:
    *
    * @param psc a PolymorphismSequenceContainer
    * @param setName name of the CDS site selection
-   * @param ca a codon alphabet
+   * @param gCode The genetic code to use
    */
-  static PolymorphismSequenceContainer* get3Prime(const PolymorphismSequenceContainer& psc, const std::string& setName, const CodonAlphabet* ca );
+  static PolymorphismSequenceContainer* get3Prime(const PolymorphismSequenceContainer& psc, const std::string& setName, const GeneticCode* gCode);
 
   /**
    * @brief Get the species name of the ingroup
diff --git a/src/Bpp/PopGen/PopgenlibIO.cpp b/src/Bpp/PopGen/PopgenlibIO.cpp
index d0c5b9d..9f0f14f 100644
--- a/src/Bpp/PopGen/PopgenlibIO.cpp
+++ b/src/Bpp/PopGen/PopgenlibIO.cpp
@@ -408,7 +408,7 @@ void PopgenlibIO::parseIndividual_(const std::vector<std::string>& in, DataSet&
     if (in[i].find("Group", 0) != string::npos)
     {
       temp = in[i];
-      tmp_group_pos = TextTools::toInt(getValues_(temp, "=")[0]);
+      tmp_group_pos = TextTools::to<size_t>(getValues_(temp, "=")[0]);
       try
       {
         data_set.addEmptyGroup(tmp_group_pos);
@@ -421,7 +421,7 @@ void PopgenlibIO::parseIndividual_(const std::vector<std::string>& in, DataSet&
     {
       temp = in[i];
       size_t sep_pos = temp.find("=", 0);
-      string loc_name = TextTools::removeSurroundingWhiteSpaces(string(temp.begin() + sep_pos + 1, temp.end()));
+      string loc_name = TextTools::removeSurroundingWhiteSpaces(string(temp.begin() + static_cast<ptrdiff_t>(sep_pos + 1), temp.end()));
       try
       {
         tmp_indiv.setLocality(&data_set.getLocalityByName(loc_name));
@@ -457,7 +457,7 @@ void PopgenlibIO::parseIndividual_(const std::vector<std::string>& in, DataSet&
         try
         {
           if (seq_pos_str[j] != getMissingDataSymbol())
-            tmp_indiv.addSequence(j, vsc.getSequence(TextTools::toInt(seq_pos_str[j]) - 1));
+            tmp_indiv.addSequence(j, vsc.getSequence(TextTools::to<size_t>(seq_pos_str[j]) - 1));
         }
         catch (...)
         {}
@@ -695,19 +695,19 @@ std::vector<std::string> PopgenlibIO::getValues_(std::string& param_line, const
 {
   vector<string> values;
   size_t limit = param_line.find(delim, 0);
-  if (limit >= 0)
-    param_line = string(param_line.begin() + limit + delim.size(), param_line.end());
+  if (limit != string::npos)
+    param_line = string(param_line.begin() + static_cast<ptrdiff_t>(limit + delim.size()), param_line.end());
   param_line = TextTools::removeSurroundingWhiteSpaces(param_line);
 
   size_t bi = 0;
   size_t bs = param_line.find(getDataSeparatorChar(), bi);
   while (bs > 0)
   {
-    values.push_back(string(param_line.begin() + bi, param_line.begin() + bs));
+    values.push_back(string(param_line.begin() + static_cast<ptrdiff_t>(bi), param_line.begin() + static_cast<ptrdiff_t>(bs)));
     bi = bs + 1;
     bs = param_line.find(getDataSeparatorChar(), bi);
   }
-  values.push_back(string(param_line.begin() + bi, param_line.end()));
+  values.push_back(string(param_line.begin() + static_cast<ptrdiff_t>(bi), param_line.end()));
   return values;
 }
 
diff --git a/src/Bpp/PopGen/SequenceStatistics.cpp b/src/Bpp/PopGen/SequenceStatistics.cpp
index b2dcef5..e6dda96 100644
--- a/src/Bpp/PopGen/SequenceStatistics.cpp
+++ b/src/Bpp/PopGen/SequenceStatistics.cpp
@@ -58,8 +58,7 @@ using namespace std;
 #include <Bpp/Seq/StringSequenceTools.h>
 #include <Bpp/Seq/CodonSiteTools.h>
 #include <Bpp/Seq/Alphabet/DNA.h>
-#include <Bpp/Seq/Alphabet/StandardCodonAlphabet.h>
-#include <Bpp/Seq/GeneticCode/StandardGeneticCode.h>
+#include <Bpp/Seq/Alphabet/AlphabetTools.h>
 
 #include <Bpp/Numeric/VectorTools.h>
 #include <Bpp/Numeric/VectorExceptions.h>
@@ -70,167 +69,155 @@ using namespace bpp;
 // Basic statistics
 // ******************************************************************************
 
-size_t SequenceStatistics::polymorphicSiteNumber(const PolymorphismSequenceContainer& psc, bool gapflag, bool ignoreUnknown)
+unsigned int SequenceStatistics::numberOfPolymorphicSites(const PolymorphismSequenceContainer& psc, bool gapflag, bool ignoreUnknown)
 {
-  size_t S = 0;
+  unsigned int s = 0;
   const Site* site = 0;
-  ConstSiteIterator* si = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
+    si.reset(new SimpleSiteContainerIterator(psc));
   while (si->hasMoreSites())
   {
     site = si->nextSite();
     if (!SiteTools::isConstant(*site, ignoreUnknown))
     {
-      S++;
+      s++;
     }
   }
-  delete si;
-  return S;
+  return s;
 }
 
-size_t SequenceStatistics::parsimonyInformativeSiteNumber(const PolymorphismSequenceContainer& psc, bool gapflag)
+unsigned int SequenceStatistics::numberOfParsimonyInformativeSites(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  ConstSiteIterator* si = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
-  size_t S = 0;
+    si.reset(new SimpleSiteContainerIterator(psc));
+  unsigned int s = 0;
   const Site* site = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
     if (SiteTools::isParsimonyInformativeSite(*site))
     {
-      S++;
+      s++;
     }
   }
-  delete si;
-  return S;
+  return s;
 }
 
-size_t SequenceStatistics::countSingleton(const PolymorphismSequenceContainer& psc, bool gapflag)
+unsigned int SequenceStatistics::numberOfSingletons(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  size_t nus = 0;
-  const Site* site = 0;
-  ConstSiteIterator* si = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
+    si.reset(new SimpleSiteContainerIterator(psc));
+  unsigned int nus = 0;
+  const Site* site = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
-    nus += getSingletonNumber_(*site);
+    nus += getNumberOfSingletons_(*site);
   }
-  delete si;
   return nus;
 }
 
-size_t SequenceStatistics::tripletNumber(const PolymorphismSequenceContainer& psc, bool gapflag)
+unsigned int SequenceStatistics::numberOfTriplets(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  ConstSiteIterator* si = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
-  int S = 0;
+    si.reset(new SimpleSiteContainerIterator(psc));
+  unsigned int s = 0;
   const Site* site = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
     if (SiteTools::isTriplet(*site))
     {
-      S++;
+      s++;
     }
   }
-
-  delete si;
-  return S;
+  return s;
 }
 
-size_t SequenceStatistics::totNumberMutations(const PolymorphismSequenceContainer& psc, bool gapflag)
+unsigned int SequenceStatistics::totalNumberOfMutations(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  size_t tnm = 0;
-  const Site* site = 0;
-  ConstSiteIterator* si = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
+    si.reset(new SimpleSiteContainerIterator(psc));
+  unsigned int tnm = 0;
+  const Site* site = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
-    tnm += getMutationNumber_(*site);
+    tnm += getNumberOfMutations_(*site);
   }
-  delete si;
   return tnm;
 }
 
-size_t SequenceStatistics::totMutationsExternalBranchs(
+unsigned int SequenceStatistics::totalNumberOfMutationsOnExternalBranches(
   const PolymorphismSequenceContainer& ing,
   const PolymorphismSequenceContainer& outg) throw (Exception)
 {
   if (ing.getNumberOfSites() != outg.getNumberOfSites())
     throw Exception("ing and outg must have the same size");
-  size_t nmuts = 0;
+  unsigned int nmuts = 0;
   const Site* site_in = 0;
   const Site* site_out = 0;
-  ConstSiteIterator* si = 0;
-  ConstSiteIterator* so = 0;
-  si = new SimpleSiteContainerIterator(ing);
-  so = new SimpleSiteContainerIterator(outg);
+  auto_ptr<ConstSiteIterator> si(new SimpleSiteContainerIterator(ing));
+  auto_ptr<ConstSiteIterator> so(new SimpleSiteContainerIterator(outg));
   while (si->hasMoreSites())
   {
     site_in = si->nextSite();
     site_out = so->nextSite();
     // use fully resolved sites
     if (SiteTools::isComplete(*site_in) &&  SiteTools::isComplete(*site_out))
-      nmuts += getDerivedSingletonNumber_(*site_in, *site_out);                                                                   // singletons that are not in outgroup
+      nmuts += getNumberOfDerivedSingletons_(*site_in, *site_out);                                                                   // singletons that are not in outgroup
   }
-  delete si;
-  delete so;
   return nmuts;
 }
 
 double SequenceStatistics::heterozygosity(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  ConstSiteIterator* si = 0;
-  const Site* site = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
-  double S = 0;
+    si.reset(new SimpleSiteContainerIterator(psc));
+  const Site* site = 0;
+  double s = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
-    S += SiteTools::heterozygosity(*site);
+    s += SiteTools::heterozygosity(*site);
   }
-  delete si;
-  return S;
+  return s;
 }
 
 double SequenceStatistics::squaredHeterozygosity(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  ConstSiteIterator* si = 0;
-  const Site* site = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
-  double S = 0;
+    si.reset(new SimpleSiteContainerIterator(psc));
+  const Site* site = 0;
+  double s = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
     double h = SiteTools::heterozygosity(*site);
-    S += h * h;
+    s += h * h;
   }
-  delete si;
-  return S;
+  return s;
 }
 
 // ******************************************************************************
@@ -245,18 +232,18 @@ double SequenceStatistics::gcContent(const PolymorphismSequenceContainer& psc)
   return (freqs[alpha->charToInt("C")] + freqs[alpha->charToInt("G")]) / (freqs[alpha->charToInt("A")] + freqs[alpha->charToInt("C")] + freqs[alpha->charToInt("G")] + freqs[alpha->charToInt("T")]);
 }
 
-std::vector<size_t> SequenceStatistics::gcPolymorphism(const PolymorphismSequenceContainer& psc, bool gapflag)
+std::vector<unsigned int> SequenceStatistics::gcPolymorphism(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  size_t nbMut = 0;
-  size_t nbGC = 0;
-  const size_t nbSeq = psc.getNumberOfSequences();
-  vector<size_t> vect(2);
+  unsigned int nbMut = 0;
+  unsigned int nbGC = 0;
+  size_t nbSeq = psc.getNumberOfSequences();
+  vector<unsigned int> vect(2);
   const Site* site = 0;
-  ConstSiteIterator* si = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
-    si = new NoGapSiteContainerIterator(psc);
+    si.reset(new NoGapSiteContainerIterator(psc));
   while (si->hasMoreSites())
   {
     site = si->nextSite();
@@ -271,15 +258,14 @@ std::vector<size_t> SequenceStatistics::gcPolymorphism(const PolymorphismSequenc
        */
       if (freqGC > 0 && freqGC < 1)
       {
-        nbMut += static_cast<size_t>(nbSeq);
+        nbMut += static_cast<unsigned int>(nbSeq);
         long double adGC = freqGC * nbSeq;
-        nbGC += static_cast<size_t>(adGC);
+        nbGC += static_cast<unsigned int>(adGC);
       }
     }
   }
   vect[0] = nbMut;
   vect[1] = nbGC;
-  delete si;
   return vect;
 }
 
@@ -291,15 +277,15 @@ double SequenceStatistics::watterson75(const PolymorphismSequenceContainer& psc,
 {
   double ThetaW;
   size_t n = psc.getNumberOfSequences();
-  size_t S = polymorphicSiteNumber(psc, gapflag, ignoreUnknown);
-  map<string, double> values = getUsefullValues_(n);
-  ThetaW = (double) S / values["a1"];
+  unsigned int s = numberOfPolymorphicSites(psc, gapflag, ignoreUnknown);
+  map<string, double> values = getUsefulValues_(n);
+  ThetaW = static_cast<double>(s) / values["a1"];
   return ThetaW;
 }
 
 double SequenceStatistics::tajima83(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
-  size_t alphabet_size = (psc.getAlphabet())->getSize();
+  size_t alphabet_size = psc.getAlphabet()->getSize();
   const Site* site = 0;
   ConstSiteIterator* si = 0;
   double value2 = 0.;
@@ -338,7 +324,7 @@ double SequenceStatistics::tajima83(const PolymorphismSequenceContainer& psc, bo
   return value2;
 }
 
-double SequenceStatistics::FayWu2000(const PolymorphismSequenceContainer& psc, const Sequence& ancestralSites)
+double SequenceStatistics::fayWu2000(const PolymorphismSequenceContainer& psc, const Sequence& ancestralSites)
 {
   if (psc.getNumberOfSites() != ancestralSites.size())
     throw Exception("SequenceStatistics::FayWu2000: ancestralSites and psc don't have the same size!!!'" );
@@ -385,18 +371,18 @@ double SequenceStatistics::FayWu2000(const PolymorphismSequenceContainer& psc, c
   return value;
 }
 
-size_t SequenceStatistics::DVK(const PolymorphismSequenceContainer& psc, bool gapflag)
+unsigned int SequenceStatistics::dvk(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
   /*
    * Sylvain Gaillard 17/03/2010:
    * This implementation uses unneeded SequenceContainer recopy and works on
    * string. It needs to be improved.
    */
-  PolymorphismSequenceContainer* sc = 0;
+  auto_ptr<PolymorphismSequenceContainer> sc;
   if (gapflag)
-    sc = PolymorphismSequenceContainerTools::getSitesWithoutGaps(psc);
+    sc.reset(PolymorphismSequenceContainerTools::getSitesWithoutGaps(psc));
   else
-    sc = new PolymorphismSequenceContainer(psc);
+    sc.reset(new PolymorphismSequenceContainer(psc));
   // int K = 0;
   vector<string> pscvector;
   pscvector.push_back(sc->toString(0));
@@ -419,23 +405,22 @@ size_t SequenceStatistics::DVK(const PolymorphismSequenceContainer& psc, bool ga
       pscvector.push_back(query);
     }
   }
-  delete sc;
   // return K;
-  return pscvector.size();
+  return static_cast<unsigned int>(pscvector.size());
 }
 
-double SequenceStatistics::DVH(const PolymorphismSequenceContainer& psc, bool gapflag)
+double SequenceStatistics::dvh(const PolymorphismSequenceContainer& psc, bool gapflag)
 {
   /*
    * Sylvain Gaillard 17/03/2010:
    * This implementation uses unneeded SequenceContainer recopy and works on
    * string. It needs to be improved.
    */
-  PolymorphismSequenceContainer* sc = 0;
+  auto_ptr<PolymorphismSequenceContainer> sc;
   if (gapflag)
-    sc = PolymorphismSequenceContainerTools::getSitesWithoutGaps(psc);
+    sc.reset(PolymorphismSequenceContainerTools::getSitesWithoutGaps(psc));
   else
-    sc = new PolymorphismSequenceContainer(psc);
+    sc.reset(new PolymorphismSequenceContainer(psc));
   double H = 0.;
   size_t nbSeq;
   vector<string> pscvector;
@@ -468,14 +453,13 @@ double SequenceStatistics::DVH(const PolymorphismSequenceContainer& psc, bool ga
     H -= (static_cast<double>(effvector[i]) / static_cast<double>(nbSeq)) * ( static_cast<double>(effvector[i]) / static_cast<double>(nbSeq));
   }
   H += 1.;
-  delete sc;
   return H;
 }
 
-size_t SequenceStatistics::getNumberOfTransitions(const PolymorphismSequenceContainer& psc)
+unsigned int SequenceStatistics::numberOfTransitions(const PolymorphismSequenceContainer& psc)
 {
-  size_t nbT = 0;
-  ConstSiteIterator* si = new CompleteSiteContainerIterator(psc);
+  unsigned int nbT = 0;
+  auto_ptr<ConstSiteIterator> si(new CompleteSiteContainerIterator(psc));
   const Site* site = 0;
   while (si->hasMoreSites())
   {
@@ -500,14 +484,13 @@ size_t SequenceStatistics::getNumberOfTransitions(const PolymorphismSequenceCont
       nbT++;
     }
   }
-  delete si;
   return nbT;
 }
 
-size_t SequenceStatistics::getNumberOfTransversions(const PolymorphismSequenceContainer& psc)
+unsigned int SequenceStatistics::numberOfTransversions(const PolymorphismSequenceContainer& psc)
 {
-  size_t nbTv = 0;
-  ConstSiteIterator* si = new CompleteSiteContainerIterator(psc);
+  unsigned int nbTv = 0;
+  auto_ptr<ConstSiteIterator> si(new CompleteSiteContainerIterator(psc));
   const Site* site = 0;
   while (si->hasMoreSites())
   {
@@ -532,18 +515,17 @@ size_t SequenceStatistics::getNumberOfTransversions(const PolymorphismSequenceCo
       nbTv++;
     }
   }
-  delete si;
   return nbTv;
 }
 
-double SequenceStatistics::getTransitionsTransversionsRatio(const PolymorphismSequenceContainer& psc) throw (Exception)
+double SequenceStatistics::ratioOfTransitionsTransversions(const PolymorphismSequenceContainer& psc) throw (Exception)
 {
   // return (double) getNumberOfTransitions(psc)/getNumberOfTransversions(psc);
-  size_t nbT = 0;
-  size_t nbTv = 0;
-  ConstSiteIterator* si = new CompleteSiteContainerIterator(psc);
+  double nbTs = 0;
+  double nbTv = 0;
+  auto_ptr<ConstSiteIterator> si(new CompleteSiteContainerIterator(psc));
   const Site* site = 0;
-  vector< int > state(2);
+  vector<int> state(2);
   while (si->hasMoreSites())
   {
     map<int, size_t> count;
@@ -551,7 +533,7 @@ double SequenceStatistics::getTransitionsTransversionsRatio(const PolymorphismSe
     SymbolListTools::getCounts(*site, count);
     if (count.size() != 2)
       continue;
-    int i = 0;
+    size_t i = 0;
     for (map<int, size_t>::iterator it = count.begin(); it != count.end(); it++)
     {
       state[i] = it->first;
@@ -560,92 +542,91 @@ double SequenceStatistics::getTransitionsTransversionsRatio(const PolymorphismSe
     if (((state[0] == 0 && state[1] == 2) || (state[0] == 2 && state[1] == 0)) ||
         ((state[0] == 1 && state[1] == 3) || (state[0] == 3 && state[1] == 1)))
     {
-      nbT++; // transitions
+      nbTs++; // transitions
     }
     else
     {
       nbTv++; // transversion
     }
   }
-  delete si;
   if (nbTv == 0)
     throw ZeroDivisionException("SequenceStatistics::getTransitionsTransversionsRatio.");
-  return static_cast<double>(nbT) /  static_cast<double>(nbTv);
+  return nbTs / nbTv;
 }
 
 // ******************************************************************************
 // Synonymous and non-synonymous polymorphism
 // ******************************************************************************
 
-size_t SequenceStatistics::stopCodonSiteNumber(const PolymorphismSequenceContainer& psc, bool gapflag)
+unsigned int SequenceStatistics::numberOfSitesWithStopCodon(const PolymorphismSequenceContainer& psc, const GeneticCode& gCode, bool gapflag)
 {
   /*
    * Sylvain Gaillard 17/03/2010
    * What if the Alphabet is not a codon alphabet?
    */
-  ConstSiteIterator* si = 0;
+  if (!AlphabetTools::isCodonAlphabet(psc.getAlphabet()))
+    throw AlphabetMismatchException("SequenceStatistics::stopCodonSiteNumber(). PolymorphismSequenceContainer must be with a codon alphabet.", psc.getAlphabet());
+
+  auto_ptr<ConstSiteIterator> si;
   if (gapflag)
-    si = new NoGapSiteContainerIterator(psc);
+    si.reset(new NoGapSiteContainerIterator(psc));
   else
-    si = new SimpleSiteContainerIterator(psc);
-  size_t S = 0;
+    si.reset(new SimpleSiteContainerIterator(psc));
+  unsigned int s = 0;
   const Site* site = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
-    if (CodonSiteTools::hasStop(*site))
-      S++;
+    if (CodonSiteTools::hasStop(*site, gCode))
+      s++;
   }
-  delete si;
-  return S;
+  return s;
 }
 
-size_t SequenceStatistics::monoSitePolymorphicCodonNumber(const PolymorphismSequenceContainer& psc, bool stopflag, bool gapflag)
+unsigned int SequenceStatistics::numberOfMonoSitePolymorphicCodons(const PolymorphismSequenceContainer& psc, bool stopflag, bool gapflag)
 {
-  ConstSiteIterator* si = 0;
+  auto_ptr<ConstSiteIterator> si;
   if (stopflag)
-    si = new CompleteSiteContainerIterator(psc);
+    si.reset(new CompleteSiteContainerIterator(psc));
   else
   {
     if (gapflag)
-      si = new NoGapSiteContainerIterator(psc);
+      si.reset(new NoGapSiteContainerIterator(psc));
     else
-      si = new SimpleSiteContainerIterator(psc);
+      si.reset(new SimpleSiteContainerIterator(psc));
   }
-  size_t S = 0;
+  unsigned int s = 0;
   const Site* site;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
     if (CodonSiteTools::isMonoSitePolymorphic(*site))
-      S++;
+      s++;
   }
-  delete si;
-  return S;
+  return s;
 }
 
-size_t SequenceStatistics::synonymousPolymorphicCodonNumber(const PolymorphismSequenceContainer& psc, const GeneticCode& gc)
+unsigned int SequenceStatistics::numberOfSynonymousPolymorphicCodons(const PolymorphismSequenceContainer& psc, const GeneticCode& gc)
 {
-  ConstSiteIterator* si = new CompleteSiteContainerIterator(psc);
-  size_t S = 0;
+  auto_ptr<ConstSiteIterator> si(new CompleteSiteContainerIterator(psc));
+  unsigned int s = 0;
   const Site* site;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
     if (CodonSiteTools::isSynonymousPolymorphic(*site, gc))
-      S++;
+      s++;
   }
-  delete si;
-  return S;
+  return s;
 }
 
 double SequenceStatistics::watterson75Synonymous(const PolymorphismSequenceContainer& psc, const GeneticCode& gc)
 {
   double ThetaW = 0.;
   size_t n = psc.getNumberOfSequences();
-  size_t S = synonymousSubstitutionsNumber(psc, gc);
-  map<string, double> values = getUsefullValues_(n);
-  ThetaW = static_cast<double>(S) / values["a1"];
+  unsigned int s = numberOfSynonymousSubstitutions(psc, gc);
+  map<string, double> values = getUsefulValues_(n);
+  ThetaW = static_cast<double>(s) / values["a1"];
   return ThetaW;
 }
 
@@ -653,9 +634,9 @@ double SequenceStatistics::watterson75NonSynonymous(const PolymorphismSequenceCo
 {
   double ThetaW;
   size_t n = psc.getNumberOfSequences();
-  size_t S = nonSynonymousSubstitutionsNumber(psc, gc);
-  map<string, double> values = getUsefullValues_(n);
-  ThetaW = static_cast<double>(S) / values["a1"];
+  unsigned int s = numberOfNonSynonymousSubstitutions(psc, gc);
+  map<string, double> values = getUsefulValues_(n);
+  ThetaW = static_cast<double>(s) / values["a1"];
   return ThetaW;
 }
 
@@ -687,7 +668,7 @@ double SequenceStatistics::piNonSynonymous(const PolymorphismSequenceContainer&
   return S;
 }
 
-double SequenceStatistics::meanSynonymousSitesNumber(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double ratio)
+double SequenceStatistics::meanNumberOfSynonymousSites(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double ratio)
 {
   double S = 0.;
   ConstSiteIterator* si = new CompleteSiteContainerIterator(psc);
@@ -701,7 +682,7 @@ double SequenceStatistics::meanSynonymousSitesNumber(const PolymorphismSequenceC
   return S;
 }
 
-double SequenceStatistics::meanNonSynonymousSitesNumber(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double ratio)
+double SequenceStatistics::meanNumberOfNonSynonymousSites(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double ratio)
 {
   double S = 0.;
   int n = 0;
@@ -717,40 +698,38 @@ double SequenceStatistics::meanNonSynonymousSitesNumber(const PolymorphismSequen
   return static_cast<double>(n - S);
 }
 
-size_t SequenceStatistics::synonymousSubstitutionsNumber(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double freqmin)
+unsigned int SequenceStatistics::numberOfSynonymousSubstitutions(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double freqmin)
 {
-  size_t St = 0, Sns = 0;
-  ConstSiteIterator* si = new CompleteSiteContainerIterator(psc);
+  size_t st = 0, sns = 0;
+  auto_ptr<ConstSiteIterator> si(new CompleteSiteContainerIterator(psc));
   const Site* site = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
-    St += CodonSiteTools::numberOfSubsitutions(*site, freqmin);
-    Sns += CodonSiteTools::numberOfNonSynonymousSubstitutions(*site, gc, freqmin);
+    st  += CodonSiteTools::numberOfSubsitutions(*site, gc, freqmin);
+    sns += CodonSiteTools::numberOfNonSynonymousSubstitutions(*site, gc, freqmin);
   }
-  delete si;
-  return St - Sns;
+  return static_cast<unsigned int>(st - sns);
 }
 
-size_t SequenceStatistics::nonSynonymousSubstitutionsNumber(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double freqmin)
+unsigned int SequenceStatistics::numberOfNonSynonymousSubstitutions(const PolymorphismSequenceContainer& psc, const GeneticCode& gc, double freqmin)
 {
-  size_t Sns = 0;
-  ConstSiteIterator* si = new CompleteSiteContainerIterator(psc);
+  unsigned int sns = 0;
+  auto_ptr<ConstSiteIterator> si(new CompleteSiteContainerIterator(psc));
   const Site* site = 0;
   while (si->hasMoreSites())
   {
     site = si->nextSite();
-    Sns += CodonSiteTools::numberOfNonSynonymousSubstitutions(*site, gc, freqmin);
+    sns += static_cast<unsigned int>(CodonSiteTools::numberOfNonSynonymousSubstitutions(*site, gc, freqmin));
   }
-  delete si;
-  return Sns;
+  return sns;
 }
 
-vector<size_t> SequenceStatistics::fixedDifferences(const PolymorphismSequenceContainer& pscin, const PolymorphismSequenceContainer& pscout, PolymorphismSequenceContainer& psccons, const GeneticCode& gc)
+vector<unsigned int> SequenceStatistics::fixedDifferences(const PolymorphismSequenceContainer& pscin, const PolymorphismSequenceContainer& pscout, PolymorphismSequenceContainer& psccons, const GeneticCode& gc)
 {
-  ConstSiteIterator* siIn = new CompleteSiteContainerIterator(pscin);
-  ConstSiteIterator* siOut = new CompleteSiteContainerIterator(pscout);
-  ConstSiteIterator* siCons = new CompleteSiteContainerIterator(psccons);
+  auto_ptr<ConstSiteIterator> siIn(new CompleteSiteContainerIterator(pscin));
+  auto_ptr<ConstSiteIterator> siOut(new CompleteSiteContainerIterator(pscout));
+  auto_ptr<ConstSiteIterator> siCons(new CompleteSiteContainerIterator(psccons));
   const Site* siteIn = 0;
   const Site* siteOut = 0;
   const Site* siteCons = 0;
@@ -765,16 +744,13 @@ vector<size_t> SequenceStatistics::fixedDifferences(const PolymorphismSequenceCo
     NfixS += v[0];
     NfixA += v[1];
   }
-  vector<size_t> v(2);
-  v[0] = NfixS;
-  v[1] = NfixA;
-  delete siIn;
-  delete siOut;
-  delete siCons;
+  vector<unsigned int> v(2);
+  v[0] = static_cast<unsigned int>(NfixS);
+  v[1] = static_cast<unsigned int>(NfixA);
   return v;
 }
 
-vector<size_t> SequenceStatistics::MKtable(const PolymorphismSequenceContainer& ingroup, const PolymorphismSequenceContainer& outgroup, const GeneticCode& gc, double freqmin)
+vector<unsigned int> SequenceStatistics::mkTable(const PolymorphismSequenceContainer& ingroup, const PolymorphismSequenceContainer& outgroup, const GeneticCode& gc, double freqmin)
 {
   PolymorphismSequenceContainer psctot(ingroup);
   for (size_t i = 0; i < outgroup.getNumberOfSequences(); i++)
@@ -782,47 +758,26 @@ vector<size_t> SequenceStatistics::MKtable(const PolymorphismSequenceContainer&
     psctot.addSequence(outgroup.getSequence(i));
     psctot.setAsOutgroupMember(i + ingroup.getNumberOfSequences());
   }
-  const PolymorphismSequenceContainer* psccomplet = PolymorphismSequenceContainerTools::getCompleteSites(psctot);
-  const PolymorphismSequenceContainer* pscin = PolymorphismSequenceContainerTools::extractIngroup(*psccomplet);
-  const PolymorphismSequenceContainer* pscout = PolymorphismSequenceContainerTools::extractOutgroup(*psccomplet);
-  const Sequence* consensusIn = SiteContainerTools::getConsensus(*pscin, "consensusIn");
-  const Sequence* consensusOut = SiteContainerTools::getConsensus(*pscout, "consensusOut");
-  PolymorphismSequenceContainer* consensus = new PolymorphismSequenceContainer(ingroup.getAlphabet());
+  auto_ptr<const PolymorphismSequenceContainer> psccomplet(PolymorphismSequenceContainerTools::getCompleteSites(psctot));
+  auto_ptr<const PolymorphismSequenceContainer> pscin     (PolymorphismSequenceContainerTools::extractIngroup(*psccomplet));
+  auto_ptr<const PolymorphismSequenceContainer> pscout    (PolymorphismSequenceContainerTools::extractOutgroup(*psccomplet));
+  auto_ptr<const Sequence> consensusIn (SiteContainerTools::getConsensus(*pscin, "consensusIn"));
+  auto_ptr<const Sequence> consensusOut(SiteContainerTools::getConsensus(*pscout, "consensusOut"));
+  auto_ptr<PolymorphismSequenceContainer> consensus(new PolymorphismSequenceContainer(ingroup.getAlphabet()));
   consensus->addSequence(*consensusIn);
   consensus->addSequence(*consensusOut);
-  vector<size_t> u = SequenceStatistics::fixedDifferences(*pscin, *pscout, *consensus, gc);
-  vector<size_t> v(4);
-  v[0] = SequenceStatistics::nonSynonymousSubstitutionsNumber(*pscin, gc, freqmin);
-  v[1] = SequenceStatistics::synonymousSubstitutionsNumber(*pscin, gc, freqmin);
+  vector<unsigned int> u = SequenceStatistics::fixedDifferences(*pscin, *pscout, *consensus, gc);
+  vector<unsigned int> v(4);
+  v[0] = SequenceStatistics::numberOfNonSynonymousSubstitutions(*pscin, gc, freqmin);
+  v[1] = SequenceStatistics::numberOfSynonymousSubstitutions(*pscin, gc, freqmin);
   v[2] = u[1];
   v[3] = u[0];
-  delete consensus;
-  if (psccomplet)
-  {
-    delete psccomplet;
-  }
-  if (pscin)
-  {
-    delete pscin;
-  }
-  if (pscout)
-  {
-    delete pscout;
-  }
-  if (consensusIn)
-  {
-    delete consensusIn;
-  }
-  if (consensusOut)
-  {
-    delete consensusOut;
-  }
   return v;
 }
 
 double SequenceStatistics::neutralityIndex(const PolymorphismSequenceContainer& ingroup, const PolymorphismSequenceContainer& outgroup, const GeneticCode& gc, double freqmin)
 {
-  vector<size_t> v = SequenceStatistics::MKtable(ingroup, outgroup, gc, freqmin);
+  vector<unsigned int> v = SequenceStatistics::mkTable(ingroup, outgroup, gc, freqmin);
   if (v[1] != 0 && v[2] != 0)
     return static_cast<double>(v[0] * v[3]) / static_cast<double>(v[1] * v[2]);
   else
@@ -833,61 +788,62 @@ double SequenceStatistics::neutralityIndex(const PolymorphismSequenceContainer&
 // Statistical tests
 // ******************************************************************************
 
-double SequenceStatistics::tajimaDSS(const PolymorphismSequenceContainer& psc, bool gapflag) throw (ZeroDivisionException)
+double SequenceStatistics::tajimaDss(const PolymorphismSequenceContainer& psc, bool gapflag) throw (ZeroDivisionException)
 {
-  double S = static_cast<double>(polymorphicSiteNumber(psc, gapflag));
-  if (!S)
-    throw ZeroDivisionException("S should not be null");
+  unsigned int Sp = numberOfPolymorphicSites(psc, gapflag);
+  if (Sp == 0)
+    throw ZeroDivisionException("SequenceStatistics::tajimaDss. S should not be 0.");
+  double S = static_cast<double>(Sp);
   double tajima = tajima83(psc, gapflag);
   double watterson = watterson75(psc, gapflag);
   size_t n = psc.getNumberOfSequences();
-  map<string, double> values = getUsefullValues_(n);
-  // if (S == 0)
-  //  cout << "ARG S == 0" << endl;
+  map<string, double> values = getUsefulValues_(n);
   return (tajima - watterson) / sqrt((values["e1"] * S) + (values["e2"] * S * (S - 1)));
 }
 
-double SequenceStatistics::tajimaDTNM(const PolymorphismSequenceContainer& psc, bool gapflag) throw (ZeroDivisionException)
+double SequenceStatistics::tajimaDtnm(const PolymorphismSequenceContainer& psc, bool gapflag) throw (ZeroDivisionException)
 {
-  double eta =  static_cast<double>(totNumberMutations(psc, gapflag));
-  if (!eta)
-    throw ZeroDivisionException("eta should not be null");
+  unsigned int etaP = totalNumberOfMutations(psc, gapflag);
+  if (etaP == 0)
+    throw ZeroDivisionException("SequenceStatistics::tajimaDtnm. Eta should not be 0.");
+  double eta = static_cast<double>(etaP);
   double tajima = tajima83(psc, gapflag);
   size_t n = psc.getNumberOfSequences();
-  map<string, double> values = getUsefullValues_(n);
-  double eta_a1 = static_cast<double>(eta) / values["a1"];
+  map<string, double> values = getUsefulValues_(n);
+  double eta_a1 = eta / values["a1"];
   return (tajima - eta_a1) / sqrt((values["e1"] * eta) + (values["e2"] * eta * (eta - 1)));
 }
 
-double SequenceStatistics::fuliD(const PolymorphismSequenceContainer& ingroup, const PolymorphismSequenceContainer& outgroup, bool original) throw (ZeroDivisionException)
+double SequenceStatistics::fuLiD(const PolymorphismSequenceContainer& ingroup, const PolymorphismSequenceContainer& outgroup, bool original) throw (ZeroDivisionException)
 {
   size_t n = ingroup.getNumberOfSequences();
-  map<string, double> values = getUsefullValues_(n);
+  map<string, double> values = getUsefulValues_(n);
   double vD = getVD_(n, values["a1"], values["a2"], values["cn"]);
   double uD = getUD_(values["a1"], vD);
-  double eta = static_cast<double>(totNumberMutations(ingroup));
-  if (eta == 0.)
-    throw ZeroDivisionException("eta should not be null");
+  unsigned int etaP = totalNumberOfMutations(ingroup);
+  if (etaP == 0)
+    throw ZeroDivisionException("SequenceStatistics::fuLiD. Eta should not be 0.");
+  double eta = static_cast<double>(etaP);
   double etae = 0.;
   if (original)
-    etae = static_cast<double>(countSingleton(outgroup));
+    etae = static_cast<double>(numberOfSingletons(outgroup));
   else
-    etae = static_cast<double>(totMutationsExternalBranchs(ingroup, outgroup));  // added by Khalid 13/07/2005
+    etae = static_cast<double>(totalNumberOfMutationsOnExternalBranches(ingroup, outgroup));  // added by Khalid 13/07/2005
   return (eta - (values["a1"] * etae)) / sqrt((uD * eta) + (vD * eta * eta));
 }
 
-double SequenceStatistics::fuliDstar(const PolymorphismSequenceContainer& group) throw (ZeroDivisionException)
+double SequenceStatistics::fuLiDStar(const PolymorphismSequenceContainer& group) throw (ZeroDivisionException)
 {
   size_t n = group.getNumberOfSequences();
   double nn = static_cast<double>(n);
   double _n = nn / (nn - 1.);
-  map<string, double> values = getUsefullValues_(n);
+  map<string, double> values = getUsefulValues_(n);
   double vDs = getVDstar_(n, values["a1"], values["a2"], values["dn"]);
   double uDs = getUDstar_(n, values["a1"], vDs);
-  double eta = static_cast<double>(totNumberMutations(group));
+  double eta = static_cast<double>(totalNumberOfMutations(group));
   if (eta == 0.)
     throw ZeroDivisionException("eta should not be null");
-  double etas = static_cast<double>(countSingleton(group));
+  double etas = static_cast<double>(numberOfSingletons(group));
 
   // Fu & Li 1993
   return ((_n * eta) - (values["a1"] * etas)) / sqrt(uDs * eta + vDs * eta * eta);
@@ -898,29 +854,29 @@ double SequenceStatistics::fuliDstar(const PolymorphismSequenceContainer& group)
    */
 }
 
-double SequenceStatistics::fuliF(const PolymorphismSequenceContainer& ingroup, const PolymorphismSequenceContainer& outgroup, bool original) throw (ZeroDivisionException)
+double SequenceStatistics::fuLiF(const PolymorphismSequenceContainer& ingroup, const PolymorphismSequenceContainer& outgroup, bool original) throw (ZeroDivisionException)
 {
   size_t n = ingroup.getNumberOfSequences();
   double nn = static_cast<double>(n);
-  map<string, double> values = getUsefullValues_(n);
+  map<string, double> values = getUsefulValues_(n);
   double pi = tajima83(ingroup, true);
   double vF = (values["cn"] + values["b2"] - 2. / (nn - 1.)) / (pow(values["a1"], 2) + values["a2"]);
   double uF = ((1. + values["b1"] - (4. * ((nn + 1.) / ((nn - 1.) * (nn - 1.)))) * (values["a1n"] - (2. * nn) / (nn + 1.))) / values["a1"]) - vF;
-  double eta = static_cast<double>(totNumberMutations(ingroup));
+  double eta = static_cast<double>(totalNumberOfMutations(ingroup));
   if (eta == 0.)
     throw ZeroDivisionException("eta should not be null");
   double etae = 0.;
   if (original)
-    etae = static_cast<double>(countSingleton(outgroup));
+    etae = static_cast<double>(numberOfSingletons(outgroup));
   else
-    etae = static_cast<double>(totMutationsExternalBranchs(ingroup, outgroup));  // added by Khalid 13/07/2005
+    etae = static_cast<double>(totalNumberOfMutationsOnExternalBranches(ingroup, outgroup));  // added by Khalid 13/07/2005
   return (pi - etae) / sqrt(uF * eta + vF * eta * eta);
 }
 
-double SequenceStatistics::fuliFstar(const PolymorphismSequenceContainer& group) throw (ZeroDivisionException)
+double SequenceStatistics::fuLiFStar(const PolymorphismSequenceContainer& group) throw (ZeroDivisionException)
 {
   double n = static_cast<double>(group.getNumberOfSequences());
-  map<string, double> values = getUsefullValues_(group.getNumberOfSequences());
+  map<string, double> values = getUsefulValues_(group.getNumberOfSequences());
   double pi = tajima83(group, true);
 
   // Fu & Li 1993
@@ -930,16 +886,16 @@ double SequenceStatistics::fuliFstar(const PolymorphismSequenceContainer& group)
   // Simonsen et al. 1995
   double vFs = (((2 * n * n * n + 110 * n * n - 255 * n + 153) / (9 * n * n * (n - 1))) + ((2 * (n - 1) * values["a1"]) / (n * n)) - 8 * values["a2"] / n) / (pow(values["a1"], 2) + values["a2"]);
   double uFs = (((4 * n * n + 19 * n + 3 - 12 * (n + 1) * values["a1n"]) / (3 * n * (n - 1))) / values["a1"]) - vFs;
-  double eta = static_cast<double>(totNumberMutations(group));
+  double eta = static_cast<double>(totalNumberOfMutations(group));
   if (eta == 0.)
     throw ZeroDivisionException("eta should not be null");
-  double etas = static_cast<double>(countSingleton(group));
+  double etas = static_cast<double>(numberOfSingletons(group));
   // Fu & Li 1993
   // Simonsen et al. 1995
   return (pi - ((n - 1.) / n * etas)) / sqrt(uFs * eta + vFs * eta * eta);
 }
 
-double SequenceStatistics::FstHudson92(const PolymorphismSequenceContainer& psc, size_t id1, size_t id2)
+double SequenceStatistics::fstHudson92(const PolymorphismSequenceContainer& psc, size_t id1, size_t id2)
 {
   vector<double> vdiff;
   double piIntra1, piIntra2, meanPiIntra, piInter, Fst;
@@ -982,7 +938,7 @@ double SequenceStatistics::FstHudson92(const PolymorphismSequenceContainer& psc,
 /* Preliminary method */
 /**********************/
 
-PolymorphismSequenceContainer* SequenceStatistics::generateLDContainer(const PolymorphismSequenceContainer& psc, bool keepsingleton, double freqmin)
+PolymorphismSequenceContainer* SequenceStatistics::generateLdContainer(const PolymorphismSequenceContainer& psc, bool keepsingleton, double freqmin)
 {
   SiteSelection ss;
   // Extract polymorphic site with only two alleles
@@ -1188,7 +1144,7 @@ Vdouble SequenceStatistics::pairwiseDistances2(const PolymorphismSequenceContain
 
 Vdouble SequenceStatistics::pairwiseD(const PolymorphismSequenceContainer& psc, bool keepsingleton, double freqmin) throw (DimensionException)
 {
-  PolymorphismSequenceContainer* newpsc = SequenceStatistics::generateLDContainer(psc, keepsingleton, freqmin);
+  PolymorphismSequenceContainer* newpsc = SequenceStatistics::generateLdContainer(psc, keepsingleton, freqmin);
   Vdouble D;
   size_t nbsite = newpsc->getNumberOfSites();
   size_t nbseq = newpsc->getNumberOfSequences();
@@ -1221,7 +1177,7 @@ Vdouble SequenceStatistics::pairwiseD(const PolymorphismSequenceContainer& psc,
 
 Vdouble SequenceStatistics::pairwiseDprime(const PolymorphismSequenceContainer& psc, bool keepsingleton, double freqmin) throw (DimensionException)
 {
-  PolymorphismSequenceContainer* newpsc = SequenceStatistics::generateLDContainer(psc, keepsingleton, freqmin);
+  PolymorphismSequenceContainer* newpsc = SequenceStatistics::generateLdContainer(psc, keepsingleton, freqmin);
   Vdouble Dprime;
   size_t nbsite = newpsc->getNumberOfSites();
   size_t nbseq = newpsc->getNumberOfSequences();
@@ -1277,7 +1233,7 @@ Vdouble SequenceStatistics::pairwiseDprime(const PolymorphismSequenceContainer&
 
 Vdouble SequenceStatistics::pairwiseR2(const PolymorphismSequenceContainer& psc, bool keepsingleton, double freqmin) throw (DimensionException)
 {
-  PolymorphismSequenceContainer* newpsc = SequenceStatistics::generateLDContainer(psc, keepsingleton, freqmin);
+  PolymorphismSequenceContainer* newpsc = SequenceStatistics::generateLdContainer(psc, keepsingleton, freqmin);
   Vdouble R2;
   size_t nbsite = newpsc->getNumberOfSites();
   size_t nbseq = newpsc->getNumberOfSequences();
@@ -1523,7 +1479,7 @@ double SequenceStatistics::hudson87(const PolymorphismSequenceContainer& psc, do
   double dif = 1;
   double c1 = cinf;
   double c2 = csup;
-  if (SequenceStatistics::polymorphicSiteNumber(psc) < 2)
+  if (SequenceStatistics::numberOfPolymorphicSites(psc) < 2)
     return -1;
   if (rightHandHudson_(c1, n) < left)
     return cinf;
@@ -1544,9 +1500,9 @@ double SequenceStatistics::hudson87(const PolymorphismSequenceContainer& psc, do
 /* Tests methods */
 /*****************/
 
-void SequenceStatistics::testUsefullValues(std::ostream& s, size_t n)
+void SequenceStatistics::testUsefulValues(std::ostream& s, size_t n)
 {
-  map<string, double> v = getUsefullValues_(n);
+  map<string, double> v = getUsefulValues_(n);
   double vD = getVD_(n, v["a1"], v["a2"], v["cn"]);
   double uD = getUD_(v["a1"], vD);
   double vDs = getVDstar_(n, v["a1"], v["a2"], v["dn"]);
@@ -1574,9 +1530,9 @@ void SequenceStatistics::testUsefullValues(std::ostream& s, size_t n)
 // Private methods
 // ******************************************************************************
 
-size_t SequenceStatistics::getMutationNumber_(const Site& site)
+unsigned int SequenceStatistics::getNumberOfMutations_(const Site& site)
 {
-  size_t tmp_count = 0;
+  unsigned int tmp_count = 0;
   map<int, size_t> states_count;
   SymbolListTools::getCounts(site, states_count);
 
@@ -1590,9 +1546,9 @@ size_t SequenceStatistics::getMutationNumber_(const Site& site)
   return tmp_count;
 }
 
-size_t SequenceStatistics::getSingletonNumber_(const Site& site)
+unsigned int SequenceStatistics::getNumberOfSingletons_(const Site& site)
 {
-  size_t nus = 0;
+  unsigned int nus = 0;
   map<int, size_t> states_count;
   SymbolListTools::getCounts(site, states_count);
   for (map<int, size_t>::iterator it = states_count.begin(); it != states_count.end(); it++)
@@ -1603,9 +1559,9 @@ size_t SequenceStatistics::getSingletonNumber_(const Site& site)
   return nus;
 }
 
-size_t SequenceStatistics::getDerivedSingletonNumber_(const Site& site_in, const Site& site_out)
+unsigned int SequenceStatistics::getNumberOfDerivedSingletons_(const Site& site_in, const Site& site_out)
 {
-  size_t nus = 0;
+  unsigned int nus = 0;
   map<int, size_t> states_count;
   map<int, size_t> outgroup_states_count;
   SymbolListTools::getCounts(site_in, states_count);
@@ -1625,7 +1581,7 @@ size_t SequenceStatistics::getDerivedSingletonNumber_(const Site& site_in, const
   return nus;
 }
 
-std::map<std::string, double> SequenceStatistics::getUsefullValues_(size_t n)
+std::map<std::string, double> SequenceStatistics::getUsefulValues_(size_t n)
 {
   double nn = static_cast<double>(n);
   map<string, double> values;
diff --git a/src/Bpp/PopGen/SequenceStatistics.h b/src/Bpp/PopGen/SequenceStatistics.h
index ffc279f..4eac1a7 100644
--- a/src/Bpp/PopGen/SequenceStatistics.h
+++ b/src/Bpp/PopGen/SequenceStatistics.h
@@ -44,7 +44,7 @@
 #ifndef _SEQUENCESTATISTICS_H_
 #define _SEQUENCESTATISTICS_H_
 
-// From the SeqLib library
+// From the bpp-seq library
 #include <Bpp/Seq/SymbolListTools.h>
 #include <Bpp/Seq/Alphabet/CodonAlphabet.h>
 #include <Bpp/Seq/GeneticCode/GeneticCode.h>
@@ -84,7 +84,7 @@ public:
    * @param ignoreUnknown a boolean set by default to true to ignore
    * unknown states
    */
-  static size_t polymorphicSiteNumber(
+  static unsigned int numberOfPolymorphicSites(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true,
     bool ignoreUnknown = true);
@@ -96,7 +96,7 @@ public:
    * @param gapflag a boolean set by default to true if you don't want to
    * take gap into account
    */
-  static size_t parsimonyInformativeSiteNumber(
+  static unsigned int numberOfParsimonyInformativeSites(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true);
 
@@ -108,7 +108,7 @@ public:
    * take gap into account
    * @author Sylvain Gaillard
    */
-  static size_t countSingleton(
+  static unsigned int numberOfSingletons(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true);
 
@@ -122,7 +122,7 @@ public:
    * take gap into account
    * @author Sylvain Gaillard
    */
-  static size_t totNumberMutations(
+  static unsigned int totalNumberOfMutations(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true);
 
@@ -139,7 +139,7 @@ public:
    * @throw Exception if ing and outg are not of the same size (site number)
    * @author Khalid Belkhir
    */
-  static size_t totMutationsExternalBranchs(
+  static unsigned int totalNumberOfMutationsOnExternalBranches(
     const PolymorphismSequenceContainer& ing,
     const PolymorphismSequenceContainer& outg)
   throw (Exception);
@@ -151,7 +151,7 @@ public:
    * @param gapflag a boolean set by default to true if you don't want to take gap into account
    * @author Sylvain Glémin
    */
-  static size_t tripletNumber(
+  static unsigned int numberOfTriplets(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true);
 
@@ -198,7 +198,7 @@ public:
    * @return A std::vector of size 2 containing the number of GC alleles
    * and the total number of alleles.
    */
-  static std::vector<size_t> gcPolymorphism(
+  static std::vector<unsigned int> gcPolymorphism(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true);
 
@@ -209,7 +209,7 @@ public:
    * \hat{\theta}_S=\frac{S}{a_1}
    * @f]
    * where @f$S at f$ is the number of polymorphic sites and @f$a_1 at f$ is
-   * describe in SequenceStatistics::_getUsefullValues().
+   * describe in SequenceStatistics::getUsefulValues_().
    *
    * @param psc a PolymorphismSequenceContainer
    * @param gapflag flag set by default to true if you don't want to
@@ -227,8 +227,8 @@ public:
    * @brief Compute diversity estimator Theta of Tajima (1983, Genetics, 105 pp437-460)
    *
    * @f[
-   * \hat{\theta}_\pi=1-\sum_{i=1}^{S}\sum_{j=1}^{4}\frac{k_{j,i}\times\left(k_{j,i}-1\right)}
-   * {n_i\times\left(n_i-1\right)} \qquad \textrm{with }k_{j,i}>0
+   * \hat{\theta}_\pi = \sum_{i=1}^{S} \left(1-\sum_{j=1}^{4} \frac{k_{j,i}\times\left(k_{j,i}-1\right)}
+   * {n_i\times\left(n_i-1\right)}\right) \qquad \textrm{with }k_{j,i}>0
    * @f]
    * where @f$k_{j,i}@f$ is the count of the j<sup>th</sup> state at the
    * i<sup>th</sup> site,
@@ -252,7 +252,7 @@ public:
    * (reconstructed independently) to fold the mutation in the psc SequenceContainer.
      @author Benoit Nabholz
    */
-  static double FayWu2000(
+  static double fayWu2000(
     const PolymorphismSequenceContainer& psc,
     const Sequence& ancestralSites);
 
@@ -266,9 +266,9 @@ public:
    * @author Éric Bazin
    * @todo
    *  - remove unneeded Sequence Container recopy
-   *  - work on Sequence rather on string
+   *  - work on Sequence rather than string
    */
-  static size_t DVK(
+  static unsigned int dvk(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true);
 
@@ -284,7 +284,7 @@ public:
    *  - remove unneeded Sequence Container recopy
    *  - work on Sequence rather on string
    */
-  static double DVH(
+  static double dvh(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true);
 
@@ -294,7 +294,7 @@ public:
    * @param psc a PolymorphismSequenceContainer
    * @author Éric Bazin
    */
-  static size_t getNumberOfTransitions(
+  static unsigned int numberOfTransitions(
     const PolymorphismSequenceContainer& psc);
 
   /**
@@ -303,7 +303,7 @@ public:
    * @param psc a PolymorphismSequenceContainer
    * @author Éric Bazin
    */
-  static size_t getNumberOfTransversions(
+  static unsigned int numberOfTransversions(
     const PolymorphismSequenceContainer& psc);
 
   /**
@@ -312,7 +312,7 @@ public:
    * @param psc a PolymorphismSequenceContainer
    * @author Éric Bazin
    */
-  static double getTransitionsTransversionsRatio(
+  static double ratioOfTransitionsTransversions(
     const PolymorphismSequenceContainer& psc )
   throw (Exception);
 
@@ -320,12 +320,14 @@ public:
    * @brief Compute the number of codon sites with stop codon
    *
    * @param psc a PolymorphismSequenceContainer
+   * @param gCode the genetic code to use
    * @param gapflag a boolean set by default to true if you don't want to
    * take gaps into account
    * @author Sylvain Glémin
    */
-  static size_t stopCodonSiteNumber(
+  static unsigned int numberOfSitesWithStopCodon(
     const PolymorphismSequenceContainer& psc,
+    const GeneticCode& gCode,
     bool gapflag = true);
 
   /**
@@ -340,7 +342,7 @@ public:
    * @bug Sylvain Gaillard 17/03/2010: stopflag don't work as expected
    * because CompleteSiteIterator don't skip stop codon.
    */
-  static size_t monoSitePolymorphicCodonNumber(
+  static unsigned int numberOfMonoSitePolymorphicCodons(
     const PolymorphismSequenceContainer& psc,
     bool stopflag = true,
     bool gapflag = true);
@@ -355,7 +357,7 @@ public:
    * @author Sylvain Glémin
    * @author Éric Bazin
    */
-  static size_t synonymousPolymorphicCodonNumber(
+  static unsigned int numberOfSynonymousPolymorphicCodons(
     const PolymorphismSequenceContainer& psc,
     const GeneticCode& gc);
 
@@ -449,7 +451,7 @@ public:
    * @author Sylvain Glémin
    * @author Éric Bazin
    */
-  static double meanSynonymousSitesNumber(
+  static double meanNumberOfSynonymousSites(
     const PolymorphismSequenceContainer& psc,
     const GeneticCode& gc,
     double ratio = 1.);
@@ -467,7 +469,7 @@ public:
    * @param ratio a double
    * @author Éric Bazin
    */
-  static double meanNonSynonymousSitesNumber(
+  static double meanNumberOfNonSynonymousSites(
     const PolymorphismSequenceContainer& psc,
     const GeneticCode& gc,
     double ratio = 1.);
@@ -487,7 +489,7 @@ public:
    * @param freqmin a double, to exclude snp in frequency strictly lower
    * than freqmin
    */
-  static size_t synonymousSubstitutionsNumber(
+  static unsigned int numberOfSynonymousSubstitutions(
     const PolymorphismSequenceContainer& psc,
     const GeneticCode& gc,
     double freqmin = 0.);
@@ -507,7 +509,7 @@ public:
    * @param freqmin a double, to exclude snp in frequency strictly lower
    * than freqmin
    */
-  static size_t nonSynonymousSubstitutionsNumber(
+  static unsigned int numberOfNonSynonymousSubstitutions(
     const PolymorphismSequenceContainer& psc,
     const GeneticCode& gc,
     double freqmin = 0.);
@@ -529,7 +531,7 @@ public:
    * @bug Sylvain Gaillard 17.03.2010: should throw something if pscin,
    * pscout and psccons have different length (site number).
    */
-  static std::vector<size_t> fixedDifferences(
+  static std::vector<unsigned int> fixedDifferences(
     const PolymorphismSequenceContainer& pscin,
     const PolymorphismSequenceContainer& pscout,
     PolymorphismSequenceContainer& psccons,
@@ -546,7 +548,7 @@ public:
    * than freqmin
    * @author Sylvain Glémin
    */
-  static std::vector<size_t> MKtable(
+  static std::vector<unsigned int> mkTable(
     const PolymorphismSequenceContainer& ingroup,
     const PolymorphismSequenceContainer& outgroup,
     const GeneticCode& gc,
@@ -586,7 +588,7 @@ public:
    * @throw ZeroDivisionException if S == 0
    * @author Sylvain Gaillard
    */
-  static double tajimaDSS(
+  static double tajimaDss(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true)
   throw (ZeroDivisionException);
@@ -604,7 +606,7 @@ public:
    * @throw ZeroDivisionException if eta == 0
    * @author Sylvain Gaillard
    */
-  static double tajimaDTNM(
+  static double tajimaDtnm(
     const PolymorphismSequenceContainer& psc,
     bool gapflag = true)
   throw (ZeroDivisionException);
@@ -624,7 +626,7 @@ public:
    * If the outgroup contains more than one sequence the sites with more
    * than one variant will not be considered for external branch mutations!
    */
-  static double fuliD(
+  static double fuLiD(
     const PolymorphismSequenceContainer& ingroup,
     const PolymorphismSequenceContainer& outgroup,
     bool original = true)
@@ -636,7 +638,7 @@ public:
    * @param group a PolymorphismSequenceContainer
    * @author Sylvain Gaillard
    */
-  static double fuliDstar(
+  static double fuLiDStar(
     const PolymorphismSequenceContainer& group)
   throw (ZeroDivisionException);
 
@@ -654,7 +656,7 @@ public:
    * If the outgroup contains more than one sequence the sites with more
    * than one variant will not be considered for external branch mutations!
    */
-  static double fuliF(
+  static double fuLiF(
     const PolymorphismSequenceContainer& ingroup,
     const PolymorphismSequenceContainer& outgroup,
     bool original = true)
@@ -666,7 +668,7 @@ public:
    * @param group a PolymorphismSequenceContainer
    * @author Sylvain Gaillard
    */
-  static double fuliFstar(
+  static double fuLiFStar(
     const PolymorphismSequenceContainer& group)
   throw (ZeroDivisionException);
 
@@ -688,7 +690,7 @@ public:
    * @param id2 is the id of the population 2
    * @author Benoit Nabholz
    */
-  double FstHudson92(
+  double fstHudson92(
     const PolymorphismSequenceContainer& psc,
     size_t id1,
     size_t id2);
@@ -720,7 +722,7 @@ public:
    * @todo
    *  - To be moved to PolymorphismSequenceContainerTools.
    */
-  static PolymorphismSequenceContainer* generateLDContainer(
+  static PolymorphismSequenceContainer* generateLdContainer(
     const PolymorphismSequenceContainer& psc,
     bool keepsingleton = true,
     double freqmin = 0.);
@@ -1083,12 +1085,12 @@ public:
     double csup = 10000.);
 
   /**
-   * @brief Test usefull values
+   * @brief Test useful values
    * @param s a ostream where write the values
    * @param n then number of observed sequences
    * @author Sylvain Gaillard
    */
-  static void testUsefullValues(
+  static void testUsefulValues(
     std::ostream& s,
     size_t n);
 
@@ -1096,14 +1098,12 @@ private:
   /**
    * @brief Count the number of mutation for a site.
    */
-  static size_t getMutationNumber_(
-    const Site& site);
+  static unsigned int getNumberOfMutations_(const Site& site);
 
   /**
    * @brief Count the number of singleton for a site.
    */
-  static size_t getSingletonNumber_(
-    const Site& site);
+  static unsigned int getNumberOfSingletons_(const Site& site);
 
   /**
    * @brief Count the number of singleton for a site.
@@ -1112,12 +1112,12 @@ private:
    * site_in is a site from an ingroup
    * @author Khalid Belkhir
    */
-  static size_t getDerivedSingletonNumber_(
+  static unsigned getNumberOfDerivedSingletons_(
     const Site& site_in,
     const Site& site_out);
 
   /**
-   * @brief Get usefull values for theta estimators.
+   * @brief Get useful values for theta estimators.
    *
    * @param n the number of observed sequences
    *
@@ -1149,16 +1149,16 @@ private:
    *
    * @author Sylvain Gaillard
    */
-  static std::map<std::string, double> getUsefullValues_(
+  static std::map<std::string, double> getUsefulValues_(
     size_t n);
 
   /**
    * @brief Get the vD value of equation (32) in Fu & Li 1993, Genetics, 133 pp693-709)
    *
    * @param n the number of observed sequences
-   * @param a1 as describe in getUsefullValues
-   * @param a2 as describe in getUsefullValues
-   * @param cn as describe in getUsefullValues
+   * @param a1 as describe in getUsefulValues
+   * @param a2 as describe in getUsefulValues
+   * @param cn as describe in getUsefulValues
    *
    * @return the vD value as double
    *
@@ -1173,7 +1173,7 @@ private:
   /**
    * @brief Get the uD value of equation (32) in Fu & Li 1993, Genetics, 133 pp693-709)
    *
-   * @param a1 as describe in getUsefullValues
+   * @param a1 as describe in getUsefulValues
    * @param vD as provided by getVD_
    *
    * @return the uD value as double
@@ -1188,9 +1188,9 @@ private:
    * @brief Get the vD* value of D* equation in Fu & Li 1993, Genetics, 133 pp693-709)
    *
    * @param n the number of observed sequences
-   * @param a1 as describe in getUsefullValues
-   * @param a2 as describe in getUsefullValues
-   * @param dn as describe in getUsefullValues
+   * @param a1 as describe in getUsefulValues
+   * @param a2 as describe in getUsefulValues
+   * @param dn as describe in getUsefulValues
    *
    * @return the vD* value as double
    *
@@ -1206,7 +1206,7 @@ private:
    * @brief Get the uD* value of D* equation in Fu & Li 1993, Genetics, 133 pp693-709)
    *
    * @param n the number of observed sequences
-   * @param a1 as describe in getUsefullValues
+   * @param a1 as describe in getUsefulValues
    * @param vDs as provided by getVDstar_
    *
    * @return the uD* value as double

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/libbpp-popgen.git



More information about the debian-med-commit mailing list