回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图找到一种方法来读取一组三个列表中的项目,并找到三个项目的组合(密码子)来确定片段的开始,另一个三个项目的组合来找到片段的结束(停止密码子)</p>
<p>因此,读取帧和列表应由程序读取,如下所示:</p>
<p>清单1:XXXXX-start-FRAGENT of interest-stop-XXXXXX</p>
<p>我想做的只是提取感兴趣的片段并将其附加到另一个列表中,然后去掉其余的部分。
<br/></p>
<p>这是一个更具体的例子:</p>
<p>起始密码子:ATG</p>
<p>终止密码子:标签</p>
<p>基因_1='ACGGACTATTC'</p>
<p>基因2='GGCC<strong>ATG</strong>AGTAACGCA<strong>TAG</strong>GGCCC</p>
<p>基因3=GGGCCC<strong>ATG</strong>ACGTAC<strong>TAG</strong>GGGCCC<strong>ATG</strong>CATTCA<strong>TAG</strong></p>
<p>因此,第一个列表不包含任何感兴趣的片段,而第二个列表包含1,第三个列表包含2。我试图摆脱这些阅读框架之外的一切,并将这些感兴趣的片段添加到一个列表中,该列表应该是这样的</p>
<p>frag_int=['AGTAACGCA','ACGTAC','CATTCA']</p>
<p>这就是我到目前为止所做的:</p>
<p>#这些是str
基因列表=[]</p>
<pre><code>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)
</code></pre>
<p>但是它并没有什么回报,我想知道代码是否太冗余了,我真的不需要在这里定义函数,你知道更好的方法吗?
Thaaanks</p>