【问题标题】:How can I run blast on php using windows如何使用 windows 在 php 上运行 blast
【发布时间】:2016-11-10 03:34:39
【问题描述】:

我正在尝试在我的 php 程序中运行 blast,但没有得到任何结果。我以前从未使用过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' 不是内部或外部命令,可操作 程序或批处理文件。

【问题讨论】:

  • 您是否尝试过该命令的完全限定路径?似乎是路径问题。

标签: php windows cmd blast


【解决方案1】:

我假设当您说“在 Windows 上”时,您的意思是在命令终端中,而“在我的 php 程序中”您的意思是在同一台 Windows 机器上运行,blastp 通过命令终端运行 php 脚本。

这似乎是您的用户有但未为 php 脚本设置的环境路径问题。*

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

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

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

【讨论】:

  • 对不起我的英语 :) 好吧,它刚刚工作!非常感谢虽然,我的 outfmt 上有一个新错误“错误:位置参数过多(1),有问题的值:qseqid” 知道它可能是什么吗?谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
  • 2011-01-18
  • 1970-01-01
  • 2016-07-22
  • 2023-04-08
  • 1970-01-01
  • 2012-03-21
相关资源
最近更新 更多