2012-02-18 3 views
3

どうすればいいですか?私はBiopythonを使い、すでにマニュアルを見ました。もちろん、私はスタンドアロンのNCBI BLAST +で "makeblastdb"を使ってFASTAからblastdbを作ることができますが、私は一つのプログラムで全面的に処理したいと思っています。PythonのFASTAからBlastデータベースを作成する

2つの解決策が考えられます。

  1. このジョブを実行する関数を検索します。

    私はこれを見つけることができません。私は一日中過ごしました。

  2. pythonで "makeblastdb"を実行します。

    私のpythonシェルでos.system(「C:\ blast-2.2.25 + \ bin \ makeblastdb.exe」)を入力しましたが、パラメータを入力できませんでした。

どうすればこの問題を解決できますか? ご協力いただきありがとうございます。

+1

makeblastdbを別のプロセスとして呼び出す際に、どのようにパラメータを指定しようとしましたか? –

答えて

2

これは古典的なBlastですが、私は考えていると思います。コードは私のアプリケーションKimBlastから抽出されます。私は自己説明的だと思う:

def on_execute_setup(self, evt): 
    """on pressing execute button""" 
    FORMAT_EXE = os.path.join(self.blastpath, 'bin', 'formatdb') 
    fasta = os.path.join(self.dbpath, self.fasta) 
    format_filename = self.format_file.rsplit('.', 1)[0] 
    format_filepath = os.path.join(self.dbpath, format_filename) 
    format_type = 'T' if self.format_type == 'protein' else 'F' 

    format_cmd = '%s -i %s -p %s -n %s' % (FORMAT_EXE, fasta, 
              format_type, format_filepath) 
    process = subprocess.Popen(format_cmd, 
           stdout=subprocess.PIPE, 
           stderr=subprocess.PIPE, 
           shell=False) 

    (out, err) = process.communicate() 
関連する問題