У меня есть следующий код на Python:
#/usr/bin/python
from Bio import SeqIO
count = SeqIO.convert(“genome1.gbk”, “genbank”, “genome1.fasta”, “fasta”)
print("Converted %i records" % count)
Этот код преобразует файл genbank "genome1.gbk" в файл fasta "genome1.fasta". Но теперь я хочу преобразовать все файлы в текущей папке с помощью этого кода. Все файлы в текущей папке являются файлами genbank, и я хочу, чтобы они превратились в файлы fasta с помощью этого кода. Я думал об использовании подстановочных знаков, но я не знаю точно, как изменить этот код. Любая помощь будет оценена по достоинству
решение1
С Python'sos.scandir
особенность:
#/usr/bin/python
from Bio import SeqIO
from os import scandir
with scandir() as it:
for entry in it:
if entry.name.endswith('.gbk') and entry.is_file():
count = SeqIO.convert(entry.name, 'genbank', '{}.fasta'.format(entry.name[:-4]), 'fasta')
print("Converted %i records" % count)
решение2
Вы можете следовать этому кодексу:
import os
from Bio import SeqIO
for filename in os.listdir('.'):
if filename.endswith(".gbk"):
count = SeqIO.convert(filename, “genbank”, "{}.fasta".format(entry.name[:-4]), “fasta”)
print("Converted %i records" % count)
БР,
Шахар