我如何使用Windows在php上运行blast

时间:2016-07-07 17:35:53

标签: php windows cmd blast

我试图在我的php程序中运行blast,但是我没有得到它的结果。我之前从未使用爆炸,所以我不确定我应该做什么。我正在使用Windows,它工作正常,但是当我尝试通过php运行它时,我没有得到任何结果。这是我的代码:

$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文件上什么都没有。有人可以帮助我吗?我真的迷失在这里。 我刚刚告诉你的文件在我的目录中,如果我有任何其他文件可以使用吗? 当我运行此代码时,我收到以下消息:

  

' Blastp'不被认可为内部或外部命令,可操作   程序或批处理文件。

1 个答案:

答案 0 :(得分:0)

我假设当你说'在Windows上'你的意思是在命令终端和'我的php程序'你的意思是在blastp通过命令终端运行php脚本的同一台Windows机器上运行。

这看起来像是您的用户拥有的环境路径问题,但没有为php脚本设置。*

尝试在php脚本中使用blastp可执行文件的完整路径名,如:

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

我认为你可以在命令终端中使用where blast*来查找程序的路径,如果你不知道的话。