我试着比较两个multifasta文件。一个有microRNA前体(70nt),另一个有成熟microRNA(22nt)。我想将成熟的microRNA与前体文件的前20个nt进行比较,如果包含序列,我希望它将成熟文件中的ID更改为>;身份证号码。到目前为止,我写了一个脚本,给我一个输出,只是一些序列从我的成熟的文件复制了很多次。你能帮我吗
from Bio import SeqIO
for mature in SeqIO.parse("mature_microRNAs_final.txt", "fasta"):
mature.id
repr(mature.seq)
len(mature)
for precursors in SeqIO.parse("precursors_microRNAs_final.txt", "fasta"):
precursors.id, precursors.seq, len(precursors.seq)
precursors_5p = precursors.seq[0:20]
for seq in mature:
if mature.seq == precursors_5p:
print(mature.id+"_5p" , "\n" + mature.seq)
这里不需要嵌套循环(这会导致重复输出),而是存储相关的前体序列并与成熟序列进行比较:
注意,这里我假设你只希望成熟记录的前20个核苷酸与游标前记录的前20个核苷酸相同。此解可用于其它标准
相关问题 更多 >
编程相关推荐