bpp-seq  2.2.0
bpp::DistanceMatrix Class Reference

A Matrix class to store phylogenetic distances. More...

#include <Bpp/Seq/DistanceMatrix.h>

+ Inheritance diagram for bpp::DistanceMatrix:
+ Collaboration diagram for bpp::DistanceMatrix:

Public Member Functions

 DistanceMatrix (const std::vector< std::string > &names)
 Build a new distance matrix with specified names. More...
 
 DistanceMatrix (size_t n)
 Build a new distance matrix with specified size. More...
 
virtual ~DistanceMatrix ()
 
 DistanceMatrix (const DistanceMatrix &dist)
 
DistanceMatrixoperator= (const DistanceMatrix &dist)
 
DistanceMatrixclone () const
 
void reset ()
 Reset the distance matrix: all distances are set to 0. More...
 
size_t size () const
 
const std::vector< std::string > & getNames () const
 
const std::string & getName (size_t i) const throw (IndexOutOfBoundsException)
 
void setName (size_t i, const std::string &name) throw (IndexOutOfBoundsException)
 Set the ith name. More...
 
void setNames (const std::vector< std::string > &names) throw (DimensionException)
 Set the names associated to the matrix. More...
 
size_t getNameIndex (const std::string &name) const throw (Exception)
 Get the index of a given name. More...
 
void resize (size_t n)
 Change the dimension of the matrix. More...
 
virtual const double & operator() (const std::string &iName, const std::string &jName) const throw (Exception)
 Access by name. More...
 
virtual double & operator() (const std::string &iName, const std::string &jName) throw (Exception)
 Access by name. More...
 
virtual const double & operator() (size_t i, size_t j) const
 
virtual double & operator() (size_t i, size_t j)
 
virtual const Matrix< double > & asMatrix () const
 
virtual Matrix< double > & asMatrix ()
 

Private Attributes

RowMatrix< double > distances_
 
std::vector< std::string > names_
 

Detailed Description

A Matrix class to store phylogenetic distances.

Definition at line 55 of file DistanceMatrix.h.

Constructor & Destructor Documentation

◆ DistanceMatrix() [1/3]

bpp::DistanceMatrix::DistanceMatrix ( const std::vector< std::string > &  names)
inline

Build a new distance matrix with specified names.

The dimension of the matrix will be equal to the number of names

Parameters
namesThe names to use.

Definition at line 72 of file DistanceMatrix.h.

References reset().

Referenced by clone().

◆ DistanceMatrix() [2/3]

bpp::DistanceMatrix::DistanceMatrix ( size_t  n)
inline

Build a new distance matrix with specified size.

Row names will be named 'Taxon 0', 'Taxon 1', and so on.

Parameters
nThe size of the matrix.

Definition at line 86 of file DistanceMatrix.h.

References resize().

◆ ~DistanceMatrix()

virtual bpp::DistanceMatrix::~DistanceMatrix ( )
inlinevirtual

Definition at line 92 of file DistanceMatrix.h.

◆ DistanceMatrix() [3/3]

bpp::DistanceMatrix::DistanceMatrix ( const DistanceMatrix dist)
inline

Definition at line 94 of file DistanceMatrix.h.

Member Function Documentation

◆ asMatrix() [1/2]

virtual const Matrix<double>& bpp::DistanceMatrix::asMatrix ( ) const
inlinevirtual

Definition at line 244 of file DistanceMatrix.h.

References distances_.

◆ asMatrix() [2/2]

virtual Matrix<double>& bpp::DistanceMatrix::asMatrix ( )
inlinevirtual

Definition at line 248 of file DistanceMatrix.h.

References distances_.

◆ clone()

DistanceMatrix* bpp::DistanceMatrix::clone ( ) const
inline

Definition at line 113 of file DistanceMatrix.h.

References DistanceMatrix().

◆ getName()

const std::string& bpp::DistanceMatrix::getName ( size_t  i) const
throw (IndexOutOfBoundsException
)
inline
Returns
The ith name.
Parameters
iName index.
Exceptions
IndexOutOfBoundsExceptionIf i is not a valid index.

Definition at line 147 of file DistanceMatrix.h.

References names_, and size().

◆ getNameIndex()

size_t DistanceMatrix::getNameIndex ( const std::string &  name) const
throw (Exception
)

Get the index of a given name.

Parameters
nameThe name to look for.
Returns
The position of the name.
Exceptions
ExceptionIf no names are attached to this matrix, or if the name was not found.

Definition at line 45 of file DistanceMatrix.cpp.

Referenced by operator()().

◆ getNames()

const std::vector<std::string>& bpp::DistanceMatrix::getNames ( ) const
inline
Returns
The names associated to the matrix.

Definition at line 140 of file DistanceMatrix.h.

References names_.

◆ operator()() [1/4]

virtual const double& bpp::DistanceMatrix::operator() ( const std::string &  iName,
const std::string &  jName 
) const
throw (Exception
)
inlinevirtual

Access by name.

Parameters
iNameName 1 (row)
jNameName 2 (column)
Returns
A reference toward the specified distance.
Exceptions
Exceptionif the matrix has no name of if one of the name do not match existing names.

Definition at line 209 of file DistanceMatrix.h.

References distances_, and getNameIndex().

◆ operator()() [2/4]

virtual double& bpp::DistanceMatrix::operator() ( const std::string &  iName,
const std::string &  jName 
)
throw (Exception
)
inlinevirtual

Access by name.

Parameters
iNameName 1 (row)
jNameName 2 (column)
Returns
A reference toward the specified distance.
Exceptions
Exceptionif the matrix has no name of if one of the name do not match existing names.

Definition at line 225 of file DistanceMatrix.h.

References distances_, and getNameIndex().

◆ operator()() [3/4]

virtual const double& bpp::DistanceMatrix::operator() ( size_t  i,
size_t  j 
) const
inlinevirtual

Definition at line 233 of file DistanceMatrix.h.

References distances_.

◆ operator()() [4/4]

virtual double& bpp::DistanceMatrix::operator() ( size_t  i,
size_t  j 
)
inlinevirtual

Definition at line 238 of file DistanceMatrix.h.

References distances_.

◆ operator=()

DistanceMatrix& bpp::DistanceMatrix::operator= ( const DistanceMatrix dist)
inline

Definition at line 98 of file DistanceMatrix.h.

References distances_, names_, resize(), and size().

◆ reset()

void bpp::DistanceMatrix::reset ( )
inline

Reset the distance matrix: all distances are set to 0.

Definition at line 120 of file DistanceMatrix.h.

References distances_, and size().

Referenced by DistanceMatrix(), and resize().

◆ resize()

void bpp::DistanceMatrix::resize ( size_t  n)
inline

Change the dimension of the matrix.

Parameters
nthe new dimension of the matrix.

Definition at line 192 of file DistanceMatrix.h.

References distances_, names_, and reset().

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

◆ setName()

void bpp::DistanceMatrix::setName ( size_t  i,
const std::string &  name 
)
throw (IndexOutOfBoundsException
)
inline

Set the ith name.

Parameters
iName index.
nameThe new name.
Exceptions
IndexOutOfBoundsExceptionIf i is not a valid index.

Definition at line 160 of file DistanceMatrix.h.

References names_, and size().

◆ setNames()

void bpp::DistanceMatrix::setNames ( const std::vector< std::string > &  names)
throw (DimensionException
)
inline

Set the names associated to the matrix.

Parameters
namesMatrix names.
Exceptions
DimensionExceptionIf 'names' have not the same size as the matrix.

Definition at line 172 of file DistanceMatrix.h.

References names_.

◆ size()

size_t bpp::DistanceMatrix::size ( ) const
inline
Returns
The dimension of the matrix.

Definition at line 135 of file DistanceMatrix.h.

References names_.

Referenced by getName(), operator=(), reset(), and setName().

Member Data Documentation

◆ distances_

RowMatrix<double> bpp::DistanceMatrix::distances_
private

Definition at line 60 of file DistanceMatrix.h.

Referenced by asMatrix(), operator()(), operator=(), reset(), and resize().

◆ names_

std::vector<std::string> bpp::DistanceMatrix::names_
private

Definition at line 61 of file DistanceMatrix.h.

Referenced by getName(), getNames(), operator=(), resize(), setName(), setNames(), and size().


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