如果我的理解正確,你必須從潛在的多行序列的前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行代碼。
如果你想要去的鐵桿,和做手工,你必須做這樣的事情(從第一張海報,修改)
f = open('sequence.fsa')
first_line = False
for line in f.xreadlines():
if line[0] == ">":
first_line=True
print line,
else:
if first_line:
print line[17:],
else:
print line,
first_line = False
我喜歡biopython建議和代碼建議。 Biopython將工作,即使序列跨越多行,包含空格等 – 2009-11-03 15:04:00
謝謝!很棒! – Jon 2009-11-03 15:17:03
根據規範適用於案件。在所有其他情況下,它可能會失敗。 – 2009-11-03 16:07:05