更改seqID并删除模式后的部件

时间:2018-05-18 13:53:39

标签: python regex bioinformatics biopython fasta

我实际上有fasta文件:

>seq1:QXQXQWQ:XQWQ
ACTG
>seq3:WCCWHWJ:WGH
ATGC
>seq7:GCGC:G
ATGACA

我希望删除第一个"之后的所有内容:"得到:

>seq1
ACTG
>seq3
ATGC
>seq7
ATGACA

如果有可能的话,可以使用biopython吗?

1 个答案:

答案 0 :(得分:2)

使用SeqIO进行biopython简单,只需修改record.idrecord.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')