У меня на самом деле есть такие файлы:
>seq1:QXQXQWQ:XQWQ ACTG >seq3:WCCWHWJ:WGH ATGC >seq7:GCGC:G ATGACA
, и я хотел бы удалить все после первого ":" и получить:
>seq1 ACTG >seq3 ATGC >seq7 ATGACA
И это с biopython, еслиэто возможно?
Простой в биопионе с SeqIO, просто измените record.id и record.description, разделив строку соответствующим образом:
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')