得到"错误:位置参数太多(1),有问题的值:qseqid"当使用blast + php时

时间:2016-07-11 17:10:44

标签: php arguments blast

我使用的是php脚本,我需要使用blastp来恢复一些数据。当我在命令提示符下运行它时,这很好。

blastp -query test_query.fa -db notas.fa -task blastp -outfmt "7 qseqid qseq sseqid sseq evalue bitscore" -out musica1.fa

但它在我的脚本中不起作用。 这是我的剧本:

$blastp = "C:/wamp/www/SiMiLa/blastp.exe";
$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);

当我运行它时,我收到以下错误:

  

USAGE blastp [-h] [-help] [-import_search_strategy filename]   [-export_search_strategy filename] [-task task_name] [-db   database_name] [-dbsize num_letters] [-gilist filename] [-seqidlist   filename] [-negative_gilist filename] [-entrez_query entrez_query]   [-db_soft_mask filtering_algorithm] [-db_hard_mask   filtering_algorithm] [-subject subject_input_file] [-subject_loc   范围] [-query input_file] [-out output_file] [-evalue evalue]   [-word_size int_value] [-gapopen open_penalty] [-gapextend   extend_penalty] [-qcov_hsp_perc float_value] [-max_hsps int_value]   [-xdrop_ungap float_value] [-xdrop_gap float_value] [-xdrop_gap_final   float_value] [-searchsp int_value] [-sum_stats bool_value] [-seg   SEG_options] [-soft_masking soft_masking] [-matrix matrix_name]   [-threshold float_value] [-culling_limit int_value]   [-best_hit_overhang float_value] [-best_hit_score_edge float_value]   [-window_size int_value] [-lcase_masking] [-query_loc range]   [-parse_deflines] [-outfmt format] [-show_gis] [-num_descriptions   int_value] [-num_alignments int_value] [-line_length line_length]   [-html] [-max_target_seqs num_sequences] [-num_threads int_value]   [-ungapped] [-remote] [-comp_based_stats compo] [-use_sw_tback]   [-version]描述蛋白质 - 蛋白质BLAST 2.2.31+使用' -help'至   打印命令行参数的详细说明   ================================================== ======================错误:位置参数太多(1),有问题的值:qseqid

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

我通过将脚本更改为:

来解决它
$blastp = "C:/wamp/www/SiMiLa/blastp.exe";
$texto = "7 qseqid qseq sseqid sseq evalue bitscore";
$cmd = $blastp." -query test_query.fa -db notas.fa -task blastp -outfmt \"7 qseqid qseq sseqid sseq evalue bitscore\" -out musica1.fa  2>&1";
$result = shell_exec($cmd);
print_r ($result);

答案 1 :(得分:0)

我曾经有过同样的错误,但是对我来说,问题是通过复制/粘贴从BLAST的pdf文档中使用了不兼容的破折号。如果其他人遇到此错误,但不是语法错误,请尝试使用键入的破折号替换所有粘贴的破折号。

答案 2 :(得分:0)

我遇到了同样的错误,解决方法与上面的飞指一样。不正确的“-”是从我在互联网上获得的一些代码复制和粘贴的。删除破折号并重新输入它解决了问题。