我试图在我的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'不被认可为内部或外部命令,可操作 程序或批处理文件。
答案 0 :(得分:0)
我假设当你说'在Windows上'你的意思是在命令终端和'我的php程序'你的意思是在blastp
通过命令终端运行php脚本的同一台Windows机器上运行。
这看起来像是您的用户拥有的环境路径问题,但没有为php脚本设置。*
尝试在php脚本中使用blastp
可执行文件的完整路径名,如:
$cmd = "C:/full/path/to/blastp ...";
我认为你可以在命令终端中使用where blast*
来查找程序的路径,如果你不知道的话。