【问题标题】:DNA to Protein Python FunctionDNA 到蛋白质 Python 功能
【发布时间】:2021-10-17 04:52:58
【问题描述】:

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

编辑:谢谢!

【问题讨论】:

  • 您发布的代码的格式似乎不正确。您可以更新它,以缩进并成为一个完整的运行示例吗?这是就您的问题获得帮助的最佳方式。

标签: python function


【解决方案1】:

你只在 condon == 'Met' 时打印,你可以做一个小作弊和一个检查声明。

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

【讨论】:

    【解决方案2】:

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

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

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

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

    rna = translate(dna) to rna = transcribe(dna)
    

    【讨论】:

      【解决方案3】:
      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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-01
        • 1970-01-01
        相关资源
        最近更新 更多