comparison macros.xml @ 0:43658f594542 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/salmon commit 8f432498890670fd03a197bd3d1aa2638d1ff2b3"
author bgruening
date Mon, 09 Sep 2019 11:12:04 -0400
parents
children 992c077f6e41
comparison
equal deleted inserted replaced
-1:000000000000 0:43658f594542
1 <macros>
2 <token name="@VERSION@">0.14.1</token>
3 <token name="@GALAXY_VERSION@">galaxy0</token>
4 <token name="@IDX_VERSION@">q5</token>
5 <xml name="requirements">
6 <requirements>
7 <requirement type="package" version="1.0.6">bzip2</requirement>
8 <requirement type="package" version="1.2">seqtk</requirement>
9 <requirement type="package" version="0.14.1">salmon</requirement>
10 <requirement type="package" version="1.9">samtools</requirement>
11 </requirements>
12 </xml>
13 <xml name="stranded">
14 <param name="strandedness" type="select" label="Specify the strandedness of the reads">
15 <option value="U" selected="True">Not stranded (U)</option>
16 <option value="SF">read comes from the forward strand (SF)</option>
17 <option value="SR">read comes from the reverse strand (SR)</option>
18 </param>
19 </xml>
20 <xml name="orient">
21 <param name="orientation" type="select" label="Relative orientation of reads within a pair">
22 <option value="M">Mates are oriented in the same direction (M = matching)</option>
23 <option value="O">Mates are oriented away from each other (O = outward)</option>
24 <option value="I" selected="True">Mates are oriented toward each other (I = inward)</option>
25 </param>
26 </xml>
27 <xml name="index">
28 <conditional name="refTranscriptSource">
29 <param name="TranscriptSource" type="select" label="Select a reference transcriptome from your history or use a built-in index?"
30 help="Built-ins were indexed using default options">
31 <option value="indexed">Use a built-in index</option>
32 <option value="history" selected="True">Use one from the history</option>
33 </param>
34 <when value="indexed">
35 <param name="index" type="select" label="Select a reference transcriptome" help="If your transcriptome of interest is not listed, contact your Galaxy admin">
36 <options from_data_table="salmon_indexes_versioned">
37 <filter type="sort_by" column="2"/>
38 <filter type="static_value" column="4" value="@IDX_VERSION@" />
39 <validator type="no_options" message="No indexes are available for the selected input dataset"/>
40 </options>
41 </param>
42 </when> <!-- build-in -->
43 <when value="history">
44 <section name="s_index" title="Salmon index" expanded="true">
45 <param name="fasta" type="data" format="fasta" label="Transcripts fasta file"/>
46 <param name="kmer" type="integer" value="31" label="Kmer length"/>
47 <param name="phash" type="boolean" label="Perfect Hash" truevalue="--perfectHash" falsevalue="" checked="false"
48 help="Build the index using a perfect hash rather than a dense hash. This will require less memory (especially during quantification), but will take longer to construct"/>
49 </section>
50 </when>
51 </conditional>
52 </xml>
53 <xml name="reads">
54 <section name="input" title="Data input" expanded="True">
55 <conditional name="single_or_paired">
56 <param name="single_or_paired_opts" type="select" label="Is this library mate-paired?">
57 <option value="single">Single-end</option>
58 <option value="paired">Paired-end</option>
59 <option value="paired_collection">Paired-end Dataset Collection</option>
60 <option value="paired_interleaved">Paired-end data from single interleaved dataset</option>
61 </param>
62 <when value="single">
63 <param name="input_singles" type="data" format="fastq,fasta,fastq.gz,fastq.bz2" label="FASTQ/FASTA file" help="FASTQ file." />
64 <expand macro="stranded"/>
65 </when>
66 <when value="paired">
67 <param name="input_mate1" type="data" format="fastq,fasta,fastq.gz,fastq.bz2,fastqsanger,fastqsanger.gz,fastqsanger.bz2" label="Mate pair 1" help="FASTQ file." />
68 <param name="input_mate2" type="data" format="fastq,fasta,fastq.gz,fastq.bz2,fastqsanger,fastqsanger.gz,fastqsanger.bz2" label="Mate pair 2" help="FASTQ file." />
69 <expand macro="orient"/>
70 <expand macro="stranded"/>
71 </when>
72 <when value="paired_collection">
73 <param name="input_1" format="fastq,fasta,fastq.gz,fastq.bz2,fastqsanger,fastqsanger.gz,fastqsanger.bz2" type="data_collection" collection_type="paired" label="FASTQ Paired Dataset" help="Must be of datatype &quot;fastqsanger&quot; or &quot;fasta&quot;" />
74 <expand macro="orient"/>
75 <expand macro="stranded"/>
76 </when>
77 <when value="paired_interleaved">
78 <param name="input_1" format="fastq,fasta,fastq.gz,fastq.bz2,fastqsanger,fastqsanger.gz,fastqsanger.bz2" type="data" label="Interleaved FASTQ file" help="Must be of datatype &quot;fastqsanger&quot; or &quot;fasta&quot;. --interleaved"/>
79 <expand macro="orient"/>
80 <expand macro="stranded"/>
81 </when>
82 </conditional>
83 </section>
84 <param argument="--type" type="select" label="Type of index" help="When using quasi, orphaned reads will be considered when performing lightweight-alignment.">
85 <option value="quasi" selected="True">quasi</option>
86 </param>
87 <!--Salmon quant type select: reads-based or alignment-based-->
88 <param name="discardOrphansQuasi" type="boolean" truevalue="--discardOrphansQuasi" falsevalue="" checked="False"
89 label="Discard orphan quasi"
90 help="Discard orphan mappings in quasi-mapping mode. If this flag is passed then only paired mappings will be considered toward quantification estimates. The default behavior is to consider orphan mappings if no valid paired mappings exist."/>
91 <conditional name="validmap">
92 <param name="validateMappings" type="boolean" truevalue="--validateMappings" falsevalue="" checked="False"
93 label="Validate mappings"
94 help="Validate mappings using alignment-based verifcation. If this flag is passed, quasi-mappings will be validated to ensure that they could give rise to a reasonable alignment before they are further used for quantification."/>
95 <when value="--validateMappings">
96 <param name="minScoreFraction" type="float" value="0.65" min="0.0" max="0.99"
97 label="Min Score Fraction"
98 help="The fraction of the optimal possible alignment score that a mapping must achieve in order to be considered valid. Should be in (0,1]."/>
99 <param name="maxMMPExtension" type="integer" optional="True"
100 label="Sets the maximum allowable MMP extension when collecting suffix array intervals to be used in chaining. This prevents MMPs from becoming too long, and potentially masking intervals that would uncover other good quasi-mappings for the read. This heuristic mimics the idea of the maximum mappable safe prefix (MMSP) in selective alignment. Setting a smaller value will potentially allow for more sensitive, but slower, mapping."/>
101 <param name="matchScore" argument="--ma" type="integer" value="2"
102 label="Match Score"
103 help="The value given to a match between read and reference nucleotides in an alignment."/>
104 <param name="mismatchPenalty" argument="--mp" type="integer" value="4"
105 label="Mismatch Penalty"
106 help="The value given to a mis-match between read and reference nucleotides in an alignment. This will be cast to a negative value."/>
107 <param name="gapOpenPenalty" argument="--go" type="integer" value="5"
108 label="Gap Open Penalty"
109 help="The value given to a gap opening in an alignment."/>
110 <param name="gapExtensionPenalty" argument="--ge" type="integer" value="3"
111 label="Gap Extension Penalty"
112 help="The value given to a gap extension in an alignment."/>
113 <param name="mimicBT2" type="boolean" truevalue="--mimicBT2" falsevalue="" checked="False"
114 label="Mimic Bowtie 2"
115 help=" Set flags to mimic parameters similar to Bowtie2 with --no-discordant and --no-mixed flags. This increases disallows dovetailing reads, and discards orphans. Note, this does not impose the very strict parameters assumed by RSEM+Bowtie2, like gapless alignments. For that behavior, use the --mimiStrictBT2 flag "/>
116 <param name="mimicStrictBT2" type="boolean" truevalue="--mimicStrictBT2" falsevalue="" checked="False"
117 label="Mimic Strict Bowtie 2"
118 help="Set flags to mimic the very strict parameters used by RSEM+Bowtie2. This increases --minScoreFraction to 0.8, disallows dovetailing reads, discards orphans, and disallows gaps in alignments."/>
119 <param name="hardFilter" type="boolean" truevalue="--hardFilter" falsevalue="" checked="False"
120 label="Hard Filter"
121 help="Instead of weighting mappings by their alignment score, this flag will discard any mappings with sub-optimal alignment score. The default option of soft-filtering (i.e. weighting mappings by their alignment score) usually yields slightly more accurate abundance estimates but this flag may be desirable if you want more accurate 'naive' equivalence classes, rather than range factorized equivalence classes."/>
122 </when>
123 <when value=""/>
124 </conditional>
125 <param name="consensusSlack" type="integer" optional="True" value="0"
126 label="Consensus Slack"
127 help="The amount of slack allowed in the quasi-mapping consensus mechanism. Normally, a transcript must cover all hits to be considered for mapping. If this is set to a value, X, greater than 0, then a transcript can fail to cover up to X hits before it is discounted as a mapping candidate. The default value of this option is 1 if --validateMappings is given and 0 otherwise."/>
128 <param name="dovetail" label="Allow Dovetail" type="boolean" truevalue="--allowDovetail" falsevalue="" checked="False" help="Allow dovetail mappings"/>
129 <param name="recoverOrphans" label="Recover Orphans" type="boolean" truevalue="--recoverOrphans" falsevalue="" checked="False"
130 help="Attempt to recover the mates of orphaned reads. This uses edlib for orphan recovery, and so introduces some computational overhead, but it can improve sensitivity."/>
131 <param name="writeMappings" type="boolean" truevalue="--writeMappings=./output/samout.sam" falsevalue="" checked="False"
132 label="Write Mappings to Bam File"
133 help="If this option is provided, then the quasi-mapping results will be written out in SAM-compatible format. By default, output will be directed to stdout, but an alternative file name can be provided instead"/>
134 <param name="consistentHits" type="boolean" truevalue="--consistentHits" falsevalue="" checked="False"
135 label="Consistent Hits"
136 help="Force hits gathered during quasi-mapping to be 'consistent' (i.e. co-linear and approximately the right distance apart)."/>
137 <param name="quasiCoverage" type="integer" optional="True" label="Quasi Coverage"
138 help="[Experimental]: The fraction of the read that must be covered by MMPs (of length >= 31) if this read is to be considered as 'mapped'. This may help to avoid 'spurious' mappings. A value of 0 (the default) denotes no coverage threshold (a single 31-mer can yield a mapping). Since coverage by exact matching, large, MMPs is a rather strict condition, this value should likely be set to something low, if used."/>
139 </xml>
140 <xml name="align">
141 <param name="afile" type="data" format="bam" label="Alignment file"/>
142 <param name="transcript" type="data" format="fasta,fa" label="Transcript file"/>
143 <expand macro="stranded"/>
144 <param name="discardOrphans" type="boolean" truevalue="--discardOrphans" falsevalue="" checked="False"
145 label="Discard orphans"
146 help="Discard orphan alignments in the input. If this flag is passed, then only paired alignments will be considered toward quantification estimates. The default behavior is to consider orphan alignments if no valid paired mappings exist."/>
147 <param name="noErrorModel" type="boolean" truevalue="--noErrorModel" falsevalue="" checked="False"
148 label="No Error Model"
149 help="Turn off the alignment error model, which takes into account the the observed frequency of different types of mismatches / indels when computing the likelihood of a given alignment. Turning this off can speed up alignment-based salmon, but can harm quantification accuracy."/>
150 <param name="numErrorBins" type="integer" optional="True" value="6"
151 label="Number of Error Bins"
152 help="The number of bins into which to divideeach read when learning and applying the error model. For example, a value of 10 would mean that effectively, a separate error model is learned and applied to each 10th of the read, whilea value of 3 would mean that a separate error model is applied to the read beginning (first third), middle (second third) and end (final third)."/>
153 <param name="sampleOut" type="boolean" truevalue="--sampleOut" falsevalue="" checked="False"
154 label="Sample out"
155 help="Write a 'postSample.bam' file in the output directory that will sample the input alignments according to the estimated transcript abundances. If you're going to perform downstream analysis of the alignments with tools which don't, themselves, take fragment assignment ambiguity into account, you should use this output"/>
156 <param name="sampleUnaligned" type="boolean" truevalue="--sampleUnaligned" falsevalue="" checked="False"
157 label="Sample unaligned"
158 help="In addition to sampling the aligned reads, also write the un-aligned reads to 'postSample.bam'."/>
159 <param name="gencode" type="boolean" truevalue="--gencode" falsevalue="" checked="False"
160 label="Gencode"
161 help="This flag will expect the input transcript fasta to be in GENCODE format, and will split the transcript name at the first '|' character. These reduced names will be used in the output and when looking for these transcripts in a gene to transcript GTF."/>
162 </xml>
163 <xml name="quantboth">
164 <param name="geneMap" type="data" format="tabular,gff,gtf" optional="True"
165 label="File containing a mapping of transcripts to genes"
166 help="If this file is provided Salmon will output both quant.sf and quant.genes.sf files, where the latter contains aggregated gene-level abundance estimates. The transcript to gene mapping should be provided as either a GTF file, or a in a simple tab-delimited format where each line contains the name of a transcript and the gene to which it belongs separated by a tab."/>
167 <param name="seqBias" type="boolean" truevalue="--seqBias" falsevalue="" checked="False"
168 label="Perform sequence-specific bias correction"/>
169 <param name="gcBias" type="boolean" truevalue="--gcBias" falsevalue="" checked="False"
170 label="Perform fragment GC bias correction"/>
171 <param name="incompatPrior" type="float" optional="True" min="0.0" max="1" value="0"
172 help="Sets the prior probability that an alignment that disagrees with the specified library type (orientation and strandedness) results from the true fragment origin. Setting this to 0 specifies that alignments that disagree with the library type should be 'impossible', while setting it to 1 says that alignments that disagree with the library type are no less likely than those that do"/>
173 <param name="meta" type="boolean" truevalue="--meta" falsevalue="" checked="False"
174 label="Meta"
175 help="If you're using Salmon on a metagenomic dataset, consider setting this flag to disable parts of the abundance estimation model that make less sense for metagenomic data."/>
176 <!--Salmon quant advanced options: available to both kinds of quant-->
177 <section name="adv" title="Additional Options">
178 <param name="skipQuant" type="boolean" truevalue="--skipQuant" falsevalue="" checked="False"
179 label="skipQuant" help="Skip performing the actual transcript quantification (including any Gibbs sampling or bootstrapping)."/>
180 <param name="dumpEq" type="boolean" truevalue="--dumpEq" falsevalue="" checked="False"
181 label="Dump equivalence class counts"
182 help="Dump the equivalence class counts that were computed during quasi-mapping."/>
183 <param name="dumpEqWeights" type="boolean" truevalue="--dumpEqWeights" falsevalue="" checked="False"
184 label="Dump equivalence class counts including rich weights"
185 help="Includes 'rich' equivlance class weights in the output when equivalence class information is being dumped to file."/>
186 <param name="minAssignedFrags" type="integer" optional="True" label="Minimum assigned fragments"
187 help="The minimum number of fragments that must be assigned to the transcriptome for quantification to proceed."/>
188 <param name="biasSpeedSamp" type="integer" value="5" optional="True"
189 label="The value at which the fragment length PMF is down-sampled when evaluating GC fragment bias." help="Larger values speed up effective length correction, but may decrease the fidelity of bias modeling results."/>
190 <param name="fldMax" type="integer" value="1000" optional="True"
191 label="The maximum fragment length to consider when building the empirical distribution."/>
192 <param name="fldMean" type="integer" value="250" optional="True"
193 label="The mean used in the fragment length distribution prior"
194 help="If single end reads are being used for quantification, or there are an insufficient number of uniquely mapping reads when performing paired-end quantification to estimate the empirical fragment length distribution, then use this value to calculate effective lengths."/>
195 <param name="fldSD" type="integer" value="25" optional="True"
196 label="Standard deviation"
197 help="The standard deviation used in the fragment length distribution prior."/>
198 <param name="forgettingFactor" type="float" value="0.65000000000000002" optional="True"
199 label="The forgetting factor used in the online learning schedule."
200 help=" A smaller value results in quicker learning, but higher variance and may be unstable. A larger value results in slower learning but may be more stable. Value should be in the interval (0.5, 1.0]." />
201 <param name="initUniform" type="boolean" truevalue="--initUniform" falsevalue="" checked="False"
202 label="Initialization with uniform parameters"
203 help="initialize the offline inference with uniform parameters, rather than seeding with online parameters." />
204 <param name="maxReadOcc" type="integer" value="100" optional="True"
205 label="Maximal read mapping occurence"
206 help="Reads mapping to more than this many places won't be considered."/>
207 <param name="noLengthCorrection" type="boolean" truevalue="--noLengthCorrection" falsevalue=""
208 label="No length correction"
209 help="[experimental] : Entirely disables length correction when estimating the abundance of transcripts. This option can be used with protocols where one expects that fragments derive from their underlying targets without regard to that target's length (e.g. QuantSeq)"/>
210 <param name="noEffectiveLengthCorrection" type="boolean" truevalue="--noEffectiveLengthCorrection" falsevalue="" checked="False"
211 label="Disable effective length correction"
212 help="Disables effective length correction when computing the probability that a fragment was generated from a transcript. If this flag is passed in, the fragment length distribution is not taken into account when computing this probability."/>
213 <param name="noFragLengthDist" type="boolean" truevalue="--noFragLengthDist" falsevalue="" checked="False"
214 label="Ignore fragment length distribution"
215 help="[experimental] : Don't consider concordance with the learned fragment length distribution when trying to determine the probability that a fragment has originated from a specified location. Normally, Fragments with unlikely lengths will be assigned a smaller relative probability than those with more likely lengths. When this flag is passed in, the observed fragment length has no effect on that fragment's a priori probability." />
216 <param name="noBiasLengthThreshold" type="boolean" truevalue="--noBiasLengthThreshold" falsevalue="" checked="False"
217 label="[experimental] : If this option is enabled, then no (lower) threshold will be set on how short bias correction can make effecctive lengths."
218 help="This can increase the precision of bias correction, but harm robustness. The default correction applies a threshold." />
219 <param name="numBiasSamples" type="integer" value="2000000" optional="True"
220 label="Number of fragment mappings to use when learning the sequence-specific bias model."/>
221 <param name="numAuxModelSamples" type="integer" value="5000000" optional="True"
222 label="The first numAuxModelSamples are used to train the auxiliary model parameters."
223 help="(e.g. fragment length distribution, bias, etc.). After ther first numAuxModelSamples observations the auxiliary model parameters will be assumed to have converged and will be fixed." />
224 <param name="numPreAuxModelSamples" type="integer" value="5000" optional="True"
225 label="The first numPreAuxModelSamples will have their assignment likelihoods and contributions to the transcript abundances computed without applying any auxiliary models."
226 help=" The purpose of ignoring the auxiliary models for the first numPreAuxModelSamples observations is to avoid applying these models before thier parameters have been learned sufficiently well." />
227 <param name="useEM" type="boolean" truevalue="--useEM" falsevalue="" checked="False"
228 label="Use the traditional EM algorithm for optimization in the batch passes."
229 help=""/>
230 <param name="rangeFactorizationBins" type="integer" value="0" label="Range of factorization bins"
231 help="Factorizes the likelihood used in quantification by adopting a new notionof equivalence classes based on the conditional probabilities with which fragments are generated from different transcripts. This is a more fine-grained factorization than the normal rich equivalence classes. The default value (0) corresponds to the standard rich equivalence classes, and larger values imply a more fine-grained factorization. If range factorization is enabled, a common value to select for this parameter is 4."/>
232 <param name="numGibbsSamples" type="integer" value="0" optional="True"
233 label="Number of Gibbs sampling rounds to perform."
234 help="" />
235 <param name="noGammaDraw" type="boolean" truevalue="--noGammaDraw" falsevalue="" checked="False"
236 label="No gamma draw"
237 help="This switch will disable drawing transcript fractions from a Gamma distribution during Gibbs sampling. In this case the sampler does not account for shot-noise, but only assignment ambiguity"/>
238 <param name="numBootstraps" type="integer" value="0" optional="True"
239 label="Number of bootstrap samples to generate. Note: This is mutually exclusive with Gibbs sampling."
240 help="" />
241 <param name="bootstrapReproject" type="boolean" truevalue="--bootstrapReproject" falsevalue="" checked="False"
242 label="Bootstrap reproject"
243 help="This switch will learn the parameter distribution from the bootstrapped counts for each sample, but will reproject those parameters onto the original equivalence class counts."/>
244 <param name="thinningFactor" type="integer" value="16" optional="true" label="Thinning factor"
245 help="Number of steps to discard for every sample kept from the Gibbs chain. The larger this number, the less chance that subsequent samples are auto-correlated, but the slower sampling becomes."/>
246 <param name="perTranscriptPrior" type="boolean" truevalue="--perTranscriptPrior" falsevalue="" checked="False"
247 label="The prior will be interpreted as a transcript-level prior."
248 help="either the default or the argument provided via --vbPrior" />
249 <param name="sigDigits" type="integer" value="3"
250 label="Significant Digits"
251 help="The number of significant digits to write when outputting the EffectiveLength and NumReads columns."/>
252 <param name="vbPrior" type="float" value="1.0000000000000001e-05" optional="True"
253 label="The prior that will be used in the VBEM algorithm."
254 help="This is interpreted as a per-nucleotide prior, unless the --perTranscriptPrior flag is also given, in which case this is used as a transcript-level prior." />
255 <param name="writeOrphanLinks" type="boolean" truevalue="--writeOrphanLinks" falsevalue="" checked="False" label="Write orphan links"
256 help="Write the transcripts that are linked by orphaned reads."/>
257 <param name="writeUnmappedNames" type="boolean" truevalue="--writeUnmappedNames" falsevalue="" checked="False"
258 label="Write the names of un-mapped reads to the file unmapped_names.txt."
259 help=""/>
260 </section>
261 </xml>
262 <xml name="quantmerge">
263 <repeat name="quantfiles" title="Quant file and names">
264 <param name="quants" type="data" format="tsv,tabular"
265 label="Salmon quant tabular output files"/>
266 <param name="names" type="text" label="One-word sample names" optional="True"/>
267 </repeat>
268 <param name="column" type="select" label="Columns"
269 help="Name of columns that will be merged in the output file">
270 <option value="len" selected="True">Length</option>
271 <option value="elen">Effective Length</option>
272 <option value="tpm">Transcripts per Million</option>
273 <option value="numreads">NumReads</option>
274 </param>
275 <param name="genes" type="boolean" truevalue="--genes" falsevalue="" checked="False"
276 label="Genes" help="Use gene quantifications instead of transcript"/>
277 <param name="missing" type="integer" label="Missing" optional="True" help="The value of missing values"/>
278 </xml>
279 <xml name="citations">
280 <citations>
281 <citation type="doi">10.1186/s13059-019-1670-y</citation>
282 <citation type="doi">10.1038/nmeth.4197</citation>
283 </citations>
284 </xml>
285 <token name="@indexing@"><![CDATA[
286 mkdir ./index &&
287 mkdir ./output &&
288 #if $quant_type.refTranscriptSource.TranscriptSource != "indexed":
289 salmon index -i ./index
290 --kmerLen '${quant_type.refTranscriptSource.s_index.kmer}'
291 --gencode
292 --transcripts '${quant_type.refTranscriptSource.s_index.fasta}'
293 &&
294 #set $index_path = './index'
295 #else
296 #set $index_path = $quant_type.refTranscriptSource.index.fields.path
297 #end if
298 ]]>
299 </token>
300 <token name="@salreads@"><![CDATA[
301 #set compressed = 'no'
302 #if $quant_type.input.single_or_paired.single_or_paired_opts == 'single':
303 #if $quant_type.input.single_or_paired.input_singles.ext == 'fasta':
304 #set $ext = 'fasta'
305 #else:
306 #if $quant_type.input.single_or_paired.input_singles.is_of_type("fastq.gz", "fastqsanger.gz"):
307 #set compressed = 'GZ'
308 #else if $quant_type.input.single_or_paired.input_singles.is_of_type("fastq.bz2", "fastqsanger.bz2"):
309 #set compressed = 'BZ2'
310 #end if
311 #set $ext = 'fastq'
312 #end if
313 ln -s $quant_type.input.single_or_paired.input_singles ./single.$ext &&
314 #else if $quant_type.input.single_or_paired.single_or_paired_opts == 'paired':
315 #if $quant_type.input.single_or_paired.input_mate1.ext == 'fasta':
316 #set $ext = 'fasta'
317 #else:
318 #if $quant_type.input.single_or_paired.input_mate1.is_of_type("fastq.gz", "fastqsanger.gz"):
319 #set compressed = 'GZ'
320 #else if $quant_type.input.single_or_paired.input_mate1.is_of_type("fastq.bz2", "fastqsanger.bz2"):
321 #set compressed = 'BZ2'
322 #end if
323 #set $ext = 'fastq'
324 #end if
325 ln -s $quant_type.input.single_or_paired.input_mate1 ./mate1.$ext &&
326 ln -s $quant_type.input.single_or_paired.input_mate2 ./mate2.$ext &&
327 #else if $quant_type.input.single_or_paired.single_or_paired_opts == 'paired_collection':
328 #if $quant_type.input.single_or_paired.input_1.forward.ext == 'fasta':
329 #set $ext = 'fasta'
330 #else:
331 #if $quant_type.input.single_or_paired.input_1.forward.is_of_type("fastq.gz", "fastqsanger.gz"):
332 #set compressed = 'GZ'
333 #else if $quant_type.input.single_or_paired.input_1.forward.is_of_type("fastq.bz2", "fastqsanger.bz2"):
334 #set compressed = 'BZ2'
335 #end if
336 #set $ext = 'fastq'
337 #end if
338 ln -s '${quant_type.input.single_or_paired.input_1.forward}' ./mate1.$ext &&
339 ln -s '${quant_type.input.single_or_paired.input_1.reverse}' ./mate2.$ext &&
340 #else if '$quant_type.input.single_or_paired.single_or_paired_opts' == 'paired_interleaved':
341 #if $quant_type.input.single_or_paired.input_1.ext == 'fasta':
342 #set $ext = 'fasta'
343 #else:
344 #if $quant_type.input.single_or_paired.input_1.is_of_type("fastq.gz", "fastqsanger.gz"):
345 #set compressed = 'GZ'
346 #else if $quant_type.input.single_or_paired.input_1.is_of_type("fastq.bz2", "fastqsanger.bz2"):
347 #set compressed = 'BZ2'
348 #end if
349 #set $ext = 'fastq'
350 #end if
351 ln -s '$quant_type.input.single_or_paired.input_1' ./mate1.$ext &&
352 #end if
353 #if $geneMap:
354 ln -s '$geneMap' ./geneMap.${geneMap.ext} &&
355 #end if
356
357 salmon quant
358 --index $index_path
359 #if $quant_type.input.single_or_paired.single_or_paired_opts == 'single':
360 --libType ${quant_type.input.single_or_paired.strandedness}
361 #if $compressed == 'GZ':
362 --unmatedReads <(zcat < ./single.$ext)
363 #else if $compressed == 'BZ2':
364 --unmatedReads <(bzcat < ./single.$ext)
365 #else:
366 --unmatedReads ./single.$ext
367 #end if
368 #else:
369 --libType '${quant_type.input.single_or_paired.orientation}${quant_type.input.single_or_paired.strandedness}'
370 #if $quant_type.input.single_or_paired.single_or_paired_opts == 'paired_interleaved':
371 #if $compressed == 'BZ2':
372 --mates1 <(bzcat < ./mate1.$ext | seqtk seq -1)
373 --mates2 <(bzcat < ./mate1.$ext | seqtk seq -2)
374 #else:
375 --mates1 <(seqtk seq -1 ./mate1.$ext)
376 --mates2 <(seqtk seq -2 ./mate1.$ext)
377 #end if
378 #else:
379 #if $compressed == 'GZ':
380 --mates1 <(zcat < ./mate1.$ext)
381 --mates2 <(zcat < ./mate2.$ext)
382 #else if $compressed == 'BZ2':
383 --mates1 <(bzcat < ./mate1.$ext)
384 --mates2 <(bzcat < ./mate2.$ext)
385 #else:
386 --mates1 ./mate1.$ext
387 --mates2 ./mate2.$ext
388 #end if
389 #end if
390 #end if
391 --threads "\${GALAXY_SLOTS:-4}"
392 ${quant_type.discardOrphansQuasi}
393 ${quant_type.validmap.validateMappings}
394 #if $quant_type.validmap.validateMappings:
395 #if $quant_type.validmap.minScoreFraction:
396 --minScoreFraction '${quant_type.validmap.minScoreFraction}'
397 #end if
398 #if $quant_type.validmap.maxMMPExtension:
399 --maxMMPExtension '${quant_type.validmap.maxMMPExtension}'
400 #end if
401 #if $quant_type.validmap.matchScore:
402 --ma '${$quant_type.validmap.matchScore}'
403 #end if
404 #if $quant_type.validmap.mismatchPenalty:
405 --mp '${$quant_type.validmap.mismatchPenalty}'
406 #end if
407 #if $quant_type.validmap.gapOpenPenalty:
408 --go '${$quant_type.validmap.gapOpenPenalty}'
409 #end if
410 #if $quant_type.validmap.gapExtensionPenalty:
411 --ge '${$quant_type.validmap.gapExtensionPenalty}'
412 #end if
413 ${$quant_type.validmap.mimicBT2}
414 ${$quant_type.validmap.mimicStrictBT2}
415 ${$quant_type.validmap.hardFilter}
416 #end if
417 #if $quant_type.consensusSlack:
418 --consensusSlack '${quant_type.consensusSlack}'
419 #end if
420 ${quant_type.dovetail}
421 ${quant_type.recoverOrphans}
422 ${quant_type.writeMappings}
423 ${quant_type.consistentHits}
424 #if $quant_type.quasiCoverage:
425 --quasiCoverage '${quant_type.quasiCoverage}'
426 #end if
427 ]]>
428 </token>
429 <token name="@salalign@"><![CDATA[
430 #if $geneMap:
431 ln -s "$geneMap" ./geneMap.${geneMap.ext} &&
432 #end if
433 salmon quant
434 -t '${quant_type.transcript}'
435 -l '${quant_type.strandedness}'
436 -a '${quant_type.afile}'
437 --threads "\${GALAXY_SLOTS:-4}"
438 ${quant_type.discardOrphans}
439 ${quant_type.noErrorModel}
440 #if $quant_type.numErrorBins:
441 --numErrorBins '${quant_type.numErrorBins}'
442 #end if
443 ${quant_type.sampleOut}
444 ${quant_type.sampleUnaligned}
445 ${quant_type.gencode}
446 ]]>
447 </token>
448 <token name="@salquant@"><![CDATA[
449 #if $geneMap:
450 --geneMap ./geneMap.${geneMap.ext}
451 #end if
452
453 ##Further basic options##
454
455 ${seqBias}
456 ${gcBias}
457 --incompatPrior '${incompatPrior}'
458 ${meta}
459
460 ##Advanced options##
461
462 ${adv.skipQuant}
463 ${adv.dumpEq}
464 ${adv.dumpEqWeights}
465 #if $adv.minAssignedFrags:
466 --minAssignedFrags '${adv.minAssignedFrags}'
467 #end if
468 #if $adv.biasSpeedSamp:
469 --biasSpeedSamp '${adv.biasSpeedSamp}'
470 #end if
471 #if $adv.fldMax:
472 --fldMax '${adv.fldMax}'
473 #end if
474 #if $adv.fldMean:
475 --fldMean '${adv.fldMean}'
476 #end if
477 #if $adv.fldSD:
478 --fldSD '${adv.fldSD}'
479 #end if
480 #if $adv.forgettingFactor:
481 --forgettingFactor '${adv.forgettingFactor}'
482 #end if
483 ${adv.initUniform}
484 #if str($adv.maxReadOcc):
485 --maxReadOcc '${adv.maxReadOcc}'
486 #end if
487 ${adv.noLengthCorrection}
488 ${adv.noEffectiveLengthCorrection}
489 ${adv.noFragLengthDist}
490 ${adv.noBiasLengthThreshold}
491 #if str($adv.numBiasSamples):
492 --numBiasSamples '${adv.numBiasSamples}'
493 #end if
494 #if str($adv.numAuxModelSamples):
495 --numAuxModelSamples '${adv.numAuxModelSamples}'
496 #end if
497 #if str($adv.numPreAuxModelSamples):
498 --numPreAuxModelSamples '${adv.numPreAuxModelSamples}'
499 #end if
500 ${adv.useEM}
501 #if $adv.rangeFactorizationBins:
502 --rangeFactorizationBins '${adv.rangeFactorizationBins}'
503 #end if
504 #if str($adv.numGibbsSamples):
505 --numGibbsSamples '${adv.numGibbsSamples}'
506 #end if
507 ${adv.noGammaDraw}
508 #if str($adv.numBootstraps):
509 --numBootstraps '${adv.numBootstraps}'
510 #end if
511 ${adv.bootstrapReproject}
512 #if $adv.thinningFactor:
513 --thinningFactor '${adv.thinningFactor}'
514 #end if
515 ${adv.perTranscriptPrior}
516 --sigDigits '${adv.sigDigits}'
517 #if $adv.vbPrior:
518 --vbPrior '${adv.vbPrior}'
519 #end if
520 ${adv.writeOrphanLinks}
521 ${adv.writeUnmappedNames}
522 -o ./output
523 ]]>
524 </token>
525 <token name="@qmerge@"><![CDATA[
526 #import re
527
528 #for $counter, $input_data in enumerate($quantfiles):
529 rank_of_series=$counter
530 mkdir ${counter}.quantmerge &&
531 ln -s $input_data.quants ${counter}.quantmerge/quant.sf &&
532 #end for
533 salmon quantmerge
534 --quants *.quantmerge
535 --names
536 #for $counter, $input_data in enumerate($quantfiles):
537 #if $input_data.names and re.sub(' ', '', '$input_data.names') != '':
538 '${input_data.names}'
539 #else:
540 #set $identifier=re.sub('[^\w\-\s]', '_', str($input_data.quants.element_identifier))
541 "$identifier"
542 #end if
543 #end for
544 --column '${column}'
545 ${genes}
546 #if $missing:
547 --missing '${missing}'
548 #end if
549 -o qmergeout.tab
550 ]]>
551 </token>
552 <token name="@salmonhelp@"><![CDATA[
553 Salmon is a lightweight method for quantifying transcript abundance from RNA–seq reads, combining a dual-phase parallel inference algorithm and feature-rich bias models with an ultra-fast read mapping procedure.
554
555 The salmon package contains 4 tools:
556
557 * Index: creates a salmon index
558
559 * Quant: quantifies a sample (Reads or mapping-based)
560
561 * Alevin: Single-cell analysis
562
563 * Quantmerge: Merges multiple quantifications into a single file
564
565 Galaxy divides these four into three separate tools in the IUC toolshed:
566
567 * Salmon quant
568
569 * Salmon quantmerge
570
571 * Alevin
572 ]]>
573 </token>
574 <token name="@alevinhelp@"><![CDATA[
575 Alevin is a tool — integrated with the salmon software — that introduces a family of algorithms for quantification and analysis of 3’ tagged-end single-cell sequencing data. Currently alevin supports the following two major droplet based single-cell protocols:
576
577 * Drop-seq
578
579 * 10x-Chromium v1/2/3
580
581 Alevin works under the same indexing scheme (as salmon) for the reference, and consumes the set of FASTA/Q files(s) containing the Cellular Barcode(CB) + Unique Molecule identifier (UMI) in one read file and the read sequence in the other. Given just the transcriptome and the raw read files, alevin generates a cell-by-gene count matrix (in a fraction of the time compared to other tools).
582
583 Alevin works in two phases. In the first phase it quickly parses the read file containing the CB and UMI information to generate the frequency distribution of all the observed CBs, and creates a lightweight data-structure for fast-look up and correction of the CB. In the second round, alevin utilizes the read-sequences contained in the files to map the reads to the transcriptome, identify potential PCR/sequencing errors in the UMIs, and performs hybrid de-duplication while accounting for UMI collisions. Finally, a post-abundance estimation CB whitelisting procedure is done and a cell-by-gene count matrix is generated.
584
585 For further information regarding the tool and its optional parameters, visit the `Alevin <https://salmon.readthedocs.io/en/latest/alevin.html?highlight=alevin>`__ and `Salmon <https://salmon.readthedocs.io/en/latest/index.html>`__ wikis.
586 ]]>
587 </token>
588 </macros>