2016-07-07 6 views
0

私は自分のPHPプログラムでblastを実行しようとしていますが、結果は得られません。私は前に爆発を使用したことがないので、私は何をすべきかについては分かりません。私はウィンドウを使用していますが、うまく動いていますが、PHPで実行しようとすると結果は得られません。このことに私のコード:私はWindows上でblastを実行できますか?

$texto = "7 qseqid qseq sseqid sseq evalue bitscore"; 
$cmd = "blastp -query -test_query.fa -db notas.fa -task blastp -outfmt '.$texto.' -out musica1.fa 2>&1"; 
$result = shell_exec($cmd); 
print_r ($result); 

私が欲しいものはnotas.faデータベースにtest_query.faを検索し、musica1.faに結果を置くことです。しかし、私はmusica1.faファイルで何も得られません。誰かが私を助けることができますか?私は本当にここで失われています。 私があなたに話したファイルは、私のディレクトリにあります。そこには他のファイルがあれば動作しますか? 私はこのコードを実行したとき、私は以下のようなメッセージだ:私は「私のPHPプログラムに」あなたは同じWindows上で実行されている意味あなたが「窓に」と言ったときに、コマンド端子に意味と仮定してい

' Blastp ' not recognized as an internal or external command, operable program or batch file.

+0

コマンドの完全修飾パスを試しましたか?パスの問題のようです。 – Ray

答えて

0

をマシンblastpは、コマンド端末からPHPスクリプトを介して動作します。

これは、ユーザーが持っていますが、PHPスクリプトのために設定されていない環境パスの問題のように思える*

のようなPHPスクリプトでblastp実行ファイルのフルパス名を使用してみてください:。

$cmd = "C:/full/path/to/blastp ..."; 

コマンドターミナルでwhere blast*を使用して、わからない場合はプログラムのパスを見つけることができると思います。

+0

申し訳ありませんが私の英語について: まあ、それはちょうど働いた!ありがとうありがとうございました 私は外出時に新しいエラーがあります "エラー:多すぎる位置指定引数(1)、問題の値:qseqid" 何ができるか考えていますか? ありがとう – MarceleBukvar

関連する問題