5 #ifndef BPP_PHYL_MODEL_TS98_H
6 #define BPP_PHYL_MODEL_TS98_H
55 std::unique_ptr<ReversibleSubstitutionModelInterface> model,
58 bool normalizeRateChanges =
false) :
72 std::string
getName()
const override {
return "TS98"; }
74 double getRate()
const override {
return 1.; }
87 rates_(1, 1) = (s1 + s2) / s1;
void addParameter_(Parameter *parameter)
double getParameterValue(const std::string &name) const override
Partial implementation of the Markov-modulated class of substitution models.
virtual void updateMatrices_()
RowMatrix< double > ratesExchangeability_
RowMatrix< double > rates_
static const std::shared_ptr< IntervalConstraint > R_PLUS_STAR
Tuffley and Steel's 1998 covarion model.
double getRate() const override
Get the rate.
std::string getName() const override
Get the name of the model.
TS98 * clone() const override
TS98(std::unique_ptr< ReversibleSubstitutionModelInterface > model, double s1=1., double s2=1., bool normalizeRateChanges=false)
Build a new TS98 substitution model.
void addRateParameter() override
void updateRatesModel_() override
Update the rates vector, generator and equilibrium frequencies.
void setRate(double rate) override
Set the rate of the model (must be positive).
Defines the basic types of data flow nodes.