comparison macros.xml @ 12:6efabd37807b draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit d97b1b98a3a621c93a7ed9e7db16bda47eefcb92
author iuc
date Tue, 07 Oct 2025 20:44:41 +0000
parents d088a1cca4a7
children
comparison
equal deleted inserted replaced
11:d088a1cca4a7 12:6efabd37807b
1 <?xml version="1.0"?> 1 <?xml version="1.0"?>
2 <macros> 2 <macros>
3 <token name="@TOOL_VERSION@">2.5.47</token> 3 <token name="@TOOL_VERSION@">2.5.83</token>
4 <token name="@VERSION_SUFFIX@">0</token> 4 <token name="@VERSION_SUFFIX@">0</token>
5 <token name="@PROFILE@">21.05</token> 5 <token name="@PROFILE@">24.0</token>
6 <token name="@SHELL_OPTIONS@">export TERM="vt100"; </token>
6 7
7 <xml name="inputs"> 8 <xml name="inputs">
8 <param name="input_file" type="data" format="fasta,fasta.gz,nex" label="Input FASTA or NEXUS file" help="If the input file type is NEXUS and it includes a valid newick tree, that tree will override an uploaded newick tree" /> 9 <param name="input_file" type="data" format="fasta,fasta.gz,nex" label="Input FASTA or NEXUS file" help="An in-frame codon alignment in one of the formats supported by HyPhy" />
9 <param name="input_nhx" type="data" format="nhx,newick" optional="true" label="Input newick file"/> 10 <param name="input_nhx" type="data" format="nhx,newick" optional="true" label="Input newick file; this will override any trees included in the file" help="A phylogenetic tree (optionally annotated with {})"/>
10 </xml> 11 </xml>
11 <xml name="bio_tools"> 12 <xml name="bio_tools">
12 <xrefs> 13 <xrefs>
13 <xref type="bio.tools">HyPhy</xref> 14 <xref type="bio.tools">HyPhy</xref>
14 </xrefs> 15 </xrefs>
15 </xml> 16 </xml>
16 <xml name="substitution" tokens="argument"> 17 <xml name="substitution" tokens="argument">
17 <param argument="@ARGUMENT@" type="select" label="Substitution model"> 18 <param argument="@ARGUMENT@" type="select" label="Substitution model">
18 <option value="GTR">GTR - General time reversible
19 model</option>
20 <option value="LG">LG - Generalist empirical model from 19 <option value="LG">LG - Generalist empirical model from
21 Le and Gascuel (2008)</option> 20 Le and Gascuel (2008)</option>
22 <option value="HIVBm">HIVBm - Specialist empirical model
23 for between-host HIV sequences</option>
24 <option value="HIVWm">HIVWm - Specialist empirical model
25 for within-host HIV sequences</option>
26 <option value="WAG">WAG - Generalist empirical model from 21 <option value="WAG">WAG - Generalist empirical model from
27 Whelan and Goldman (2001)</option> 22 Whelan and Goldman (2001)</option>
28 <option value="JTT">JTT - Generalist empirical model from 23 <option value="JTT" selected="true">JTT - Generalist empirical model from
29 Jones, Taylor, and Thornton (1996)</option> 24 Jones, Taylor, and Thornton (1996)</option>
30 <option value="JC69">JC69 - Generalist empirical model 25 <option value="JC69">JC69 - Generalist empirical model
31 from with equal exchangeability rates</option> 26 from with equal exchangeability rates</option>
32 <option value="mtMet">mtMet - Specialist empirical model 27 <option value="mtMet">mtMet - Specialist empirical model
33 for metazoan mitochondrial genomes</option> 28 for metazoan mitochondrial genomes</option>
35 for vertebrate mitochondrial genomes</option> 30 for vertebrate mitochondrial genomes</option>
36 <option value="mtInv">mtInv - Specialist empirical model 31 <option value="mtInv">mtInv - Specialist empirical model
37 for invertebrate mitochondrial genomes</option> 32 for invertebrate mitochondrial genomes</option>
38 <option value="gcpREV">gcpREV - Specialist empirical 33 <option value="gcpREV">gcpREV - Specialist empirical
39 model for green plant chloroplast genomes</option> 34 model for green plant chloroplast genomes</option>
35 <option value="HIVBm">HIVBm - Specialist empirical model
36 for between-host HIV sequences</option>
37 <option value="HIVWm">HIVWm - Specialist empirical model
38 for within-host HIV sequences</option>
39 <option value="GTR" selected="true">GTR - General time reversible
40 model</option>
40 </param> 41 </param>
41 </xml> 42 </xml>
42 43
43 <xml name="conditional_posteriorEstimationMethod"> 44 <xml name="conditional_posteriorEstimationMethod">
44 <conditional name="posteriorEstimationMethod"> 45 <conditional name="posteriorEstimationMethod">
45 <param argument="--method" type="select" label="Posterior estimation method"> 46 <param argument="--method" type="select" label="Posterior estimation method" help="The inference method to use for estimating the posterior distribution.">
46 <option value="Variational-Bayes">0-th order Variational Bayes approximation</option> 47 <option value="Variational-Bayes">0-th order Variational Bayes approximation</option>
47 <option value="Metropolis-Hastings">Full Metropolis-Hastings MCMC algorithm</option> 48 <option value="Metropolis-Hastings">Full Metropolis-Hastings MCMC algorithm</option>
48 <option value="Collapsed-Gibbs">Collapsed Gibbs sampler</option> 49 <option value="Collapsed-Gibbs">Collapsed Gibbs sampler</option>
49 </param> 50 </param>
50 <when value="Variational-Bayes"> 51 <when value="Variational-Bayes">
66 --samples '$posteriorEstimationMethod.samples_per_chain' 67 --samples '$posteriorEstimationMethod.samples_per_chain'
67 #end if 68 #end if
68 </token> 69 </token>
69 70
70 <xml name="mcmc_options"> 71 <xml name="mcmc_options">
71 <param argument="--chains" type="integer" value="5" min="2" max="20" label="Number of MCMC chains" /> 72 <param argument="--chains" type="integer" value="5" min="2" max="20" label="Number of MCMC chains" help="The number of MCMC chains to run." />
72 <param argument="--chain-length" type="integer" value="2000000" min="500000" max="50000000" label="Length of each chain" /> 73 <param argument="--chain-length" type="integer" value="2000000" min="500000" max="50000000" label="Length of each chain" help="The length of each MCMC chain." />
73 <param argument="--burn-in" name="samples" type="integer" value="1000000" min="100000" max="1900000" label="Samples to use for burn-in" /> 74 <param argument="--burn-in" name="samples" type="integer" value="1000000" min="100000" max="1900000" label="Samples to use for burn-in" help="The number of samples to discard from the beginning of each MCMC chain." />
74 <param argument="--samples" name="samples_per_chain" type="integer" value="100" min="50" max="1000000" label="Samples to draw from each chain" /> 75 <param argument="--samples" name="samples_per_chain" type="integer" value="100" min="50" max="1000000" label="Samples to draw from each chain" help="The number of samples to draw from each MCMC chain after the burn-in period." />
75 </xml> 76 </xml>
76 77
77 <xml name="gencode"> 78 <xml name="gencode">
78 <param argument="--code" name="gencodeid" type="select" label="Genetic code"> 79 <param argument="--code" name="gencodeid" type="select" label="Genetic code" help="Which genetic code should be used">
79 <option value="Universal">Universal code</option> 80 <option value="Universal">Universal code</option>
80 <option value="Vertebrate-mtDNA">Vertebrate mitochondrial DNA 81 <option value="Vertebrate-mtDNA">Vertebrate mitochondrial DNA
81 code</option> 82 code</option>
82 <option value="Yeast-mtDNA">Yeast mitochondrial DNA 83 <option value="Yeast-mtDNA">Yeast mitochondrial DNA
83 code</option> 84 code</option>
97 code</option> 98 code</option>
98 <option value="Flatworm-mtDNA">Flatworm mitochondrial DNA 99 <option value="Flatworm-mtDNA">Flatworm mitochondrial DNA
99 code</option> 100 code</option>
100 <option value="Blepharisma-Nuclear">Blepharisma Nuclear 101 <option value="Blepharisma-Nuclear">Blepharisma Nuclear
101 code</option> 102 code</option>
103 <option value="Chlorophycean-mtDNA">Chlorophycean-mtDNA</option>
104 <option value="Trematode-mtDNA">Trematode-mtDNA</option>
105 <option value="Scenedesmus-obliquus-mtDNA">Scenedesmus-obliquus-mtDNA</option>
106 <option value="Thraustochytrium-mtDNA">Thraustochytrium-mtDNA</option>
107 <option value="Pterobranchia-mtDNA">Pterobranchia-mtDNA</option>
108 <option value="SR1-and-Gracilibacteria">SR1-and-Gracilibacteria</option>
109 <option value="Pachysolen-Nuclear">Pachysolen-Nuclear</option>
110 <option value="Mesodinium-Nuclear">Mesodinium-Nuclear</option>
111 <option value="Peritrich-Nuclear">Peritrich-Nuclear</option>
112 <option value="Cephalodiscidae-mtDNA">Cephalodiscidae-mtDNA</option>
113 </param>
114 </xml>
115
116 <xml name="kill_zero_lengths_param">
117 <param argument="--kill-zero-lengths" type="select" label="Kill zero-length branches" help="Automatically delete internal zero-length branches for computational efficiency">
118 <option value="Yes" selected="true">Automatically delete internal zero-length branches for computational efficiency (will not affect results otherwise)</option>
119 <option value="Constrain">Keep zero-length branches, but constrain their values to 0</option>
120 <option value="No">Keep all branches</option>
102 </param> 121 </param>
103 </xml> 122 </xml>
104 123
105 <xml name="srv"> 124 <xml name="srv">
106 <conditional name="advanced" label="Advanced options"> 125 <conditional name="advanced" label="Advanced options">
107 <param name="srv_options" type="select" label="Set advanced parameters" help="If these parameters are not set, RELAX will calculate appropriate values at runtime"> 126 <param name="srv_options" type="select" label="Advanced parameters" help="Use default values or specify advanced parameters">
108 <option value="defaults">Calculate</option> 127 <option value="defaults">Use defaults</option>
109 <option value="specify">Specify values</option> 128 <option value="specify">Specify values</option>
110 </param> 129 </param>
111 <when value="defaults" /> 130 <when value="defaults" />
112 <when value="specify"> 131 <when value="specify">
113 <param argument="--grid-size" type="integer" value="250" label="Points in the initial distributional guess for likelihood fitting" /> 132 <param argument="--grid-size" type="integer" value="250" label="Points in the initial distributional guess for likelihood fitting" max="5000"/>
114 <param argument="--starting-points" type="integer" value="1" label="Initial random guesses to seed rate values optimization" /> 133 <param argument="--starting-points" type="integer" value="1" label="Initial random guesses to seed rate values optimization" help="The number of initial random guesses to seed rate values optimization" max="1000"/>
115 <param argument="--syn-rates" type="integer" min="1" max="10" value="3" label="Alpha rate classes to include in the model" /> 134 <param argument="--syn-rates" type="integer" min="1" max="10" value="3" label="Synonymous rate classes" />
116 <param argument="--rates" type="integer" min="2" max="10" value="3" label="Omega rate classes to include in the model" /> 135 <param argument="--rates" type="integer" min="2" max="10" value="3" label="Non-synonymous rate classes" />
117 <param argument="--srv" type="boolean" truevalue="Yes" falsevalue="No" label="Include synonymous rate variation" /> 136 <param argument="--srv" type="select" label="Include synonymous rate variation">
118 <param name="save_alternative_model" type="boolean" label="Save alternative model fit" /> 137 <option value="No" selected="true">No</option>
138 <option value="Yes">Yes</option>
139 <option value="Branch-site">Branch-site</option>
140 <option value="HMM">HMM</option>
141 </param>
119 </when> 142 </when>
120 </conditional> 143 </conditional>
121 </xml> 144 </xml>
122 145
146 <xml name="busted_advanced_options">
147 <conditional name="advanced" label="Advanced options">
148 <param name="srv_options" type="select" label="Advanced parameters" help="Use default values or specify advanced parameters">
149 <option value="defaults">Use defaults</option>
150 <option value="specify">Specify values</option>
151 </param>
152 <when value="defaults" />
153 <when value="specify">
154 <param argument="--grid-size" type="integer" value="250" max="5000" label="Points in the initial distributional guess for likelihood fitting" help="The number of points in the initial distributional guess for likelihood fitting"/>
155 <param argument="--starting-points" type="integer" value="1" label="Initial random guesses to seed rate values optimization" help="The number of initial random guesses to seed rate values optimization" max="1000"/>
156 <param argument="--syn-rates" type="integer" min="1" max="10" value="3" label="Synonymous rate classes" help="The number of synonymous rate classes to include in the model [1-10, default 3]"/>
157 <param argument="--rates" type="integer" min="2" max="10" value="3" label="Non-synonymous rate classes" help="The number of non-synonymous rate classes to include in the model [1-10, default 3]"/>
158 <param argument="--multiple-hits" type="select" label="Multiple hits correction" help="Include support for multiple nucleotide substitutions">
159 <option value="None">None</option>
160 <option value="Double">Double</option>
161 <option value="Double+Triple">Double and Triple</option>
162 </param>
163 <param argument="--error-sink" type="boolean" truevalue="Yes" falsevalue="No" label="Include a rate class for misalignment artifacts (experimental)" help="Include a rate class to capture misalignment artifacts" checked="true"/>
164 <param name="save_alternative_model" type="boolean" label="Save alternative model fit" help="Save BUSTED model fit to this file (default is not to save)"/>
165 <conditional name="mss">
166 <param name="enabled" type="select" label="Include support for multiple synonymous rate class substitutions">
167 <option value="false" selected="true">No</option>
168 <option value="true">Yes</option>
169 </param>
170 <when value="false"/>
171 <when value="true">
172 <conditional name="mss_type_cond">
173 <param name="mss_type" type="select" label="How to partition synonymous codons into classes">
174 <option value="Full">Each set of codons mapping to the same amino-acid class have a separate substitution rate (Valine == neutral)</option>
175 <option value="SynREV">Each set of codons mapping to the same amino-acid class have a separate substitution rate (mean = 1)</option>
176 <option value="SynREV2">Each pair of synonymous codons mapping to the same amino-acid class and separated by a transition have a separate substitution rate (no rate scaling))</option>
177 <option value="SynREV2g">Each pair of synonymous codons mapping to the same amino-acid class and separated by a transition have a separate substitution rate (Valine == neutral). All between-class synonymous substitutions share a rate.</option>
178 <option value="SynREVCodon">Each codon pair that is exchangeable gets its own substitution rate (fully estimated, mean = 1)</option>
179 <option value="Random">Random partition (specify how many classes; largest class = neutral)</option>
180 <option value="Empirical">Load a TSV file with an empirical rate estimate for each codon pair</option>
181 <option value="File">Load a TSV partition from file (prompted for neutral class)</option>
182 <option value="Codon-file">Load a TSV partition for pairs of codons from a file (prompted for neutral class)</option>
183 </param>
184 <when value="Full"/>
185 <when value="SynREV"/>
186 <when value="SynREV2"/>
187 <when value="SynREV2g"/>
188 <when value="SynREVCodon"/>
189 <when value="Random">
190 <param name="mss_classes" type="integer" value="2" label="How many codon rate classes"/>
191 </when>
192 <when value="Empirical">
193 <param name="mss_file" type="data" format="tabular" label="File defining empirical rates for each pair of codons"/>
194 </when>
195 <when value="File">
196 <param name="mss_file" type="data" format="tabular" label="File defining the model partition"/>
197 <param name="mss_neutral" type="text" value="neutral" label="Designation for the neutral substitution rate"/>
198 </when>
199 <when value="Codon-file">
200 <param name="mss_file" type="data" format="tabular" label="File defining the model partition for pairs of codons"/>
201 <param name="mss_neutral" type="text" value="neutral" label="Designation for the neutral substitution rate"/>
202 </when>
203 </conditional>
204 </when>
205 </conditional>
206 </when>
207 </conditional>
208 </xml>
209
210 <xml name="alternative_model_output">
211 <data name="alternative_model" format="nex" from_work_dir="alternative_model.nhx" label="${tool.name} on ${on_string}: Alternative model">
212 <filter>advanced_options.save_alternative_model == True</filter>
213 </data>
214 </xml>
123 <xml name="branches"> 215 <xml name="branches">
124 <conditional name="branch_cond"> 216 <conditional name="branch_cond">
125 <param argument="--branches" name="branch_sel" type="select" label="Set of branches to test"> 217 <param argument="--branches" name="branch_sel" type="select" label="Set of branches to test" help="Branches to test">
126 <option value="All">All branches</option> 218 <option value="All">All branches</option>
127 <option value="Internal">Internal branches</option> 219 <option value="Internal">Internal branches</option>
128 <option value="Leaves">Leaf branches</option> 220 <option value="Leaves">Leaf branches</option>
129 <option value="'Unlabeled-branches'">Unlabeled branches</option> 221 <option value="'Unlabeled-branches'">Unlabeled branches</option>
130 <option value="specify">Enter a branch label</option> 222 <option value="specify">Custom</option>
131 </param> 223 </param>
132 <when value="specify"> 224 <when value="specify">
133 <param name="branch_label" type="text" value="Test" optional="false" label="Branch label"> 225 <param name="branch_label" type="text" value="Test" optional="false" label="Branch label" help="The label for the branches to be tested. These labels are case-sensitive and must be present in the Newick tree in {label} format.">
134 <sanitizer invalid_char=""> 226 <sanitizer invalid_char="">
135 <valid initial="default" /> 227 <valid initial="default" />
136 </sanitizer> 228 </sanitizer>
137 </param> 229 </param>
138 </when> 230 </when>
152 <requirements> 244 <requirements>
153 <requirement type="package" version="@TOOL_VERSION@">hyphy</requirement> 245 <requirement type="package" version="@TOOL_VERSION@">hyphy</requirement>
154 <yield/> 246 <yield/>
155 </requirements> 247 </requirements>
156 </xml> 248 </xml>
157 <xml name="alternative_model_output"> 249 <xml name="regex_sanitizer">
158 <data name="alternative_model" format="nhx" from_work_dir="alternative_model.nhx" label="${tool.name} on ${on_string}: Alternative model"> 250 <sanitizer>
159 <filter>advanced['save_alternative_model']</filter> 251 <valid initial="string.ascii_letters,string.digits">
160 </data> 252 <add value="^"/>
253 <add value="$"/>
254 <add value="("/>
255 <add value=")"/>
256 <add value="|"/>
257 <add value="?"/>
258 <add value="*"/>
259 <add value="+"/>
260 <add value="{"/>
261 <add value="-"/>
262 <add value="}"/>
263 <add value="\"/>
264 <add value="["/>
265 <add value="]"/>
266 <add value="."/>
267 <add value=","/>
268 </valid>
269 </sanitizer>
270 <validator type="empty_field" />
271 <validator type="regex" message="Pattern must not end with backslash.">.*[^\\]$</validator>
161 </xml> 272 </xml>
162 <xml name="resample"> 273 <xml name="resample">
163 <param argument="--resample" type="integer" value="0" min="0" optional="true" label="Perform parametric bootstrap resampling to derive site-level null LRT distributions" help="Warning: This will result in a significantly slower analysis. This parameter specifies the maximum number of replicates per site." /> 274 <param argument="--resample" type="integer" value="0" min="0" optional="true" label="Perform parametric bootstrap resampling to derive site-level null LRT distributions" help="Warning: This will result in a significantly slower analysis. A value of 0 means no resampling is performed. This parameter specifies the maximum number of replicates per site." />
164 </xml> 275 </xml>
165 <token name="@resample@"><![CDATA[ 276 <token name="@resample@"><![CDATA[
166 #if $resample: 277 #if $resample:
167 --resample $resample 278 --resample $resample
168 #end if 279 #end if
169 ]]> 280 ]]></token>
170 </token>
171 281
172 <token name="@INPUT_TREE@"><![CDATA[ 282 <token name="@INPUT_TREE@"><![CDATA[
173 #if $input_nhx: 283 #if $input_nhx:
174 --tree input.nhx 284 --tree input.nhx
175 #end if 285 #end if
176 ]]> 286 ]]></token>
177 </token>
178 <token name="@branch_options@"><![CDATA[ 287 <token name="@branch_options@"><![CDATA[
179 #if $branch_cond.branch_sel == 'specify': 288 #if $branch_cond.branch_sel == 'specify':
180 --branches '$branch_cond.branch_label' 289 --branches '$branch_cond.branch_label'
181 #else: 290 #else:
182 --branches $branch_cond.branch_sel 291 --branches $branch_cond.branch_sel
183 #end if 292 #end if
184 ]]> 293 ]]></token>
185 </token>
186 <token name="@advanced_options@"><![CDATA[ 294 <token name="@advanced_options@"><![CDATA[
295 #if $advanced.srv_options == 'specify':
296 --grid-size $advanced.grid_size
297 --starting-points $advanced.starting_points
298 --syn-rates $advanced.syn_rates
299 --rates $advanced.rates
300 --srv '$advanced.srv'
301 #end if
302 ]]></token>
303 <token name="@busted_advanced_options_command@"><![CDATA[
187 #if $advanced.srv_options == 'specify': 304 #if $advanced.srv_options == 'specify':
188 --grid-size $advanced.grid_size 305 --grid-size $advanced.grid_size
189 --starting-points $advanced.starting_points 306 --starting-points $advanced.starting_points
190 --syn-rates $advanced.syn_rates 307 --syn-rates $advanced.syn_rates
191 --rates $advanced.rates 308 --rates $advanced.rates
192 --srv $advanced.srv 309 #if $advanced.multiple_hits != 'None':
310 --multiple-hits $advanced.multiple_hits
311 #end if
312 #if $advanced.error_sink:
313 --error-sink Yes
314 #end if
193 #if $advanced.save_alternative_model: 315 #if $advanced.save_alternative_model:
194 --save-fit alternative_model.nhx 316 --save-fit alternative_model.nhx
195 #end if 317 #end if
318 #if $advanced.mss.enabled == "true":
319 --mss Yes
320 --mss-type $advanced.mss.mss_type_cond.mss_type
321 #if $advanced.mss.mss_type_cond.mss_type == "Random":
322 --mss-classes $advanced.mss.mss_type_cond.mss_classes
323 #elif $advanced.mss.mss_type_cond.mss_type == "Empirical":
324 --mss-file $advanced.mss.mss_type_cond.mss_file
325 #elif $advanced.mss.mss_type_cond.mss_type == "File":
326 --mss-file $advanced.mss.mss_type_cond.mss_file
327 --mss-neutral $advanced.mss.mss_type_cond.mss_neutral
328 #elif $advanced.mss.mss_type_cond.mss_type == "Codon-file":
329 --mss-file $advanced.mss.mss_type_cond.mss_file
330 --mss-neutral $advanced.mss.mss_type_cond.mss_neutral
331 #end if
332 #end if
196 #end if 333 #end if
197 ]]></token> 334 ]]></token>
198 <token name="@HYPHYMPI@">\${GALAXY_MPIRUN:-mpirun -mca orte_tmpdir_base "\${TMPDIR:-.}" -np \${GALAXY_SLOTS:-1}} HYPHYMPI</token> 335 <token name="@srv_options@"><![CDATA[
336 #if $srv_conditional.srv_enabled == 'true':
337 --srv Yes
338 #if $srv_conditional.syn_rates:
339 --syn-rates $srv_conditional.syn_rates
340 #end if
341 #end if
342 ]]></token>
343 <token name="@HYPHYMPI@">\${GALAXY_MPIRUN:-mpirun --allow-run-as-root --oversubscribe -mca orte_tmpdir_base "\${TMPDIR:-.}" -np \${GALAXY_SLOTS:-1}} HYPHYMPI </token>
344 <token name="@HYPHYMP@">hyphy CPU=\${GALAXY_SLOTS:-4} </token>
199 <token name="@ERRORS@"><![CDATA[ 345 <token name="@ERRORS@"><![CDATA[
200 ; EC=\$? ; [[ -f errors.* ]] && cat errors.* >&2 ; exit \$EC 346 ; EC=\$? ; [[ -f errors.* ]] && cat errors.* >&2 ; exit \$EC
201 ]]></token> 347 ]]></token>
202 <token name="@HYPHY_ENVIRONMENT@"><![CDATA[ 348 <token name="@HYPHY_ENVIRONMENT@">
203 export HYPHY=`which hyphy` && 349 export HYPHY=`which hyphy` &amp;&amp;
204 export HYPHY_PATH=`dirname \$HYPHY` && 350 export HYPHY_PATH=`dirname \$HYPHY` &amp;&amp;
205 export HYPHY_LIB=`readlink -f \$HYPHY_PATH/../share/hyphy` &&]]></token> 351 export HYPHY_LIB=`readlink -f \$HYPHY_PATH/../share/hyphy` &amp;&amp;</token>
206 <token name="@HYPHY_INVOCATION@"><![CDATA[ 352 <token name="@HYPHY_INVOCATION@">
207 @HYPHY_ENVIRONMENT@ hyphy LIBPATH=\$HYPHY_LIB 353 @HYPHY_ENVIRONMENT@ hyphy LIBPATH=\$HYPHY_LIB
208 ]]></token> 354 </token>
209 <token name="@SYMLINK_FILES@"><![CDATA[ 355 <token name="@SYMLINK_FILES@"><![CDATA[
210 #if $input_nhx is not None: 356 #if $input_nhx is not None:
211 ln -s '$input_nhx' input.nhx && 357 ln -s '$input_nhx' input.nhx &&
212 #end if 358 #end if
213 ln -s '$input_file' input.$input_file.extension && 359 ln -s '$input_file' input.$input_file.extension &&
214 #set $input_file = 'input.%s' % $input_file.extension 360 #set $input_file = 'input.%s' % $input_file.extension
215 ]]></token> 361 ]]></token>
362 <token name="@SYMLINK_FILES_NO_TREE@"><![CDATA[
363 ln -s '$input_file' input.$input_file.extension &&
364 ]]></token>
216 </macros> 365 </macros>