Изменить seqID и удалить часть после шаблона - PullRequest
0 голосов
/ 18 мая 2018

У меня на самом деле есть такие файлы:

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

, и я хотел бы удалить все после первого ":" и получить:

>seq1
ACTG
>seq3
ATGC
>seq7
ATGACA

И это с biopython, еслиэто возможно?

1 Ответ

0 голосов
/ 18 мая 2018

Простой в биопионе с SeqIO, просто измените 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')
...