Bio.codonalign.codonseq 模块
用于处理编码序列的代码。
CodonSeq 类继承自 Seq 类。这是在 biopython 中处理 CodonAlignment 中序列的核心类。
- class Bio.codonalign.codonseq.CodonSeq(data='', gap_char='-', rf_table=None)
基类:
Seq
CodonSeq 被设计用于 CodonAlignment 类的 SeqRecords 中。
CodonSeq 很有用,因为它允许用户在翻译 CodonSeq 时指定阅读框
CodonSeq 还通过调用 get_codon() 方法接受密码子风格的切片。
重要:如果您指定了 rf_table,则无间隙 CodonSeq 可以是任何长度。有间隙的 CodonSeq 应该是 3 的倍数。
>>> codonseq = CodonSeq("AAATTTGGGCCAAATTT", rf_table=(0,3,6,8,11,14)) >>> print(codonseq.translate()) KFGAKF
测试 get_full_rf_table 方法
>>> p = CodonSeq('AAATTTCCCGG-TGGGTTTAA', rf_table=(0, 3, 6, 9, 11, 14, 17)) >>> full_rf_table = p.get_full_rf_table() >>> print(full_rf_table) [0, 3, 6, 9, 12, 15, 18] >>> print(p.translate(rf_table=full_rf_table, ungap_seq=False)) KFPPWV* >>> p = CodonSeq('AAATTTCCCGGGAA-TTTTAA', rf_table=(0, 3, 6, 9, 14, 17)) >>> print(p.get_full_rf_table()) [0, 3, 6, 9, 12.0, 15, 18] >>> p = CodonSeq('AAA------------TAA', rf_table=(0, 3)) >>> print(p.get_full_rf_table()) [0, 3.0, 6.0, 9.0, 12.0, 15]
- __init__(data='', gap_char='-', rf_table=None)
初始化类。
- get_codon(index)
从序列中获取索引密码子。
- get_codon_num()
返回 CodonSeq 中的密码子数量。
- translate(codon_table=None, stop_symbol='*', rf_table=None, ungap_seq=True)
根据 rf_table 中的阅读框翻译 CodonSeq。
用户可以在此时指定 rf_table。如果你想在翻译后的序列中包含间隙,这是唯一的方法。 ungap_seq 应该为此目的设置为 true。
- toSeq()
将 DNA 转换为 seq 对象。
- get_full_rf_table()
返回 CodonSeq 记录的完整 rf_table。
完整 rf_table 与普通 rf_table 不同,因为它会翻译 CodonSeq 中的间隙。它有助于构建包含移码的比对。
- full_translate(codon_table=None, stop_symbol='*')
应用完整翻译,考虑间隙。
- ungap(gap='-')
返回不包含间隙字符的序列副本。
- classmethod from_seq(seq, rf_table=None)
从序列数据获取密码子序列。
- __abstractmethods__ = frozenset({})
- Bio.codonalign.codonseq.cal_dn_ds(codon_seq1, codon_seq2, method='NG86', codon_table=None, k=1, cfreq=None)
计算给定两个序列的 dN 和 dS。
- 可用方法
NG86 - Nei 和 Gojobori (1986) (PMID 3444411)。
LWL85 - Li 等人 (1985) (PMID 3916709)。
ML - Goldman 和 Yang (1994) (PMID 7968486)。
YN00 - Yang 和 Nielsen (2000) (PMID 10666704)。
- 参数
codon_seq1 - 包含 CodonSeq 的 CodonSeq 或 SeqRecord
codon_seq2 - 包含 CodonSeq 的 CodonSeq 或 SeqRecord
w - 转换/颠换比率
cfreq - 只有在使用 ML 方法时才能指定当前密码子频率向量。获取 cfreq 的可能方法是:F1x4、F3x4 和 F61。