skbio.sequence.GeneticCode.translate¶
- GeneticCode.translate(sequence, reading_frame=1, start='ignore', stop='ignore')[源代码]¶
将RNA序列转化为蛋白质序列。
状态:0.4.0稳定。
- 参数:
sequence (RNA) -- 翻译RNA序列。
reading_frame ({1, 2, 3, -1, -2, -3}) -- 用于翻译的阅读框架。1、2和3是正向帧,-1、-2和-3是反向帧。如果反转(负数),则在翻译前将逆序补足。
start ({'ignore', 'require', 'optional'}) -- 如何处理起始密码子: “忽略”:翻译将从阅读框的开始开始,而不管是否存在起始密码子。 “require”:翻译将从阅读框中的第一个起始密码子开始,忽略所有先前的位置。翻译序列中的第一个氨基酸将 总是 be蛋氨酸(M字符),即使在翻译中使用了另一个起始密码子。由于fMet没有相应的IUPAC特征,因此这种行为与基础生物学最为吻合。如果起始密码子不存在,则
ValueError
提高了。*“可选”:如果读取帧中存在起始密码子,则匹配“require”的行为。如果起始密码子不存在,则匹配“忽略”行为。stop ({'ignore', 'require', 'optional'}) -- 如何处理停止密码子: “忽略”:翻译将忽略停止密码子的存在,并翻译到阅读框架的末尾。 “require”:翻译将在第一个终止密码子处终止。终止密码子将不包括在翻译序列中。如果停止密码子不存在,则
ValueError
提高了。*“可选”:如果读帧中存在停止密码子,则匹配“require”的行为。如果停止密码子不存在,则匹配“忽略”行为。
- 返回:
翻译序列。
- 返回类型:
备注
输入的RNA序列元数据包含在翻译的蛋白质序列中。不包括位置元数据。
示例
使用NCBI的标准遗传代码(表ID 1,scikit-bio中的默认遗传代码)将RNA转化为蛋白质:
>>> from skbio import RNA, GeneticCode >>> rna = RNA('AGUAUUCUGCCACUGUAAGAA') >>> sgc = GeneticCode.from_ncbi() >>> sgc.translate(rna) Protein -------------------------- Stats: length: 7 has gaps: False has degenerates: False has definites: True has stops: True -------------------------- 0 SILPL*E
在这个命令中,我们使用默认
start
行为,在阅读帧的开始处开始翻译,而不管是否存在起始密码子。如果我们指定“require”,翻译将从读取帧中的第一个起始密码子开始(在本例中为CUG),忽略所有先前的位置:>>> sgc.translate(rna, start='require') Protein -------------------------- Stats: length: 5 has gaps: False has degenerates: False has definites: True has stops: True -------------------------- 0 MPL*E
注意,编码L(CUG)的密码子是这个遗传密码中的另一个起始密码子。由于我们指定了“需要”模式,蛋氨酸(M)被用来替代起始密码子(L)。由于fMet没有相应的IUPAC特征,因此这种行为与基础生物学最为吻合。
翻译相同的RNA序列,同时指定翻译终止于阅读帧中的第一个终止密码子:
>>> sgc.translate(rna, start='require', stop='require') Protein -------------------------- Stats: length: 3 has gaps: False has degenerates: False has definites: True has stops: False -------------------------- 0 MPL
将“要求”传递给两个
start
和stop
修剪CD的译文(事实上需要在阅读框中有一个)。将读取帧更改为2会引发异常,因为读取帧中不存在起始密码子:>>> sgc.translate(rna, start='require', stop='require', ... reading_frame=2) Traceback (most recent call last): ... ValueError: ...