1
|
1 <tool id="plant_tribes_gene_family_classifier" name="GeneFamilyClassifier" version="1.0.0">
|
0
|
2 <description>pipeline</description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="0.2">plant_tribes_gene_family_classifier</requirement>
|
|
5 </requirements>
|
|
6 <stdio>
|
|
7 <!-- Anything other than zero is an error -->
|
|
8 <exit_code range="1:" />
|
|
9 <!-- In case the return code has not been set properly check stderr too -->
|
|
10 <regex match="Error:" />
|
|
11 <regex match="Exception:" />
|
|
12 </stdio>
|
|
13 <command>
|
|
14 <![CDATA[
|
13
|
15 #if str($options_type.options_type_selector) == 'advanced' and str($options_type.create_orthogroup_cond.create_orthogroup) == 'yes':
|
8
|
16 #import os
|
13
|
17 #set create_ortho_sequences = True
|
15
|
18 #set orthogroups_fasta_src_dir = $os.path.join('geneFamilyClassification_dir', 'orthogroups_fasta')
|
9
|
19 #set dest_dir = $output.extra_files_path
|
|
20 mkdir -p $dest_dir &&
|
13
|
21 #else:
|
|
22 #set create_ortho_sequences = False
|
4
|
23 #end if
|
0
|
24 GeneFamilyClassifier
|
|
25 --proteins "$input"
|
|
26 --scaffold "$scaffold"
|
|
27 --method $method
|
13
|
28 --classifier $save_hmmscan_log_cond.classifier
|
0
|
29 #if str($options_type.options_type_selector) == 'advanced':
|
|
30 --super_orthogroups $options_type.super_orthogroups
|
|
31 #if str($options_type.single_copy_cond) == 'taxa':
|
|
32 --single_copy_taxa $options_type.single_copy_cond.single_copy_taxa
|
|
33 --taxa_present $options_type.single_copy_cond.taxa_present
|
|
34 #end if
|
3
|
35 #if str($options_type.create_orthogroup_cond.create_orthogroup) == 'yes':
|
0
|
36 --orthogroup_fasta
|
|
37 --coding_sequences "$options_type.create_orthogroup_cond.coding_sequences"
|
|
38 #end if
|
|
39 #end if
|
2
|
40 --scaffold_dir "${GALAXY_DATA_INDEX_DIR}/plant_tribes/scaffolds"
|
0
|
41 --num_threads \${GALAXY_SLOTS:-4}
|
13
|
42 #if str($save_hmmscan_log_cond.classifier) == 'hmmscan' or str($save_hmmscan_log_cond.classifier) == 'both':
|
|
43 #if str($save_hmmscan_log_cond.save_hmmscan_log) == 'yes':
|
15
|
44 && mv geneFamilyClassification_dir/hmmscan.log $hmmscan_log
|
13
|
45 #else:
|
15
|
46 && rm geneFamilyClassification_dir/hmmscan.log
|
13
|
47 #end if
|
12
|
48 #end if
|
14
|
49 #if $create_ortho_sequences:
|
15
|
50 && echo "Sequences classified into pre-computed orthologous plant gene family clusters: `ls $orthogroups_fasta_src_dir | wc -l` files" > $output
|
16
|
51 && ls $orthogroups_fasta_src_dir >> $output
|
15
|
52 && mv $orthogroups_fasta_src_dir/* $dest_dir
|
4
|
53 #end if
|
0
|
54 ]]>
|
|
55 </command>
|
|
56 <inputs>
|
|
57 <param name="input" format="fasta" type="data" label="Amino acids (proteins) sequences fasta file"/>
|
|
58 <param name="scaffold" type="select" label="Orthogroups or gene families proteins scaffold">
|
|
59 <options from_data_table="plant_tribes_scaffolds" />
|
|
60 <validator type="no_options" message="No PlantTribes scaffolds are available. Use the PlantTribes Scaffolds Download Data Manager tool to install and populate the PlantTribes scaffolds data table."/>
|
|
61 </param>
|
|
62 <param name="method" type="select" label="Protein clustering method">
|
|
63 <option value="gfam" selected="true">GFam</option>
|
|
64 <option value="orthofinder">OrthoFinder</option>
|
|
65 <option value="orthomcl">OrthoMCL</option>
|
|
66 </param>
|
13
|
67 <conditional name="save_hmmscan_log_cond">
|
|
68 <param name="classifier" type="select" label="Protein classification method">
|
|
69 <option value="blastp" selected="true">blastp</option>
|
|
70 <option value="hmmscan">HMMScan</option>
|
|
71 <option value="both">Both blastp and HMMScan</option>
|
|
72 </param>
|
|
73 <when value="blastp" />
|
|
74 <when value="hmmscan">
|
|
75 <param name="save_hmmscan_log" type="select" label="Save hmmscan log?" help="Save the hmmscan log in an additional output dataset">
|
|
76 <option value="no" selected="true">No</option>
|
|
77 <option value="yes">Yes</option>
|
|
78 </param>
|
|
79 </when>
|
|
80 <when value="both">
|
|
81 <param name="save_hmmscan_log" type="select" label="Save hmmscan log?" help="Save the hmmscan log in an additional output dataset">
|
|
82 <option value="no" selected="true">No</option>
|
|
83 <option value="yes">Yes</option>
|
|
84 </param>
|
|
85 </when>
|
|
86 </conditional>
|
0
|
87 <conditional name="options_type">
|
|
88 <param name="options_type_selector" type="select" label="Options Configuration">
|
|
89 <option value="basic" selected="true">Basic</option>
|
|
90 <option value="advanced">Advanced</option>
|
|
91 </param>
|
|
92 <when value="basic" />
|
|
93 <when value="advanced">
|
|
94 <param name="super_orthogroups" type="select" label="SuperOrthogroups MCL clustering" help="blastp e-value matrix between all pairs of orthogroups">
|
|
95 <option value="min_evalue" selected="true">Minimum e-value</option>
|
|
96 <option value="avg_evalue">Average e-value</option>
|
|
97 </param>
|
|
98 <conditional name="single_copy_cond">
|
|
99 <param name="single_copy" type="select" label="Select single copy configuration">
|
|
100 <option value="custom" selected="true">Single copy orthogroup custom</option>
|
|
101 <option value="taxa">Minumum single copy taxa required in orthogroup</option>
|
|
102 </param>
|
|
103 <when value="custom" />
|
|
104 <when value="taxa">
|
|
105 <param name="single_copy_taxa" type="integer" value="20" label="Minumum single copy taxa required in orthogroup"/>
|
|
106 <param name="taxa_present" type="integer" value="21" label="Minumum taxa required in single copy orthogroup"/>
|
|
107 </when>
|
|
108 </conditional>
|
|
109 <conditional name="create_orthogroup_cond">
|
|
110 <param name="create_orthogroup" type="select" label="Create orthogroup fasta files?">
|
|
111 <option value="no" selected="true">No</option>
|
|
112 <option value="yes">Yes</option>
|
|
113 </param>
|
|
114 <when value="no" />
|
|
115 <when value="yes">
|
|
116 <param name="coding_sequences" format="fasta" type="data" label="Corresponding coding sequences (CDS) fasta file"/>
|
|
117 </when>
|
|
118 </conditional>
|
|
119 </when>
|
|
120 </conditional>
|
|
121 </inputs>
|
|
122 <outputs>
|
15
|
123 <data name="hmmscan_log" format="txt" label="Protein classification hmmscan.log on ${on_string}">
|
|
124 <filter>save_hmmscan_log_cond['classifier'] in ['hmmscan', 'both'] and save_hmmscan_log_cond['save_hmmscan_log'] == 'yes'</filter>
|
|
125 </data>
|
9
|
126 <data name="output" format="txt" label="Sequences classified into gene family clusters on ${on_string}">
|
|
127 <filter>options_type['options_type_selector'] == 'advanced' and options_type['create_orthogroup_cond']['create_orthogroup'] == 'yes'</filter>
|
|
128 </data>
|
0
|
129 <collection name="transcripts" type="list">
|
12
|
130 <discover_datasets pattern="__name__" directory="geneFamilyClassification_dir" visible="false" ext="tabular" />
|
0
|
131 </collection>
|
|
132 </outputs>
|
|
133 <tests>
|
|
134 <test>
|
|
135 <param name="input" value="" ftype="fasta" />
|
|
136 <param name="prediction_method" value="transdecoder"/>
|
|
137 <param name="target_gene_family_assembly" value="no"/>
|
|
138 <param name="strand_specific" value="yes"/>
|
|
139 <param name="dereplicate" value="yes"/>
|
|
140 <param name="min_length" value="200"/>
|
|
141 <output_collection name="orthos" type="list">
|
|
142
|
|
143 </output_collection>
|
|
144 </test>
|
|
145 </tests>
|
|
146 <help>
|
|
147 This tool is one of the PlantTribes' collection of automated modular analysis pipelines that utilize objective classifications of
|
9
|
148 complete protein sequences from sequenced plant genomes to perform comparative evolutionary studies. It performs gene family
|
0
|
149 classification of the post processed de novo transcripts using either blastp (faster), HMMScan (slower but more sensitive to remote
|
|
150 homologs) or both (more exhaustive).
|
|
151
|
|
152 -----
|
|
153
|
|
154 **Options**
|
|
155
|
|
156 * **Orthogroups or gene families proteins scaffold** - PlantTribes scaffolds data.
|
|
157 * **Protein clustering method** - One of GFam, OrthoFinder or OrthoMCL.
|
|
158 * **Protein classification method** - One of blastp, HMMScan or both.
|
|
159 * **SuperOrthogroups MCL clustering** - blastp e-value matrix between all pairs of orthogroups.
|
|
160 * **Minumum single copy taxa required in orthogroup** - Used with "Minumum single copy taxa required in orthogroup" configuration only.
|
|
161 * **Minumum taxa required in single copy orthogroup** - Used with "Minumum single copy taxa required in orthogroup" configuration only.
|
|
162 * **Corresponding coding sequences (CDS) fasta file** - Used only when selecting "Create orthogroup fasta files?".
|
|
163
|
|
164 </help>
|
|
165 <citations>
|
|
166 <citation type="bibtex">
|
|
167 @unpublished{None,
|
|
168 author = {None},
|
|
169 title = {None},
|
|
170 year = {None},
|
|
171 eprint = {None},
|
|
172 url = {None}
|
|
173 }</citation>
|
|
174 </citations>
|
|
175 </tool>
|