我正在尝试找到一种方法来读取一组列表中的项目,一组三个,并找到 3 个项目(密码子)的组合以确定片段的开头,另一个 3 个项目的组合找到结束一个片段(终止密码子)。
因此,阅读框架和列表应该由程序像这样读取:
清单 1:XXXXX-开始-感兴趣的片段-停止-XXXXXXX
我想做的只是提取感兴趣的片段并将其附加到另一个列表中,然后删除其余部分。
这是一个更具体的例子:
起始密码子:ATG
终止密码子:TAG
gene_1='ACGGACTATTC'
gene_2= 'GGCC ATG AGTAACGCA TAG GGCCC
gene_3=GGGCCC ATG ACGTAC标签GGGCCC ATG CATTCA标签
因此,第一个列表不包含任何感兴趣的片段,而第二个列表包含 1,第三个列表包含 2。我试图摆脱这些阅读框架之外的所有内容,并将这些感兴趣的片段附加到一个应该看起来像东西的列表中像这样。
frag_int = ['AGTAACGCA', 'ACGTAC', 'CATTCA']
这是我到目前为止所拥有的:
#这些是str基因列表=[]
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)
但它并没有真正回馈任何东西,我想知道是不是代码太冗余了,我真的不需要在这里定义一个函数,你知道更好的方法吗?谢谢!!
拉风的咖菲猫
呼啦一阵风
相关分类