Выполнение внешней программы BLAST в PHP

Я хочу выполнить приложение поиска blastx в PHP вместо текстового терминала консоли Linux.

Фактические аргументы командной строки будут ( см. Определение ссылки ):

./blastx -query $input -db ${Sbjct}_db -evalue 0.0001 -outfmt 6 -out /path/to/output.tsv 

Вот мой PHP-код.

 exec(' /path/to/blastx -query /path/to/PAO1.fasta -db /path/to/VFDB_setB_pro -evalue 0.0001 -outfmt 6 -out /path/to/output.tsv '); 

Однако, когда я вызываю функцию exec() в программе PHP, ничего не происходит.

Я также попробовал другой метод. Он возвращает код ошибки 1. Вот мой php exec() :

 exec('sh /path/to/myscript.sh', $output, $return_var); 

Какие важные шаги я пропустил? Есть ли альтернативный метод для выполнения внешних программ?

Мы ценим любые предложения.

Related of "Выполнение внешней программы BLAST в PHP"

Линии разрыва – проблема, попробуйте

 <?php exec('\ /path/to/blastx \ -query /path/to/PAO1.fasta \ -db /path/to/VFDB_setB_pro \ -evalue 0.0001 \ outfmt 6 \ -out /path/to/output.tsv \ '); 

РЕДАКТИРОВАТЬ

Я показываю процесс, так как я не могу отслеживать

1- Входные данные

cat seq.fa #NUCLEOTIDES

 > seq_1
 GGCAGCCTAACACATGCAAGTCGAACGGTAACAGGAAGCAGCTTGCTGCTTTGCT
 GACGAGTGGCGGACGGGTGAGTAATGTCTGGGAAACTGCCTGATGGAGGGGGAT
 AACTACTGGAAACGGTAGCTAATACCGCATAATGTCGCAAGACCAAAGAGGGGGA

cat database.fa #PROTEINS

 > KDG85104.1 гипотетический белок AE17_03267, частичный [Escherichia coli UCI 58]
 PVVIPLHQAVSQTLLTRPPLVSKAASCFLLPFDLHVLGLPPAFNLSHDQTLQFKSLMLKELNFVMNYVFTLETWYSFFVL
 RR
 > EUM99718.1 гипотетический белок L347_09473, частичный [Enterobacter sp.  MGH 1]
 VVIPLHQAVSQTLLTRPPLVSEAASCFLLPFDLHVLGLPPAFNLSHDQTLQFKSLMLNELNFVMNYVFTR
 > CSD41531.1 Нехарактеризованный белок [Vibrio cholerae]
 MADHPLRPARDRRLGEPLPHQLANPTWAYPVAQGPKVPCFALARLCGISHRFQWLSPSTGQFPRHYSPVRRSPPKEQVPL
 CCRSTCMC

2- Формат базы данных

 makeblastdb -in database.fa -dbtype prot -out database 

3-й скрипт

cat myscript.sh

 path_to_blast/blastx -query path_to_query/seq.fa -db path_to_db/database -evalue 0.0001 -outfmt 6 

4- php скрипт

cat blast.php

 <?php exec('sh myscript.sh', $output, $return_var); print_r($output); echo "$return_var\n"; 

5. Запустите его,

 php blast.php 

Вы получаете,

 массив
 (
     [0] => seq_1 KDG85104.1 100,00 38 0 0 118 5 1 38 1e-24 77,0
     [1] => seq_1 EUM99718.1 97.30 37 1 0 115 5 1 37 2e-23 73.6
     [2] => seq_1 CSD41531.1 70,59 51 15 0 162 10 38 88 1e-22 72,0
 )
 0