[H6-4](基因.py)编写一个从用户读取字符串的程序。这个字符串将一个DNA分子表示为字母a、C、G和T的序列,每个字母代表一个不同的碱基。然后确定它是否代表一个潜在基因,如果它满足以下4部分密码子标准:
•从起始密码子ATG开始。
•长度是3的倍数。
•以其中一个停止密码子标签、TAA或TGA结尾。
•在第一个密码子和最后一个密码子之间的密码子序列中,它没有中间的终止密码子。在
通过定义一个布尔函数is_gene(dna)来实现这一点,当dna是有效的dna并且它满足每个密码子条件时,返回True。在
同时定义一个布尔函数is_valid_DNA(seq),如果seq中的每个字符都是a、C、G或T之一,则返回True。否则返回False。在
然后完成您的程序:使用is_valid_DNA(seq)函数验证输入字符串seq的内容,如果它包含A、C、G和T中的任何字符,则打印无效的DNA。否则,通过is_gene()函数检查它,如果它满足前面的4部分密码子条件,则打印is potential gene基因不是。在
最后,如果输入的字符串不是有效的DNA或违反了4部分密码子标准,打印出一些诊断信息,详细说明为什么它无效。这些信息可能会描述为什么内容物是无效的DNA,比如哪些碱基是非法的,它们发生在什么序列位置。对于由4部分组成的密码子标准,它可能是一个描述,例如“不以ATG开头”或“长度不是3的倍数”,等等。我将奖励高达1点额外学分的诊断输出,如此详细和良好的格式。在