我试图找到一种方法来读取列表列表中的项目,一组三个,并找到 3 个项目(密码子)的组合来确定片段的开头,并找到 3 个项目的另一个组合来找到结尾一个片段(终止密码子)。
因此,程序应该像这样读取阅读框和列表:
清单1:XXXXXX-开始-感兴趣的片段-停止-XXXXXXX
我要做的只是提取感兴趣的片段并将其附加到另一个列表中,然后摆脱其余部分。
这是一个更具体的例子:
起始密码子:ATG
终止密码子:TAG
基因_1 = 'ACGGACTATTC'
基因_2 = 'GGCC ATG AGTAACGCA TAG GGCCC
基因_3= GGGCCC ATG ACGTAC标记GGGCCC ATG CATTCA标记
所以,第一个列表不包含任何感兴趣的片段,而第二个包含 1,第三个包含 2。我试图摆脱这些阅读框架之外的所有内容,并将这些感兴趣的片段附加到一个应该看起来像的列表中像这样。
frag_int = ['AGTAACGCA','ACGTAC','CATTCA']
这是我到目前为止所拥有的:
#这些是str genelist=[]
gene_1= 'A','C','G','G','A','C','T','A','T','T','C'
gene_2= 'G','G','C','C','A','T','G','A','G','T','A','A','C','G','C','A','T','A','G','G','G','C','C','C'
gene_3='G','G','G','C','C','C','A','T','G','A','C','G','T','A','C','T','A','G','G','G','G','C','C','C','A','T','G','C','A','T','T','C','A','T','A','G'
genelist.append(gene_1)
genelist.append(gene_2)
genelist.append(gene_3)
def transcription(ORF):
mRNA= ''
for i in range(0, len(ORF), 3):
codon= ORF[i:i+3]
if codon != 'ATG':
next(codon)
if codon == 'ATG':
mRNA=codon.transcribe()
if codon == 'TAG':
break
return(mRNA)
mRNAs=[]
for gene in genelist:
for codon in gene:
mRNA= transcription(codon)
mRNAs.append(mRNA)
print(mRNAs)
但它并没有真正回馈任何东西,我想知道代码是否过于冗余,我真的不需要在这里定义一个函数,你知道有什么更好的方法吗?哈哈!!