【问题标题】:Using Biopython SeqIO.convert over an entire directory在整个目录中使用 Biopython SeqIO.convert
【发布时间】:2015-07-09 08:37:20
【问题描述】:

我有 51 个包含宏基因组序列数据的文件,我想在 Windows 中使用 Biopython 脚本将它们从 fastq 转换为 fasta。模块 SeqIO.convert 可以轻松转换单独指定的文件,但我不知道如何转换整个目录。单独做的文件真的不多,但我正在努力学习。

我是 Biopython 的新手,所以请原谅我的无知。 This convo 很有帮助,但我仍然无法将目录从 fastq 转换为 fasta。

这是我一直在尝试运行的代码:

#modules- 
import sys
import re
import os
import fileinput

from Bio import SeqIO

#define directory
Directory = "FastQ”

#convert files  
def process(filename):
  return SeqIO.convert(filename, "fastq", "files.fa", filename + ".fasta",   "fasta", alphabet= IUPAC.ambiguous_dna)

【问题讨论】:

    标签: python biopython fastq


    【解决方案1】:

    您需要遍历目录中的文件并转换它们,因此假设您的目录是 FastQ 并且您正在从正确的文件夹(即您的目录所在的文件夹,因为您正在使用相对路径),您需要执行以下操作:

    def process(directory):
        filelist = os.listdir(directory)
        for f in filelist:
            SeqIO.convert(f, "fastq", f.replace(".fastq",".fasta"), "fasta", alphabet= IUPAC.ambiguous_dna)
    

    然后你会在你的 main 中调用你的脚本:

     my_directory = "FastQ"
     process(my_directory)
    

    我认为应该可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2012-08-19
      相关资源
      最近更新 更多