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”的行为。如果停止密码子不存在,则匹配“忽略”行为。

返回:

翻译序列。

返回类型:

Protein

备注

输入的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

将“要求”传递给两个 startstop 修剪CD的译文(事实上需要在阅读框中有一个)。将读取帧更改为2会引发异常,因为读取帧中不存在起始密码子:

>>> sgc.translate(rna, start='require', stop='require',
...               reading_frame=2) 
Traceback (most recent call last):
    ...
ValueError: ...