1

Windows で Biopython スクリプトを使用して fastq から fasta に変換したいメタゲノム シーケンス データを含む 51 個のファイルがあります。モジュール SeqIO.convert は、個別に指定されたファイルを簡単に変換しますが、ディレクトリ全体を変換する方法がわかりません。個別に行うのはそれほど多くのファイルではありませんが、私は学ぼうとしています。

私はBiopythonを初めて使用するので、私の無知を許してください。この会話は役に立ちましたが、まだディレクトリを 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)
4

1 に答える 1

0

ディレクトリ内のファイルを反復処理して変換する必要があるため、ディレクトリが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)

次に、メインでスクリプトを呼び出します。

 my_directory = "FastQ"
 process(my_directory)

私はそれがうまくいくと思います。

于 2015-06-26T15:27:36.543 に答える