comparison rg_rnaStar.xml @ 2:ace9f5a2b40f draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rgrnastar commit a89b30e7cbe4e7db22f36773112f7ed833285cb3
author iuc
date Fri, 05 Feb 2016 11:56:20 -0500
parents bc685d13b637
children 318b2a9d54dd
comparison
equal deleted inserted replaced
1:bc685d13b637 2:ace9f5a2b40f
1 <tool id="rna_star" name="RNA STAR" version="2.4.0d"> 1 <tool id="rna_star" name="RNA STAR" version="2.4.0d-2">
2 <description>Gapped-read mapper for RNA-seq data</description> 2 <description>Gapped-read mapper for RNA-seq data</description>
3 <requirements> 3 <requirements>
4 <requirement type="package" version="2.4.0d">rnastar</requirement> 4 <requirement type="package" version="2.4.0d">rnastar</requirement>
5 <requirement type="package" version="0.1.19">samtools</requirement> 5 <requirement type="package" version="0.1.19">samtools</requirement>
6 </requirements> 6 </requirements>
10 <regex match="\[sam_read1\] missing header\? Abort!" source="both" level="fatal"/> 10 <regex match="\[sam_read1\] missing header\? Abort!" source="both" level="fatal"/>
11 <regex match=".*" source="both" level="warning" description="Some stderr/stdout text"/> 11 <regex match=".*" source="both" level="warning" description="Some stderr/stdout text"/>
12 </stdio> 12 </stdio>
13 13
14 <command><![CDATA[ 14 <command><![CDATA[
15 ## 15 ## Create temporary index for custom reference
16 ## Run STAR.
17 ##
18 #if str($refGenomeSource.genomeSource) == 'history': 16 #if str($refGenomeSource.genomeSource) == 'history':
19 mkdir -p tempstargenomedir; STAR --runMode genomeGenerate --genomeDir "tempstargenomedir" --genomeFastaFiles "$refGenomeSource.ownFile" --runThreadN 2 17 mkdir -p tempstargenomedir &&
18 STAR
19 --runMode genomeGenerate
20 --genomeDir "tempstargenomedir"
21 --genomeFastaFiles "$refGenomeSource.ownFile"
22 --runThreadN \${GALAXY_SLOTS:-4}
23
20 #if str($refGenomeSource.geneModel) != 'None': 24 #if str($refGenomeSource.geneModel) != 'None':
21 --sjdbOverhang "100" --sjdbGTFfile "$refGenomeSource.geneModel" 25 --sjdbOverhang "$refGenomeSource.overhang"
22 #if str($refGenomeSource.geneModel.ext) == 'gff3': 26 --sjdbGTFfile "$refGenomeSource.geneModel"
23 --sjdbGTFtagExonParentTranscript Parent 27
24 #end if 28 #if str($refGenomeSource.geneModel.ext) == 'gff3':
29 --sjdbGTFtagExonParentTranscript Parent
30 #end if
25 #end if 31 #end if
26 ; 32 ;
27 #end if 33 #end if
34
35
36 ## Actual alignment
28 STAR 37 STAR
29 ## Can adjust this as appropriate for the system. 38 --runThreadN \${GALAXY_SLOTS:-4}
30 --genomeLoad NoSharedMemory 39 --genomeLoad NoSharedMemory
31 #if str($refGenomeSource.genomeSource) == 'history': 40 #if str($refGenomeSource.genomeSource) == 'history':
32 --genomeDir "tempstargenomedir" 41 --genomeDir "tempstargenomedir"
33 #else 42 #else
34 --genomeDir "$refGenomeSource.index.fields.path" 43 --genomeDir "$refGenomeSource.index.fields.path"
35 #end if 44 #end if
36 --readFilesIn $singlePaired.input1 45
37 #if str($singlePaired.sPaired) == "paired" 46 --readFilesIn
38 $singlePaired.input2 47 #if str($singlePaired.sPaired) == "paired_collection"
48 "$singlePaired.input.forward" "$singlePaired.input.reverse"
49 #else
50 "$singlePaired.input1"
51 #if str($singlePaired.sPaired) == "paired"
52 "$singlePaired.input2"
53 #end if
39 #end if 54 #end if
40 --runThreadN \${GALAXY_SLOTS:-4} 55
41 #if str($params.settingsType) == "full": 56 ## Output parameters
42 --chimSegmentMin $params.chim_segment_min 57 #if str( $output_params.output_select ) == "yes":
43 --chimScoreMin $params.chim_score_min 58 --outSAMattributes $output_params.outSAMattributes
44 --seedSearchStartLmax $params.seed_search_start_l_max 59 --outSAMstrandField $output_params.outSAMstrandField
45 --alignSJDBoverhangMin $params.align_sjdb_overhang_min 60 --outFilterIntronMotifs $output_params.outFilterIntronMotifs
46 --outFilterScoreMinOverLread $params.out_filter_score_min_over_l_read 61 #if str( $output_params.output_params2.output_select2 ) == "yes":
62 --outSAMunmapped $output_params.output_params2.unmapped_opt
63 --outSAMprimaryFlag $output_params.output_params2.primary_opt
64 --outSAMmapqUnique "$output_params.output_params2.unique"
65 --outFilterType $output_params.output_params2.sjfilter_opt
66 --outFilterMultimapScoreRange "$output_params.output_params2.multiScoreRange"
67 --outFilterMultimapNmax "$output_params.output_params2.multiNmax"
68 --outFilterMismatchNmax "$output_params.output_params2.mismatchNmax"
69 --outFilterMismatchNoverLmax "$output_params.output_params2.mismatchNoverLmax"
70 --outFilterMismatchNoverReadLmax "$output_params.output_params2.mismatchNoverReadLmax"
71 --outFilterScoreMin "$output_params.output_params2.scoreMin"
72 --outFilterScoreMinOverLread "$output_params.output_params2.scoreMinOverLread"
73 --outFilterMatchNmin "$output_params.output_params2.matchNmin"
74 --outFilterMatchNminOverLread "$output_params.output_params2.matchNminOverLread"
75 #end if
47 #end if 76 #end if
48 77
49 ## may or may not need to generate SAM tags and handle non-canonicals for Cufflinks tools. 78 ## Other parameters
50 $outSAMstrandField $outFilterIntronMotifs $outSAMattributes 79 #if str( $params.settingsType ) == "star_fusion":
51 80 ## Preset parameters for STAR-Fusion
52 ; 81 ## --twopass1readsN 100000000
53 ## 82 ## --sjdbOverhang 100
83 --outReadsUnmapped None
84 --chimSegmentMin 12
85 --chimJunctionOverhangMin 12
86 --alignSJDBoverhangMin 10
87 --alignMatesGapMax 200000
88 --alignIntronMax 200000
89 ## --chimSegmentReadGapMax 3 ## not an option in STAR 2.4.0
90 ## --alignSJstitchMismatchNmax 5 -1 5 5 ## not an option in STAR 2.4.0
91
92 #elif str( $params.settingsType ) == "full":
93 ## Extended parameter options
94
95 ## Seed parameter options
96 #if str( $params.seed.seed_select ) == "yes":
97 --seedSearchStartLmax "$params.seed.searchStart"
98 --seedSearchStartLmaxOverLread "$params.seed.searchStartNorm"
99 --seedSearchLmax "$params.seed.searchLmax"
100 --seedMultimapNmax "$params.seed.multimap"
101 --seedPerReadNmax "$params.seed.readMax"
102 --seedPerWindowNmax "$params.seed.windowMax"
103 --seedNoneLociPerWindow "$params.seed.oneSeed"
104 #end if
105
106 ## Alignment parameter options
107 #if str( $params.align.align_select ) == "yes":
108 --alignIntronMin "$params.align.intronMin"
109 --alignIntronMax "$params.align.intronMax"
110 --alignMatesGapMax "$params.align.gapMax"
111 --alignSJoverhangMin "$params.align.sjOverhang"
112 --alignSJDBoverhangMin "$params.align.sjdbOverhang"
113 --alignSplicedMateMapLmin "$params.align.splicedMate"
114 --alignSplicedMateMapLminOverLmate "$params.align.splicedMateNorm"
115 --alignWindowsPerReadNmax "$params.align.windows"
116 --alignTranscriptsPerWindowNmax "$params.align.transWindow"
117 --alignTranscriptsPerReadNmax "$params.align.transRead"
118 --alignEndsType $params.align.endsType_opt
119 #end if
120
121 ## Chimeric alignment parameter options
122 #if str( $params.chim.chim_select ) == "yes":
123 --chimSegmentMin "$params.chim.segmentMin"
124 --chimScoreMin "$params.chim.scoreMin"
125 --chimScoreDropMax "$params.chim.scoreDrop"
126 --chimScoreSeparation "$params.chim.scoreSep"
127 --chimScoreJunctionNonGTAG "$params.chim.scoreJunction"
128 --chimJunctionOverhangMin "$params.chim.junctionOverhang"
129 #end if
130
131 #end if
132
54 ## BAM conversion. 133 ## BAM conversion.
55 ## 134
56
57 ## Convert aligned reads. 135 ## Convert aligned reads.
58 samtools view -Shb Aligned.out.sam | samtools sort - AlignedSorted 2>/dev/null 136 && samtools view -@ \${GALAXY_SLOTS:-4} -Shb Aligned.out.sam | samtools sort -@ \${GALAXY_SLOTS:-4} - AlignedSorted 2>/dev/null
59 137
60 ## Convert chimeric reads. 138 ## Convert chimeric reads.
61 #if str($params.settingsType) == "full" and $params.chim_segment_min > 0: 139 #if str($params.settingsType) == "star_fusion" or ( str($params.settingsType) == "full" and str($params.chim.chim_select) == "yes" and int($params.chim.segmentMin) > 0 ):
62 ; samtools view -Shb Chimeric.out.sam | samtools sort - ChimericSorted 2>/dev/null 140 && samtools view -@ \${GALAXY_SLOTS:-4} -Shb Chimeric.out.sam | samtools sort -@ \${GALAXY_SLOTS:-4} - ChimericSorted 2>/dev/null
63 #end if 141 #end if
64 ]]></command> 142 ]]></command>
65 143
66 <inputs> 144 <inputs>
67 <param name="jobName" type="text" value="rna-star run" label="Job narrative (added to output names)"
68 help="Only letters, numbers and underscores (_) will be retained in this field">
69 <sanitizer invalid_char="">
70 <valid initial="string.letters,string.digits"><add value="_" /> </valid>
71 </sanitizer>
72 </param>
73 <!-- FASTQ input(s) and options specifically for paired-end data. --> 145 <!-- FASTQ input(s) and options specifically for paired-end data. -->
74 <conditional name="singlePaired"> 146 <conditional name="singlePaired">
75 <param name="sPaired" type="select" label="Single ended or mate-pair ended reads in this library?"> 147 <param name="sPaired" type="select" label="Single-end or paired-end reads">
76 <option value="single" selected="true">Single-end</option> 148 <option value="single" selected="true">Single-end</option>
77 <option value="paired">Paired-end</option> 149 <option value="paired">Paired-end (as individual datasets)</option>
150 <option value="paired_collection">Paired-end (as collection)</option>
78 </param> 151 </param>
79 <when value="single"> 152 <when value="single">
80 <param format="fastqsanger,fastq,fasta" name="input1" type="data" label="RNA-Seq FASTQ file" help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33"/> 153 <param format="fastq,fasta" name="input1" type="data" label="RNA-Seq FASTQ/FASTA file"/>
81 </when> 154 </when>
82 <when value="paired"> 155 <when value="paired">
83 <param format="fastqsanger,fastq,fasta" name="input1" type="data" label="RNA-Seq FASTQ file, forward reads" 156 <param format="fastq,fasta" name="input1" type="data" label="RNA-Seq FASTQ/FASTA file, forward reads"/>
84 help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33" /> 157 <param format="fastq,fasta" name="input2" type="data" label="RNA-Seq FASTQ/FASTA file, reverse reads"/>
85 <param format="fastqsanger,fastq,fasta" name="input2" type="data" label="RNA-Seq FASTQ file, reverse reads" 158 </when>
86 help="Nucleotide-space: Must have Sanger-scaled quality values with ASCII offset 33" /> 159 <when value="paired_collection">
160 <param format="fastq,fasta" name="input" type="data_collection" collection_type="paired" label="RNA-Seq FASTQ/FASTA paired reads"/>
87 </when> 161 </when>
88 </conditional> 162 </conditional>
89 163
90 <!-- Genome source. --> 164 <!-- Genome source. -->
91 <conditional name="refGenomeSource"> 165 <conditional name="refGenomeSource">
92 <param name="genomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options"> 166 <param name="genomeSource" type="select" label="Custom or built-in reference genome" help="Built-ins were indexed using default options">
93 <option value="indexed" selected="True">Use a built-in index</option> 167 <option value="indexed" selected="True">Use a built-in index</option>
94 <option value="history">Index and use a genome fasta file from my current history</option> 168 <option value="history">Index and use a genome fasta and GTF file from history</option>
95 </param> 169 </param>
96 <when value="indexed"> 170 <when value="indexed">
97 <param name="index" type="select" label="Select a reference genome"> 171 <param name="index" type="select" label="Select a reference genome">
98 <options from_data_table="rnastar_index"> 172 <options from_data_table="rnastar_index">
99 <filter type="sort_by" column="2"/> 173 <filter type="sort_by" column="2"/>
102 </param> 176 </param>
103 </when> 177 </when>
104 <when value="history"> 178 <when value="history">
105 <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select the reference genome" /> 179 <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select the reference genome" />
106 <param name="geneModel" type="data" format="gff3,gtf" label="Gene model (gff3,gtf) file for splice junctions. Leave blank for none" 180 <param name="geneModel" type="data" format="gff3,gtf" label="Gene model (gff3,gtf) file for splice junctions. Leave blank for none"
107 optional="true" help="Optional. If supplied, the index file will retain exon junction information for mapping splices" /> 181 optional="true" help="Optional. If supplied, the index file will retain exon junction information for mapping splices (--sjdbGTFfile)"/>
182 <param name="overhang" type="integer" min="0" value="100" label="Length of the genomic sequence around annotated junctions" help="Used in constructing the splice junctions database. Ideal value is ReadLength-1 (--sjdbOverhang)"/>
108 </when> 183 </when>
109 </conditional> 184 </conditional>
110 <param name="outSAMattributes" type="select" label="Include extra sam attributes for downstream processing"> 185
111 <option value="--outSAMattributes Standard">Standard - eg for old Samtools downstream</option> 186 <!-- Output parameter settings. -->
112 <option value="--outSAMattributes All" selected="true">All modern Samtools attributes - see below</option> 187 <conditional name="output_params">
188 <param name="output_select" type="select" label="Would you like to set output parameters (formatting and filtering)?">
189 <option value="no" selected="true">No</option>
190 <option value="yes">Yes</option>
191 </param>
192 <when value="yes">
193 <param name="outSAMattributes" type="select" label="Extra SAM attributes to include" help="See &quot;Extra SAM attributes&quot; below (--outSAMattributes)">
194 <option value="Standard" selected="true">Standard</option>
195 <option value="All">All</option>
196 <option value="None">None</option>
113 </param> 197 </param>
114 <param name="outSAMstrandField" type="select" label="Include extra sam attributes for downstream processing"> 198 <param name="outSAMstrandField" type="select" label="Include strand field flag XS" help="For Cufflinks compatibility with unstranded RNA-seq data, this option is required (--outSAMstrandField)">
115 <option value="--outSAMstrandField intronMotif" selected="true">Add XS for cufflinks</option> 199 <option value="None" selected="true">No</option>
116 <option value="">No XS added to sam output</option> 200 <option value="intronMotif">Yes -- and reads with inconsistent and/or non-canonical introns are filtered out</option>
117 </param> 201 </param>
118 <param name="outFilterIntronMotifs" type="select" label="Canonical junction preparation for unstranded data (--outFilterIntronMotifs)"> 202 <param name="outFilterIntronMotifs" type="select" label="Filter alignments containing non-canonical junctions" help="For Cufflinks compatibility, removing alignments with non-canonical junctions is recommended (--outFilterIntronMotifs)">
119 <option value="">No special handling - all non-canonical junctions passed through</option> 203 <option value="None" selected="true">No</option>
120 <option value="--outFilterIntronMotifs RemoveNoncanonical" selected="true">Remove all non-canonical junctions for eg cufflinks</option> 204 <option value="RemoveNoncanonical">Remove alignments with non-canonical junctions</option>
121 <option value="--outFilterIntronMotifs RemoveNoncanonicalUnannotated">Remove only unannotated non-canonical junctions for eg cufflinks</option> 205 <option value="RemoveNoncanonicalUnannotated">Remove alignments with unannotated non-canonical junctions</option>
122 </param> 206 </param>
123 <!-- Parameter settings. --> 207
208 <!-- Additional output parameter settings. -->
209 <conditional name="output_params2">
210 <param name="output_select2" type="select" label="Would you like to set additional output parameters (formatting and filtering)?">
211 <option value="no" selected="true">No</option>
212 <option value="yes">Yes</option>
213 </param>
214 <when value="yes">
215 <param name="unmapped_opt" type="boolean" truevalue="Within" falsevalue="None" checked="false" label="Would you like unmapped reads included in the SAM?" help="(--outSAMunmapped)"/>
216 <param name="primary_opt" type="boolean" truevalue="AllBestScore" falsevalue="OneBestScore" checked="false" label="Would you like all alignments with the best score labeled primary?" help="(--outSAMprimaryFlag)"/>
217 <param name="unique" type="integer" value="255" min="0" max="255" label="MAPQ value for unique mappers" help="(--outSAMmapqUnique)"/>
218 <param name="sjfilter_opt" type="boolean" truevalue="BySJout" falsevalue="Normal" checked="false" label="Would you like to keep only reads that contain junctions that passed filtering?" help="(--outFilterType)"/>
219 <param name="multiScoreRange" type="integer" value="1" min="0" label="Score range below the maximum score for multimapping alignments" help="(--outFilterMultimapScoreRange)"/>
220 <param name="multiNmax" type="integer" value="10" min="1" label="Maximum number of alignments to output a read's alignment results, plus 1" help="Reads with at least this number of alignments will have no alignments output (--outFilterMultimapNmax)"/>
221 <param name="mismatchNmax" type="integer" value="10" min="0" label="Maximum number of mismatches to output an alignment, plus 1" help="Alignments with at least this number of mismatches will not be output (--outFilterMismatchNmax)"/>
222 <param name="mismatchNoverLmax" type="float" value="0.3" min="0" max="1" label="Maximum ratio of mismatches to mapped length" help="Alignments with a mismatch ratio of at least this value will not be output (--outFilterMismatchNoverLmax)"/>
223 <param name="mismatchNoverReadLmax" type="float" value="1" min="0" max="1" label="Maximum ratio of mismatches to read length" help="Alignments with a mismatch ratio of at least this value will not be output (--outFilterMismatchNoverReadLmax)"/>
224 <param name="scoreMin" type="integer" value="0" min="0" label="Minimum alignment score" help="Alignments must have scores higher than this value to be output (--outFilterScoreMin)"/>
225 <param name="scoreMinOverLread" type="float" value="0.66" min="0" max="1" label="Minimum alignment score, normalized to read length" help="Alignments must have (normalized) scores higher than this value to be output (--outFilterScoreMinOverLread)"/>
226 <param name="matchNmin" type="integer" value="0" min="0" label="Minimum number of matched bases" help="Alignments must have the number of matched bases higher than this value to be output (--outFilterMatchNmin)"/>
227 <param name="matchNminOverLread" type="float" value="0.66" min="0" max="1" label="Minimum number of matched bases, normalized to read length" help="Alignments must have the (normalized) number of matched bases higher than this value to be output (--outFilterMatchNminOverLread)"/>
228 </when>
229 <when value="no"/>
230 </conditional>
231
232 </when>
233 <when value="no"/>
234 </conditional>
235
236 <!-- Other parameter settings. -->
124 <conditional name="params"> 237 <conditional name="params">
125 <param name="settingsType" type="select" label="Settings to use" help="You can use the default settings or set custom values for any STAR parameter."> 238 <param name="settingsType" type="select" label="Other parameters (seed, alignment, and chimeric alignment)">
126 <option value="preSet" selected="true">Use Defaults</option> 239 <option value="default" selected="true">Use Defaults</option>
127 <option value="full">Full parameter list</option> 240 <option value="star_fusion">Use parameters suggested for STAR-Fusion</option>
128 </param> 241 <option value="full">Extended parameter list</option>
129 <when value="preSet" /> 242 </param>
130 <!-- Full/advanced params. --> 243 <when value="default"/>
131 <when value="full"> 244 <when value="star_fusion"/> <!-- Set STAR-fusion parameters automatically -->
132 <param name="chim_segment_min" type="integer" min="0" value="0" label="Minimum chimeric segment length (--chimSegmentMin)" /> 245
133 <param name="chim_score_min" type="integer" min="0" value="0" label="Minimum total (summed) score of the chimeric segments (--chimScoreMin)" /> 246 <when value="full">
134 <param name="seed_search_start_l_max" type="integer" min="0" value="50" label="Defines the search start point through the read - the read is split into pieces no longer than this value (--seedSearchStartLmax)" /> 247
135 <param name="align_sjdb_overhang_min" type="integer" value="1" label="Minimum overhang for annotated junctions (--alignSJDBoverhangMin)" /> 248 <!-- Seed parameters -->
136 <param name="out_filter_score_min_over_l_read" type="float" value="0.66" label="OutFilterScoreMin normalized to read length; sum of mates’ lengths for paired-end reads (--outFilterScoreMinOverLread)" /> 249 <conditional name="seed">
137 </when> 250 <param name="seed_select" type="select" label="Would you like to set seed parameters?">
251 <option value="no" selected="true">No</option>
252 <option value="yes">Yes</option>
253 </param>
254 <when value="yes">
255 <param name="searchStart" type="integer" min="1" value="50" label="Search start point through the read" help="(--seedSearchStartLmax)"/>
256 <param name="searchStartNorm" type="float" min="0" value="1.0" label="Search start point through the read, normalized to read length" help="(--seedSearchStartLmaxOverLread)"/>
257 <param name="searchLmax" type="integer" min="0" value="0" label="Maximum length of seeds" help="Default of 0 indicates no maximum length (--seedSearchLmax)"/>
258 <param name="multimap" type="integer" min="1" value="10000" label="Maximum number of mappings to use a piece in stitching" help="(--seedMultimapNmax)"/>
259 <param name="readMax" type="integer" min="1" value="1000" label="Maximum number of seeds per read" help="(--seedPerReadNmax)"/>
260 <param name="windowMax" type="integer" min="1" value="50" label="Maximum number of seeds per window" help="(--seedPerWindowNmax)"/>
261 <param name="oneSeed" type="integer" min="1" value="10" label="Maximum number of one seed loci per window" help="(--seedNoneLociPerWindow)"/>
262 </when>
263 <when value="no"/>
264 </conditional>
265
266 <!-- Alignment parameters -->
267 <conditional name="align">
268 <param name="align_select" type="select" label="Would you like to set alignment parameters?">
269 <option value="no" selected="true">No</option>
270 <option value="yes">Yes</option>
271 </param>
272 <when value="yes">
273 <param name="intronMin" type="integer" min="0" value="21" label="Minimum intron size" help="(--alignIntronMin)"/>
274 <param name="intronMax" type="integer" min="0" value="0" label="Maximum intron size" help="(--alignIntronMax)"/>
275 <param name="gapMax" type="integer" min="0" value="0" label="Maximum gap between two mates" help="(--alignMatesGapMax)"/>
276 <param name="sjOverhang" type="integer" min="1" value="5" label="Minimum overhang for spliced alignments" help="(--alignSJoverhangMin)"/>
277 <param name="sjdbOverhang" type="integer" min="1" value="3" label="Minimum overhang for annotated spliced alignments" help="(--alignSJDBoverhangMin)"/>
278 <param name="splicedMate" type="integer" min="0" value="0" label="Minimum mapped length for a read mate that is spliced" help="(--alignSplicedMateMapLmin)"/>
279 <param name="splicedMateNorm" type="float" min="0" value="0.66" label="Minimum mapped length for a read mate that is spliced, normalized to mate length" help="(--alignSplicedMateMapLminOverLmate)"/>
280 <param name="windows" type="integer" min="1" value="10000" label="Maximum number of windows per read" help="(--alignWindowsPerReadNmax)"/>
281 <param name="transWindow" type="integer" min="1" value="100" label="Maximum number of transcripts per window" help="(--alignTranscriptsPerWindowNmax)"/>
282 <param name="transRead" type="integer" min="1" value="10000" label="Maximum number of different alignments per read to consider" help="(--alignTranscriptsPerReadNmax)"/>
283 <param name="endsType_opt" type="boolean" truevalue="EndToEnd" falsevalue="Local" checked="false" label="Use end-to-end read alignments, with no soft-clipping?" help="(--alignEndsType)"/>
284 </when>
285 <when value="no"/>
286 </conditional>
287
288 <!-- Chimeric alignment parameters -->
289 <conditional name="chim">
290 <param name="chim_select" type="select" label="Would you like to set chimeric alignment parameters?">
291 <option value="no" selected="true">No</option>
292 <option value="yes">Yes</option>
293 </param>
294 <when value="yes">
295 <param name="segmentMin" type="integer" min="0" value="0" label="Minimum length of chimeric segment" help="Default of 0 means no chimeric output (--chimSegmentMin)"/>
296 <param name="scoreMin" type="integer" min="0" value="0" label="Minimum total (summed) score of chimeric segments" help="(--chimScoreMin)"/>
297 <param name="scoreDrop" type="integer" min="0" value="20" label="Maximum difference of chimeric score from read length" help="(--chimScoreDropMax)"/>
298 <param name="scoreSep" type="integer" min="0" value="10" label="Minimum difference between the best chimeric score and the next one" help="(--chimScoreSeparation)"/>
299 <param name="scoreJunction" type="integer" value="-1" label="Penalty for a non-GT/AG chimeric junction" help="(--chimScoreJunctionNonGTAG)"/>
300 <param name="junctionOverhang" type="integer" min="0" value="20" label="Minimum overhang for a chimeric junction" help="(--chimJunctionOverhangMin)"/>
301 </when>
302 <when value="no"/>
303 </conditional>
304
305 </when>
138 </conditional> 306 </conditional>
307
139 </inputs> 308 </inputs>
140 309
141 <outputs> 310 <outputs>
142 <data format="txt" name="output_log" label="${jobName}.log" from_work_dir="Log.final.out"/> 311 <data format="txt" name="output_log" label="${tool.name} on ${on_string}: log" from_work_dir="Log.final.out"/>
143 <data format="interval" name="chimeric_junctions" label="${jobName}_starchimjunc.bed" from_work_dir="Chimeric.out.junction"> 312 <data format="interval" name="chimeric_junctions" label="${tool.name} on ${on_string}: starchimjunc" from_work_dir="Chimeric.out.junction">
144 <filter>(params['settingsType'] == 'full' and params['chim_segment_min'] > 0)</filter> 313 <filter>params['settingsType'] == "star_fusion" or ( params['settingsType'] == "full" and params['chim']['chim_select'] == "yes" and params['chim']['segmentMin'] > 0 )</filter>
145 <actions> 314 <actions>
146 <conditional name="refGenomeSource.genomeSource"> 315 <conditional name="refGenomeSource.genomeSource">
147 <when value="indexed"> 316 <when value="indexed">
148 <action type="metadata" name="dbkey"> 317 <action type="metadata" name="dbkey">
149 <option type="from_data_table" name="rnastar_index" column="1" offset="0"> 318 <option type="from_data_table" name="rnastar_index" column="1" offset="0">
150 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/> 319 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
151 <filter type="param_value" ref="refGenomeSource.index" column="0"/> 320 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
152 </option> 321 </option>
153 </action> 322 </action>
154 </when> 323 </when>
155 <when value="history"> 324 <when value="history">
156 <action type="metadata" name="dbkey"> 325 <action type="metadata" name="dbkey">
157 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" /> 326 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
158 </action> 327 </action>
159 </when> 328 </when>
160 </conditional> 329 </conditional>
161 </actions> 330 </actions>
162 </data>
163 <data format="bam" name="chimeric_reads" label="${jobName}_starmappedchim.bam"
164 from_work_dir="ChimericSorted.bam">
165 <filter>(params['settingsType'] == 'full' and params['chim_segment_min'] > 0)</filter>
166 <actions>
167 <conditional name="refGenomeSource.genomeSource">
168 <when value="indexed">
169 <action type="metadata" name="dbkey">
170 <option type="from_data_table" name="rnastar_index" column="1" offset="0">
171 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
172 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
173 </option>
174 </action>
175 </when>
176 <when value="history">
177 <action type="metadata" name="dbkey">
178 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
179 </action>
180 </when>
181 </conditional>
182 </actions>
183 </data> 331 </data>
184 <data format="interval" name="splice_junctions" label="${jobName}_starsplicejunct.bed" 332
185 from_work_dir="SJ.out.tab"> 333 <data format="bam" name="chimeric_reads" label="${tool.name} on ${on_string}: starmappedchim.bam" from_work_dir="ChimericSorted.bam">
186 <actions> 334 <filter>params['settingsType'] == "star_fusion" or ( params['settingsType'] == "full" and params['chim']['chim_select'] == "yes" and params['chim']['segmentMin'] > 0 )</filter>
187 <conditional name="refGenomeSource.genomeSource"> 335 <actions>
188 <when value="indexed"> 336 <conditional name="refGenomeSource.genomeSource">
189 <action type="metadata" name="dbkey"> 337 <when value="indexed">
190 <option type="from_data_table" name="rnastar_index" column="1" offset="0"> 338 <action type="metadata" name="dbkey">
191 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/> 339 <option type="from_data_table" name="rnastar_index" column="1" offset="0">
192 <filter type="param_value" ref="refGenomeSource.index" column="0"/> 340 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
193 </option> 341 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
194 </action> 342 </option>
195 </when> 343 </action>
196 <when value="history"> 344 </when>
197 <action type="metadata" name="dbkey"> 345 <when value="history">
198 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" /> 346 <action type="metadata" name="dbkey">
199 </action> 347 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
200 </when> 348 </action>
201 </conditional> 349 </when>
202 </actions> 350 </conditional>
351 </actions>
203 </data> 352 </data>
204 <data format="bam" name="mapped_reads" label="${jobName}_starmapped.bam" 353
205 from_work_dir="AlignedSorted.bam"> 354 <data format="interval" name="splice_junctions" label="${tool.name} on ${on_string}: starsplicejunct.bed" from_work_dir="SJ.out.tab">
206 <actions> 355 <actions>
207 <conditional name="refGenomeSource.genomeSource"> 356 <conditional name="refGenomeSource.genomeSource">
208 <when value="indexed"> 357 <when value="indexed">
209 <action type="metadata" name="dbkey"> 358 <action type="metadata" name="dbkey">
210 <option type="from_data_table" name="rnastar_index" column="1" offset="0"> 359 <option type="from_data_table" name="rnastar_index" column="1" offset="0">
211 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/> 360 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
212 <filter type="param_value" ref="refGenomeSource.index" column="0"/> 361 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
213 </option> 362 </option>
214 </action> 363 </action>
215 </when> 364 </when>
216 <when value="history"> 365 <when value="history">
217 <action type="metadata" name="dbkey"> 366 <action type="metadata" name="dbkey">
218 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" /> 367 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
219 </action> 368 </action>
220 </when> 369 </when>
221 </conditional> 370 </conditional>
222 </actions> 371 </actions>
372 </data>
373
374 <data format="bam" name="mapped_reads" label="${tool.name} on ${on_string}: starmapped.bam" from_work_dir="AlignedSorted.bam">
375 <actions>
376 <conditional name="refGenomeSource.genomeSource">
377 <when value="indexed">
378 <action type="metadata" name="dbkey">
379 <option type="from_data_table" name="rnastar_index" column="1" offset="0">
380 <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
381 <filter type="param_value" ref="refGenomeSource.index" column="0"/>
382 </option>
383 </action>
384 </when>
385 <when value="history">
386 <action type="metadata" name="dbkey">
387 <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
388 </action>
389 </when>
390 </conditional>
391 </actions>
223 </data> 392 </data>
224 </outputs> 393 </outputs>
394
225 <tests> 395 <tests>
226 <test> 396 <test>
227 <param name='input1' value='tophat_in2.fastqsanger' ftype='fastqsanger' /> 397 <param name="input1" value="tophat_in2.fastqsanger" ftype="fastqsanger" />
228 <param name='jobName' value='rnastar_test' /> 398 <param name="genomeSource" value="history" />
229 <param name='genomeSource' value='history' /> 399 <param name="ownFile" value="tophat_test.fa" />
230 <param name='ownFile' value='tophat_test.fa' /> 400 <param name="sPaired" value="single" />
231 <param name='sPaired' value='single' /> 401
232 <param name='outSAMattributes' value='--outSAMattributes All' /> 402 <param name="output_select" value="yes" />
233 <param name='outSAMstrandField' value='--outSAMstrandField intronMotif' /> 403 <param name="outSAMattributes" value="All" />
234 <param name='outFilterIntronMotifs' value='--outFilterIntronMotifs RemoveNoncanonical' /> 404 <param name="outSAMstrandField" value="intronMotif" />
235 405 <param name="settingsType" value="default" />
236 <output name='output_log' file='rnastar_test.log' compare='diff' lines_diff = '10'/> 406
237 <output name='splice_junctions' file="rnastar_test_splicejunctions.bed"/> 407 <output name="output_log" file="rnastar_test.log" compare="diff" lines_diff = "10"/>
238 <output name='mapped_reads' file="rnastar_test_mapped_reads.bam" compare="sim_size" delta="200" /> 408 <output name="splice_junctions" file="rnastar_test_splicejunctions.bed"/>
409 <output name="mapped_reads" file="rnastar_test_mapped_reads.bam" compare="sim_size" delta="200" />
239 </test> 410 </test>
240 <test> 411 <test>
241 <param name='input1' value='tophat_in2.fastqsanger' ftype='fastqsanger' /> 412 <param name="input1" value="tophat_in2.fastqsanger" ftype="fastqsanger" />
242 <param name='jobName' value='rnastar_test' /> 413 <param name="genomeSource" value="history" />
243 <param name='genomeSource' value='history' /> 414 <param name="ownFile" value="tophat_test.fa" />
244 <param name='ownFile' value='tophat_test.fa' /> 415 <param name="sPaired" value="single" />
245 <param name='sPaired' value='single' /> 416
246 <param name='outSAMattributes' value='--outSAMattributes All' /> 417 <param name="output_select" value="yes" />
247 <param name='outSAMstrandField' value='--outSAMstrandField intronMotif' /> 418 <param name="outSAMattributes" value="All" />
248 <param name='outFilterIntronMotifs' value='--outFilterIntronMotifs RemoveNoncanonical' /> 419 <param name="outSAMstrandField" value="intronMotif" />
249 420 <param name="outFilterIntronMotifs" value="RemoveNoncanonical" />
421
422 <param name="output_select2" value="yes" />
423 <param name="scoreMinOverLread" value="0.9" />
250 <param name="settingsType" value="full" /> 424 <param name="settingsType" value="full" />
251 425 <param name="seed_select" value="yes" />
252 <param name="chim_segment_min" value="0" /> 426 <param name="searchStart" value="25" />
253 <param name="chim_score_min" value="0" /> 427
254 <param name="seed_search_start_l_max" value="25" /> 428 <output name="output_log" file="rnastar_test2.log" compare="diff" lines_diff="10"/>
255 <param name="align_sjdb_overhang_min" value="3" /> 429 <output name="splice_junctions" file="rnastar_test2_splicejunctions.bed"/>
256 <param name="out_filter_score_min_over_l_read" value="0.9" /> 430 <output name="mapped_reads" file="rnastar_test2_mapped_reads.bam" compare="sim_size" delta="200" />
257
258 <output name='output_log' file='rnastar_test2.log' compare='diff' lines_diff = '10'/>
259 <output name='splice_junctions' file="rnastar_test2_splicejunctions.bed"/>
260 <output name='mapped_reads' file="rnastar_test2_mapped_reads.bam" compare="sim_size" delta="200" />
261 </test> 431 </test>
432
433 <test>
434 <param name="input1" value="test3.fastqsanger" ftype="fastqsanger" />
435 <param name="genomeSource" value="history" />
436 <param name="ownFile" value="test3.ref.fa" />
437 <param name="sPaired" value="single" />
438
439 <param name="output_select" value="yes" />
440 <param name="outSAMattributes" value="All" />
441 <param name="outSAMstrandField" value="intronMotif" />
442 <param name="settingsType" value="star_fusion" />
443
444 <output name="chimeric_junctions" file="test3.chimjunc.tabular"/>
445 </test>
446
447 <test>
448 <param name="input1" value="tophat_in2.fastqsanger" ftype="fastqsanger" />
449 <param name="genomeSource" value="history" />
450 <param name="ownFile" value="tophat_test.fa" />
451 <param name="sPaired" value="single" />
452
453 <param name="output_select" value="yes" />
454 <param name="outSAMattributes" value="All" />
455 <param name="outSAMstrandField" value="intronMotif" />
456 <param name="outFilterIntronMotifs" value="RemoveNoncanonical" />
457
458 <param name="output_select2" value="yes" />
459 <param name="settingsType" value="full" />
460 <param name="seed_select" value="yes" />
461 <param name="align_select" value="yes" />
462 <param name="chim_select" value="yes" />
463
464 <!-- Uses default settings, should be similar to test1, but tests the parameters -->
465 <output name="output_log" file="rnastar_test.log" compare="diff" lines_diff="10"/>
466 <output name="splice_junctions" file="rnastar_test_splicejunctions.bed"/>
467 <output name="mapped_reads" file="rnastar_test_mapped_reads.bam" compare="sim_size" delta="634" /><!-- header is 434 bytes larger -->
468 </test>
469
262 </tests> 470 </tests>
263 <help> 471 <help>
264 **What it does** 472 **What it does**
265 Runs the rna star gapped aligner. Suited to paired or single end rna-seq. 473
266 474 This tool runs STAR, an ultrafast universal RNA-seq aligner.
267 8.2: SAM alignments 475
268 476 **Extra SAM attributes**
269 The number of loci Nmap a read maps to (multi-mapping) is given by NH:i: field. 477
270 The mapping quality MAPQ (column 5) is 255 for uniquely mapping reads, and int(-10*log10(1-1/Nmap)) for 478 The Standard option includes the following four attributes::
271 multi-mapping reads. This scheme is same as the one used by Tophat and is compatible with Cufflinks. 479
272 480 NH: Number of reported alignments that contain the query in the current record.
273 For multi-mappers, all alignments except one are marked with 0x100 (secondary alignment) in the FLAG 481 HI: Query hit index, indicating the alignment record is the i-th one stored in SAM
274 column 2. The un-marked alignment is either the best one (i.e. highest scoring), or is randomly selected from 482 AS: Local alignment score (paired for paired-end reads)
275 the alignments of equal quality. 483 nM: Number of mismatches per (paired) alignment
276 484
277 8.2.1: Standard SAM attributes 485 The All option includes the Standard attributes, plus the following four::
278 With default --outSAMattributes Standard option the following SAM attributes will be generated: 486
279 487 NM: Edit distance to the reference, including ambiguous bases but excluding clipping
280 Column 12: NH: number of loci a read (pair) maps to 488 MD: String for mismatching positions
281 Column 13: IH: alignment index for all alignments of a read 489 jM: Intron motifs for all junctions
282 Column 14: aS: alignment score 490 jI: Start and end of introns for all junctions
283 Column 15: nM: number of mismatches (does not include indels) 491
284 492 **STAR-Fusion**
285 8.2.2: Extra SAM attrbiutes 493
286 If --outSAMattributes All option is used, the following additional attributes will be output: 494 STAR-Fusion_ is used to identify candidate fusion transcripts. The recommended_ parameters for running
287 495 STAR prior to STAR-Fusion can be pre-selected, with the following exceptions::
288 Column 16: jM:B:c,M1,M2,... Intron motifs for all junctions (i.e. N in CIGAR): 496
289 0: non-canonical; 1:GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6: GT/AT. 497 --twopassMode Basic # not an option in STAR 2.4.0
290 498 --chimSegmentReadGapMax 3 # not an option in STAR 2.4.0
291 If splice junctions database is used, and a junction is annotated, 20 is added to its motif value. 499 --alignSJstitchMismatchNmax 5 -1 5 5 # not an option in STAR 2.4.0
292 Column 17: jI:B:I,Start1,End1,Start2,End2,... Start and End of introns for all junctions (1-based)
293
294 Note, that samtools 0.1.18 or later have to be used with these extra attributes.
295
296
297 8.2.3: XS SAM strand attribute for Cufflinks/Cuffdiff
298
299 If you have un-stranded RNA-seq data, and wish to run Cufflinks/Cuffdiff on STAR alignments, you will
300 need to run STAR with --outSAMstrandField intronMotif option, which will generate the XS
301 strand attribute for all alignments that contain splice junctions. The spliced alignments that have undefined
302 strand (i.e. containing only non-canonical junctions) will be suppressed.
303
304 If you have stranded RNA-seq data, you do not need to use any specific STAR options. Instead, you need
305 to run Cufflinks with the library option --library-type options. For example, cufflinks with
306 library-type fr-firststrand should be used for the b
307
308 It is recommended to remove the non-canonical junctions for Cufflinks runs using b
309
310
311 --outFilterIntronMotifs RemoveNoncanonical
312 filter out alignments that contain non-canonical junctions
313
314 OR
315
316 --outFilterIntronMotifs RemoveNoncanonicalUnannotated
317 filter out alignments that contain non-canonical unannotated junctions
318 when using annotated splice junctions database. The annotated non-
319 canonical junctions will be kept.
320
321 500
322 **Attributions** 501 **Attributions**
323 502
324 Note that each component has its own license: 503 Note that each component has its own license:
325 - RNA STAR: GPLv3 504 - RNA STAR: GPLv3
339 and odds and ends of other code and documentation comprising this tool was 518 and odds and ends of other code and documentation comprising this tool was
340 written by Ross Lazarus and that part is licensed_ the same way as other rgenetics artefacts 519 written by Ross Lazarus and that part is licensed_ the same way as other rgenetics artefacts
341 520
342 .. _STAR: https://bitbucket.org/jgoecks/jeremys-code/raw/fa1930a689b8e2f6b59cc1706e5ba0ed8ad357be/galaxy/tool-wrappers/star.xml 521 .. _STAR: https://bitbucket.org/jgoecks/jeremys-code/raw/fa1930a689b8e2f6b59cc1706e5ba0ed8ad357be/galaxy/tool-wrappers/star.xml
343 .. _licensed: http://creativecommons.org/licenses/by-nc-nd/3.0/ 522 .. _licensed: http://creativecommons.org/licenses/by-nc-nd/3.0/
523 .. _STAR-Fusion: https://github.com/STAR-Fusion/STAR-Fusion
524 .. _recommended: https://github.com/STAR-Fusion/STAR-Fusion/wiki#alternatively-running-star-yourself-and-then-running-star-fusion-using-the-existing-outputs
344 .. _rna_star: https://github.com/alexdobin/STAR 525 .. _rna_star: https://github.com/alexdobin/STAR
345 .. _rna_starMS: http://bioinformatics.oxfordjournals.org/content/29/1/15.full 526 .. _rna_starMS: http://bioinformatics.oxfordjournals.org/content/29/1/15.full
346 .. _Galaxy: http://getgalaxy.org 527 .. _Galaxy: http://getgalaxy.org
347
348 </help> 528 </help>
349 <citations> 529 <citations>
350 <citation type="doi">10.1093/bioinformatics/bts635</citation> 530 <citation type="doi">10.1093/bioinformatics/bts635</citation>
351 </citations> 531 </citations>
352 </tool> 532 </tool>
353