如何从一个目录解析多个fastq文件?

2024-04-18 19:22:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个循环来逐个解析我在同一目录中的5个fasta文件。现在我会解释一下,我有5个fasta文件,每个文件中有5种微生物的基因组。其思想是从每个文件中获取de ID,并将其放入字典{Mo_Id1:0, Mo_Id2:0...,Mo_Id5:0}

我认为我的循环读取了第一个文件,但随后它给了我以下错误No such file or directory 'GCF_000006532.1_ASM696v3_genomic.fna'(这是我文件夹中第二个文件的名称)。 我向您展示我的代码:

from Bio import SeqIO
import os
dicc_MO=[]
    
files = os.listdir("/home/alumno/Escritorio/Asig2Python/Semana4/Tarea/genomas/genomas")

for f in files:
    for record_seqMO in SeqIO.parse(f,"fasta"):
        record_seqMO.id not in dicc_MO: 
            dicc_MO[record_seqMO.id] = 0
        
print(dicc_MO)

使用dicc_MO,我试图检查循环是否正常,在这种情况下,我应该有一个字典,其中键是微生物名称,值是0


1条回答
网友
1楼 · 发布于 2024-04-18 19:22:07

命令os.listdir只显示没有路径的文件名。因此,您需要为列表中的每个文件名添加路径files

from Bio import SeqIO
import os
dicc_MO=[]
    
files=os.listdir("/home/alumno/Escritorio/Asig2Python/Semana4/Tarea/genomas/genomas")

for f in files:
    f = f + "/home/alumno/Escritorio/Asig2Python/Semana4/Tarea/genomas/genomas/"
    for record_seqMO in SeqIO.parse(f,"fasta"):
    ...

相关问题 更多 >