bpp-seq3  3.0.0
bpp::SiteTools Class Reference

Utilitary methods dealing with sites. More...

#include <Bpp/Seq/SiteTools.h>

+ Inheritance diagram for bpp::SiteTools:
+ Collaboration diagram for bpp::SiteTools:

Public Member Functions

 SiteTools ()
 
virtual ~SiteTools ()
 

Static Public Member Functions

static bool hasGap (const IntSymbolListInterface &site)
 
static bool hasGap (const ProbabilisticSymbolListInterface &site)
 
static bool hasGap (const CruxSymbolListInterface &site)
 
static bool hasUnresolved (const IntSymbolListInterface &site)
 
static bool isGapOnly (const IntSymbolListInterface &site)
 
static bool isGapOnly (const ProbabilisticSymbolListInterface &site)
 
static bool isGapOnly (const CruxSymbolListInterface &site)
 
static size_t numberOfGaps (const IntSymbolListInterface &site)
 
static size_t numberOfGaps (const ProbabilisticSymbolListInterface &site)
 
static size_t numberOfGaps (const CruxSymbolListInterface &site)
 
static bool isGapOrUnresolvedOnly (const IntSymbolListInterface &site)
 
static bool isGapOrUnresolvedOnly (const ProbabilisticSymbolListInterface &site)
 
static bool isGapOrUnresolvedOnly (const CruxSymbolListInterface &site)
 
static size_t numberOfUnresolved (const IntSymbolListInterface &site)
 
static size_t numberOfUnresolved (const ProbabilisticSymbolListInterface &site)
 
static size_t numberOfUnresolved (const CruxSymbolListInterface &site)
 
static bool hasUnknown (const IntSymbolListInterface &site)
 
static bool hasUnknown (const ProbabilisticSymbolListInterface &site)
 
static bool hasUnknown (const CruxSymbolListInterface &site)
 
static bool isComplete (const IntSymbolListInterface &site)
 
static bool isComplete (const ProbabilisticSymbolListInterface &site)
 
static bool isComplete (const CruxSymbolListInterface &site)
 
static bool isConstant (const IntSymbolListInterface &site, bool ignoreUnknown=false, bool unresolvedRaisesException=true)
 Tell if a site is constant, that is displaying the same state in all sequences that do not present a gap. More...
 
static bool isConstant (const ProbabilisticSymbolListInterface &site, bool unresolvedRaisesException=true)
 
static bool isConstant (const CruxSymbolListInterface &site, bool ignoreUnknown=false, bool unresolvedRaisesException=true)
 
static bool areSymbolListsIdentical (const IntSymbolListInterface &list1, const IntSymbolListInterface &list2)
 
static bool areSymbolListsIdentical (const ProbabilisticSymbolListInterface &list1, const ProbabilisticSymbolListInterface &list2)
 
static bool areSymbolListsIdentical (const CruxSymbolListInterface &l1, const CruxSymbolListInterface &l2)
 
template<class count_type >
static void getCounts (const IntSymbolListInterface &list, std::map< int, count_type > &counts)
 Count all states in the list. More...
 
static void getCounts (const ProbabilisticSymbolListInterface &list, std::map< int, double_t > &counts)
 Sum all states in the list. More...
 
static void getCounts (const CruxSymbolListInterface &list, std::map< int, double > &counts, bool resolveUnknowns=false)
 Count all states in the list, optionally resolving unknown characters. More...
 
template<class count_type >
static void getCounts (const IntSymbolListInterface &list1, const IntSymbolListInterface &list2, std::map< int, std::map< int, count_type >> &counts)
 Count all pair of states for two lists of the same size. More...
 
static void getCounts (const ProbabilisticSymbolListInterface &list1, const ProbabilisticSymbolListInterface &list2, std::map< int, std::map< int, double >> &counts)
 Sum along the lists the joined probabilities for all pair of states for two lists of the same size. More...
 
static void getCounts (const CruxSymbolListInterface &list1, const CruxSymbolListInterface &list2, std::map< int, std::map< int, double >> &counts, bool resolveUnknowns)
 Count all pairs of states for two lists of the same size, optionally resolving unknown characters. More...
 
static void getCountsResolveUnknowns (const IntSymbolListInterface &list, std::map< int, double > &counts)
 Count all states in the list normalizing unknown characters. More...
 
static void getCountsResolveUnknowns (const ProbabilisticSymbolListInterface &list, std::map< int, double > &counts)
 Count all states in the list normalizing unknown characters. More...
 
static void getCountsResolveUnknowns (const IntSymbolListInterface &list1, const IntSymbolListInterface &list2, std::map< int, std::map< int, double >> &counts)
 Count all pairs of states for two lists of the same size resolving unknown characters. More...
 
static void getCountsResolveUnknowns (const ProbabilisticSymbolListInterface &list1, const ProbabilisticSymbolListInterface &list2, std::map< int, std::map< int, double >> &counts)
 Count all pairs of states for two lists of the same size resolving unknown characters. More...
 
static void getFrequencies (const CruxSymbolListInterface &list, std::map< int, double > &frequencies, bool resolveUnknowns=false)
 Get all states frequencies in the list. More...
 
static void getFrequencies (const CruxSymbolListInterface &list1, const CruxSymbolListInterface &list2, std::map< int, std::map< int, double >> &frequencies, bool resolveUnknowns=false)
 Get all state pairs frequencies for two lists of the same size. More...
 
static double getGCContent (const IntSymbolListInterface &list, bool ignoreUnresolved=true, bool ignoreGap=true)
 Get the GC content of a symbol list. More...
 
static double getGCContent (const ProbabilisticSymbolListInterface &list, bool ignoreUnresolved=true, bool ignoreGap=true)
 
static double getGCContent (const CruxSymbolListInterface &list, bool ignoreUnresolved=true, bool ignoreGap=true)
 
static size_t getNumberOfDistinctPositions (const IntSymbolListInterface &l1, const IntSymbolListInterface &l2)
 Get the number of distinct positions. More...
 
static size_t getNumberOfDistinctPositions (const ProbabilisticSymbolListInterface &l1, const ProbabilisticSymbolListInterface &l2)
 
static size_t getNumberOfDistinctPositions (const CruxSymbolListInterface &l1, const CruxSymbolListInterface &l2)
 
static size_t getNumberOfPositionsWithoutGap (const IntSymbolListInterface &l1, const IntSymbolListInterface &l2)
 Get the number of positions without gap (or without null column). More...
 
static size_t getNumberOfPositionsWithoutGap (const ProbabilisticSymbolListInterface &l1, const ProbabilisticSymbolListInterface &l2)
 
static size_t getNumberOfPositionsWithoutGap (const CruxSymbolListInterface &l1, const CruxSymbolListInterface &l2)
 
static void changeGapsToUnknownCharacters (IntSymbolListInterface &l)
 Change all gap elements to unknown characters (or columns of 1). More...
 
static void changeGapsToUnknownCharacters (ProbabilisticSymbolListInterface &l)
 
static void changeGapsToUnknownCharacters (CruxSymbolListInterface &l)
 
static void changeUnresolvedCharactersToGaps (IntSymbolListInterface &l)
 Change all unknown characters to gap elements (or columns of 0). More...
 
static void changeUnresolvedCharactersToGaps (ProbabilisticSymbolListInterface &l)
 
static void changeUnresolvedCharactersToGaps (CruxSymbolListInterface &l)
 
static double variabilityShannon (const CruxSymbolListInterface &list, bool resolveUnknowns)
 Compute the Shannon entropy index of a SymbolList. More...
 
static double variabilityFactorial (const IntSymbolListInterface &list)
 Compute the factorial diversity index of a site. More...
 
static double mutualInformation (const CruxSymbolListInterface &list1, const CruxSymbolListInterface &list2, bool resolveUnknowns)
 Compute the mutual information between two lists. More...
 
static double entropy (const CruxSymbolListInterface &list, bool resolveUnknowns)
 Compute the entropy of a site. This is an alias of method variabilityShannon. More...
 
static double jointEntropy (const CruxSymbolListInterface &list1, const CruxSymbolListInterface &list2, bool resolveUnknowns)
 Compute the joint entropy between two lists. More...
 
static double heterozygosity (const CruxSymbolListInterface &list)
 Compute the heterozygosity index of a list. More...
 
static size_t getNumberOfDistinctCharacters (const IntSymbolListInterface &list)
 Give the number of distinct characters at a list. More...
 
static size_t getMajorAlleleFrequency (const IntSymbolListInterface &list)
 return the number of occurrences of the most common allele. More...
 
static int getMajorAllele (const CruxSymbolListInterface &list)
 return the state corresponding to the most common allele. More...
 
static size_t getMinorAlleleFrequency (const IntSymbolListInterface &list)
 return the number of occurrences of the least common allele. More...
 
static int getMinorAllele (const CruxSymbolListInterface &list)
 return the state corresponding to the least common allele. More...
 
static bool hasSingleton (const IntSymbolListInterface &list)
 Tell if a list has singletons. More...
 
static bool isParsimonyInformativeSite (const IntSymbolListInterface &site)
 Tell if a site is a parsimony informative site. More...
 
static bool isTriplet (const IntSymbolListInterface &list)
 Tell if a list has more than 2 distinct characters. More...
 
static bool isDoubleton (const IntSymbolListInterface &list)
 Tell if a list has exactly 2 distinct characters. More...
 

Detailed Description

Utilitary methods dealing with sites.

This class is an alias for SymbolListTools.

Definition at line 23 of file SiteTools.h.

Constructor & Destructor Documentation

◆ SiteTools()

bpp::SiteTools::SiteTools ( )
inline

Definition at line 27 of file SiteTools.h.

◆ ~SiteTools()

virtual bpp::SiteTools::~SiteTools ( )
inlinevirtual

Definition at line 28 of file SiteTools.h.

Member Function Documentation

◆ areSymbolListsIdentical() [1/3]

static bool bpp::SymbolListTools::areSymbolListsIdentical ( const CruxSymbolListInterface l1,
const CruxSymbolListInterface l2 
)
inlinestaticinherited

◆ areSymbolListsIdentical() [2/3]

bool SymbolListTools::areSymbolListsIdentical ( const IntSymbolListInterface list1,
const IntSymbolListInterface list2 
)
staticinherited
Parameters
list1The first site.
list2The second site.
Returns
True if the two sites have the same content (and, of course, alphabet).

Definition at line 216 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::areSymbolListsIdentical().

◆ areSymbolListsIdentical() [3/3]

bool SymbolListTools::areSymbolListsIdentical ( const ProbabilisticSymbolListInterface list1,
const ProbabilisticSymbolListInterface list2 
)
staticinherited

◆ changeGapsToUnknownCharacters() [1/3]

static void bpp::SymbolListTools::changeGapsToUnknownCharacters ( CruxSymbolListInterface l)
inlinestaticinherited

◆ changeGapsToUnknownCharacters() [2/3]

void SymbolListTools::changeGapsToUnknownCharacters ( IntSymbolListInterface l)
staticinherited

Change all gap elements to unknown characters (or columns of 1).

Parameters
lThe input list of characters.

Definition at line 501 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::changeGapsToUnknownCharacters().

◆ changeGapsToUnknownCharacters() [3/3]

void SymbolListTools::changeGapsToUnknownCharacters ( ProbabilisticSymbolListInterface l)
staticinherited

Definition at line 614 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ changeUnresolvedCharactersToGaps() [1/3]

static void bpp::SymbolListTools::changeUnresolvedCharactersToGaps ( CruxSymbolListInterface l)
inlinestaticinherited

◆ changeUnresolvedCharactersToGaps() [2/3]

void SymbolListTools::changeUnresolvedCharactersToGaps ( IntSymbolListInterface l)
staticinherited

Change all unknown characters to gap elements (or columns of 0).

Parameters
lThe input list of characters.

Definition at line 511 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::changeUnresolvedCharactersToGaps().

◆ changeUnresolvedCharactersToGaps() [3/3]

void SymbolListTools::changeUnresolvedCharactersToGaps ( ProbabilisticSymbolListInterface l)
staticinherited

Definition at line 623 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ entropy()

static double bpp::SymbolListTools::entropy ( const CruxSymbolListInterface list,
bool  resolveUnknowns 
)
inlinestaticinherited

Compute the entropy of a site. This is an alias of method variabilityShannon.

\[ I = - \sum_x f_x\cdot \ln(f_x) \]

where $f_x$ is the frequency of state $x$.

Author
J. Dutheil
Parameters
listA list.
resolveUnknownsTell is unknown characters must be resolved.
Returns
The Shannon entropy index of this list.

Definition at line 817 of file SymbolListTools.h.

References bpp::SymbolListTools::variabilityShannon().

◆ getCounts() [1/6]

static void bpp::SymbolListTools::getCounts ( const CruxSymbolListInterface list,
std::map< int, double > &  counts,
bool  resolveUnknowns = false 
)
inlinestaticinherited

Count all states in the list, optionally resolving unknown characters.

For instance, in DNA, N will be counted as A=1/4,T=1/4,C=1/4,G=1/4.

Author
J. Dutheil
Parameters
listThe list.
countsThe output map to store the counts (existing ocunts will be incremented).
resolveUnknownsTell is unknown characters must be resolved.
Returns
A map with all states and corresponding counts.

Definition at line 360 of file SymbolListTools.h.

References bpp::SymbolListTools::getCounts(), and bpp::SymbolListTools::getCountsResolveUnknowns().

◆ getCounts() [2/6]

static void bpp::SymbolListTools::getCounts ( const CruxSymbolListInterface list1,
const CruxSymbolListInterface list2,
std::map< int, std::map< int, double >> &  counts,
bool  resolveUnknowns 
)
inlinestaticinherited

Count all pairs of states for two lists of the same size, optionally resolving unknown characters.

For instance, in DNA, N will be counted as A=1/4,T=1/4,C=1/4,G=1/4.

NB: The two lists do node need to share the same alphabet! The states of the first list will be used as the first index in the output, and the ones from the second list as the second index.

Author
J. Dutheil
Parameters
list1The first list.
list2The second list.
countsThe output map to store the counts (existing ocunts will be incremented).
resolveUnknownsTell is unknown characters must be resolved. For instance, in DNA, N will be counted as A=1/4,T=1/4,C=1/4,G=1/4.
Returns
A map with all states and corresponding counts.

Definition at line 514 of file SymbolListTools.h.

References bpp::SymbolListTools::getCounts(), and bpp::SymbolListTools::getCountsResolveUnknowns().

◆ getCounts() [3/6]

template<class count_type >
static void bpp::SymbolListTools::getCounts ( const IntSymbolListInterface list,
std::map< int, count_type > &  counts 
)
inlinestaticinherited

Count all states in the list.

Author
J. Dutheil
Parameters
listThe list.
countsThe output map to store the counts (existing counts will be incremented).

Definition at line 265 of file SymbolListTools.h.

References bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::getCounts(), bpp::SequenceContainerTools::getFrequencies(), bpp::CodonSiteTools::isSynonymousPolymorphic(), and bpp::CodonSiteTools::numberOfNonSynonymousSubstitutions().

◆ getCounts() [4/6]

template<class count_type >
static void bpp::SymbolListTools::getCounts ( const IntSymbolListInterface list1,
const IntSymbolListInterface list2,
std::map< int, std::map< int, count_type >> &  counts 
)
inlinestaticinherited

Count all pair of states for two lists of the same size.

NB: The two lists do node need to share the same alphabet! The states of the first list will be used as the first index in the output, and the ones from the second list as the second index.

Author
J. Dutheil
Parameters
list1The first list.
list2The second list.
countsThe output map to store the counts (existing counts will be incremented).

Definition at line 412 of file SymbolListTools.h.

References bpp::CruxSymbolListInterface::size().

◆ getCounts() [5/6]

static void bpp::SymbolListTools::getCounts ( const ProbabilisticSymbolListInterface list,
std::map< int, double_t > &  counts 
)
inlinestaticinherited

Sum all states in the list.

Parameters
listThe list.
countsThe output map to store the sum for all states (existing counts will be summed).

Definition at line 282 of file SymbolListTools.h.

References bpp::CruxSymbolListInterface::size().

◆ getCounts() [6/6]

static void bpp::SymbolListTools::getCounts ( const ProbabilisticSymbolListInterface list1,
const ProbabilisticSymbolListInterface list2,
std::map< int, std::map< int, double >> &  counts 
)
inlinestaticinherited

Sum along the lists the joined probabilities for all pair of states for two lists of the same size.

NB: The two lists do node need to share the same alphabet! The states of the first list will be used as the first index in the output, and the ones from the second list as the second index.

Author
J. Dutheil
Parameters
list1The first list.
list2The second list.
countsThe output map to store the counts (existing counts will be summed).

Definition at line 437 of file SymbolListTools.h.

References bpp::CruxSymbolListInterface::size().

◆ getCountsResolveUnknowns() [1/4]

static void bpp::SymbolListTools::getCountsResolveUnknowns ( const IntSymbolListInterface list,
std::map< int, double > &  counts 
)
inlinestaticinherited

Count all states in the list normalizing unknown characters.

For instance, (1,1,1,1) will be counted as (1/4,1/4,1/4,1/4).

Author
J. Dutheil
Parameters
listThe list.
countsThe output map to store the counts (existing ocunts will be incremented).
Returns
A map with all states and corresponding counts.

Definition at line 306 of file SymbolListTools.h.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::getCounts().

◆ getCountsResolveUnknowns() [2/4]

void SymbolListTools::getCountsResolveUnknowns ( const IntSymbolListInterface list1,
const IntSymbolListInterface list2,
std::map< int, std::map< int, double >> &  counts 
)
staticinherited

Count all pairs of states for two lists of the same size resolving unknown characters.

For instance, (1,1,1,1) will be counted as (1/4,1/4,1/4,1/4).

NB: The two lists do node need to share the same alphabet! The states of the first list will be used as the first index in the output, and the ones from the second list as the second index.

Author
J. Dutheil
Parameters
list1The first list.
list2The second list.
countsThe output map to store the counts (existing ocunts will be incremented).
Returns
A map with all states and corresponding counts.

Definition at line 357 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

◆ getCountsResolveUnknowns() [3/4]

static void bpp::SymbolListTools::getCountsResolveUnknowns ( const ProbabilisticSymbolListInterface list,
std::map< int, double > &  counts 
)
inlinestaticinherited

Count all states in the list normalizing unknown characters.

For instance, (1,1,1,1) will be counted as (1/4,1/4,1/4,1/4).

Author
J. Dutheil
Parameters
listThe list.
countsThe output map to store the counts (existing ocunts will be incremented).
Returns
A map with all states and corresponding counts.

Definition at line 331 of file SymbolListTools.h.

References bpp::CruxSymbolListInterface::size(), and bpp::VectorTools::sum().

◆ getCountsResolveUnknowns() [4/4]

void SymbolListTools::getCountsResolveUnknowns ( const ProbabilisticSymbolListInterface list1,
const ProbabilisticSymbolListInterface list2,
std::map< int, std::map< int, double >> &  counts 
)
staticinherited

Count all pairs of states for two lists of the same size resolving unknown characters.

For instance, (1,1,1,1) will be counted as (1/4,1/4,1/4,1/4).

NB: The two lists do node need to share the same alphabet! The states of the first list will be used as the first index in the output, and the ones from the second list as the second index.

Author
J. Dutheil
Parameters
list1The first list.
list2The second list.
countsThe output map to store the counts (existing ocunts will be incremented).
Returns
A map with all states and corresponding counts.

Definition at line 522 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ getFrequencies() [1/2]

void SymbolListTools::getFrequencies ( const CruxSymbolListInterface list,
std::map< int, double > &  frequencies,
bool  resolveUnknowns = false 
)
staticinherited

Get all states frequencies in the list.

Author
J. Dutheil
Parameters
listThe list.
resolveUnknownsTell is unknown characters must be resolved. For instance, in DNA, N will be counted as A=1/4,T=1/4,C=1/4,G=1/4.
frequenciesThe output map with all states and corresponding frequencies. Existing frequencies will be erased if any.

Definition at line 380 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

Referenced by bpp::CodonSiteTools::generateCodonSiteWithoutRareVariant(), bpp::SiteContainerTools::getConsensus(), bpp::CodonSiteTools::meanNumberOfSynonymousPositions(), bpp::CodonSiteTools::piNonSynonymous(), bpp::CodonSiteTools::piSynonymous(), and bpp::SiteContainerTools::removeGapSites().

◆ getFrequencies() [2/2]

void SymbolListTools::getFrequencies ( const CruxSymbolListInterface list1,
const CruxSymbolListInterface list2,
std::map< int, std::map< int, double >> &  frequencies,
bool  resolveUnknowns = false 
)
staticinherited

Get all state pairs frequencies for two lists of the same size.

Author
J. Dutheil
Parameters
list1The first list.
list2The second list.
resolveUnknownsTell is unknown characters must be resolved. For instance, in DNA, N will be counted as A=1/4,T=1/4,C=1/4,G=1/4. For ProbabilisticSymbolList, (1,1,1,1) states will be counted as (1/4,1/4,1/4,1/4).
frequenciesThe output map with all state pairs and corresponding frequencies. Existing frequencies will be erased if any.

Definition at line 396 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ getGCContent() [1/3]

static double bpp::SymbolListTools::getGCContent ( const CruxSymbolListInterface list,
bool  ignoreUnresolved = true,
bool  ignoreGap = true 
)
inlinestaticinherited

Definition at line 609 of file SymbolListTools.h.

References bpp::SymbolListTools::getGCContent().

◆ getGCContent() [2/3]

double SymbolListTools::getGCContent ( const IntSymbolListInterface list,
bool  ignoreUnresolved = true,
bool  ignoreGap = true 
)
staticinherited

Get the GC content of a symbol list.

Parameters
listThe list.
Returns
The proportion of G and C states in the list.
Parameters
ignoreUnresolvedDo not count unresolved states (or columns that sum > 1). Otherwise, weight by each state probability in case of ambiguity (e.g. the R state counts for 0.5) (or columns are normalized).
ignoreGapDo not count gaps (or null columns) in total
Exceptions
AlphabetExceptionIf the list is not made of nucleotide states.

Definition at line 415 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), bpp::TemplateCoreSymbolListInterface< T >::getValue(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::getGCContent().

◆ getGCContent() [3/3]

double SymbolListTools::getGCContent ( const ProbabilisticSymbolListInterface list,
bool  ignoreUnresolved = true,
bool  ignoreGap = true 
)
staticinherited

◆ getMajorAllele()

int SymbolListTools::getMajorAllele ( const CruxSymbolListInterface list)
staticinherited

return the state corresponding to the most common allele.

Parameters
listA list
Returns
The most frequent state.

Definition at line 817 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ getMajorAlleleFrequency()

size_t SymbolListTools::getMajorAlleleFrequency ( const IntSymbolListInterface list)
staticinherited

return the number of occurrences of the most common allele.

Parameters
listA list
Returns
The frequency (number of sequences) displaying the most frequent state.

Definition at line 795 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ getMinorAllele()

int SymbolListTools::getMinorAllele ( const CruxSymbolListInterface list)
staticinherited

return the state corresponding to the least common allele.

Parameters
listA list
Returns
The less frequent state.

Definition at line 866 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ getMinorAlleleFrequency()

size_t SymbolListTools::getMinorAlleleFrequency ( const IntSymbolListInterface list)
staticinherited

return the number of occurrences of the least common allele.

Parameters
listA list
Returns
The frequency (number of sequences) displaying the less frequent state.

Definition at line 844 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ getNumberOfDistinctCharacters()

size_t SymbolListTools::getNumberOfDistinctCharacters ( const IntSymbolListInterface list)
staticinherited

Give the number of distinct characters at a list.

Parameters
listA list
Returns
The number of distinct characters in the given list.

Definition at line 774 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

Referenced by bpp::CodonSiteTools::numberOfSubstitutions().

◆ getNumberOfDistinctPositions() [1/3]

static size_t bpp::SymbolListTools::getNumberOfDistinctPositions ( const CruxSymbolListInterface l1,
const CruxSymbolListInterface l2 
)
inlinestaticinherited

◆ getNumberOfDistinctPositions() [2/3]

size_t SymbolListTools::getNumberOfDistinctPositions ( const IntSymbolListInterface l1,
const IntSymbolListInterface l2 
)
staticinherited

Get the number of distinct positions.

The comparison in achieved from position 0 to the minimum size of the two vectors.

Parameters
l1SymbolList 1.
l2SymbolList 2.
Returns
The number of distinct positions.
Exceptions
AlphabetMismatchExceptionif the two lists have not the same alphabet type.

Definition at line 469 of file SymbolListTools.cpp.

References count(), bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::getNumberOfDistinctPositions().

◆ getNumberOfDistinctPositions() [3/3]

size_t SymbolListTools::getNumberOfDistinctPositions ( const ProbabilisticSymbolListInterface l1,
const ProbabilisticSymbolListInterface l2 
)
staticinherited

◆ getNumberOfPositionsWithoutGap() [1/3]

static size_t bpp::SymbolListTools::getNumberOfPositionsWithoutGap ( const CruxSymbolListInterface l1,
const CruxSymbolListInterface l2 
)
inlinestaticinherited

◆ getNumberOfPositionsWithoutGap() [2/3]

size_t SymbolListTools::getNumberOfPositionsWithoutGap ( const IntSymbolListInterface l1,
const IntSymbolListInterface l2 
)
staticinherited

Get the number of positions without gap (or without null column).

The comparison in achieved from position 0 to the minimum size of the two vectors.

Parameters
l1SymbolList 1.
l2SymbolList 2.
Returns
The number of positions without gap (or columns with at least a non zero value)
Exceptions
AlphabetMismatchExceptionif the two lists have not the same alphabet type.

Definition at line 485 of file SymbolListTools.cpp.

References count(), bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::getNumberOfPositionsWithoutGap().

◆ getNumberOfPositionsWithoutGap() [3/3]

size_t SymbolListTools::getNumberOfPositionsWithoutGap ( const ProbabilisticSymbolListInterface l1,
const ProbabilisticSymbolListInterface l2 
)
staticinherited

◆ hasGap() [1/3]

static bool bpp::SymbolListTools::hasGap ( const CruxSymbolListInterface site)
inlinestaticinherited

Definition at line 36 of file SymbolListTools.h.

References bpp::SymbolListTools::hasGap().

◆ hasGap() [2/3]

◆ hasGap() [3/3]

bool SymbolListTools::hasGap ( const ProbabilisticSymbolListInterface site)
staticinherited

Definition at line 33 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ hasSingleton()

bool SymbolListTools::hasSingleton ( const IntSymbolListInterface list)
staticinherited

Tell if a list has singletons.

Parameters
listA list.
Returns
True if the list has singletons.

Definition at line 892 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ hasUnknown() [1/3]

static bool bpp::SymbolListTools::hasUnknown ( const CruxSymbolListInterface site)
inlinestaticinherited

Definition at line 152 of file SymbolListTools.h.

References bpp::SymbolListTools::hasUnknown().

◆ hasUnknown() [2/3]

bool SymbolListTools::hasUnknown ( const IntSymbolListInterface site)
staticinherited
Parameters
siteA site.
Returns
True if the site contains one or several unknown characters.

Definition at line 109 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::hasUnknown().

◆ hasUnknown() [3/3]

bool SymbolListTools::hasUnknown ( const ProbabilisticSymbolListInterface site)
staticinherited

Definition at line 120 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ hasUnresolved()

bool SymbolListTools::hasUnresolved ( const IntSymbolListInterface site)
staticinherited
Parameters
siteA site.
Returns
True if the site contains one or several unresolved state.

Definition at line 46 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SiteContainerTools::changeUnresolvedCharactersToGaps().

◆ heterozygosity()

double SymbolListTools::heterozygosity ( const CruxSymbolListInterface list)
staticinherited

Compute the heterozygosity index of a list.

\[ H = 1 - \sum_x f_x^2 \]

where $f_x$ is the frequency of state $x$.

Parameters
listA list.
Returns
The heterozygosity index of this list.

Definition at line 760 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ isComplete() [1/3]

static bool bpp::SymbolListTools::isComplete ( const CruxSymbolListInterface site)
inlinestaticinherited

Definition at line 174 of file SymbolListTools.h.

References bpp::SymbolListTools::isComplete().

◆ isComplete() [2/3]

◆ isComplete() [3/3]

bool SymbolListTools::isComplete ( const ProbabilisticSymbolListInterface site)
staticinherited

Definition at line 145 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ isConstant() [1/3]

static bool bpp::SymbolListTools::isConstant ( const CruxSymbolListInterface site,
bool  ignoreUnknown = false,
bool  unresolvedRaisesException = true 
)
inlinestaticinherited

Definition at line 208 of file SymbolListTools.h.

References bpp::SymbolListTools::isConstant().

◆ isConstant() [2/3]

bool SymbolListTools::isConstant ( const IntSymbolListInterface site,
bool  ignoreUnknown = false,
bool  unresolvedRaisesException = true 
)
staticinherited

Tell if a site is constant, that is displaying the same state in all sequences that do not present a gap.

Parameters
siteA site.
ignoreUnknownIf true, positions with unknown positions will be ignored. Otherwise, a site with one single state + any uncertain state will not be considered as constant.
unresolvedRaisesExceptionIn case of ambiguous case (gap only site for instance), throw an exception. Otherwise returns false.
Returns
True if the site is made of only one state.

Definition at line 258 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::CodonSiteTools::fixedDifferences(), bpp::CodonSiteTools::generateCodonSiteWithoutRareVariant(), bpp::SymbolListTools::isConstant(), bpp::CodonSiteTools::isFourFoldDegenerated(), bpp::CodonSiteTools::isMonoSitePolymorphic(), bpp::CodonSiteTools::isSynonymousPolymorphic(), bpp::CodonSiteTools::numberOfNonSynonymousSubstitutions(), bpp::CodonSiteTools::numberOfSubstitutions(), bpp::CodonSiteTools::piNonSynonymous(), and bpp::CodonSiteTools::piSynonymous().

◆ isConstant() [3/3]

bool SymbolListTools::isConstant ( const ProbabilisticSymbolListInterface site,
bool  unresolvedRaisesException = true 
)
staticinherited

Definition at line 320 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ isDoubleton()

bool SymbolListTools::isDoubleton ( const IntSymbolListInterface list)
staticinherited

Tell if a list has exactly 2 distinct characters.

Parameters
listA list.
Returns
True if the site has exactly 2 distinct characters

Definition at line 946 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ isGapOnly() [1/3]

static bool bpp::SymbolListTools::isGapOnly ( const CruxSymbolListInterface site)
inlinestaticinherited

Definition at line 64 of file SymbolListTools.h.

References bpp::SymbolListTools::isGapOnly().

◆ isGapOnly() [2/3]

bool SymbolListTools::isGapOnly ( const IntSymbolListInterface site)
staticinherited

◆ isGapOnly() [3/3]

bool SymbolListTools::isGapOnly ( const ProbabilisticSymbolListInterface site)
staticinherited

Definition at line 71 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ isGapOrUnresolvedOnly() [1/3]

static bool bpp::SymbolListTools::isGapOrUnresolvedOnly ( const CruxSymbolListInterface site)
inlinestaticinherited

Definition at line 108 of file SymbolListTools.h.

References bpp::SymbolListTools::isGapOrUnresolvedOnly().

◆ isGapOrUnresolvedOnly() [2/3]

bool SymbolListTools::isGapOrUnresolvedOnly ( const IntSymbolListInterface site)
staticinherited
Parameters
siteA site.
Returns
True if the site contains only gaps.

Definition at line 84 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::isGapOrUnresolvedOnly(), and bpp::SiteContainerTools::removeGapOrUnresolvedOnlySites().

◆ isGapOrUnresolvedOnly() [3/3]

bool SymbolListTools::isGapOrUnresolvedOnly ( const ProbabilisticSymbolListInterface site)
staticinherited

Definition at line 95 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ isParsimonyInformativeSite()

bool SymbolListTools::isParsimonyInformativeSite ( const IntSymbolListInterface site)
staticinherited

Tell if a site is a parsimony informative site.

At least two distinct characters must be present.

Parameters
sitea Site.
Returns
True if the site is parsimony informative.

Definition at line 912 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ isTriplet()

bool SymbolListTools::isTriplet ( const IntSymbolListInterface list)
staticinherited

Tell if a list has more than 2 distinct characters.

Parameters
listA list.
Returns
True if the list has more than 2 distinct characters

Definition at line 935 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ jointEntropy()

double SymbolListTools::jointEntropy ( const CruxSymbolListInterface list1,
const CruxSymbolListInterface list2,
bool  resolveUnknowns 
)
staticinherited

Compute the joint entropy between two lists.

\[ H_{i,j} = - \sum_x \sum_y p_{x,y}\ln\left(p_{x,y}\right) \]

where $p_{x,y}$ is the frequency of the pair $(x,y)$.

Author
J. Dutheil
Parameters
list1First list
list2Second list
resolveUnknownsTell is unknown characters must be resolved.
Returns
The mutual information for the pair of lists.

Definition at line 706 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

◆ mutualInformation()

double SymbolListTools::mutualInformation ( const CruxSymbolListInterface list1,
const CruxSymbolListInterface list2,
bool  resolveUnknowns 
)
staticinherited

Compute the mutual information between two lists.

\[ MI = \sum_x \sum_y p_{x,y}\ln\left(\frac{p_{x,y}}{p_x \cdot p_y}\right) \]

where $p_x$ and $p_y$ are the frequencies of states $x$ and $y$, and $p_{x,y}$ is the frequency of the pair $(x,y)$.

Author
J. Dutheil
Parameters
list1First list
list2Second list
resolveUnknownsTell is unknown characters must be resolved.
Returns
The mutual information for the pair of lists.

Definition at line 656 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

◆ numberOfGaps() [1/3]

static size_t bpp::SymbolListTools::numberOfGaps ( const CruxSymbolListInterface site)
inlinestaticinherited

Definition at line 86 of file SymbolListTools.h.

References bpp::SymbolListTools::numberOfGaps().

◆ numberOfGaps() [2/3]

size_t SymbolListTools::numberOfGaps ( const IntSymbolListInterface site)
staticinherited

◆ numberOfGaps() [3/3]

size_t SymbolListTools::numberOfGaps ( const ProbabilisticSymbolListInterface site)
staticinherited

Definition at line 172 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ numberOfUnresolved() [1/3]

static size_t bpp::SymbolListTools::numberOfUnresolved ( const CruxSymbolListInterface site)
inlinestaticinherited

Definition at line 130 of file SymbolListTools.h.

References bpp::SymbolListTools::numberOfUnresolved().

◆ numberOfUnresolved() [2/3]

size_t SymbolListTools::numberOfUnresolved ( const IntSymbolListInterface site)
staticinherited

◆ numberOfUnresolved() [3/3]

size_t SymbolListTools::numberOfUnresolved ( const ProbabilisticSymbolListInterface site)
staticinherited

Definition at line 200 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ variabilityFactorial()

double SymbolListTools::variabilityFactorial ( const IntSymbolListInterface list)
staticinherited

Compute the factorial diversity index of a site.

\[ F = \frac{log\left(\left(\sum_x p_x\right)!\right)}{\sum_x \log(p_x)!} \]

where $p_x$ is the number of times state $x$ is observed in the site.

Author
J. Dutheil
Parameters
listA list.
Returns
The factorial diversity index of this list.

Definition at line 744 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::size().

◆ variabilityShannon()

double SymbolListTools::variabilityShannon ( const CruxSymbolListInterface list,
bool  resolveUnknowns 
)
staticinherited

Compute the Shannon entropy index of a SymbolList.

\[ I = - \sum_x f_x\cdot \ln(f_x) \]

where $f_x$ is the frequency of state $x$.

Author
J. Dutheil
Parameters
listA list.
resolveUnknownsTell is unknown characters must be resolved.
Returns
The Shannon entropy index of this list.

Definition at line 632 of file SymbolListTools.cpp.

References bpp::CruxSymbolListInterface::getAlphabet(), and bpp::CruxSymbolListInterface::size().

Referenced by bpp::SymbolListTools::entropy().


The documentation for this class was generated from the following file: