5 #ifndef BPP_SEQ_ALPHABETINDEX_DEFAULTNUCLEOTIDESCORE_H
6 #define BPP_SEQ_ALPHABETINDEX_DEFAULTNUCLEOTIDESCORE_H
13 #include "../Alphabet/NucleicAlphabet.h"
14 #include "../Alphabet/AlphabetExceptions.h"
28 std::shared_ptr<const NucleicAlphabet>
alpha_;
64 double getIndex(
int state1,
int state2)
const override;
65 double getIndex(
const std::string& state1,
const std::string& state2)
const override;
Two dimensionnal alphabet index interface.
Default Substitution Matrix for nucleotide alignments.
bool isSymmetric() const override
double getIndex(int state1, int state2) const override
Get the index associated to a pair of states.
std::shared_ptr< const Alphabet > getAlphabet() const override
Get the alphabet associated to this index.
LinearMatrix< double > distanceMatrix_
DefaultNucleotideScore * clone() const override
std::shared_ptr< const NucleicAlphabet > alpha_
const Alphabet & alphabet() const override
Get the alphabet associated to this index.
DefaultNucleotideScore(const DefaultNucleotideScore &dns)
DefaultNucleotideScore(const NucleicAlphabet *alphabet)
Build a new DefaultNucleotideScore object.
const Matrix< double > & getIndexMatrix() const override
virtual ~DefaultNucleotideScore()
DefaultNucleotideScore & operator=(const DefaultNucleotideScore &dns)
The abstract base class for nucleic alphabets.
This alphabet is used to deal NumericAlphabet.