bpp-seq3  3.0.0
bpp::DistanceMatrix Class Referencefinal

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. The dimension of the matrix will be equal to the number of names. More...
 
 DistanceMatrix (std::size_t n)
 Build a new distance matrix with specified size. Row names will be named 'Taxon 0', 'Taxon 1', and so on. More...
 
 DistanceMatrix (const DistanceMatrix &dist)
 
DistanceMatrixoperator= (const DistanceMatrix &dist)
 
DistanceMatrixclone () const
 
void reset ()
 Reset the distance matrix: all distances are set to 0. More...
 
std::size_t size () const
 
const std::vector< std::string > & getNames () const
 
const std::string & getName (std::size_t i) const
 
void setName (std::size_t i, const std::string &name)
 Set the ith name. More...
 
void setNames (const std::vector< std::string > &names)
 Set the names associated to the matrix. More...
 
std::size_t getNameIndex (const std::string &name) const
 Get the index of a given name. More...
 
void resize (std::size_t n)
 Change the dimension of the matrix. More...
 
virtual const double & operator() (const std::string &iName, const std::string &jName) const
 Access by name. More...
 
virtual double & operator() (const std::string &iName, const std::string &jName)
 Access by name. More...
 
virtual const double & operator() (std::size_t i, std::size_t j) const
 
virtual double & operator() (std::size_t i, std::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 18 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 30 of file DistanceMatrix.h.

References reset().

Referenced by clone().

◆ DistanceMatrix() [2/3]

bpp::DistanceMatrix::DistanceMatrix ( std::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 42 of file DistanceMatrix.h.

References resize().

◆ DistanceMatrix() [3/3]

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

Definition at line 49 of file DistanceMatrix.h.

Member Function Documentation

◆ asMatrix() [1/2]

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

Definition at line 207 of file DistanceMatrix.h.

References distances_.

◆ asMatrix() [2/2]

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

Definition at line 205 of file DistanceMatrix.h.

References distances_.

◆ clone()

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

Implements bpp::Clonable.

Definition at line 69 of file DistanceMatrix.h.

References DistanceMatrix().

◆ getName()

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

Definition at line 102 of file DistanceMatrix.h.

References names_, and size().

Referenced by bpp::PhylipDistanceMatrixFormat::writeDistanceMatrix().

◆ getNameIndex()

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

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 11 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 95 of file DistanceMatrix.h.

References names_.

◆ operator()() [1/4]

virtual double& bpp::DistanceMatrix::operator() ( const std::string &  iName,
const std::string &  jName 
)
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 186 of file DistanceMatrix.h.

References distances_, and getNameIndex().

◆ operator()() [2/4]

virtual const double& bpp::DistanceMatrix::operator() ( const std::string &  iName,
const std::string &  jName 
) const
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 170 of file DistanceMatrix.h.

References distances_, and getNameIndex().

◆ operator()() [3/4]

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

Definition at line 199 of file DistanceMatrix.h.

References distances_.

◆ operator()() [4/4]

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

Definition at line 194 of file DistanceMatrix.h.

References distances_.

◆ operator=()

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

Definition at line 54 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 75 of file DistanceMatrix.h.

References distances_, and size().

Referenced by DistanceMatrix(), and resize().

◆ resize()

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

Change the dimension of the matrix.

Parameters
nthe new dimension of the matrix.

Definition at line 150 of file DistanceMatrix.h.

References distances_, names_, reset(), and RowMatrix< double >::resize().

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

◆ setName()

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

Set the ith name.

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

Definition at line 116 of file DistanceMatrix.h.

References names_, and size().

◆ setNames()

void bpp::DistanceMatrix::setNames ( const std::vector< std::string > &  names)
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 129 of file DistanceMatrix.h.

References names_.

◆ size()

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

Definition at line 90 of file DistanceMatrix.h.

References names_.

Referenced by getName(), operator=(), reset(), setName(), and bpp::PhylipDistanceMatrixFormat::writeDistanceMatrix().

Member Data Documentation

◆ distances_

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

Definition at line 21 of file DistanceMatrix.h.

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

◆ names_

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

Definition at line 22 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: