Написание словаря в файл с биопионом - PullRequest
1 голос
/ 27 января 2020

Я новичок, используя био python ... Я пытаюсь записать словарь в файл, используя био python. Вот мой код:

with open("file_in.fasta") as original, open("file_out.fasta", "w") as corrected:
    for seq_record in SeqIO.parse(original,'fasta'):
        desc=seq_record.description
        seq_dict={seq_record.id + '_1':seq_record.seq}
        SeqIO.write(seq_dict.values(),corrected,'fasta')

Но я получаю эту ошибку: AttributeError: У объекта 'Seq' нет атрибута 'id'

1 Ответ

2 голосов
/ 27 января 2020

Если вы хотите добавить _1 в конец каждой строки >, вам не нужен словарь, вы можете просто изменить запись последовательности напрямую:

from Bio import SeqIO

with open("file_in.fasta") as original, open("file_out.fasta", "w") as corrected:
    for seq_record in SeqIO.parse(original,'fasta'):
        seq_record.description += '_1'
        seq_record.id = seq_record.description.split()[0]
        SeqIO.write(seq_record, corrected, 'fasta')

Изменение и .description, и .id, как это важно,

Обратите внимание, что это будет также простой задачей с unix инструментами, такими как sed, вам не нужно Bio python, если вы не тоже занимаюсь чем-то другим.

...