2016-07-11 16 views
1

Ich benutze ein PHP-Skript, und ich brauche blastp, um einige Daten wiederherzustellen. Dies funktioniert gut, wenn ich es in der Eingabeaufforderung ausführen.Erhalte den "Fehler: Zu viele Positionsargumente (1), der störende Wert: qseqid" bei der Verwendung von blast + php

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

Aber es funktioniert nicht in meinem Skript. Das ist mein Skript:

$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); 

Wenn ich es laufen lasse, erhalte ich die folgende Fehlermeldung:

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 range] [-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] DESCRIPTION Protein-Protein BLAST 2.2.31+ Use '-help' to print detailed descriptions of command line arguments ======================================================================== Error: Too many positional arguments (1), the offending value: qseqid

Kann mir jemand helfen?

Antwort

0

Ich löste es durch meinen Skript zu ändern zu:

$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);