我实际上有fasta文件:
>seq1:QXQXQWQ:XQWQ
ACTG
>seq3:WCCWHWJ:WGH
ATGC
>seq7:GCGC:G
ATGACA
我希望删除第一个"之后的所有内容:"得到:
>seq1
ACTG
>seq3
ATGC
>seq7
ATGACA
如果有可能的话,可以使用biopython吗?
答案 0 :(得分:2)
使用SeqIO
进行biopython简单,只需修改record.id
和record.description
,方法是适当地拆分字符串:
from Bio import SeqIO
def yield_records(in_file):
for record in SeqIO.parse(in_file, 'fasta'):
record.description = record.id = record.id.split(':', 1)[0]
yield record
SeqIO.write(yield_records('in.fasta'), 'out.fasta', 'fasta')