You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
elseif (iqtree->isSuperTree()) provide = "basic partition structure and models";
2614
+
2611
2615
// Write Warning
2612
2616
out << "#nexus" << endl << endl
2613
-
<<"[This MrBayes Block Declaration provides the retrieved values from the IQTree Run.]" << endl
2614
-
<< "[Note that MrBayes does not support a large collection of models, so defaults of 'nst=6' for DNA and 'wag' for Protein will be used if a model that does not exist in MrBayes is selected.]" << endl
2615
-
<< "[Furthermore, the Model Parameter '+R' will be replaced by '+G'.]" << endl
2617
+
<<"[This MrBayes Block Declaration provides the " << provide << " from the IQTree Run.]" << endl
2618
+
<< "[Note that MrBayes does not support a large collection of models, so defaults of 'nst=6' for DNA and 'wag' for Protein will be used if a model that does not exist in MrBayes is used.]" << endl;
2619
+
2620
+
if (inclParams)
2621
+
out << "[However, for those cases, there will still be a rate matrix provided.]" << endl
2622
+
<< "[For DNA, this will still mean the rates may vary outside the restrictions of the model.]" << endl
2623
+
<< "[For Protein, this is essentially a perfect replacement.]" << endl;
2624
+
2625
+
out << "[Furthermore, the Model Parameter '+R' will be replaced by '+G'.]" << endl
2616
2626
<< "[This should be used as a Template Only.]" << endl << endl;
Copy file name to clipboardExpand all lines: model/modelbin.h
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -65,7 +65,7 @@ class ModelBIN : public ModelMarkov
65
65
* @param isSuperTree whether the tree is a super tree. Useful for retrieving information from the checkpoint file, which has different locations for PhyloTree and PhyloSuperTree
66
66
* @param inclParams whether to include IQTree optimized parameters for the model
warnLogStream("MrBayes Codon Models do not support any Heterogenity Rate Modifiers! (+I, +G, +R) They have been ignored!", out);
1154
+
}
1155
+
1156
+
if (mrBayesCode.empty()) {
1157
+
warnLogStream("MrBayes Does Not Support Codon Code " + convertIntToString(code) + "! Defaulting to Universal (Code 1).", out);
1158
+
mrBayesCode = "universal";
1159
+
}
1160
+
1161
+
if (num_params == 0 || name.find('_') != string::npos) { // If this model is a Empirical / Semi-Empirical Model
1162
+
warnLogStream("MrBayes does not support Empirical or Semi-Empirical Codon Models. State Frequency will still be set, but no rate matrix will be set.", out);
out << " prset applyto=(" << partition << ") statefreqpr=dirichlet(";
1170
+
1171
+
// State Frequency Prior
1172
+
bool isFirst = true;
1173
+
for (int i = 0; i < num_states; i++) {
1174
+
if (phylo_tree->aln->isStopCodon(i)) continue;
1175
+
1176
+
if (!isFirst) out << ", ";
1177
+
else isFirst = false;
1178
+
1179
+
out << state_freq[i];
1180
+
}
1181
+
1182
+
out << ")";
1183
+
1184
+
/*
1185
+
* TS/TV Ratio (Kappa)
1186
+
* Ratio Should be:
1187
+
* `beta(kappa, 1)` when `codon_kappa_style` is `CK_ONE_KAPPA` (kappa here represents the ts/tv rate ratio)
1188
+
* `beta(kappa, 1)` when `codon_kappa_style` is `CK_ONE_KAPPA_TS` (kappa here represents the transition rate)
1189
+
* `beta(1, kappa)` when `codon_kappa_style` is `CK_ONE_KAPPA_TV` (kappa here represents the transversion rate)
1190
+
* `beta(kappa, kappa2)` when `codon_kappa_style` is `CK_TWO_KAPPA` (kappa here represents the transition rate, and kappa2 represents the transversion rate)
Copy file name to clipboardExpand all lines: model/modelcodon.h
+11Lines changed: 11 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -210,6 +210,17 @@ class ModelCodon: public ModelMarkov {
210
210
*/
211
211
virtualboolgetVariables(double *variables);
212
212
213
+
/**
214
+
* Print the model information in a format that can be accepted by MrBayes, using lset and prset.<br>
215
+
* By default, it simply prints a warning to the log and to the stream, stating that this model is not supported by MrBayes.
216
+
* @param out the ofstream to print the result to
217
+
* @param partition the partition to apply lset and prset to
218
+
* @param charset the current partition's charset. Useful for getting information from the checkpoint file
219
+
* @param isSuperTree whether the tree is a super tree. Useful for retrieving information from the checkpoint file, which has different locations for PhyloTree and PhyloSuperTree
220
+
* @param inclParams whether to include IQTree optimized parameters for the model
Copy file name to clipboardExpand all lines: model/modeldna.h
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -117,14 +117,13 @@ class ModelDNA : public ModelMarkov
117
117
/**
118
118
* Print the model information in a format that can be accepted by MrBayes, using lset and prset.<br>
119
119
* By default, it simply prints a warning to the log and to the stream, stating that this model is not supported by MrBayes.
120
-
* @param rate the rate information
121
120
* @param out the ofstream to print the result to
122
121
* @param partition the partition to apply lset and prset to
123
122
* @param charset the current partition's charset. Useful for getting information from the checkpoint file
124
123
* @param isSuperTree whether the tree is a super tree. Useful for retrieving information from the checkpoint file, which has different locations for PhyloTree and PhyloSuperTree
125
124
* @param inclParams whether to include IQTree optimized parameters for the model
0 commit comments