1#$Id$
2package Bio::Tools::Run::BlastPlus::Config;
3use strict;
4use warnings;
5no warnings qw(qw);
6use Bio::Root::Root;
7use Exporter;
8use base qw(Bio::Root::Root);
9
10our (@ISA, @EXPORT, @EXPORT_OK);
11push @ISA, 'Exporter';
12@EXPORT = qw(
13             @program_commands
14             %command_prefixes
15             %composite_commands
16             @program_params
17             @program_switches
18             %param_translation
19             %command_files
20             $program_name
21             $program_dir
22             $use_dash
23             $join
24            );
25
26@EXPORT_OK = qw();
27
28# getting the parms and switches from the usage string:
29
30#$ blastp -h | perl -ne '@a = m/\[(.*?)\]/g; for $a (@a) { @b = split(/\s+/,$a); $b[0]=~s/-//; $ptr = (@b==1 ? \@s : \@p ); push @$ptr, $b[0]; } END { print "p arms\n", join("\n",@p), "\n\n", "switches\n", join("\n",@s); }'
31
32# '*' indicates a 'pseudo'-program : i.e. each
33# command has its own executable...
34
35our $program_name = '*blast+';
36our $use_dash = 'single';
37our $join = ' ';
38
39our @program_commands = qw(
40  run
41  blastn
42  blastx
43  tblastx
44  tblastn
45  blastp
46  psiblast
47  rpsblast
48  rpstblastn
49  makeblastdb
50  blastdb_aliastool
51  blastdbcmd
52  blastdbcheck
53  convert2blastmask
54  dustmasker
55  segmasker
56  windowmasker
57);
58
59# full command => prefix
60our %command_prefixes = (
61  run    => 'run',
62  blastn => 'bln',
63  blastx => 'blx',
64  tblastx => 'tbx',
65  tblastn => 'tbn',
66  blastp => 'blp',
67  psiblast => 'psi',
68  rpsblast => 'rps',
69  rpstblastn => 'rpst',
70  makeblastdb => 'mak',
71  blastdb_aliastool => 'dba',
72  blastdbcmd => 'dbc',
73  blastdbcheck => 'dbk',
74  convert2blastmask => 'c2m',
75  dustmasker => 'dms',
76  segmasker => 'sms',
77  windowmasker => 'wms'
78    );
79
80# each elt : pfx|wrapper_parm_name
81
82our @program_params = qw(
83command
84tbn|import_search_strategy
85tbn|export_search_strategy
86tbn|db
87tbn|dbsize
88tbn|gilist
89tbn|negative_gilist
90tbn|entrez_query
91tbn|subject
92tbn|subject_loc
93tbn|query
94tbn|out
95tbn|evalue
96tbn|word_size
97tbn|gapopen
98tbn|gapextend
99tbn|xdrop_ungap
100tbn|xdrop_gap
101tbn|xdrop_gap_final
102tbn|searchsp
103tbn|db_gencode
104tbn|frame_shift_penalty
105tbn|max_intron_length
106tbn|seg
107tbn|soft_masking
108tbn|matrix
109tbn|threshold
110tbn|culling_limit
111tbn|best_hit_overhang
112tbn|best_hit_score_edge
113tbn|window_size
114tbn|query_loc
115tbn|outfmt
116tbn|num_descriptions
117tbn|num_alignments
118tbn|max_target_seqs
119tbn|num_threads
120tbn|comp_based_stats
121tbn|in_pssm
122blx|import_search_strategy
123blx|export_search_strategy
124blx|db
125blx|dbsize
126blx|gilist
127blx|negative_gilist
128blx|entrez_query
129blx|db_soft_mask
130blx|subject
131blx|subject_loc
132blx|query
133blx|out
134blx|evalue
135blx|word_size
136blx|gapopen
137blx|gapextend
138blx|xdrop_ungap
139blx|xdrop_gap
140blx|xdrop_gap_final
141blx|searchsp
142blx|frame_shift_penalty
143blx|max_intron_length
144blx|seg
145blx|soft_masking
146blx|matrix
147blx|threshold
148blx|culling_limit
149blx|best_hit_overhang
150blx|best_hit_score_edge
151blx|window_size
152blx|query_loc
153blx|strand
154blx|query_gencode
155blx|outfmt
156blx|num_descriptions
157blx|num_alignments
158blx|max_target_seqs
159blx|num_threads
160bln|import_search_strategy
161bln|export_search_strategy
162bln|task
163bln|db
164bln|dbsize
165bln|gilist
166bln|negative_gilist
167bln|entrez_query
168bln|db_soft_mask
169bln|subject
170bln|subject_loc
171bln|query
172bln|out
173bln|evalue
174bln|word_size
175bln|gapopen
176bln|gapextend
177bln|perc_identity
178bln|xdrop_ungap
179bln|xdrop_gap
180bln|xdrop_gap_final
181bln|searchsp
182bln|penalty
183bln|reward
184bln|min_raw_gapped_score
185bln|template_type
186bln|template_length
187bln|dust
188bln|filtering_db
189bln|window_masker_taxid
190bln|window_masker_db
191bln|soft_masking
192bln|culling_limit
193bln|best_hit_overhang
194bln|best_hit_score_edge
195bln|window_size
196bln|use_index
197bln|index_name
198bln|query_loc
199bln|strand
200bln|outfmt
201bln|num_descriptions
202bln|num_alignments
203bln|max_target_seqs
204bln|num_threads
205blp|import_search_strategy
206blp|export_search_strategy
207blp|task
208blp|db
209blp|dbsize
210blp|gilist
211blp|negative_gilist
212blp|entrez_query
213blp|db_soft_mask
214blp|subject
215blp|subject_loc
216blp|query
217blp|out
218blp|evalue
219blp|word_size
220blp|gapopen
221blp|gapextend
222blp|xdrop_ungap
223blp|xdrop_gap
224blp|xdrop_gap_final
225blp|searchsp
226blp|seg
227blp|soft_masking
228blp|matrix
229blp|threshold
230blp|culling_limit
231blp|best_hit_overhang
232blp|best_hit_score_edge
233blp|window_size
234blp|query_loc
235blp|outfmt
236blp|num_descriptions
237blp|num_alignments
238blp|max_target_seqs
239blp|num_threads
240blp|comp_based_stats
241psi|import_search_strategy
242psi|export_search_strategy
243psi|db
244psi|dbsize
245psi|gilist
246psi|negative_gilist
247psi|entrez_query
248psi|subject
249psi|subject_loc
250psi|query
251psi|out
252psi|evalue
253psi|word_size
254psi|gapopen
255psi|gapextend
256psi|xdrop_ungap
257psi|xdrop_gap
258psi|xdrop_gap_final
259psi|searchsp
260psi|seg
261psi|soft_masking
262psi|matrix
263psi|threshold
264psi|culling_limit
265psi|best_hit_overhang
266psi|best_hit_score_edge
267psi|window_size
268psi|query_loc
269psi|outfmt
270psi|num_descriptions
271psi|num_alignments
272psi|max_target_seqs
273psi|num_threads
274psi|comp_based_stats
275psi|gap_trigger
276psi|num_iterations
277psi|out_pssm
278psi|out_ascii_pssm
279psi|in_msa
280psi|in_pssm
281psi|pseudocount
282psi|inclusion_ethresh
283psi|phi_pattern
284rpst|import_search_strategy
285rpst|export_search_strategy
286rpst|db
287rpst|dbsize
288rpst|gilist
289rpst|negative_gilist
290rpst|entrez_query
291rpst|query
292rpst|out
293rpst|evalue
294rpst|word_size
295rpst|xdrop_ungap
296rpst|xdrop_gap
297rpst|xdrop_gap_final
298rpst|searchsp
299rpst|query_gencode
300rpst|seg
301rpst|soft_masking
302rpst|window_size
303rpst|query_loc
304rpst|strand
305rpst|outfmt
306rpst|num_descriptions
307rpst|num_alignments
308rpst|max_target_seqs
309rpst|num_threads
310mak|in
311mak|dbtype
312mak|title
313mak|mask_data
314mak|out
315mak|max_file_sz
316mak|taxid
317mak|taxid_map
318mak|logfile
319dba|gi_file_in
320dba|gi_file_out
321dba|db
322dba|dbtype
323dba|title
324dba|gilist
325dba|out
326dba|dblist
327dba|num_volumes
328dba|logfile
329tbx|import_search_strategy
330tbx|export_search_strategy
331tbx|db
332tbx|dbsize
333tbx|gilist
334tbx|negative_gilist
335tbx|entrez_query
336tbx|subject
337tbx|subject_loc
338tbx|query
339tbx|out
340tbx|evalue
341tbx|word_size
342tbx|gapopen
343tbx|gapextend
344tbx|xdrop_ungap
345tbx|xdrop_gap
346tbx|xdrop_gap_final
347tbx|searchsp
348tbx|max_intron_length
349tbx|seg
350tbx|soft_masking
351tbx|matrix
352tbx|threshold
353tbx|culling_limit
354tbx|best_hit_overhang
355tbx|best_hit_score_edge
356tbx|window_size
357tbx|query_loc
358tbx|strand
359tbx|query_gencode
360tbx|db_gencode
361tbx|outfmt
362tbx|num_descriptions
363tbx|num_alignments
364tbx|max_target_seqs
365tbx|num_threads
366dbc|db
367dbc|dbtype
368dbc|entry
369dbc|entry_batch
370dbc|pig
371dbc|range
372dbc|strand
373dbc|mask_sequence_with
374dbc|out
375dbc|outfmt
376dbc|line_length
377c2m|in
378c2m|out
379c2m|outfmt
380dms|in
381dms|out
382dms|window
383dms|level
384dms|linker
385dms|outfmt
386sms|in
387sms|out
388sms|infmt
389sms|outfmt
390sms|window
391sms|locut
392sms|hicut
393wms|ustat
394wms|in
395wms|out
396wms|checkdup
397wms|window
398wms|t_extend
399wms|t_thres
400wms|t_high
401wms|t_low
402wms|set_t_high
403wms|set_t_low
404wms|infmt
405wms|outfmt
406wms|sformat
407wms|convert
408wms|fa_list
409wms|mem
410wms|smem
411wms|unit
412wms|genome_size
413wms|dust
414wms|dust_level
415wms|exclude_ids
416wms|ids
417wms|text_match
418wms|use_ba
419);
420
421# each elt : pfx|wrapper_switch_name
422our @program_switches = qw(
423tbn|h
424tbn|help
425tbn|ungapped
426tbn|lcase_masking
427tbn|parse_deflines
428tbn|show_gis
429tbn|html
430tbn|remote
431tbn|use_sw_tback
432tbn|version
433blx|h
434blx|help
435blx|ungapped
436blx|lcase_masking
437blx|parse_deflines
438blx|show_gis
439blx|html
440blx|remote
441blx|version
442bln|h
443bln|help
444bln|no_greedy
445bln|ungapped
446bln|lcase_masking
447bln|parse_deflines
448bln|show_gis
449bln|html
450bln|remote
451bln|version
452blp|h
453blp|help
454blp|lcase_masking
455blp|parse_deflines
456blp|show_gis
457blp|html
458blp|ungapped
459blp|remote
460blp|use_sw_tback
461blp|version
462psi|h
463psi|help
464psi|lcase_masking
465psi|parse_deflines
466psi|show_gis
467psi|html
468psi|remote
469psi|use_sw_tback
470psi|version
471rpst|h
472rpst|help
473rpst|ungapped
474rpst|lcase_masking
475rpst|parse_deflines
476rpst|show_gis
477rpst|html
478rpst|remote
479rpst|version
480mak|h
481mak|help
482mak|parse_seqids
483mak|hash_index
484mak|version
485dba|h
486dba|help
487dba|version
488tbx|h
489tbx|help
490tbx|lcase_masking
491tbx|parse_deflines
492tbx|show_gis
493tbx|html
494tbx|remote
495tbx|version
496dbc|h
497dbc|help
498dbc|info
499dbc|target_only
500dbc|get_dups
501dbc|ctrl_a
502dbc|version
503c2m|h
504c2m|help
505c2m|parse_seqids
506c2m|version
507dms|h
508dms|help
509dms|xmlhelp
510dms|parse_seqids
511dms|version-full
512sms|h
513sms|help
514sms|xmlhelp
515sms|parse_seqids
516sms|version-full
517wms|h
518wms|help
519wms|xmlhelp
520wms|parse_seqids
521wms|version-full
522wms|mk_counts
523);
524
525#each pair : pfx|wrapper_opt_name => command_line_name (without dashes)
526# for blast+, the options are all long and mnemonic, so a param translation
527# isn't required. In CommandExts, a parameter name should be passed through
528# as-is, if a translation is not found---.
529our %param_translation = (
530    );
531
532our %composite_commands = (
533    );
534
535our %command_files = (
536    );
537
5381;
539