skbio.sequence.transition.jc69#

skbio.sequence.transition.jc69(d, seqtype='DNA', dtype='float32')[source]#

Calculate the JC69 transition probability matrix for a given distance.

Added in version 0.7.4.

The Jukes-Cantor 1969 (JC69) model assumes equal nucleotide frequencies and equal substitution rates between all nucleotides.

The transition probability between nucleotide states for sequences separated by evolutionary distance \(d\) (expected substitutions per site) is given by:

\[\begin{split}P_{ij} = \begin{cases} \frac{1}{4} + \frac{3}{4} e^{-\frac{4d}{3}} & i = j \\ \frac{1}{4} - \frac{1}{4} e^{-\frac{4d}{3}} & i \neq j \end{cases}\end{split}\]

where \(i, j \in \{A, C, G, T/U\}\), and \(i\) and \(j\) denote ancestral and descendant states, respectively.

Parameters:
dfloat

Evolutionary distance between sequences.

seqtype{‘DNA’, ‘RNA’}, optional

Sequence type. Used to label matrix states as nucleotides (A, C, G, T/U). Default is “DNA”.

dtypestr or dtype, optional

Floating-point data type of the transition probability matrix. Options are “float32” (default) and “float64”.

Returns:
SubstitutionMatrix

Transition probability matrix. Rows are ancestral nucleotides, columns are descendant nucleotides.

Notes

The Jukes-Cantor 1969 (JC69) model was originally described in [1].

It is a continuous-time Markov chain model that assumes equal base frequencies and equal substitution rates between all nucleotides.

References

[1]

Jukes, T. H., & Cantor, C. R. (1969). Evolution of protein molecules. Mammalian Protein Metabolism, 3(21), 132.