Skip to content

Conversation

@Artoria2e5
Copy link
Contributor

Add documentation about codon model from a close reading of https://github.com/iqtree/iqtree3/blob/master/model/modelcodon.cpp.

The main change is a detailed note on how the mechanistic models compute rates. This is required because

  • MG does not actually implement what MG1994 does, specifically deviating in how multi-nt changes are handled: the original paper sets a rate of 0 while iqtree does something else.
  • The 1KT{S,V} and 2K models are very reasonable mechanistic approches to multi-nt changes, but people won't know they're reasonable unless we describe it.

I also added a mention of GY0K. It does not have a literature reference but is in the code. Describing it first makes describing all the GY-with-kappa models easier.

Other small changes are:

  • Shortened the parameter sentence, since it's too repetitive. We've already defined that dn/ds, ts, tv are, so just use them.
  • ECM alias for ECMK07 because it is in the code.
  • Mention the difference between MG and GY0K in the "substitution rates" section by pointing to the frequency section. Adding a pointer here helps answer questions like "what's the difference between MG2K and GY2K?"

Add documentation about codon model from a close reading of https://github.com/iqtree/iqtree3/blob/master/model/modelcodon.cpp.

The main change is a detailed note on how the mechanistic models compute rates. This is required because
* `MG` does not actually implement what MG1994 does, specifically deviating in how multi-nt changes are handled: the original paper sets a rate of 0 while iqtree does something else.
* The 1KT{S,V} and 2K models are very reasonable mechanistic approches to multi-nt changes, but people won't know they're reasonable unless we describe it.

I also added a mention of `GY0K`. It does not have a literature reference but is in the code. Describing it first makes describing all the GY-with-kappa models easier.

Other small changes are:
* Shortened the parameter sentence, since it's too repetitive. We've already defined that dn/ds, ts, tv are, so just use them.
* `ECM` alias for `ECMK07` because it is in the code.
* Mention the difference between `MG` and `GY0K` in the "substitution rates" section by pointing to the frequency section. Adding a pointer here helps answer questions like "what's the difference between MG2K and GY2K?"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant