2024-05-16 23:02:03 发布
网友
我有fasta格式的序列,在序列的开头包含17个bp的引物。引物有时会出现不匹配。因此,我想删除序列的前17个字符,除了fasta头。在
序列如下:
> name_name_number_etc SEQUENCEFOLLOWSHERE > name_number_etc SEQUENCEFOLLOWSHERE > name_name_number_etc SEQUENCEFOLLOWSHERE
如何在python中实现这一点?在
谢谢!乔恩
with open('fasta_file') as f: for line in f: if not line.startswith('>'): print line[17:]
如果我理解正确的话,您只需要从潜在的多行序列的前17个字符中删除底漆。你问的有点难。是的,有一个简单的解决方案,但在某些情况下可能会失败。在
我的建议是:使用Biopython来执行FASTA文件的解析。直接从教程
from Bio import SeqIO handle = open("ls_orchid.fasta") for seq_record in SeqIO.parse(handle, "fasta") : print seq_record.id print repr(seq_record.seq) print len(seq_record) handle.close()
然后重写序列,删除前17个字母。我现在的机器上没有安装biopython,但是如果你看一下教程,总共只需要15行代码。在
如果你想做硬核,手工做,你必须做这样的事情(从第一张海报,修改)
如果你的文件看起来像
>MCHU - Calmodulin - Human, rabbit, bovine, rat, and chicken ADQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTID FPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREA DIDGDGQVNYEEFVQMMTAK*
如果你想删除每个序列行的前17个字符,你可以这样做:
如果我理解正确的话,您只需要从潜在的多行序列的前17个字符中删除底漆。你问的有点难。是的,有一个简单的解决方案,但在某些情况下可能会失败。在
我的建议是:使用Biopython来执行FASTA文件的解析。直接从教程
然后重写序列,删除前17个字母。我现在的机器上没有安装biopython,但是如果你看一下教程,总共只需要15行代码。在
如果你想做硬核,手工做,你必须做这样的事情(从第一张海报,修改)
^{2}$如果你的文件看起来像
如果你想删除每个序列行的前17个字符,你可以这样做:
^{2}$相关问题 更多 >
编程相关推荐