Я пытаюсь запустить Blast в моей программе PHP, но я не получаю результата от этого. Я никогда не использовал взрыв, поэтому я не уверен, что должен делать. Я использую 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);
Я хочу найти test_query.fa в базе данных notas.fa и поместить результаты в musica1.fa. Но я ничего не получаю в моем файле musica1.fa. Может ли кто-нибудь помочь мне с этим? Я действительно потерян здесь.
Файлы, о которых я только что рассказал, находятся в моем каталоге. Должен ли я иметь какой-либо другой файл для его работы?
Когда я запустил этот код, я получил следующее сообщение:
Blastp не распознается как внутренняя или внешняя команда, работоспособна
программа или пакетный файл.
Я предполагаю, что когда вы говорите «на окнах», вы имеете в виду в командном терминале и «в моей программе php» вы имеете в виду запуск на той же машине Windows, чтоblastp
работает через командный терминал скрипт php.
Это похоже на проблему с окружением, которая есть у вашего пользователя, но не установлена для сценария php. *
Попробуйте использовать полный путь к blastp
исполняемый файл в вашем PHP-скрипте, например:
$cmd = "C:/full/path/to/blastp ...";
Я думаю, что вы можете использовать where blast*
в командном терминале, чтобы найти путь к программе, если вы не знаете его.
Других решений пока нет …