bpp-phyl  2.1.0
bpp::SitePatterns Class Reference

Data structure for site patterns. More...

#include <Bpp/Phyl/SitePatterns.h>

+ Inheritance diagram for bpp::SitePatterns:
+ Collaboration diagram for bpp::SitePatterns:

List of all members.

Classes

class  SortableSite
 Class used for site pattern sorting. More...

Public Member Functions

 SitePatterns (const SiteContainer *sequences, bool own=false)
 Build a new SitePattern object.
virtual ~SitePatterns ()
 SitePatterns (const SitePatterns &patterns)
SitePatternsoperator= (const SitePatterns &patterns)
SitePatternsclone () const
const std::vector< unsigned int > & getWeights () const
const std::vector< size_t > & getIndices () const
SiteContainergetSites () const

Private Attributes

std::vector< std::string > names_
 Class used for site pattern sorting.
std::vector< const Site * > sites_
std::vector< unsigned int > weights_
std::vector< size_t > indices_
const SiteContainersequences_
const Alphabetalpha_
bool own_

Detailed Description

Data structure for site patterns.

'names' are the sequence names 'sites' points toward a unique site 'weights' is the number of sites identical to this sites 'indices' are the positions in the original container

Definition at line 69 of file SitePatterns.h.


Constructor & Destructor Documentation

SitePatterns::SitePatterns ( const SiteContainer sequences,
bool  own = false 
)

Build a new SitePattern object.

Look for patterns (unique sites) within a site container.

Parameters:
sequencesThe container to look in.
ownTel is the class own the sequence container. If yes, the sequences wll be deleted together with this instance.

Definition at line 52 of file SitePatterns.cpp.

References bpp::SiteTools::areSitesIdentical(), bpp::SiteContainer::getNumberOfSites(), bpp::SiteContainer::getSite(), indices_, bpp::SitePatterns::SortableSite::originalPosition, bpp::SitePatterns::SortableSite::siteP, bpp::SitePatterns::SortableSite::siteS, sites_, bpp::Site::toString(), and weights_.

Referenced by clone().

virtual bpp::SitePatterns::~SitePatterns ( ) [inline, virtual]

Definition at line 129 of file SitePatterns.h.

References own_, and sequences_.

bpp::SitePatterns::SitePatterns ( const SitePatterns patterns) [inline]

Definition at line 134 of file SitePatterns.h.

References bpp::SiteContainer::clone(), own_, and sequences_.


Member Function Documentation

SitePatterns* bpp::SitePatterns::clone ( ) const [inline, virtual]

Implements bpp::Clonable.

Definition at line 165 of file SitePatterns.h.

References SitePatterns().

const std::vector<unsigned int>& bpp::SitePatterns::getWeights ( ) const [inline]
SitePatterns& bpp::SitePatterns::operator= ( const SitePatterns patterns) [inline]

Definition at line 147 of file SitePatterns.h.

References alpha_, bpp::SiteContainer::clone(), indices_, names_, own_, sequences_, sites_, and weights_.


Member Data Documentation

Definition at line 114 of file SitePatterns.h.

Referenced by getSites(), and operator=().

std::vector<size_t> bpp::SitePatterns::indices_ [private]

Definition at line 112 of file SitePatterns.h.

Referenced by getIndices(), operator=(), and SitePatterns().

std::vector<std::string> bpp::SitePatterns::names_ [private]

Class used for site pattern sorting.

Definition at line 109 of file SitePatterns.h.

Referenced by getSites(), and operator=().

bool bpp::SitePatterns::own_ [private]

Definition at line 115 of file SitePatterns.h.

Referenced by operator=(), SitePatterns(), and ~SitePatterns().

Definition at line 113 of file SitePatterns.h.

Referenced by operator=(), SitePatterns(), and ~SitePatterns().

std::vector<const Site *> bpp::SitePatterns::sites_ [private]

Definition at line 110 of file SitePatterns.h.

Referenced by getSites(), operator=(), and SitePatterns().

std::vector<unsigned int> bpp::SitePatterns::weights_ [private]

Definition at line 111 of file SitePatterns.h.

Referenced by getWeights(), operator=(), and SitePatterns().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends