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。

可用方法
参数
  • codon_seq1 - 包含 CodonSeq 的 CodonSeq 或 SeqRecord

  • codon_seq2 - 包含 CodonSeq 的 CodonSeq 或 SeqRecord

  • w - 转换/颠换比率

  • cfreq - 只有在使用 ML 方法时才能指定当前密码子频率向量。获取 cfreq 的可能方法是:F1x4、F3x4 和 F61。