3

これどうやってするの?私はBiopythonを使用しており、すでにマニュアルを見ました。もちろん、スタンドアロンの NCBI BLAST+ で「makeblastdb」を使用して FASTA から blastdb を作成することもできますが、すべてのプロセスを 1 つのプログラムで実行したいと考えています。

2つの解決策が考えられるようです。

  1. このジョブを実行する関数を見つけます。

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

  2. Python で「makeblastdb」を実行します。

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

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

4

1 に答える 1

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()
于 2012-02-18T18:10:07.430 に答える