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
파이썬으로os.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)
BR,
샤하르