Сохранить вывод из объекта биопиона в файл?

Здесь у меня есть код, написанный для извлечения "locus_tag" из гена, используя "id". Как я могу сохранить выходные данные из этого в файл в формате с разделенными вкладками???? код принят и изменен https://www.biostars.org/p/110284/

from Bio import SeqIO
foo = open("geneid.txt")
lines = foo.read().splitlines()

genbank_file = open("example.gbk")

for record in SeqIO.parse(genbank_file, "genbank"):
    for f in record.features:
        if f.type == "CDS" and "protein_id" in f.qualifiers:
            protein_id = f.qualifiers["protein_id"][0]
            if protein_id  in lines:
                print f.qualifiers["protein_id"][0],f.qualifiers["locus_tag"][0]

1 ответ

Попробуйте добавить что-то вроде этого - но вам нужно убедиться, что отступы верны с кодом, который вы уже написали.

with open(your_outputFileName, 'w') as outputFile:
         string = '\t'.join([f.qualifiers['protein_id'][0],f.qualifiers['locus_tag'][0]])

         outputFile.write(string + '\n')

Вам также следует рассмотреть возможность открытия исходного файла с помощью "с". Это автоматически закроет файл, когда вы закончите с ним - в противном случае - обязательно закройте файл (например, foo.close()).

   for record in SeqIO.parse(genbank_file, 'genbank'):
      for f in record.features:
         if f.type == 'CDS' and 'protein_id' in f.qualifiers:
            protein_id = f.qualifiers['protein_id'][0]
            if protein_id  in lines:
               print f.qualifiers['protein_id'][0],f.qualifiers['locus_tag'][0]
               with open('your_outputFileName', 'w') as outputFile:
                  string = '\t'.join([f.qualifiers['protein_id'][0],f.qualifiers['locus_tag'][0]]) + '\n'
                  outputFile.write(string)
Другие вопросы по тегам