首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DNA到蛋白质的Python函数

DNA到蛋白质的Python函数
EN

Stack Overflow用户
提问于 2021-10-17 04:52:59
回答 3查看 55关注 0票数 1

我是一个巨大的Python noobie,试图完成从DNA到RNA再到氨基酸的转换代码-一旦找到'Met‘蛋白质,它就应该开始打印蛋白质,一旦找到' stop’蛋白质,就停止打印,我希望它返回一个列表。但不知何故,它只在包含此DNA字符串时才打印Met?我想知道我哪里错了..。

编辑:谢谢!

EN

回答 3

Stack Overflow用户

发布于 2021-10-17 05:01:05

代码语言:javascript
复制
for i in range(protein_start, sequence_num, 3):
    codon = codon_list[rna[i:i+3]]
    if (codon == "STOP"):
        return protein // or a break statement if more code
    else:
        protein.append(codon)
票数 0
EN

Stack Overflow用户

发布于 2021-10-17 05:10:56

你只打印当它是condon == 'Met‘时,你可以做一个小的欺骗和检查语句。

代码语言:javascript
复制
passed_Met = false
for i in range(protein_start, sequence_num, 3):
    codon = codon_list[rna[i:i+3]]
    if (codon == "STOP"):
        return protein // Returns the proten when 'STOP' is found

    elif (passed_Met):
        protein.append(codon)

    elif (codon == "Met"):
        protein.append(codon)
        passed_Met = true
票数 0
EN

Stack Overflow用户

发布于 2021-10-17 05:16:04

我认为这里缺少的主要部分是,最终您需要将elif语句转换为else语句,该语句涵盖所有其他氨基酸。在当前代码中,仅当序列中有Met时才追加。

在您的第一个函数中,您可能想要更改:

代码语言:javascript
复制
def transcribe(str):

    dna = 'ATGC'
    rna = 'UACG'
    transcription = str.maketrans(dna, rna)
    return (str.translate(transcription))

作为第二点,您可能还想要更改

代码语言:javascript
复制
rna = translate(dna) to rna = transcribe(dna)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69601402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档