Convert App or a CWL JSON file to Tool or Flow object

convert_app(from)

appType(x)

Arguments

from

an App object or a CWL JSON

x

a App object

Value

Tool or Flow object depends on CWL type.

Details

This function import CWL JSON file, based on its class: CommandLineTool or Worklfow to relevant object in R, Tool object or Flow object.

appType

this function return class of a App object.

Examples

tool.in <- system.file("extdata/app", "tool_star.json", package = "sevenbridges") flow.in <- system.file("extdata/app", "flow_star.json", package = "sevenbridges") # convert to Tool object convert_app(tool.in)
#> sbg:validationErrors: [] #> sbg:sbgMaintained: no #> sbg:latestRevision: 4 #> sbg:job: #> allocatedResources: #> mem: 60000 #> cpu: 15 #> inputs: #> alignWindowsPerReadNmax: 0 #> outSAMheaderPG: outSAMheaderPG #> GENOME_DIR_NAME: '' #> outFilterMatchNminOverLread: 0 #> rg_platform_unit_id: rg_platform_unit #> readMapNumber: 0 #> alignSplicedMateMapLminOverLmate: 0 #> alignMatesGapMax: 0 #> outFilterMultimapNmax: 0 #> clip5pNbases: #> - 0 #> outSAMstrandField: None #> readMatesLengthsIn: NotEqual #> outSAMattributes: Standard #> seedMultimapNmax: 0 #> rg_mfl: rg_mfl #> chimSegmentMin: 0 #> winAnchorDistNbins: 0 #> outSortingType: SortedByCoordinate #> outFilterMultimapScoreRange: 0 #> sjdbInsertSave: Basic #> clip3pAfterAdapterNbases: #> - 0 #> twopassMode: Basic #> outFilterMatchNmin: 0 #> twopass1readsN: 0 #> outSAMunmapped: None #> genome: #> size: 0 #> secondaryFiles: [] #> class: File #> path: genome.ext #> sjdbGTFtagExonParentTranscript: '' #> limitBAMsortRAM: 0 #> alignEndsType: Local #> seedNoneLociPerWindow: 0 #> rg_sample_id: rg_sample #> sjdbGTFtagExonParentGene: '' #> chimScoreMin: 0 #> outSJfilterIntronMaxVsReadN: #> - 0 #> alignSplicedMateMapLmin: 0 #> seedSearchStartLmaxOverLread: 0 #> outSJfilterCountTotalMin: #> - 3 #> - 1 #> - 1 #> - 1 #> outSAMorder: Paired #> outSAMflagAND: 0 #> scoreDelBase: 0 #> alignIntronMax: 0 #> alignSJoverhangMin: 0 #> outFilterScoreMin: 0 #> outSAMtype: BAM #> seedSearchStartLmax: 0 #> scoreGapGCAG: 0 #> scoreGenomicLengthLog2scale: 0 #> outFilterIntronMotifs: None #> quantTranscriptomeBan: IndelSoftclipSingleend #> reads: #> - size: 0 #> secondaryFiles: [] #> class: File #> metadata: #> format: fastq #> paired_end: '1' #> seq_center: illumina #> path: /test-data/mate_1.fastq.bz2 #> scoreGap: 0 #> outSJfilterOverhangMin: #> - 30 #> - 12 #> - 12 #> - 12 #> outSAMflagOR: 0 #> outSAMmode: Full #> sjdbScore: ~ #> winFlankNbins: 0 #> chimScoreJunctionNonGTAG: 0 #> clip3pAdapterSeq: #> - clip3pAdapterSeq #> chimScoreDropMax: 0 #> scoreGapATAC: 0 #> rg_platform: Ion Torrent PGM #> clip3pAdapterMMp: #> - 0 #> sjdbGTFfeatureExon: '' #> outQSconversionAdd: 0 #> alignSoftClipAtReferenceEnds: 'Yes' #> quantMode: TranscriptomeSAM #> alignIntronMin: 0 #> scoreInsBase: 0 #> outSAMreadID: Standard #> scoreGapNoncan: 0 #> seedSearchLmax: 0 #> outSJfilterDistToOtherSJmin: #> - 0 #> outFilterScoreMinOverLread: 0 #> alignSJDBoverhangMin: 0 #> limitOutSJcollapsed: 0 #> winAnchorMultimapNmax: 0 #> outFilterMismatchNoverLmax: 0 #> rg_seq_center: '' #> outSAMheaderHD: outSAMheaderHD #> chimOutType: Within #> outFilterMismatchNmax: 0 #> limitOutSJoneRead: 0 #> alignTranscriptsPerWindowNmax: 0 #> sjdbOverhang: ~ #> outReadsUnmapped: Fastx #> scoreStitchSJshift: 0 #> seedPerWindowNmax: 0 #> outSJfilterCountUniqueMin: #> - 3 #> - 1 #> - 1 #> - 1 #> scoreDelOpen: 0 #> sjdbGTFfile: #> - path: /demo/test-data/chr20.gtf #> clip3pNbases: #> - 0 #> - 3 #> winBinNbits: 0 #> outFilterType: Normal #> outSJfilterReads: All #> chimScoreSeparation: 0 #> seedPerReadNmax: 0 #> outFilterMismatchNoverReadLmax: 0 #> rg_library_id: '' #> sjdbGTFchrPrefix: chrPrefix #> outSAMprimaryFlag: OneBestScore #> alignTranscriptsPerReadNmax: 0 #> scoreInsOpen: 0 #> chimJunctionOverhangMin: 0 #> limitSjdbInsertNsj: 0 #> outSAMmapqUnique: 0 #> sbg:toolAuthor: Alexander Dobin/CSHL #> sbg:createdOn: 1453799778 #> sbg:categories: #> - Alignment #> sbg:contributors: #> - sevenbridges #> sbg:links: #> - id: https://github.com/alexdobin/STAR #> label: Homepage #> - id: https://github.com/alexdobin/STAR/releases #> label: Releases #> - id: https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf #> label: Manual #> - id: https://groups.google.com/forum/#!forum/rna-star #> label: Support #> - id: http://www.ncbi.nlm.nih.gov/pubmed/23104886 #> label: Publication #> sbg:project: sevenbridges/public-apps #> sbg:createdBy: sevenbridges #> sbg:toolkitVersion: 2.4.2a #> sbg:id: https://api.sbgenomics.com/v2/apps/sevenbridges/public-apps/star/4/raw/ #> sbg:license: GNU General Public License v3.0 only #> sbg:revision: 4 #> sbg:cmdPreview: tar -xvf genome.ext && /opt/STAR --runThreadN 15 --readFilesCommand #> bzcat --sjdbGTFfile /demo/test-data/chr20.gtf --sjdbGTFchrPrefix chrPrefix --sjdbInsertSave #> Basic --twopass1readsN 0 --chimOutType WithinBAM --outSAMattrRGline ID:1 CN:illumina #> PI:rg_mfl PL:Ion_Torrent_PGM PU:rg_platform_unit SM:rg_sample --quantMode TranscriptomeSAM #> --outFileNamePrefix ./mate_1.fastq.bz2. --readFilesIn /test-data/mate_1.fastq.bz2 && #> tar -vcf mate_1.fastq.bz2._STARgenome.tar ./mate_1.fastq.bz2._STARgenome && mv #> mate_1.fastq.bz2.Unmapped.out.mate1 mate_1.fastq.bz2.Unmapped.out.mate1.fastq #> sbg:modifiedOn: 1462904151 #> sbg:modifiedBy: sevenbridges #> sbg:revisionsInfo: #> - sbg:modifiedBy: sevenbridges #> sbg:modifiedOn: 1453799778 #> sbg:revision: 0 #> - sbg:modifiedBy: sevenbridges #> sbg:modifiedOn: 1453799780 #> sbg:revision: 1 #> - sbg:modifiedBy: sevenbridges #> sbg:modifiedOn: 1453799782 #> sbg:revision: 2 #> - sbg:modifiedBy: sevenbridges #> sbg:modifiedOn: 1462904151 #> sbg:revision: 3 #> - sbg:modifiedBy: sevenbridges #> sbg:modifiedOn: 1462904151 #> sbg:revision: 4 #> sbg:toolkit: STAR #> id: https://api.sbgenomics.com/v2/apps/sevenbridges/public-apps/star/4/raw/ #> inputs: #> - type: #> - items: File #> type: array #> label: Read sequence #> description: Read sequence. #> streamable: no #> id: '#reads' #> inputBinding: #> position: 10 #> separate: yes #> itemSeparator: ' ' #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\t\n var list = [].concat($job.inputs.reads)\n \n var resp = []\n #> \ \n if (list.length == 1){\n resp.push(list[0].path)\n \n }else if #> (list.length == 2){ \n \n left = \"\"\n right = \"\"\n \n #> \ for (index = 0; index < list.length; ++index) {\n \n if (list[index].metadata #> != null){\n if (list[index].metadata.paired_end == 1){\n left #> = list[index].path\n }else if (list[index].metadata.paired_end == 2){\n #> \ right = list[index].path\n }\n }\n }\n \n if #> (left != \"\" && right != \"\"){ \n resp.push(left)\n resp.push(right)\n #> \ }\n }\n else if (list.length > 2){\n left = []\n right = []\n #> \ \n for (index = 0; index < list.length; ++index) {\n \n if #> (list[index].metadata != null){\n if (list[index].metadata.paired_end #> == 1){\n left.push(list[index].path)\n }else if (list[index].metadata.paired_end #> == 2){\n right.push(list[index].path)\n }\n }\n }\n #> \ left_join = left.join()\n right_join = right.join()\n if (left != #> [] && right != []){ \n resp.push(left_join)\n resp.push(right_join)\n #> \ }\t\n }\n \n if(resp.length > 0){ \n return \"--readFilesIn \".concat(resp.join(\" #> \"))\n }\n}" #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Basic #> sbg:fileTypes: FASTA, FASTQ, FA, FQ, FASTQ.GZ, FQ.GZ, FASTQ.BZ2, FQ.BZ2 #> required: yes #> - type: #> - 'null' #> - name: readMatesLengthsIn #> symbols: #> - NotEqual #> - Equal #> type: enum #> label: Reads lengths #> description: Equal/Not equal - lengths of names, sequences, qualities for both mates #> are the same/not the same. "Not equal" is safe in all situations. #> streamable: no #> id: '#readMatesLengthsIn' #> inputBinding: #> position: 0 #> prefix: --readMatesLengthsIn #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: NotEqual #> required: no #> - type: #> - 'null' #> - int #> label: Reads to map #> description: Number of reads to map from the beginning of the file. #> streamable: no #> id: '#readMapNumber' #> inputBinding: #> position: 0 #> prefix: --readMapNumber #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '-1' #> required: no #> - type: #> - 'null' #> - int #> label: Junctions max number #> description: Max number of junctions for one read (including all multi-mappers). #> streamable: no #> id: '#limitOutSJoneRead' #> inputBinding: #> position: 0 #> prefix: --limitOutSJoneRead #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '1000' #> required: no #> - type: #> - 'null' #> - int #> label: Collapsed junctions max number #> description: Max number of collapsed junctions. #> streamable: no #> id: '#limitOutSJcollapsed' #> inputBinding: #> position: 0 #> prefix: --limitOutSJcollapsed #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '1000000' #> required: no #> - type: #> - 'null' #> - name: outReadsUnmapped #> symbols: #> - None #> - Fastx #> type: enum #> label: Output unmapped reads #> description: 'Output of unmapped reads (besides SAM). None: no output; Fastx: output #> in separate fasta/fastq files, Unmapped.out.mate1/2.' #> streamable: no #> id: '#outReadsUnmapped' #> inputBinding: #> position: 0 #> prefix: --outReadsUnmapped #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - int #> label: Quality conversion #> description: Add this number to the quality score (e.g. to convert from Illumina #> to Sanger, use -31). #> streamable: no #> id: '#outQSconversionAdd' #> inputBinding: #> position: 0 #> prefix: --outQSconversionAdd #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - name: outSAMtype #> symbols: #> - SAM #> - BAM #> type: enum #> label: Output format #> description: Format of output alignments. #> streamable: no #> id: '#outSAMtype' #> inputBinding: #> position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> SAM_type = $job.inputs.outSAMtype #> SORT_type = $job.inputs.outSortingType #> if (SAM_type && SORT_type) { #> return "--outSAMtype ".concat(SAM_type, " ", SORT_type) #> } #> } #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: SAM #> required: no #> - type: #> - 'null' #> - name: outSortingType #> symbols: #> - Unsorted #> - SortedByCoordinate #> - Unsorted SortedByCoordinate #> type: enum #> label: Output sorting type #> description: Type of output sorting. #> streamable: no #> id: '#outSortingType' #> sbg:category: Output #> sbg:toolDefaultValue: SortedByCoordinate #> required: no #> - type: #> - 'null' #> - name: outSAMmode #> symbols: #> - Full #> - NoQS #> type: enum #> label: SAM mode #> description: 'Mode of SAM output. Full: full SAM output; NoQS: full SAM but without #> quality scores.' #> streamable: no #> id: '#outSAMmode' #> inputBinding: #> position: 0 #> prefix: --outSAMmode #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Full #> required: no #> - type: #> - 'null' #> - name: outSAMstrandField #> symbols: #> - None #> - intronMotif #> type: enum #> label: Strand field flag #> description: 'Cufflinks-like strand field flag. None: not used; intronMotif: strand #> derived from the intron motif. Reads with inconsistent and/or non-canonical introns #> are filtered out.' #> streamable: no #> id: '#outSAMstrandField' #> inputBinding: #> position: 0 #> prefix: --outSAMstrandField #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - name: outSAMattributes #> symbols: #> - Standard #> - NH #> - All #> - None #> type: enum #> label: SAM attributes #> description: 'Desired SAM attributes, in the order desired for the output SAM. NH: #> any combination in any order; Standard: NH HI AS nM; All: NH HI AS nM NM MD jM #> jI; None: no attributes.' #> streamable: no #> id: '#outSAMattributes' #> inputBinding: #> position: 0 #> prefix: --outSAMattributes #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Standard #> required: no #> - type: #> - 'null' #> - name: outSAMunmapped #> symbols: #> - None #> - Within #> type: enum #> label: Write unmapped in SAM #> description: 'Output of unmapped reads in the SAM format. None: no output Within: #> output unmapped reads within the main SAM file (i.e. Aligned.out.sam).' #> streamable: no #> id: '#outSAMunmapped' #> inputBinding: #> position: 0 #> prefix: --outSAMunmapped #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - name: outSAMorder #> symbols: #> - Paired #> - PairedKeepInputOrder #> type: enum #> label: Sorting in SAM #> description: 'Type of sorting for the SAM output. Paired: one mate after the other #> for all paired alignments; PairedKeepInputOrder: one mate after the other for #> all paired alignments, the order is kept the same as in the input FASTQ files.' #> streamable: no #> id: '#outSAMorder' #> inputBinding: #> position: 0 #> prefix: --outSAMorder #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Paired #> required: no #> - type: #> - 'null' #> - name: outSAMprimaryFlag #> symbols: #> - OneBestScore #> - AllBestScore #> type: enum #> label: Primary alignments #> description: 'Which alignments are considered primary - all others will be marked #> with 0x100 bit in the FLAG. OneBestScore: only one alignment with the best score #> is primary; AllBestScore: all alignments with the best score are primary.' #> streamable: no #> id: '#outSAMprimaryFlag' #> inputBinding: #> position: 0 #> prefix: --outSAMprimaryFlag #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: OneBestScore #> required: no #> - type: #> - 'null' #> - name: outSAMreadID #> symbols: #> - Standard #> - Number #> type: enum #> label: Read ID #> description: 'Read ID record type. Standard: first word (until space) from the FASTx #> read ID line, removing /1,/2 from the end; Number: read number (index) in the #> FASTx file.' #> streamable: no #> id: '#outSAMreadID' #> inputBinding: #> position: 0 #> prefix: --outSAMreadID #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Standard #> required: no #> - type: #> - 'null' #> - int #> label: MAPQ value #> description: MAPQ value for unique mappers (0 to 255). #> streamable: no #> id: '#outSAMmapqUnique' #> inputBinding: #> position: 0 #> prefix: --outSAMmapqUnique #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '255' #> required: no #> - type: #> - 'null' #> - int #> label: OR SAM flag #> description: Set specific bits of the SAM FLAG. #> streamable: no #> id: '#outSAMflagOR' #> inputBinding: #> position: 0 #> prefix: --outSAMflagOR #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: AND SAM flag #> description: Set specific bits of the SAM FLAG. #> streamable: no #> id: '#outSAMflagAND' #> inputBinding: #> position: 0 #> prefix: --outSAMflagAND #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '65535' #> required: no #> - type: #> - 'null' #> - string #> label: SAM header @HD #> description: '@HD (header) line of the SAM header.' #> streamable: no #> id: '#outSAMheaderHD' #> inputBinding: #> position: 0 #> prefix: --outSAMheaderHD #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - string #> label: SAM header @PG #> description: Extra @PG (software) line of the SAM header (in addition to STAR). #> streamable: no #> id: '#outSAMheaderPG' #> inputBinding: #> position: 0 #> prefix: --outSAMheaderPG #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - string #> label: Sequencing center #> description: Specify the sequencing center for RG line. #> streamable: no #> id: '#rg_seq_center' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Library ID #> description: Specify the library ID for RG line. #> streamable: no #> id: '#rg_library_id' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Median fragment length #> description: Specify the median fragment length for RG line. #> streamable: no #> id: '#rg_mfl' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - name: rg_platform #> symbols: #> - LS 454 #> - Helicos #> - Illumina #> - ABI SOLiD #> - Ion Torrent PGM #> - PacBio #> type: enum #> label: Platform #> description: Specify the version of the technology that was used for sequencing #> or assaying. #> streamable: no #> id: '#rg_platform' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Platform unit ID #> description: Specify the platform unit ID for RG line. #> streamable: no #> id: '#rg_platform_unit_id' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Sample ID #> description: Specify the sample ID for RG line. #> streamable: no #> id: '#rg_sample_id' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - name: outFilterType #> symbols: #> - Normal #> - BySJout #> type: enum #> label: Filtering type #> description: 'Type of filtering. Normal: standard filtering using only current alignment; #> BySJout: keep only those reads that contain junctions that passed filtering into #> SJ.out.tab.' #> streamable: no #> id: '#outFilterType' #> inputBinding: #> position: 0 #> prefix: --outFilterType #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: Normal #> required: no #> - type: #> - 'null' #> - int #> label: Multimapping score range #> description: The score range below the maximum score for multimapping alignments. #> streamable: no #> id: '#outFilterMultimapScoreRange' #> inputBinding: #> position: 0 #> prefix: --outFilterMultimapScoreRange #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '1' #> required: no #> - type: #> - 'null' #> - int #> label: Max number of mappings #> description: Read alignments will be output only if the read maps fewer than this #> value, otherwise no alignments will be output. #> streamable: no #> id: '#outFilterMultimapNmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMultimapNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - int #> label: Max number of mismatches #> description: Alignment will be output only if it has fewer mismatches than this #> value. #> streamable: no #> id: '#outFilterMismatchNmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMismatchNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - float #> label: Mismatches to *mapped* length #> description: Alignment will be output only if its ratio of mismatches to *mapped* #> length is less than this value. #> streamable: no #> id: '#outFilterMismatchNoverLmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMismatchNoverLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0.3' #> required: no #> - type: #> - 'null' #> - float #> label: Mismatches to *read* length #> description: Alignment will be output only if its ratio of mismatches to *read* #> length is less than this value. #> streamable: no #> id: '#outFilterMismatchNoverReadLmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMismatchNoverReadLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '1' #> required: no #> - type: #> - 'null' #> - int #> label: Min score #> description: Alignment will be output only if its score is higher than this value. #> streamable: no #> id: '#outFilterScoreMin' #> inputBinding: #> position: 0 #> prefix: --outFilterScoreMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - float #> label: Min score normalized #> description: '''Minimum score'' normalized to read length (sum of mates'' lengths #> for paired-end reads).' #> streamable: no #> id: '#outFilterScoreMinOverLread' #> inputBinding: #> position: 0 #> prefix: --outFilterScoreMinOverLread #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0.66' #> required: no #> - type: #> - 'null' #> - int #> label: Min matched bases #> description: Alignment will be output only if the number of matched bases is higher #> than this value. #> streamable: no #> id: '#outFilterMatchNmin' #> inputBinding: #> position: 0 #> prefix: --outFilterMatchNmin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - float #> label: Min matched bases normalized #> description: '''Minimum matched bases'' normalized to read length (sum of mates #> lengths for paired-end reads).' #> streamable: no #> id: '#outFilterMatchNminOverLread' #> inputBinding: #> position: 0 #> prefix: --outFilterMatchNminOverLread #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0.66' #> required: no #> - type: #> - 'null' #> - name: outFilterIntronMotifs #> symbols: #> - None #> - RemoveNoncanonical #> - RemoveNoncanonicalUnannotated #> type: enum #> label: Motifs filtering #> description: 'Filter alignment using their motifs. None: no filtering; RemoveNoncanonical: #> filter out alignments that contain non-canonical junctions; RemoveNoncanonicalUnannotated: #> filter out alignments that contain non-canonical unannotated junctions when using #> annotated splice junctions database. The annotated non-canonical junctions will #> be kept.' #> streamable: no #> id: '#outFilterIntronMotifs' #> inputBinding: #> position: 0 #> prefix: --outFilterIntronMotifs #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - name: outSJfilterReads #> symbols: #> - All #> - Unique #> type: enum #> label: Collapsed junctions reads #> description: 'Which reads to consider for collapsed splice junctions output. All: #> all reads, unique- and multi-mappers; Unique: uniquely mapping reads only.' #> streamable: no #> id: '#outSJfilterReads' #> inputBinding: #> position: 0 #> prefix: --outSJfilterReads #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: All #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min overhang SJ #> description: Minimum overhang length for splice junctions on both sides for each #> of the motifs. To set no output for desired motif, assign -1 to the corresponding #> field. Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterOverhangMin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterOverhangMin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 30 12 12 12 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min unique count #> description: Minimum uniquely mapping read count per junction for each of the motifs. #> To set no output for desired motif, assign -1 to the corresponding field. Junctions #> are output if one of --outSJfilterCountUniqueMin OR --outSJfilterCountTotalMin #> conditions are satisfied. Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterCountUniqueMin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterCountUniqueMin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 3 1 1 1 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min total count #> description: Minimum total (multi-mapping+unique) read count per junction for each #> of the motifs. To set no output for desired motif, assign -1 to the corresponding #> field. Junctions are output if one of --outSJfilterCountUniqueMin OR --outSJfilterCountTotalMin #> conditions are satisfied. Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterCountTotalMin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterCountTotalMin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 3 1 1 1 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min distance to other donor/acceptor #> description: Minimum allowed distance to other junctions' donor/acceptor for each #> of the motifs (int >= 0). Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterDistToOtherSJmin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterDistToOtherSJmin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 10 0 5 10 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Max gap allowed #> description: 'Maximum gap allowed for junctions supported by 1,2,3...N reads (int #> >= 0) i.e. by default junctions supported by 1 read can have gaps <=50000b, by #> 2 reads: <=100000b, by 3 reads: <=200000. By 4 or more reads: any gap <=alignIntronMax. #> Does not apply to annotated junctions.' #> streamable: no #> id: '#outSJfilterIntronMaxVsReadN' #> inputBinding: #> position: 0 #> prefix: --outSJfilterIntronMaxVsReadN #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 50000 100000 200000 #> required: no #> - type: #> - 'null' #> - int #> label: Gap open penalty #> description: Gap open penalty. #> streamable: no #> id: '#scoreGap' #> inputBinding: #> position: 0 #> prefix: --scoreGap #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Non-canonical gap open #> description: Non-canonical gap open penalty (in addition to --scoreGap). #> streamable: no #> id: '#scoreGapNoncan' #> inputBinding: #> position: 0 #> prefix: --scoreGapNoncan #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-8' #> required: no #> - type: #> - 'null' #> - int #> label: GC/AG and CT/GC gap open #> description: GC/AG and CT/GC gap open penalty (in addition to --scoreGap). #> streamable: no #> id: '#scoreGapGCAG' #> inputBinding: #> position: 0 #> prefix: --scoreGapGCAG #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-4' #> required: no #> - type: #> - 'null' #> - int #> label: AT/AC and GT/AT gap open #> description: AT/AC and GT/AT gap open penalty (in addition to --scoreGap). #> streamable: no #> id: '#scoreGapATAC' #> inputBinding: #> position: 0 #> prefix: --scoreGapATAC #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-8' #> required: no #> - type: #> - 'null' #> - float #> label: Log scaled score #> description: 'Extra score logarithmically scaled with genomic length of the alignment: #> <int>*log2(genomicLength).' #> streamable: no #> id: '#scoreGenomicLengthLog2scale' #> inputBinding: #> position: 0 #> prefix: --scoreGenomicLengthLog2scale #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-0.25' #> required: no #> - type: #> - 'null' #> - int #> label: Deletion open penalty #> description: Deletion open penalty. #> streamable: no #> id: '#scoreDelOpen' #> inputBinding: #> position: 0 #> prefix: --scoreDelOpen #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - int #> label: Deletion extension penalty #> description: Deletion extension penalty per base (in addition to --scoreDelOpen). #> streamable: no #> id: '#scoreDelBase' #> inputBinding: #> position: 0 #> prefix: --scoreDelBase #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - int #> label: Insertion Open Penalty #> description: Insertion open penalty. #> streamable: no #> id: '#scoreInsOpen' #> inputBinding: #> position: 0 #> prefix: --scoreInsOpen #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - int #> label: Insertion extension penalty #> description: Insertion extension penalty per base (in addition to --scoreInsOpen). #> streamable: no #> id: '#scoreInsBase' #> inputBinding: #> position: 0 #> prefix: --scoreInsBase #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - int #> label: Max score reduction #> description: Maximum score reduction while searching for SJ boundaries in the stitching #> step. #> streamable: no #> id: '#scoreStitchSJshift' #> inputBinding: #> position: 0 #> prefix: --scoreStitchSJshift #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '1' #> required: no #> - type: #> - 'null' #> - int #> label: Search start point #> description: Defines the search start point through the read - the read is split #> into pieces no longer than this value (int>0). #> streamable: no #> id: '#seedSearchStartLmax' #> inputBinding: #> position: 0 #> prefix: --seedSearchStartLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '50' #> required: no #> - type: #> - 'null' #> - float #> label: Search start point normalized #> description: seedSearchStartLmax normalized to read length (sum of mates' lengths #> for paired-end reads). #> streamable: no #> id: '#seedSearchStartLmaxOverLread' #> inputBinding: #> position: 0 #> prefix: --seedSearchStartLmaxOverLread #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '1.0' #> required: no #> - type: #> - 'null' #> - int #> label: Max seed length #> description: Defines the maximum length of the seeds, if =0 max seed length is infinite #> (int>=0). #> streamable: no #> id: '#seedSearchLmax' #> inputBinding: #> position: 0 #> prefix: --seedSearchLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Filter pieces for stitching #> description: Only pieces that map fewer than this value are utilized in the stitching #> procedure (int>=0). #> streamable: no #> id: '#seedMultimapNmax' #> inputBinding: #> position: 0 #> prefix: --seedMultimapNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10000' #> required: no #> - type: #> - 'null' #> - int #> label: Max seeds per read #> description: Max number of seeds per read (int>=0). #> streamable: no #> id: '#seedPerReadNmax' #> inputBinding: #> position: 0 #> prefix: --seedPerReadNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '1000' #> required: no #> - type: #> - 'null' #> - int #> label: Max seeds per window #> description: Max number of seeds per window (int>=0). #> streamable: no #> id: '#seedPerWindowNmax' #> inputBinding: #> position: 0 #> prefix: --seedPerWindowNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '50' #> required: no #> - type: #> - 'null' #> - int #> label: Max one-seed loci per window #> description: Max number of one seed loci per window (int>=0). #> streamable: no #> id: '#seedNoneLociPerWindow' #> inputBinding: #> position: 0 #> prefix: --seedNoneLociPerWindow #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - int #> label: Min intron size #> description: 'Minimum intron size: genomic gap is considered intron if its length #> >= alignIntronMin, otherwise it is considered Deletion (int>=0).' #> streamable: no #> id: '#alignIntronMin' #> inputBinding: #> position: 0 #> prefix: --alignIntronMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '21' #> required: no #> - type: #> - 'null' #> - int #> label: Max intron size #> description: Maximum intron size, if 0, max intron size will be determined by (2^winBinNbits)*winAnchorDistNbins. #> streamable: no #> id: '#alignIntronMax' #> inputBinding: #> position: 0 #> prefix: --alignIntronMax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Max mates gap #> description: Maximum gap between two mates, if 0, max intron gap will be determined #> by (2^winBinNbits)*winAnchorDistNbins. #> streamable: no #> id: '#alignMatesGapMax' #> inputBinding: #> position: 0 #> prefix: --alignMatesGapMax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Min overhang #> description: Minimum overhang (i.e. block size) for spliced alignments (int>0). #> streamable: no #> id: '#alignSJoverhangMin' #> inputBinding: #> position: 0 #> prefix: --alignSJoverhangMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '5' #> required: no #> - type: #> - 'null' #> - int #> label: 'Min overhang: annotated' #> description: Minimum overhang (i.e. block size) for annotated (sjdb) spliced alignments #> (int>0). #> streamable: no #> id: '#alignSJDBoverhangMin' #> inputBinding: #> position: 0 #> prefix: --alignSJDBoverhangMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '3' #> required: no #> - type: #> - 'null' #> - int #> label: Min mapped length #> description: Minimum mapped length for a read mate that is spliced (int>0). #> streamable: no #> id: '#alignSplicedMateMapLmin' #> inputBinding: #> position: 0 #> prefix: --alignSplicedMateMapLmin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - float #> label: Min mapped length normalized #> description: alignSplicedMateMapLmin normalized to mate length (float>0). #> streamable: no #> id: '#alignSplicedMateMapLminOverLmate' #> inputBinding: #> position: 0 #> prefix: --alignSplicedMateMapLminOverLmate #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0.66' #> required: no #> - type: #> - 'null' #> - float #> label: Max windows per read #> description: Max number of windows per read (int>0). #> streamable: no #> id: '#alignWindowsPerReadNmax' #> inputBinding: #> position: 0 #> prefix: --alignWindowsPerReadNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10000' #> required: no #> - type: #> - 'null' #> - int #> label: Max transcripts per window #> description: Max number of transcripts per window (int>0). #> streamable: no #> id: '#alignTranscriptsPerWindowNmax' #> inputBinding: #> position: 0 #> prefix: --alignTranscriptsPerWindowNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '100' #> required: no #> - type: #> - 'null' #> - int #> label: Max transcripts per read #> description: Max number of different alignments per read to consider (int>0). #> streamable: no #> id: '#alignTranscriptsPerReadNmax' #> inputBinding: #> position: 0 #> prefix: --alignTranscriptsPerReadNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10000' #> required: no #> - type: #> - 'null' #> - name: alignEndsType #> symbols: #> - Local #> - EndToEnd #> type: enum #> label: Alignment type #> description: 'Type of read ends alignment. Local: standard local alignment with #> soft-clipping allowed. EndToEnd: force end to end read alignment, do not soft-clip.' #> streamable: no #> id: '#alignEndsType' #> inputBinding: #> position: 0 #> prefix: --alignEndsType #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: Local #> required: no #> - type: #> - 'null' #> - name: alignSoftClipAtReferenceEnds #> symbols: #> - 'Yes' #> - 'No' #> type: enum #> label: Soft clipping #> description: 'Option which allows soft clipping of alignments at the reference (chromosome) #> ends. Can be disabled for compatibility with Cufflinks/Cuffmerge. Yes: Enables #> soft clipping; No: Disables soft clipping.' #> streamable: no #> id: '#alignSoftClipAtReferenceEnds' #> inputBinding: #> position: 0 #> prefix: --alignSoftClipAtReferenceEnds #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: 'Yes' #> required: no #> - type: #> - 'null' #> - int #> label: Max loci anchors #> description: Max number of loci anchors are allowed to map to (int>0). #> streamable: no #> id: '#winAnchorMultimapNmax' #> inputBinding: #> position: 0 #> prefix: --winAnchorMultimapNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:toolDefaultValue: '50' #> required: no #> - type: #> - 'null' #> - int #> label: Bin size #> description: =log2(winBin), where winBin is the size of the bin for the windows/clustering, #> each window will occupy an integer number of bins (int>0). #> streamable: no #> id: '#winBinNbits' #> inputBinding: #> position: 0 #> prefix: --winBinNbits #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:toolDefaultValue: '16' #> required: no #> - type: #> - 'null' #> - int #> label: Max bins between anchors #> description: Max number of bins between two anchors that allows aggregation of anchors #> into one window (int>0). #> streamable: no #> id: '#winAnchorDistNbins' #> inputBinding: #> position: 0 #> prefix: --winAnchorDistNbins #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:toolDefaultValue: '9' #> required: no #> - type: #> - 'null' #> - int #> label: Flanking regions size #> description: =log2(winFlank), where win Flank is the size of the left and right #> flanking regions for each window (int>0). #> streamable: no #> id: '#winFlankNbins' #> inputBinding: #> position: 0 #> prefix: --winFlankNbins #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:toolDefaultValue: '4' #> required: no #> - type: #> - 'null' #> - int #> label: Min segment length #> description: Minimum length of chimeric segment length, if =0, no chimeric output #> (int>=0). #> streamable: no #> id: '#chimSegmentMin' #> inputBinding: #> position: 0 #> prefix: --chimSegmentMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '15' #> required: no #> - type: #> - 'null' #> - int #> label: Min total score #> description: Minimum total (summed) score of the chimeric segments (int>=0). #> streamable: no #> id: '#chimScoreMin' #> inputBinding: #> position: 0 #> prefix: --chimScoreMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Max drop score #> description: Max drop (difference) of chimeric score (the sum of scores of all chimeric #> segements) from the read length (int>=0). #> streamable: no #> id: '#chimScoreDropMax' #> inputBinding: #> position: 0 #> prefix: --chimScoreDropMax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '20' #> required: no #> - type: #> - 'null' #> - int #> label: Min separation score #> description: Minimum difference (separation) between the best chimeric score and #> the next one (int>=0). #> streamable: no #> id: '#chimScoreSeparation' #> inputBinding: #> position: 0 #> prefix: --chimScoreSeparation #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - int #> label: Non-GT/AG penalty #> description: Penalty for a non-GT/AG chimeric junction. #> streamable: no #> id: '#chimScoreJunctionNonGTAG' #> inputBinding: #> position: 0 #> prefix: --chimScoreJunctionNonGTAG #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '-1' #> required: no #> - type: #> - 'null' #> - int #> label: Min junction overhang #> description: Minimum overhang for a chimeric junction (int>=0). #> streamable: no #> id: '#chimJunctionOverhangMin' #> inputBinding: #> position: 0 #> prefix: --chimJunctionOverhangMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '20' #> required: no #> - type: #> - 'null' #> - name: quantMode #> symbols: #> - TranscriptomeSAM #> - GeneCounts #> type: enum #> label: Quantification mode #> description: Types of quantification requested. 'TranscriptomeSAM' option outputs #> SAM/BAM alignments to transcriptome into a separate file. With 'GeneCounts' option, #> STAR will count number of reads per gene while mapping. #> streamable: no #> id: '#quantMode' #> sbg:category: Quantification of Annotations #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - int #> label: Reads to process in 1st step #> description: 'Number of reads to process for the 1st step. 0: 1-step only, no 2nd #> pass; use very large number to map all reads in the first step (int>0).' #> streamable: no #> id: '#twopass1readsN' #> sbg:category: 2-pass mapping #> sbg:toolDefaultValue: '-1' #> required: no #> - type: #> - 'null' #> - name: twopassMode #> symbols: #> - None #> - Basic #> type: enum #> label: Two-pass mode #> description: '2-pass mapping mode. None: 1-pass mapping; Basic: basic 2-pass mapping, #> with all 1st pass junctions inserted into the genome indices on the fly.' #> streamable: no #> id: '#twopassMode' #> inputBinding: #> position: 0 #> prefix: --twopassMode #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 2-pass mapping #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - string #> label: Genome dir name #> description: Name of the directory which contains genome files (when genome.tar #> is uncompressed). #> streamable: no #> id: '#genomeDirName' #> inputBinding: #> position: 0 #> prefix: --genomeDir #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: $job.inputs.genomeDirName || "genomeDir" #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Basic #> sbg:toolDefaultValue: genomeDir #> required: no #> - type: #> - 'null' #> - name: sjdbInsertSave #> symbols: #> - Basic #> - All #> - None #> type: enum #> label: Save junction files #> description: 'Which files to save when sjdb junctions are inserted on the fly at #> the mapping step. None: not saving files at all; Basic: only small junction/transcript #> files; All: all files including big Genome, SA and SAindex. These files are output #> as archive.' #> streamable: no #> id: '#sjdbInsertSave' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - string #> label: Chromosome names #> description: Prefix for chromosome names in a GTF file (e.g. 'chr' for using ENSMEBL #> annotations with UCSC geneomes). #> streamable: no #> id: '#sjdbGTFchrPrefix' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - string #> label: Set exons feature #> description: Feature type in GTF file to be used as exons for building transcripts. #> streamable: no #> id: '#sjdbGTFfeatureExon' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: exon #> required: no #> - type: #> - 'null' #> - string #> label: Exons' parents name #> description: Tag name to be used as exons's transcript-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentTranscript' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: transcript_id #> required: no #> - type: #> - 'null' #> - string #> label: Gene name #> description: Tag name to be used as exons's gene-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentGene' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: gene_id #> required: no #> - type: #> - 'null' #> - int #> label: '"Overhang" length' #> description: Length of the donor/acceptor sequence on each side of the junctions, #> ideally = (mate_length - 1) (int >= 0), if int = 0, splice junction database is #> not used. #> streamable: no #> id: '#sjdbOverhang' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: '100' #> required: no #> - type: #> - 'null' #> - int #> label: Extra alignment score #> description: Extra alignment score for alignments that cross database junctions. #> streamable: no #> id: '#sjdbScore' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: '2' #> required: no #> - type: #> - 'null' #> - items: File #> type: array #> label: Splice junction file #> description: Gene model annotations and/or known transcripts. No need to include #> this input, except in case of using "on the fly" annotations. #> streamable: no #> id: '#sjdbGTFfile' #> sbg:category: Basic #> sbg:fileTypes: GTF, GFF, TXT #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Clip 3p bases #> description: Number of bases to clip from 3p of each mate. In case only one value #> is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip3pNbases' #> inputBinding: #> position: 0 #> prefix: --clip3pNbases #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Clip 5p bases #> description: Number of bases to clip from 5p of each mate. In case only one value #> is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip5pNbases' #> inputBinding: #> position: 0 #> prefix: --clip5pNbases #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - items: string #> type: array #> label: Clip 3p adapter sequence #> description: Adapter sequence to clip from 3p of each mate. In case only one value #> is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip3pAdapterSeq' #> inputBinding: #> position: 0 #> prefix: --clip3pAdapterSeq #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - items: float #> type: array #> label: Max mismatches proportions #> description: Max proportion of mismatches for 3p adapter clipping for each mate. #> In case only one value is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip3pAdapterMMp' #> inputBinding: #> position: 0 #> prefix: --clip3pAdapterMMp #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0.1' #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Clip 3p after adapter seq. #> description: Number of bases to clip from 3p of each mate after the adapter clipping. #> In case only one value is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip3pAfterAdapterNbases' #> inputBinding: #> position: 0 #> prefix: --clip3pAfterAdapterNbases #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - name: chimOutType #> symbols: #> - SeparateSAMold #> - Within #> type: enum #> label: Chimeric output type #> description: 'Type of chimeric output. SeparateSAMold: output old SAM into separate #> Chimeric.out.sam file; Within: output into main aligned SAM/BAM files.' #> streamable: no #> id: '#chimOutType' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: SeparateSAMold #> required: no #> - type: #> - File #> label: Genome files #> description: Genome files created using STAR Genome Generate. #> streamable: no #> id: '#genome' #> sbg:category: Basic #> sbg:fileTypes: TAR #> required: yes #> - type: #> - 'null' #> - int #> label: Max insert junctions #> description: Maximum number of junction to be inserted to the genome on the fly #> at the mapping stage, including those from annotations and those detected in the #> 1st step of the 2-pass run. #> streamable: no #> id: '#limitSjdbInsertNsj' #> inputBinding: #> position: 0 #> prefix: --limitSjdbInsertNsj #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '1000000' #> required: no #> - type: #> - 'null' #> - name: quantTranscriptomeBan #> symbols: #> - IndelSoftclipSingleend #> - Singleend #> type: enum #> label: Prohibit alignment type #> description: 'Prohibit various alignment type. IndelSoftclipSingleend: prohibit #> indels, soft clipping and single-end alignments - compatible with RSEM; Singleend: #> prohibit single-end alignments.' #> streamable: no #> id: '#quantTranscriptomeBan' #> inputBinding: #> position: 0 #> prefix: --quantTranscriptomeBan #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Quantification of Annotations #> sbg:toolDefaultValue: IndelSoftclipSingleend #> required: no #> - type: #> - 'null' #> - int #> label: Limit BAM sorting memory #> description: Maximum available RAM for sorting BAM. If set to 0, it will be set #> to the genome index size. #> streamable: no #> id: '#limitBAMsortRAM' #> inputBinding: #> position: 0 #> prefix: --limitBAMsortRAM #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '0' #> required: no #> outputs: #> - type: #> - 'null' #> - File #> label: Aligned SAM/BAM #> description: Aligned sequence in SAM/BAM format. #> streamable: no #> id: '#aligned_reads' #> outputBinding: #> glob: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.outSortingType == 'SortedByCoordinate') { #> sort_name = '.sortedByCoord' #> } #> else { #> sort_name = '' #> } #> if ($job.inputs.outSAMtype == 'BAM') { #> sam_name = "*.Aligned".concat( sort_name, '.out.bam') #> } #> else { #> sam_name = "*.Aligned.out.sam" #> } #> return sam_name #> } #> class: Expression #> sbg:fileTypes: SAM, BAM #> - type: #> - 'null' #> - File #> label: Transcriptome alignments #> description: Alignments translated into transcript coordinates. #> streamable: no #> id: '#transcriptome_aligned_reads' #> outputBinding: #> glob: '*Transcriptome*' #> sbg:fileTypes: BAM #> - type: #> - 'null' #> - File #> label: Reads per gene #> description: File with number of reads per gene. A read is counted if it overlaps #> (1nt or more) one and only one gene. #> streamable: no #> id: '#reads_per_gene' #> outputBinding: #> glob: '*ReadsPerGene*' #> sbg:fileTypes: TAB #> - type: #> - 'null' #> - items: File #> type: array #> label: Log files #> description: Log files produced during alignment. #> streamable: no #> id: '#log_files' #> outputBinding: #> glob: '*Log*.out' #> sbg:fileTypes: OUT #> - type: #> - 'null' #> - File #> label: Splice junctions #> description: High confidence collapsed splice junctions in tab-delimited format. #> Only junctions supported by uniquely mapping reads are reported. #> streamable: no #> id: '#splice_junctions' #> outputBinding: #> glob: '*SJ.out.tab' #> sbg:fileTypes: TAB #> - type: #> - 'null' #> - File #> label: Chimeric junctions #> description: If chimSegmentMin in 'Chimeric Alignments' section is set to 0, 'Chimeric #> Junctions' won't be output. #> streamable: no #> id: '#chimeric_junctions' #> outputBinding: #> glob: '*Chimeric.out.junction' #> sbg:fileTypes: JUNCTION #> - type: #> - 'null' #> - items: File #> type: array #> label: Unmapped reads #> description: Output of unmapped reads. #> streamable: no #> id: '#unmapped_reads' #> outputBinding: #> glob: '*Unmapped.out*' #> sbg:fileTypes: FASTQ #> - type: #> - 'null' #> - File #> label: Intermediate genome files #> description: Archive with genome files produced when annotations are included on #> the fly (in the mapping step). #> streamable: no #> id: '#intermediate_genome' #> outputBinding: #> glob: '*_STARgenome.tar' #> sbg:fileTypes: TAR #> - type: #> - 'null' #> - File #> label: Chimeric alignments #> description: Aligned Chimeric sequences SAM - if chimSegmentMin = 0, no Chimeric #> Alignment SAM and Chimeric Junctions outputs. #> streamable: no #> id: '#chimeric_alignments' #> outputBinding: #> glob: '*.Chimeric.out.sam' #> sbg:fileTypes: SAM #> requirements: #> - class: ExpressionEngineRequirement #> id: '#cwl-js-engine' #> requirements: #> - class: DockerRequirement #> dockerPull: rabix/js-engine #> hints: #> - class: DockerRequirement #> dockerPull: images.sbgenomics.com/ana_d/star:2.4.2a #> dockerImageId: a4b0ad2c3cae #> - class: sbg:MemRequirement #> value: 60000 #> - class: sbg:CPURequirement #> value: 15 #> label: STAR #> description: STAR is an ultrafast universal RNA-seq aligner. It has very high mapping #> speed, accurate alignment of contiguous and spliced reads, detection of polyA-tails, #> non-canonical splices and chimeric (fusion) junctions. It works with reads starting #> from lengths ~15 bases up to ~300 bases. In case of having longer reads, use of #> STAR Long is recommended. #> class: CommandLineTool #> baseCommand: #> - tar #> - -xvf #> - class: Expression #> script: $job.inputs.genome.path #> engine: '#cwl-js-engine' #> - '&&' #> - /opt/STAR #> - --runThreadN #> - class: Expression #> script: |- #> { #> return $job.allocatedResources.cpu #> } #> engine: '#cwl-js-engine' #> arguments: #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> file = [].concat($job.inputs.reads)[0].path #> extension = /(?:\.([^.]+))?$/.exec(file)[1] #> if (extension == "gz") { #> return "--readFilesCommand zcat" #> } else if (extension == "bz2") { #> return "--readFilesCommand bzcat" #> } #> } #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\t\n var sjFormat = \"False\"\n var gtfgffFormat = \"False\"\n var #> list = $job.inputs.sjdbGTFfile\n var paths_list = []\n var joined_paths = #> \"\"\n \n if (list) {\n list.forEach(function(f){return paths_list.push(f.path)})\n #> \ joined_paths = paths_list.join(\" \")\n\n\n paths_list.forEach(function(f){\n #> \ ext = f.replace(/^.*\\./, '')\n if (ext == \"gff\" || ext == \"gtf\") #> {\n gtfgffFormat = \"True\"\n return gtfgffFormat\n }\n if #> (ext == \"txt\") {\n sjFormat = \"True\"\n return sjFormat\n }\n #> \ })\n\n if ($job.inputs.sjdbGTFfile && $job.inputs.sjdbInsertSave != \"None\") #> {\n if (sjFormat == \"True\") {\n return \"--sjdbFileChrStartEnd #> \".concat(joined_paths)\n }\n else if (gtfgffFormat == \"True\") {\n #> \ return \"--sjdbGTFfile \".concat(joined_paths)\n }\n }\n }\n}" #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n a = b = c = d = e = f = g = []\n if ($job.inputs.sjdbGTFchrPrefix) #> {\n a = [\"--sjdbGTFchrPrefix\", $job.inputs.sjdbGTFchrPrefix]\n }\n if #> ($job.inputs.sjdbGTFfeatureExon) {\n b = [\"--sjdbGTFfeatureExon\", $job.inputs.sjdbGTFfeatureExon]\n #> \ }\n if ($job.inputs.sjdbGTFtagExonParentTranscript) {\n c = [\"--sjdbGTFtagExonParentTranscript\", #> $job.inputs.sjdbGTFtagExonParentTranscript]\n }\n if ($job.inputs.sjdbGTFtagExonParentGene) #> {\n d = [\"--sjdbGTFtagExonParentGene\", $job.inputs.sjdbGTFtagExonParentGene]\n #> \ }\n if ($job.inputs.sjdbOverhang) {\n e = [\"--sjdbOverhang\", $job.inputs.sjdbOverhang]\n #> \ }\n if ($job.inputs.sjdbScore) {\n f = [\"--sjdbScore\", $job.inputs.sjdbScore]\n #> \ }\n if ($job.inputs.sjdbInsertSave) {\n g = [\"--sjdbInsertSave\", $job.inputs.sjdbInsertSave]\n #> \ }\n \n \n \n if ($job.inputs.sjdbInsertSave != \"None\" && $job.inputs.sjdbGTFfile) #> {\n new_list = a.concat(b, c, d, e, f, g)\n return new_list.join(\" \")\n #> \ }\n}" #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.twopassMode == "Basic") { #> return "--twopass1readsN ".concat($job.inputs.twopass1readsN) #> } #> } #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.chimOutType == "Within") { #> return "--chimOutType ".concat("Within", $job.inputs.outSAMtype) #> } #> else { #> return "--chimOutType SeparateSAMold" #> } #> } #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n var param_list = []\n \n function add_param(key, value){\n if #> (value == \"\") {\n return\n }\n else {\n return param_list.push(key.concat(\":\", #> value))\n }\n }\n \n add_param('ID', \"1\")\n if ($job.inputs.rg_seq_center) #> {\n add_param('CN', $job.inputs.rg_seq_center)\n } else if ([].concat($job.inputs.reads)[0].metadata.seq_center) #> {\n add_param('CN', [].concat($job.inputs.reads)[0].metadata.seq_center)\n #> \ }\n if ($job.inputs.rg_library_id) {\n add_param('LB', $job.inputs.rg_library_id)\n #> \ } else if ([].concat($job.inputs.reads)[0].metadata.library_id) {\n add_param('LB', #> [].concat($job.inputs.reads)[0].metadata.library_id)\n }\n if ($job.inputs.rg_mfl) #> {\n add_param('PI', $job.inputs.rg_mfl)\n } else if ([].concat($job.inputs.reads)[0].metadata.median_fragment_length) #> {\n add_param('PI', [].concat($job.inputs.reads)[0].metadata.median_fragment_length)\n #> \ }\n if ($job.inputs.rg_platform) {\n add_param('PL', $job.inputs.rg_platform.replace(/ #> /g,\"_\"))\n } else if ([].concat($job.inputs.reads)[0].metadata.platform) #> {\n add_param('PL', [].concat($job.inputs.reads)[0].metadata.platform.replace(/ #> /g,\"_\"))\n }\n if ($job.inputs.rg_platform_unit_id) {\n add_param('PU', #> $job.inputs.rg_platform_unit_id)\n } else if ([].concat($job.inputs.reads)[0].metadata.platform_unit_id) #> {\n add_param('PU', [].concat($job.inputs.reads)[0].metadata.platform_unit_id)\n #> \ }\n if ($job.inputs.rg_sample_id) {\n add_param('SM', $job.inputs.rg_sample_id)\n #> \ } else if ([].concat($job.inputs.reads)[0].metadata.sample_id) {\n add_param('SM', #> [].concat($job.inputs.reads)[0].metadata.sample_id)\n }\n return \"--outSAMattrRGline #> \".concat(param_list.join(\" \"))\n}" #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.sjdbGTFfile && $job.inputs.quantMode) { #> return "--quantMode ".concat($job.inputs.quantMode) #> } #> } #> class: Expression #> - position: 100 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n function sharedStart(array){\n var A= array.concat().sort(), \n #> \ a1= A[0], a2= A[A.length-1], L= a1.length, i= 0;\n while(i<L && a1.charAt(i)=== #> a2.charAt(i)) i++;\n return a1.substring(0, i);\n }\n path_list = []\n arr #> = [].concat($job.inputs.reads)\n arr.forEach(function(f){return path_list.push(f.path.replace(/\\\\/g,'/').replace( #> /.*\\//, '' ))})\n common_prefix = sharedStart(path_list)\n intermediate = #> common_prefix.replace( /\\-$|\\_$|\\.$/, '' ).concat(\"._STARgenome\")\n source #> = \"./\".concat(intermediate)\n destination = intermediate.concat(\".tar\")\n #> \ if ($job.inputs.sjdbGTFfile && $job.inputs.sjdbInsertSave && $job.inputs.sjdbInsertSave #> != \"None\") {\n return \"&& tar -vcf \".concat(destination, \" \", source)\n #> \ }\n}" #> class: Expression #> - position: 0 #> prefix: --outFileNamePrefix #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n function sharedStart(array){\n var A= array.concat().sort(), \n #> \ a1= A[0], a2= A[A.length-1], L= a1.length, i= 0;\n while(i<L && a1.charAt(i)=== #> a2.charAt(i)) i++;\n return a1.substring(0, i);\n }\n path_list = []\n arr #> = [].concat($job.inputs.reads)\n arr.forEach(function(f){return path_list.push(f.path.replace(/\\\\/g,'/').replace( #> /.*\\//, '' ))})\n common_prefix = sharedStart(path_list)\n return \"./\".concat(common_prefix.replace( #> /\\-$|\\_$|\\.$/, '' ), \".\")\n}" #> class: Expression #> - position: 101 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n function sharedStart(array){\n var A= array.concat().sort(), \n #> \ a1= A[0], a2= A[A.length-1], L= a1.length, i= 0;\n while(i<L && a1.charAt(i)=== #> a2.charAt(i)) i++;\n return a1.substring(0, i);\n }\n path_list = []\n arr #> = [].concat($job.inputs.reads)\n arr.forEach(function(f){return path_list.push(f.path.replace(/\\\\/g,'/').replace( #> /.*\\//, '' ))})\n common_prefix = sharedStart(path_list)\n mate1 = common_prefix.replace( #> /\\-$|\\_$|\\.$/, '' ).concat(\".Unmapped.out.mate1\")\n mate2 = common_prefix.replace( #> /\\-$|\\_$|\\.$/, '' ).concat(\".Unmapped.out.mate2\")\n mate1fq = mate1.concat(\".fastq\")\n #> \ mate2fq = mate2.concat(\".fastq\")\n if ($job.inputs.outReadsUnmapped == #> \"Fastx\" && arr.length > 1) {\n return \"&& mv \".concat(mate1, \" \", mate1fq, #> \" && mv \", mate2, \" \", mate2fq)\n }\n else if ($job.inputs.outReadsUnmapped #> == \"Fastx\" && arr.length == 1) {\n return \"&& mv \".concat(mate1, \" \", #> mate1fq)\n }\n}" #> class: Expression #> stdin: '' #> stdout: '' #> successCodes: [] #> temporaryFailCodes: [] #>
# convert to Flow object convert_app(flow.in)
#> sbg:validationErrors: [] #> sbg:sbgMaintained: no #> sbg:latestRevision: 2 #> sbg:toolAuthor: Seven Bridges Genomics #> sbg:createdOn: 1463601910 #> sbg:categories: #> - Alignment #> - RNA #> sbg:contributors: #> - tengfei #> sbg:project: tengfei/quickstart #> sbg:createdBy: tengfei #> sbg:toolkitVersion: 2.4.2a #> sbg:id: tengfei/quickstart/rna-seq-alignment-star-demo/2 #> sbg:license: Apache License 2.0 #> sbg:revision: 2 #> sbg:modifiedOn: 1463601974 #> sbg:modifiedBy: tengfei #> sbg:revisionsInfo: #> - sbg:modifiedBy: tengfei #> sbg:modifiedOn: 1463601910 #> sbg:revision: 0 #> - sbg:modifiedBy: tengfei #> sbg:modifiedOn: 1463601952 #> sbg:revision: 1 #> - sbg:modifiedBy: tengfei #> sbg:modifiedOn: 1463601974 #> sbg:revision: 2 #> sbg:toolkit: STAR #> id: '#tengfei/quickstart/rna-seq-alignment-star-demo/2' #> inputs: #> - type: #> - 'null' #> - items: File #> type: array #> label: sjdbGTFfile #> streamable: no #> id: '#sjdbGTFfile' #> sbg:x: 160.4999759 #> sbg:y: 195.0833106 #> required: no #> - type: #> - items: File #> type: array #> label: fastq #> streamable: no #> id: '#fastq' #> sbg:x: 164.2499914 #> sbg:y: 323.7499502 #> sbg:includeInPorts: yes #> required: yes #> - type: #> - File #> label: genomeFastaFiles #> streamable: no #> id: '#genomeFastaFiles' #> sbg:x: 167.7499601 #> sbg:y: 469.9999106 #> required: yes #> - type: #> - 'null' #> - string #> label: Exons' parents name #> description: Tag name to be used as exons' transcript-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentTranscript' #> sbg:category: Splice junctions db parameters #> sbg:x: 200.0 #> sbg:y: 350.0 #> sbg:toolDefaultValue: transcript_id #> required: no #> - type: #> - 'null' #> - string #> label: Gene name #> description: Tag name to be used as exons' gene-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentGene' #> sbg:category: Splice junctions db parameters #> sbg:x: 200.0 #> sbg:y: 400.0 #> sbg:toolDefaultValue: gene_id #> required: no #> - type: #> - 'null' #> - int #> label: Max loci anchors #> description: Max number of loci anchors are allowed to map to (int>0). #> streamable: no #> id: '#winAnchorMultimapNmax' #> sbg:category: Windows, Anchors, Binning #> sbg:x: 200.0 #> sbg:y: 450.0 #> sbg:toolDefaultValue: '50' #> required: no #> - type: #> - 'null' #> - int #> label: Max bins between anchors #> description: Max number of bins between two anchors that allows aggregation of anchors #> into one window (int>0). #> streamable: no #> id: '#winAnchorDistNbins' #> sbg:category: Windows, Anchors, Binning #> sbg:x: 200.0 #> sbg:y: 500.0 #> sbg:toolDefaultValue: '9' #> required: no #> outputs: #> - type: #> - 'null' #> - items: File #> type: array #> label: unmapped_reads #> streamable: no #> id: '#unmapped_reads' #> source: '#STAR.unmapped_reads' #> sbg:x: 766.2497863 #> sbg:y: 159.5833091 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: transcriptome_aligned_reads #> streamable: no #> id: '#transcriptome_aligned_reads' #> source: '#STAR.transcriptome_aligned_reads' #> sbg:x: 1118.9998003 #> sbg:y: 86.5833216 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: splice_junctions #> streamable: no #> id: '#splice_junctions' #> source: '#STAR.splice_junctions' #> sbg:x: 1282.3330177 #> sbg:y: 167.499976 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: reads_per_gene #> streamable: no #> id: '#reads_per_gene' #> source: '#STAR.reads_per_gene' #> sbg:x: 1394.4163557 #> sbg:y: 245.749964 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - items: File #> type: array #> label: log_files #> streamable: no #> id: '#log_files' #> source: '#STAR.log_files' #> sbg:x: 1505.0830269 #> sbg:y: 322.9999518 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: chimeric_junctions #> streamable: no #> id: '#chimeric_junctions' #> source: '#STAR.chimeric_junctions' #> sbg:x: 1278.7498062 #> sbg:y: 446.7499567 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: intermediate_genome #> streamable: no #> id: '#intermediate_genome' #> source: '#STAR.intermediate_genome' #> sbg:x: 1408.9164783 #> sbg:y: 386.0832876 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: chimeric_alignments #> streamable: no #> id: '#chimeric_alignments' #> source: '#STAR.chimeric_alignments' #> sbg:x: 1147.5831348 #> sbg:y: 503.2499285 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: sorted_bam #> streamable: no #> id: '#sorted_bam' #> source: '#Picard_SortSam.sorted_bam' #> sbg:x: 934.2498228 #> sbg:y: 557.2498436 #> sbg:includeInPorts: yes #> required: no #> - type: #> - 'null' #> - File #> label: result #> streamable: no #> id: '#result' #> source: '#SBG_FASTQ_Quality_Detector.result' #> sbg:x: 1431.6666548 #> sbg:y: 644.9999898 #> sbg:includeInPorts: yes #> required: no #> requirements: #> - class: CreateFileRequirement #> fileDef: [] #> hints: #> - class: sbg:AWSInstanceType #> value: c3.8xlarge #> label: RNA-seq Alignment - STAR #> description: "Alignment to a reference genome and transcriptome presents the first #> step of RNA-Seq analysis. This pipeline uses STAR, an ultrafast RNA-seq aligner #> capable of mapping full length RNA sequences and detecting de novo canonical junctions, #> non-canonical splices, and chimeric (fusion) transcripts. It is optimized for mammalian #> sequence reads, but fine tuning of its parameters enables customization to satisfy #> unique needs.\n\nSTAR accepts one file per sample (or two files for paired-end data). #> \ \nSplice junction annotations can optionally be collected from splice junction #> databases. Set the \"Overhang length\" parameter to a value larger than zero in #> order to use splice junction databases. For constant read length, this value should #> (ideally) be equal to mate length decreased by 1; for long reads with non-constant #> length, this value should be 100 (pipeline default). \nFastQC Analysis on FASTQ #> files reveals read length distribution. STAR can detect chimeric transcripts, but #> parameter \"Min segment length\" in \"Chimeric Alignments\" category must be adjusted #> to a desired minimum chimeric segment length. Aligned reads are reported in BAM #> format and can be viewed in a genome browser (such as IGV). A file containing detected #> splice junctions is also produced.\n\nUnmapped reads are reported in FASTQ format #> and can be included in an output BAM file. The \"Output unmapped reads\" and \"Write #> unmapped in SAM\" parameters enable unmapped output type selection." #> class: Workflow #> steps: #> - id: '#STAR_Genome_Generate' #> inputs: #> - id: '#STAR_Genome_Generate.sjdbScore' #> - id: '#STAR_Genome_Generate.sjdbOverhang' #> - id: '#STAR_Genome_Generate.sjdbGTFtagExonParentTranscript' #> source: '#sjdbGTFtagExonParentTranscript' #> - id: '#STAR_Genome_Generate.sjdbGTFtagExonParentGene' #> source: '#sjdbGTFtagExonParentGene' #> - id: '#STAR_Genome_Generate.sjdbGTFfile' #> source: '#sjdbGTFfile' #> - id: '#STAR_Genome_Generate.sjdbGTFfeatureExon' #> - id: '#STAR_Genome_Generate.sjdbGTFchrPrefix' #> - id: '#STAR_Genome_Generate.genomeSAsparseD' #> - id: '#STAR_Genome_Generate.genomeSAindexNbases' #> - id: '#STAR_Genome_Generate.genomeFastaFiles' #> source: '#genomeFastaFiles' #> - id: '#STAR_Genome_Generate.genomeChrBinNbits' #> outputs: #> - id: '#STAR_Genome_Generate.genome' #> hints: [] #> run: #> sbg:validationErrors: [] #> sbg:sbgMaintained: no #> sbg:latestRevision: 1 #> sbg:job: #> allocatedResources: #> mem: 60000 #> cpu: 15 #> inputs: #> sjdbScore: 0 #> sjdbGTFfeatureExon: sjdbGTFfeatureExon #> sjdbOverhang: 0 #> sjdbGTFtagExonParentTranscript: sjdbGTFtagExonParentTranscript #> genomeChrBinNbits: genomeChrBinNbits #> genomeSAsparseD: 0 #> sjdbGTFfile: #> - size: 0 #> secondaryFiles: [] #> class: File #> path: /demo/test-files/chr20.gtf #> sjdbGTFtagExonParentGene: sjdbGTFtagExonParentGene #> genomeFastaFiles: #> size: 0 #> secondaryFiles: [] #> class: File #> path: /sbgenomics/test-data/chr20.fa #> sjdbGTFchrPrefix: sjdbGTFchrPrefix #> genomeSAindexNbases: 0 #> sbg:toolAuthor: Alexander Dobin/CSHL #> sbg:createdOn: 1450911469 #> sbg:categories: #> - Alignment #> sbg:contributors: #> - bix-demo #> sbg:links: #> - id: https://github.com/alexdobin/STAR #> label: Homepage #> - id: https://github.com/alexdobin/STAR/releases #> label: Releases #> - id: https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf #> label: Manual #> - id: https://groups.google.com/forum/#!forum/rna-star #> label: Support #> - id: http://www.ncbi.nlm.nih.gov/pubmed/23104886 #> label: Publication #> sbg:project: bix-demo/star-2-4-2a-demo #> sbg:createdBy: bix-demo #> sbg:toolkitVersion: 2.4.2a #> sbg:id: sevenbridges/public-apps/star-genome-generate/1 #> sbg:license: GNU General Public License v3.0 only #> sbg:revision: 1 #> sbg:cmdPreview: mkdir genomeDir && /opt/STAR --runMode genomeGenerate --genomeDir #> ./genomeDir --runThreadN 15 --genomeFastaFiles /sbgenomics/test-data/chr20.fa #> --genomeChrBinNbits genomeChrBinNbits --genomeSAindexNbases 0 --genomeSAsparseD #> 0 --sjdbGTFfeatureExon sjdbGTFfeatureExon --sjdbGTFtagExonParentTranscript sjdbGTFtagExonParentTranscript #> --sjdbGTFtagExonParentGene sjdbGTFtagExonParentGene --sjdbOverhang 0 --sjdbScore #> 0 --sjdbGTFchrPrefix sjdbGTFchrPrefix --sjdbGTFfile /demo/test-files/chr20.gtf && #> tar -vcf genome.tar ./genomeDir /sbgenomics/test-data/chr20.fa #> sbg:modifiedOn: 1450911470 #> sbg:modifiedBy: bix-demo #> sbg:revisionsInfo: #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911469 #> sbg:revision: 0 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911470 #> sbg:revision: 1 #> sbg:toolkit: STAR #> id: sevenbridges/public-apps/star-genome-generate/1 #> inputs: #> - type: #> - 'null' #> - int #> label: Extra alignment score #> description: Extra alignment score for alignments that cross database junctions. #> streamable: no #> id: '#sjdbScore' #> inputBinding: #> position: 0 #> prefix: --sjdbScore #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Splice junctions db parameters #> sbg:includeInPorts: yes #> sbg:toolDefaultValue: '2' #> required: no #> - type: #> - 'null' #> - int #> label: '"Overhang" length' #> description: Length of the donor/acceptor sequence on each side of the junctions, #> ideally = (mate_length - 1) (int >= 0), if int = 0, splice junction database #> is not used. #> streamable: no #> id: '#sjdbOverhang' #> inputBinding: #> position: 0 #> prefix: --sjdbOverhang #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Splice junctions db parameters #> sbg:includeInPorts: yes #> sbg:toolDefaultValue: '100' #> required: no #> - type: #> - 'null' #> - string #> label: Exons' parents name #> description: Tag name to be used as exons' transcript-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentTranscript' #> inputBinding: #> position: 0 #> prefix: --sjdbGTFtagExonParentTranscript #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Splice junctions db parameters #> sbg:toolDefaultValue: transcript_id #> required: no #> - type: #> - 'null' #> - string #> label: Gene name #> description: Tag name to be used as exons' gene-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentGene' #> inputBinding: #> position: 0 #> prefix: --sjdbGTFtagExonParentGene #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Splice junctions db parameters #> sbg:toolDefaultValue: gene_id #> required: no #> - type: #> - 'null' #> - items: File #> type: array #> label: Splice junction file #> description: Gene model annotations and/or known transcripts. #> streamable: no #> id: '#sjdbGTFfile' #> sbg:category: Basic #> sbg:fileTypes: GTF, GFF, TXT #> required: no #> - type: #> - 'null' #> - string #> label: Set exons feature #> description: Feature type in GTF file to be used as exons for building transcripts. #> streamable: no #> id: '#sjdbGTFfeatureExon' #> inputBinding: #> position: 0 #> prefix: --sjdbGTFfeatureExon #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Splice junctions db parameters #> sbg:toolDefaultValue: exon #> required: no #> - type: #> - 'null' #> - string #> label: Chromosome names #> description: Prefix for chromosome names in a GTF file (e.g. 'chr' for using #> ENSMEBL annotations with UCSC geneomes). #> streamable: no #> id: '#sjdbGTFchrPrefix' #> inputBinding: #> position: 0 #> prefix: --sjdbGTFchrPrefix #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Splice junctions db parameters #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - int #> label: Suffux array sparsity #> description: 'Distance between indices: use bigger numbers to decrease needed #> RAM at the cost of mapping speed reduction (int>0).' #> streamable: no #> id: '#genomeSAsparseD' #> inputBinding: #> position: 0 #> prefix: --genomeSAsparseD #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Genome generation parameters #> sbg:toolDefaultValue: '1' #> required: no #> - type: #> - 'null' #> - int #> label: Pre-indexing string length #> description: Length (bases) of the SA pre-indexing string. Typically between #> 10 and 15. Longer strings will use much more memory, but allow faster searches. #> For small genomes, this number needs to be scaled down, with a typical value #> of min(14, log2(GenomeLength)/2 - 1). For example, for 1 megaBase genome, #> this is equal to 9, for 100 kiloBase genome, this is equal to 7. #> streamable: no #> id: '#genomeSAindexNbases' #> inputBinding: #> position: 0 #> prefix: --genomeSAindexNbases #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Genome generation parameters #> sbg:toolDefaultValue: '14' #> required: no #> - type: #> - File #> label: Genome fasta files #> description: Reference sequence to which to align the reads. #> streamable: no #> id: '#genomeFastaFiles' #> inputBinding: #> position: 0 #> prefix: --genomeFastaFiles #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Basic #> sbg:fileTypes: FASTA, FA #> required: yes #> - type: #> - 'null' #> - string #> label: Bins size #> description: 'Set log2(chrBin), where chrBin is the size (bits) of the bins #> for genome storage: each chromosome will occupy an integer number of bins. #> If you are using a genome with a large (>5,000) number of chrosomes/scaffolds, #> you may need to reduce this number to reduce RAM consumption. The following #> scaling is recomended: genomeChrBinNbits = min(18, log2(GenomeLength/NumberOfReferences)). #> For example, for 3 gigaBase genome with 100,000 chromosomes/scaffolds, this #> is equal to 15.' #> streamable: no #> id: '#genomeChrBinNbits' #> inputBinding: #> position: 0 #> prefix: --genomeChrBinNbits #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Genome generation parameters #> sbg:toolDefaultValue: '18' #> required: no #> outputs: #> - type: #> - 'null' #> - File #> label: Genome Files #> description: Genome files comprise binary genome sequence, suffix arrays, text #> chromosome names/lengths, splice junctions coordinates, and transcripts/genes #> information. #> streamable: no #> id: '#genome' #> outputBinding: #> glob: '*.tar' #> sbg:fileTypes: TAR #> requirements: #> - class: ExpressionEngineRequirement #> id: '#cwl-js-engine' #> requirements: #> - class: DockerRequirement #> dockerPull: rabix/js-engine #> hints: #> - class: DockerRequirement #> dockerPull: images.sbgenomics.com/ana_d/star:2.4.2a #> dockerImageId: a4b0ad2c3cae #> - class: sbg:CPURequirement #> value: 15 #> - class: sbg:MemRequirement #> value: 60000 #> label: STAR Genome Generate #> description: STAR Genome Generate is a tool that generates genome index files. #> One set of files should be generated per each genome/annotation combination. #> Once produced, these files could be used as long as genome/annotation combination #> stays the same. Also, STAR Genome Generate which produced these files and STAR #> aligner using them must be the same toolkit version. #> class: CommandLineTool #> baseCommand: #> - mkdir #> - genomeDir #> - '&&' #> - /opt/STAR #> - --runMode #> - genomeGenerate #> - --genomeDir #> - ./genomeDir #> - --runThreadN #> - class: Expression #> script: |- #> { #> return $job.allocatedResources.cpu #> } #> engine: '#cwl-js-engine' #> arguments: #> - position: 99 #> separate: yes #> valueFrom: '&& tar -vcf genome.tar ./genomeDir' #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\t\n var sjFormat = \"False\"\n var gtfgffFormat = \"False\"\n #> \ var list = $job.inputs.sjdbGTFfile\n var paths_list = []\n var joined_paths #> = \"\"\n \n if (list) {\n list.forEach(function(f){return paths_list.push(f.path)})\n #> \ joined_paths = paths_list.join(\" \")\n\n\n paths_list.forEach(function(f){\n #> \ ext = f.replace(/^.*\\./, '')\n if (ext == \"gff\" || ext == #> \"gtf\") {\n gtfgffFormat = \"True\"\n return gtfgffFormat\n #> \ }\n if (ext == \"txt\") {\n sjFormat = \"True\"\n return #> sjFormat\n }\n })\n\n if ($job.inputs.sjdbGTFfile && $job.inputs.sjdbInsertSave #> != \"None\") {\n if (sjFormat == \"True\") {\n return \"--sjdbFileChrStartEnd #> \".concat(joined_paths)\n }\n else if (gtfgffFormat == \"True\") #> {\n return \"--sjdbGTFfile \".concat(joined_paths)\n }\n }\n #> \ }\n}" #> class: Expression #> stdin: '' #> stdout: '' #> successCodes: [] #> temporaryFailCodes: [] #> x: 384.0832266 #> 'y': 446.4998957 #> sbg:x: 100.0 #> sbg:y: 200.0 #> - id: '#SBG_FASTQ_Quality_Detector' #> inputs: #> - id: '#SBG_FASTQ_Quality_Detector.fastq' #> source: '#fastq' #> outputs: #> - id: '#SBG_FASTQ_Quality_Detector.result' #> hints: [] #> run: #> sbg:validationErrors: [] #> sbg:sbgMaintained: no #> sbg:latestRevision: 3 #> sbg:job: #> allocatedResources: #> mem: 1000 #> cpu: 1 #> inputs: #> fastq: #> size: 0 #> secondaryFiles: [] #> class: File #> path: /path/to/fastq.ext #> sbg:toolAuthor: Seven Bridges Genomics #> sbg:createdOn: 1450911312 #> sbg:categories: #> - FASTQ-Processing #> sbg:contributors: #> - bix-demo #> sbg:project: bix-demo/sbgtools-demo #> sbg:createdBy: bix-demo #> sbg:id: sevenbridges/public-apps/sbg-fastq-quality-detector/3 #> sbg:license: Apache License 2.0 #> sbg:revision: 3 #> sbg:cmdPreview: python /opt/sbg_fastq_quality_scale_detector.py --fastq /path/to/fastq.ext #> /path/to/fastq.ext #> sbg:modifiedOn: 1450911314 #> sbg:modifiedBy: bix-demo #> sbg:revisionsInfo: #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911312 #> sbg:revision: 0 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911314 #> sbg:revision: 3 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911313 #> sbg:revision: 1 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911313 #> sbg:revision: 2 #> sbg:toolkit: SBGTools #> id: sevenbridges/public-apps/sbg-fastq-quality-detector/3 #> inputs: #> - type: #> - File #> label: Fastq #> description: FASTQ file. #> streamable: no #> id: '#fastq' #> inputBinding: #> position: 0 #> prefix: --fastq #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> required: yes #> outputs: #> - type: #> - 'null' #> - File #> label: Result #> description: Source FASTQ file with updated metadata. #> streamable: no #> id: '#result' #> outputBinding: #> glob: '*.fastq' #> sbg:fileTypes: FASTQ #> requirements: #> - class: CreateFileRequirement #> fileDef: [] #> hints: #> - class: DockerRequirement #> dockerPull: images.sbgenomics.com/tziotas/sbg_fastq_quality_scale_detector:1.0 #> dockerImageId: '' #> - class: sbg:CPURequirement #> value: 1 #> - class: sbg:MemRequirement #> value: 1000 #> label: SBG FASTQ Quality Detector #> description: FASTQ Quality Scale Detector detects which quality encoding scheme #> was used in your reads and automatically enters the proper value in the "Quality #> Scale" metadata field. #> class: CommandLineTool #> baseCommand: #> - python #> - /opt/sbg_fastq_quality_scale_detector.py #> arguments: [] #> stdin: '' #> stdout: '' #> successCodes: [] #> temporaryFailCodes: [] #> x: 375.3333179 #> 'y': 323.5833156 #> sbg:x: 300.0 #> sbg:y: 200.0 #> - id: '#Picard_SortSam' #> inputs: #> - id: '#Picard_SortSam.validation_stringency' #> default: SILENT #> - id: '#Picard_SortSam.sort_order' #> default: Coordinate #> - id: '#Picard_SortSam.quiet' #> - id: '#Picard_SortSam.output_type' #> - id: '#Picard_SortSam.memory_per_job' #> - id: '#Picard_SortSam.max_records_in_ram' #> - id: '#Picard_SortSam.input_bam' #> source: '#STAR.aligned_reads' #> - id: '#Picard_SortSam.create_index' #> default: 'True' #> - id: '#Picard_SortSam.compression_level' #> outputs: #> - id: '#Picard_SortSam.sorted_bam' #> hints: [] #> run: #> sbg:validationErrors: [] #> sbg:sbgMaintained: no #> sbg:latestRevision: 2 #> sbg:job: #> allocatedResources: #> mem: 2048 #> cpu: 1 #> inputs: #> sort_order: Coordinate #> input_bam: #> path: /root/dir/example.tested.bam #> memory_per_job: 2048 #> output_type: ~ #> create_index: ~ #> sbg:toolAuthor: Broad Institute #> sbg:createdOn: 1450911168 #> sbg:categories: #> - SAM/BAM-Processing #> sbg:contributors: #> - bix-demo #> sbg:links: #> - id: http://broadinstitute.github.io/picard/index.html #> label: Homepage #> - id: https://github.com/broadinstitute/picard/releases/tag/1.138 #> label: Source Code #> - id: http://broadinstitute.github.io/picard/ #> label: Wiki #> - id: https://github.com/broadinstitute/picard/zipball/master #> label: Download #> - id: http://broadinstitute.github.io/picard/ #> label: Publication #> sbg:project: bix-demo/picard-1-140-demo #> sbg:createdBy: bix-demo #> sbg:toolkitVersion: '1.140' #> sbg:id: sevenbridges/public-apps/picard-sortsam-1-140/2 #> sbg:license: MIT License, Apache 2.0 Licence #> sbg:revision: 2 #> sbg:cmdPreview: java -Xmx2048M -jar /opt/picard-tools-1.140/picard.jar SortSam #> OUTPUT=example.tested.sorted.bam INPUT=/root/dir/example.tested.bam SORT_ORDER=coordinate INPUT=/root/dir/example.tested.bam #> SORT_ORDER=coordinate /root/dir/example.tested.bam #> sbg:modifiedOn: 1450911170 #> sbg:modifiedBy: bix-demo #> sbg:revisionsInfo: #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911168 #> sbg:revision: 0 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911169 #> sbg:revision: 1 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911170 #> sbg:revision: 2 #> sbg:toolkit: Picard #> id: sevenbridges/public-apps/picard-sortsam-1-140/2 #> inputs: #> - type: #> - 'null' #> - name: validation_stringency #> symbols: #> - STRICT #> - LENIENT #> - SILENT #> type: enum #> label: Validation stringency #> description: 'Validation stringency for all SAM files read by this program. #> Setting stringency to SILENT can improve performance when processing a BAM #> file in which variable-length data (read, qualities, tags) do not otherwise #> need to be decoded. This option can be set to ''null'' to clear the default #> value. Possible values: {STRICT, LENIENT, SILENT}.' #> streamable: no #> id: '#validation_stringency' #> inputBinding: #> position: 0 #> prefix: VALIDATION_STRINGENCY= #> separate: no #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.validation_stringency) #> { #> return $job.inputs.validation_stringency #> } #> else #> { #> return "SILENT" #> } #> } #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Other input types #> sbg:toolDefaultValue: SILENT #> required: no #> - type: #> - name: sort_order #> symbols: #> - Unsorted #> - Queryname #> - Coordinate #> type: enum #> label: Sort order #> description: 'Sort order of the output file. Possible values: {unsorted, queryname, #> coordinate}.' #> streamable: no #> id: '#sort_order' #> inputBinding: #> position: 3 #> prefix: SORT_ORDER= #> separate: no #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> p = $job.inputs.sort_order.toLowerCase() #> return p #> } #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Other input types #> sbg:toolDefaultValue: Coordinate #> sbg:altPrefix: SO #> required: yes #> - type: #> - 'null' #> - name: quiet #> symbols: #> - 'True' #> - 'False' #> type: enum #> label: Quiet #> description: 'This parameter indicates whether to suppress job-summary info #> on System.err. This option can be set to ''null'' to clear the default value. #> Possible values: {true, false}.' #> streamable: no #> id: '#quiet' #> inputBinding: #> position: 0 #> prefix: QUIET= #> separate: no #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Other input types #> sbg:toolDefaultValue: 'False' #> required: no #> - type: #> - 'null' #> - name: output_type #> symbols: #> - BAM #> - SAM #> - SAME AS INPUT #> type: enum #> label: Output format #> description: Since Picard tools can output both SAM and BAM files, user can #> choose the format of the output file. #> streamable: no #> id: '#output_type' #> sbg:category: Other input types #> sbg:toolDefaultValue: SAME AS INPUT #> required: no #> - type: #> - 'null' #> - int #> label: Memory per job #> description: Amount of RAM memory to be used per job. Defaults to 2048 MB for #> single threaded jobs. #> streamable: no #> id: '#memory_per_job' #> sbg:toolDefaultValue: '2048' #> required: no #> - type: #> - 'null' #> - int #> label: Max records in RAM #> description: When writing SAM files that need to be sorted, this parameter will #> specify the number of records stored in RAM before spilling to disk. Increasing #> this number reduces the number of file handles needed to sort a SAM file, #> and increases the amount of RAM needed. This option can be set to 'null' to #> clear the default value. #> streamable: no #> id: '#max_records_in_ram' #> inputBinding: #> position: 0 #> prefix: MAX_RECORDS_IN_RAM= #> separate: no #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Other input types #> sbg:toolDefaultValue: '500000' #> required: no #> - type: #> - File #> label: Input BAM #> description: The BAM or SAM file to sort. #> streamable: no #> id: '#input_bam' #> inputBinding: #> position: 1 #> prefix: INPUT= #> separate: no #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: File inputs #> sbg:fileTypes: BAM, SAM #> sbg:altPrefix: I #> required: yes #> - type: #> - 'null' #> - name: create_index #> symbols: #> - 'True' #> - 'False' #> type: enum #> label: Create index #> description: 'This parameter indicates whether to create a BAM index when writing #> a coordinate-sorted BAM file. This option can be set to ''null'' to clear #> the default value. Possible values: {true, false}.' #> streamable: no #> id: '#create_index' #> inputBinding: #> position: 5 #> prefix: CREATE_INDEX= #> separate: no #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Other input types #> sbg:toolDefaultValue: 'False' #> required: no #> - type: #> - 'null' #> - int #> label: Compression level #> description: Compression level for all compressed files created (e.g. BAM and #> GELI). This option can be set to 'null' to clear the default value. #> streamable: no #> id: '#compression_level' #> inputBinding: #> position: 0 #> prefix: COMPRESSION_LEVEL= #> separate: no #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Other input types #> sbg:toolDefaultValue: '5' #> required: no #> outputs: #> - type: #> - 'null' #> - File #> label: Sorted BAM/SAM #> description: Sorted BAM or SAM file. #> streamable: no #> id: '#sorted_bam' #> outputBinding: #> glob: '*.sorted.?am' #> sbg:fileTypes: BAM, SAM #> requirements: #> - class: ExpressionEngineRequirement #> id: '#cwl-js-engine' #> requirements: #> - class: DockerRequirement #> dockerPull: rabix/js-engine #> engineCommand: cwl-engine.js #> hints: #> - class: DockerRequirement #> dockerPull: images.sbgenomics.com/mladenlsbg/picard:1.140 #> dockerImageId: eab0e70b6629 #> - class: sbg:CPURequirement #> value: 1 #> - class: sbg:MemRequirement #> value: #> engine: '#cwl-js-engine' #> script: "{\n if($job.inputs.memory_per_job){\n \treturn $job.inputs.memory_per_job\n #> \ }\n \treturn 2048\n}" #> class: Expression #> label: Picard SortSam #> description: Picard SortSam sorts the input SAM or BAM. Input and output formats #> are determined by the file extension. #> class: CommandLineTool #> baseCommand: #> - java #> - class: Expression #> script: "{ \n if($job.inputs.memory_per_job){\n return '-Xmx'.concat($job.inputs.memory_per_job, #> 'M')\n } \n \treturn '-Xmx2048M'\n}" #> engine: '#cwl-js-engine' #> - -jar #> - /opt/picard-tools-1.140/picard.jar #> - SortSam #> arguments: #> - position: 0 #> prefix: OUTPUT= #> separate: no #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n filename = $job.inputs.input_bam.path\n ext = $job.inputs.output_type\n\nif #> (ext === \"BAM\")\n{\n return filename.split('.').slice(0, -1).concat(\"sorted.bam\").join(\".\").replace(/^.*[\\\\\\/]/, #> '')\n }\n\nelse if (ext === \"SAM\")\n{\n return filename.split('.').slice(0, #> -1).concat(\"sorted.sam\").join('.').replace(/^.*[\\\\\\/]/, '')\n}\n\nelse #> \n{\n\treturn filename.split('.').slice(0, -1).concat(\"sorted.\"+filename.split('.').slice(-1)[0]).join(\".\").replace(/^.*[\\\\\\/]/, #> '')\n}\n}" #> class: Expression #> - position: 1000 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n filename = $job.inputs.input_bam.path\n \n /* figuring out #> output file type */\n ext = $job.inputs.output_type\n if (ext === \"BAM\")\n #> \ {\n out_extension = \"BAM\"\n }\n else if (ext === \"SAM\")\n {\n #> \ out_extension = \"SAM\"\n }\n else \n {\n\tout_extension = filename.split('.').slice(-1)[0].toUpperCase()\n #> \ } \n \n /* if exist moving .bai in bam.bai */\n if ($job.inputs.create_index #> === 'True' && $job.inputs.sort_order === 'Coordinate' && out_extension == #> \"BAM\")\n {\n \n old_name = filename.split('.').slice(0, -1).concat('sorted.bai').join('.').replace(/^.*[\\\\\\/]/, #> '')\n new_name = filename.split('.').slice(0, -1).concat('sorted.bam.bai').join('.').replace(/^.*[\\\\\\/]/, #> '')\n return \"; mv \" + \" \" + old_name + \" \" + new_name\n }\n\n}" #> class: Expression #> stdin: '' #> stdout: '' #> successCodes: [] #> temporaryFailCodes: [] #> x: 773.0831807 #> 'y': 470.9165939 #> sbg:x: 500.0 #> sbg:y: 200.0 #> - id: '#STAR' #> inputs: #> - id: '#STAR.winFlankNbins' #> - id: '#STAR.winBinNbits' #> - id: '#STAR.winAnchorMultimapNmax' #> source: '#winAnchorMultimapNmax' #> - id: '#STAR.winAnchorDistNbins' #> source: '#winAnchorDistNbins' #> - id: '#STAR.twopassMode' #> - id: '#STAR.twopass1readsN' #> - id: '#STAR.sjdbScore' #> - id: '#STAR.sjdbOverhang' #> default: 100 #> - id: '#STAR.sjdbInsertSave' #> - id: '#STAR.sjdbGTFtagExonParentTranscript' #> - id: '#STAR.sjdbGTFtagExonParentGene' #> - id: '#STAR.sjdbGTFfile' #> source: '#sjdbGTFfile' #> - id: '#STAR.sjdbGTFfeatureExon' #> - id: '#STAR.sjdbGTFchrPrefix' #> - id: '#STAR.seedSearchStartLmaxOverLread' #> - id: '#STAR.seedSearchStartLmax' #> - id: '#STAR.seedSearchLmax' #> - id: '#STAR.seedPerWindowNmax' #> - id: '#STAR.seedPerReadNmax' #> - id: '#STAR.seedNoneLociPerWindow' #> - id: '#STAR.seedMultimapNmax' #> - id: '#STAR.scoreStitchSJshift' #> - id: '#STAR.scoreInsOpen' #> - id: '#STAR.scoreInsBase' #> - id: '#STAR.scoreGenomicLengthLog2scale' #> - id: '#STAR.scoreGapNoncan' #> - id: '#STAR.scoreGapGCAG' #> - id: '#STAR.scoreGapATAC' #> - id: '#STAR.scoreGap' #> - id: '#STAR.scoreDelOpen' #> - id: '#STAR.scoreDelBase' #> - id: '#STAR.rg_seq_center' #> - id: '#STAR.rg_sample_id' #> - id: '#STAR.rg_platform_unit_id' #> - id: '#STAR.rg_platform' #> - id: '#STAR.rg_mfl' #> - id: '#STAR.rg_library_id' #> - id: '#STAR.reads' #> source: '#SBG_FASTQ_Quality_Detector.result' #> - id: '#STAR.readMatesLengthsIn' #> - id: '#STAR.readMapNumber' #> - id: '#STAR.quantTranscriptomeBan' #> - id: '#STAR.quantMode' #> default: TranscriptomeSAM #> - id: '#STAR.outSortingType' #> default: SortedByCoordinate #> - id: '#STAR.outSJfilterReads' #> - id: '#STAR.outSJfilterOverhangMin' #> - id: '#STAR.outSJfilterIntronMaxVsReadN' #> - id: '#STAR.outSJfilterDistToOtherSJmin' #> - id: '#STAR.outSJfilterCountUniqueMin' #> - id: '#STAR.outSJfilterCountTotalMin' #> - id: '#STAR.outSAMunmapped' #> - id: '#STAR.outSAMtype' #> default: BAM #> - id: '#STAR.outSAMstrandField' #> - id: '#STAR.outSAMreadID' #> - id: '#STAR.outSAMprimaryFlag' #> - id: '#STAR.outSAMorder' #> - id: '#STAR.outSAMmode' #> - id: '#STAR.outSAMmapqUnique' #> - id: '#STAR.outSAMheaderPG' #> - id: '#STAR.outSAMheaderHD' #> - id: '#STAR.outSAMflagOR' #> - id: '#STAR.outSAMflagAND' #> - id: '#STAR.outSAMattributes' #> - id: '#STAR.outReadsUnmapped' #> default: Fastx #> - id: '#STAR.outQSconversionAdd' #> - id: '#STAR.outFilterType' #> - id: '#STAR.outFilterScoreMinOverLread' #> - id: '#STAR.outFilterScoreMin' #> - id: '#STAR.outFilterMultimapScoreRange' #> - id: '#STAR.outFilterMultimapNmax' #> - id: '#STAR.outFilterMismatchNoverReadLmax' #> - id: '#STAR.outFilterMismatchNoverLmax' #> - id: '#STAR.outFilterMismatchNmax' #> - id: '#STAR.outFilterMatchNminOverLread' #> - id: '#STAR.outFilterMatchNmin' #> - id: '#STAR.outFilterIntronMotifs' #> - id: '#STAR.limitSjdbInsertNsj' #> - id: '#STAR.limitOutSJoneRead' #> - id: '#STAR.limitOutSJcollapsed' #> - id: '#STAR.limitBAMsortRAM' #> - id: '#STAR.genomeDirName' #> - id: '#STAR.genome' #> source: '#STAR_Genome_Generate.genome' #> - id: '#STAR.clip5pNbases' #> - id: '#STAR.clip3pNbases' #> - id: '#STAR.clip3pAfterAdapterNbases' #> - id: '#STAR.clip3pAdapterSeq' #> - id: '#STAR.clip3pAdapterMMp' #> - id: '#STAR.chimSegmentMin' #> - id: '#STAR.chimScoreSeparation' #> - id: '#STAR.chimScoreMin' #> - id: '#STAR.chimScoreJunctionNonGTAG' #> - id: '#STAR.chimScoreDropMax' #> - id: '#STAR.chimOutType' #> - id: '#STAR.chimJunctionOverhangMin' #> - id: '#STAR.alignWindowsPerReadNmax' #> - id: '#STAR.alignTranscriptsPerWindowNmax' #> - id: '#STAR.alignTranscriptsPerReadNmax' #> - id: '#STAR.alignSplicedMateMapLminOverLmate' #> - id: '#STAR.alignSplicedMateMapLmin' #> - id: '#STAR.alignSoftClipAtReferenceEnds' #> - id: '#STAR.alignSJoverhangMin' #> - id: '#STAR.alignSJDBoverhangMin' #> - id: '#STAR.alignMatesGapMax' #> - id: '#STAR.alignIntronMin' #> - id: '#STAR.alignIntronMax' #> - id: '#STAR.alignEndsType' #> outputs: #> - id: '#STAR.unmapped_reads' #> - id: '#STAR.transcriptome_aligned_reads' #> - id: '#STAR.splice_junctions' #> - id: '#STAR.reads_per_gene' #> - id: '#STAR.log_files' #> - id: '#STAR.intermediate_genome' #> - id: '#STAR.chimeric_junctions' #> - id: '#STAR.chimeric_alignments' #> - id: '#STAR.aligned_reads' #> hints: [] #> run: #> sbg:validationErrors: [] #> sbg:sbgMaintained: no #> sbg:latestRevision: 4 #> sbg:job: #> allocatedResources: #> mem: 60000 #> cpu: 15 #> inputs: #> alignWindowsPerReadNmax: 0 #> outSAMheaderPG: outSAMheaderPG #> GENOME_DIR_NAME: '' #> outFilterMatchNminOverLread: 0 #> rg_platform_unit_id: rg_platform_unit #> alignTranscriptsPerReadNmax: 0 #> readMapNumber: 0 #> alignSplicedMateMapLminOverLmate: 0 #> alignMatesGapMax: 0 #> outFilterMultimapNmax: 0 #> clip5pNbases: #> - 0 #> outSAMstrandField: None #> readMatesLengthsIn: NotEqual #> outSAMattributes: Standard #> seedMultimapNmax: 0 #> rg_mfl: rg_mfl #> chimSegmentMin: 0 #> winAnchorDistNbins: 0 #> outSortingType: SortedByCoordinate #> outFilterMultimapScoreRange: 0 #> sjdbInsertSave: Basic #> clip3pAfterAdapterNbases: #> - 0 #> scoreDelBase: 0 #> outFilterMatchNmin: 0 #> twopass1readsN: 0 #> outSAMunmapped: None #> genome: #> size: 0 #> secondaryFiles: [] #> class: File #> path: genome.ext #> sjdbGTFtagExonParentTranscript: '' #> limitBAMsortRAM: 0 #> alignEndsType: Local #> seedNoneLociPerWindow: 0 #> rg_sample_id: rg_sample #> sjdbGTFtagExonParentGene: '' #> chimScoreMin: 0 #> outSJfilterIntronMaxVsReadN: #> - 0 #> twopassMode: Basic #> alignSplicedMateMapLmin: 0 #> outSJfilterReads: All #> outSAMprimaryFlag: OneBestScore #> outSJfilterCountTotalMin: #> - 3 #> - 1 #> - 1 #> - 1 #> outSAMorder: Paired #> outSAMflagAND: 0 #> chimScoreSeparation: 0 #> alignSJoverhangMin: 0 #> outFilterScoreMin: 0 #> seedSearchStartLmax: 0 #> scoreGapGCAG: 0 #> scoreGenomicLengthLog2scale: 0 #> outFilterIntronMotifs: None #> outFilterMismatchNmax: 0 #> reads: #> - size: 0 #> secondaryFiles: [] #> class: File #> metadata: #> format: fastq #> paired_end: '1' #> seq_center: illumina #> path: /test-data/mate_1.fastq.bz2 #> scoreGap: 0 #> outSJfilterOverhangMin: #> - 30 #> - 12 #> - 12 #> - 12 #> outSAMflagOR: 0 #> outSAMmode: Full #> rg_library_id: '' #> chimScoreJunctionNonGTAG: 0 #> scoreInsOpen: 0 #> clip3pAdapterSeq: #> - clip3pAdapterSeq #> chimScoreDropMax: 0 #> outFilterType: Normal #> scoreGapATAC: 0 #> rg_platform: Ion Torrent PGM #> clip3pAdapterMMp: #> - 0 #> sjdbGTFfeatureExon: '' #> outQSconversionAdd: 0 #> quantMode: TranscriptomeSAM #> alignIntronMin: 0 #> scoreInsBase: 0 #> scoreGapNoncan: 0 #> seedSearchLmax: 0 #> outSJfilterDistToOtherSJmin: #> - 0 #> outFilterScoreMinOverLread: 0 #> alignSJDBoverhangMin: 0 #> limitOutSJcollapsed: 0 #> winAnchorMultimapNmax: 0 #> outFilterMismatchNoverLmax: 0 #> rg_seq_center: '' #> outSAMheaderHD: outSAMheaderHD #> chimOutType: Within #> quantTranscriptomeBan: IndelSoftclipSingleend #> limitOutSJoneRead: 0 #> alignTranscriptsPerWindowNmax: 0 #> sjdbOverhang: ~ #> outReadsUnmapped: Fastx #> scoreStitchSJshift: 0 #> seedPerWindowNmax: 0 #> outSJfilterCountUniqueMin: #> - 3 #> - 1 #> - 1 #> - 1 #> scoreDelOpen: 0 #> sjdbGTFfile: #> - path: /demo/test-data/chr20.gtf #> clip3pNbases: #> - 0 #> - 3 #> winBinNbits: 0 #> sjdbScore: ~ #> seedSearchStartLmaxOverLread: 0 #> alignIntronMax: 0 #> seedPerReadNmax: 0 #> outFilterMismatchNoverReadLmax: 0 #> winFlankNbins: 0 #> sjdbGTFchrPrefix: chrPrefix #> alignSoftClipAtReferenceEnds: 'Yes' #> outSAMreadID: Standard #> outSAMtype: BAM #> chimJunctionOverhangMin: 0 #> limitSjdbInsertNsj: 0 #> outSAMmapqUnique: 0 #> sbg:toolAuthor: Alexander Dobin/CSHL #> sbg:createdOn: 1450911471 #> sbg:categories: #> - Alignment #> sbg:contributors: #> - ana_d #> - bix-demo #> - uros_sipetic #> sbg:links: #> - id: https://github.com/alexdobin/STAR #> label: Homepage #> - id: https://github.com/alexdobin/STAR/releases #> label: Releases #> - id: https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf #> label: Manual #> - id: https://groups.google.com/forum/#!forum/rna-star #> label: Support #> - id: http://www.ncbi.nlm.nih.gov/pubmed/23104886 #> label: Publication #> sbg:project: bix-demo/star-2-4-2a-demo #> sbg:createdBy: bix-demo #> sbg:toolkitVersion: 2.4.2a #> sbg:id: sevenbridges/public-apps/star/4 #> sbg:license: GNU General Public License v3.0 only #> sbg:revision: 4 #> sbg:cmdPreview: tar -xvf genome.ext && /opt/STAR --runThreadN 15 --readFilesCommand #> bzcat --sjdbGTFfile /demo/test-data/chr20.gtf --sjdbGTFchrPrefix chrPrefix #> --sjdbInsertSave Basic --twopass1readsN 0 --chimOutType WithinBAM --outSAMattrRGline #> ID:1 CN:illumina PI:rg_mfl PL:Ion_Torrent_PGM PU:rg_platform_unit SM:rg_sample --quantMode #> TranscriptomeSAM --outFileNamePrefix ./mate_1.fastq.bz2. --readFilesIn /test-data/mate_1.fastq.bz2 && #> tar -vcf mate_1.fastq.bz2._STARgenome.tar ./mate_1.fastq.bz2._STARgenome && #> mv mate_1.fastq.bz2.Unmapped.out.mate1 mate_1.fastq.bz2.Unmapped.out.mate1.fastq #> sbg:modifiedOn: 1462889222 #> sbg:modifiedBy: ana_d #> sbg:revisionsInfo: #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911471 #> sbg:revision: 0 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911473 #> sbg:revision: 1 #> - sbg:modifiedBy: bix-demo #> sbg:modifiedOn: 1450911475 #> sbg:revision: 2 #> - sbg:modifiedBy: uros_sipetic #> sbg:modifiedOn: 1462878528 #> sbg:revision: 3 #> - sbg:modifiedBy: ana_d #> sbg:modifiedOn: 1462889222 #> sbg:revision: 4 #> sbg:toolkit: STAR #> id: sevenbridges/public-apps/star/4 #> inputs: #> - type: #> - 'null' #> - int #> label: Flanking regions size #> description: =log2(winFlank), where win Flank is the size of the left and right #> flanking regions for each window (int>0). #> streamable: no #> id: '#winFlankNbins' #> inputBinding: #> position: 0 #> prefix: --winFlankNbins #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:includeInPorts: yes #> sbg:toolDefaultValue: '4' #> required: no #> - type: #> - 'null' #> - int #> label: Bin size #> description: =log2(winBin), where winBin is the size of the bin for the windows/clustering, #> each window will occupy an integer number of bins (int>0). #> streamable: no #> id: '#winBinNbits' #> inputBinding: #> position: 0 #> prefix: --winBinNbits #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:includeInPorts: yes #> sbg:toolDefaultValue: '16' #> required: no #> - type: #> - 'null' #> - int #> label: Max loci anchors #> description: Max number of loci anchors are allowed to map to (int>0). #> streamable: no #> id: '#winAnchorMultimapNmax' #> inputBinding: #> position: 0 #> prefix: --winAnchorMultimapNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:toolDefaultValue: '50' #> required: no #> - type: #> - 'null' #> - int #> label: Max bins between anchors #> description: Max number of bins between two anchors that allows aggregation #> of anchors into one window (int>0). #> streamable: no #> id: '#winAnchorDistNbins' #> inputBinding: #> position: 0 #> prefix: --winAnchorDistNbins #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Windows, Anchors, Binning #> sbg:toolDefaultValue: '9' #> required: no #> - type: #> - 'null' #> - name: twopassMode #> symbols: #> - None #> - Basic #> type: enum #> label: Two-pass mode #> description: '2-pass mapping mode. None: 1-pass mapping; Basic: basic 2-pass #> mapping, with all 1st pass junctions inserted into the genome indices on the #> fly.' #> streamable: no #> id: '#twopassMode' #> inputBinding: #> position: 0 #> prefix: --twopassMode #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 2-pass mapping #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - int #> label: Reads to process in 1st step #> description: 'Number of reads to process for the 1st step. 0: 1-step only, no #> 2nd pass; use very large number to map all reads in the first step (int>0).' #> streamable: no #> id: '#twopass1readsN' #> sbg:category: 2-pass mapping #> sbg:toolDefaultValue: '-1' #> required: no #> - type: #> - 'null' #> - int #> label: Extra alignment score #> description: Extra alignment score for alignments that cross database junctions. #> streamable: no #> id: '#sjdbScore' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: '2' #> required: no #> - type: #> - 'null' #> - int #> label: '"Overhang" length' #> description: Length of the donor/acceptor sequence on each side of the junctions, #> ideally = (mate_length - 1) (int >= 0), if int = 0, splice junction database #> is not used. #> streamable: no #> id: '#sjdbOverhang' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: '100' #> required: no #> - type: #> - 'null' #> - name: sjdbInsertSave #> symbols: #> - Basic #> - All #> - None #> type: enum #> label: Save junction files #> description: 'Which files to save when sjdb junctions are inserted on the fly #> at the mapping step. None: not saving files at all; Basic: only small junction/transcript #> files; All: all files including big Genome, SA and SAindex. These files are #> output as archive.' #> streamable: no #> id: '#sjdbInsertSave' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - string #> label: Exons' parents name #> description: Tag name to be used as exons' transcript-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentTranscript' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: transcript_id #> required: no #> - type: #> - 'null' #> - string #> label: Gene name #> description: Tag name to be used as exons' gene-parents. #> streamable: no #> id: '#sjdbGTFtagExonParentGene' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: gene_id #> required: no #> - type: #> - 'null' #> - items: File #> type: array #> label: Splice junction file #> description: Gene model annotations and/or known transcripts. No need to include #> this input, except in case of using "on the fly" annotations. #> streamable: no #> id: '#sjdbGTFfile' #> sbg:category: Basic #> sbg:fileTypes: GTF, GFF, TXT #> required: no #> - type: #> - 'null' #> - string #> label: Set exons feature #> description: Feature type in GTF file to be used as exons for building transcripts. #> streamable: no #> id: '#sjdbGTFfeatureExon' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: exon #> required: no #> - type: #> - 'null' #> - string #> label: Chromosome names #> description: Prefix for chromosome names in a GTF file (e.g. 'chr' for using #> ENSMEBL annotations with UCSC geneomes). #> streamable: no #> id: '#sjdbGTFchrPrefix' #> sbg:category: Splice junctions database #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - float #> label: Search start point normalized #> description: seedSearchStartLmax normalized to read length (sum of mates' lengths #> for paired-end reads). #> streamable: no #> id: '#seedSearchStartLmaxOverLread' #> inputBinding: #> position: 0 #> prefix: --seedSearchStartLmaxOverLread #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '1.0' #> required: no #> - type: #> - 'null' #> - int #> label: Search start point #> description: Defines the search start point through the read - the read is split #> into pieces no longer than this value (int>0). #> streamable: no #> id: '#seedSearchStartLmax' #> inputBinding: #> position: 0 #> prefix: --seedSearchStartLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '50' #> required: no #> - type: #> - 'null' #> - int #> label: Max seed length #> description: Defines the maximum length of the seeds, if =0 max seed length #> is infinite (int>=0). #> streamable: no #> id: '#seedSearchLmax' #> inputBinding: #> position: 0 #> prefix: --seedSearchLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Max seeds per window #> description: Max number of seeds per window (int>=0). #> streamable: no #> id: '#seedPerWindowNmax' #> inputBinding: #> position: 0 #> prefix: --seedPerWindowNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '50' #> required: no #> - type: #> - 'null' #> - int #> label: Max seeds per read #> description: Max number of seeds per read (int>=0). #> streamable: no #> id: '#seedPerReadNmax' #> inputBinding: #> position: 0 #> prefix: --seedPerReadNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '1000' #> required: no #> - type: #> - 'null' #> - int #> label: Max one-seed loci per window #> description: Max number of one seed loci per window (int>=0). #> streamable: no #> id: '#seedNoneLociPerWindow' #> inputBinding: #> position: 0 #> prefix: --seedNoneLociPerWindow #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - int #> label: Filter pieces for stitching #> description: Only pieces that map fewer than this value are utilized in the #> stitching procedure (int>=0). #> streamable: no #> id: '#seedMultimapNmax' #> inputBinding: #> position: 0 #> prefix: --seedMultimapNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10000' #> required: no #> - type: #> - 'null' #> - int #> label: Max score reduction #> description: Maximum score reduction while searching for SJ boundaries in the #> stitching step. #> streamable: no #> id: '#scoreStitchSJshift' #> inputBinding: #> position: 0 #> prefix: --scoreStitchSJshift #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '1' #> required: no #> - type: #> - 'null' #> - int #> label: Insertion Open Penalty #> description: Insertion open penalty. #> streamable: no #> id: '#scoreInsOpen' #> inputBinding: #> position: 0 #> prefix: --scoreInsOpen #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - int #> label: Insertion extension penalty #> description: Insertion extension penalty per base (in addition to --scoreInsOpen). #> streamable: no #> id: '#scoreInsBase' #> inputBinding: #> position: 0 #> prefix: --scoreInsBase #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - float #> label: Log scaled score #> description: 'Extra score logarithmically scaled with genomic length of the #> alignment: <int>*log2(genomicLength).' #> streamable: no #> id: '#scoreGenomicLengthLog2scale' #> inputBinding: #> position: 0 #> prefix: --scoreGenomicLengthLog2scale #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-0.25' #> required: no #> - type: #> - 'null' #> - int #> label: Non-canonical gap open #> description: Non-canonical gap open penalty (in addition to --scoreGap). #> streamable: no #> id: '#scoreGapNoncan' #> inputBinding: #> position: 0 #> prefix: --scoreGapNoncan #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-8' #> required: no #> - type: #> - 'null' #> - int #> label: GC/AG and CT/GC gap open #> description: GC/AG and CT/GC gap open penalty (in addition to --scoreGap). #> streamable: no #> id: '#scoreGapGCAG' #> inputBinding: #> position: 0 #> prefix: --scoreGapGCAG #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-4' #> required: no #> - type: #> - 'null' #> - int #> label: AT/AC and GT/AT gap open #> description: AT/AC and GT/AT gap open penalty (in addition to --scoreGap). #> streamable: no #> id: '#scoreGapATAC' #> inputBinding: #> position: 0 #> prefix: --scoreGapATAC #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-8' #> required: no #> - type: #> - 'null' #> - int #> label: Gap open penalty #> description: Gap open penalty. #> streamable: no #> id: '#scoreGap' #> inputBinding: #> position: 0 #> prefix: --scoreGap #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Deletion open penalty #> description: Deletion open penalty. #> streamable: no #> id: '#scoreDelOpen' #> inputBinding: #> position: 0 #> prefix: --scoreDelOpen #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - int #> label: Deletion extension penalty #> description: Deletion extension penalty per base (in addition to --scoreDelOpen). #> streamable: no #> id: '#scoreDelBase' #> inputBinding: #> position: 0 #> prefix: --scoreDelBase #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Scoring #> sbg:toolDefaultValue: '-2' #> required: no #> - type: #> - 'null' #> - string #> label: Sequencing center #> description: Specify the sequencing center for RG line. #> streamable: no #> id: '#rg_seq_center' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Sample ID #> description: Specify the sample ID for RG line. #> streamable: no #> id: '#rg_sample_id' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Platform unit ID #> description: Specify the platform unit ID for RG line. #> streamable: no #> id: '#rg_platform_unit_id' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - name: rg_platform #> symbols: #> - LS 454 #> - Helicos #> - Illumina #> - ABI SOLiD #> - Ion Torrent PGM #> - PacBio #> type: enum #> label: Platform #> description: Specify the version of the technology that was used for sequencing #> or assaying. #> streamable: no #> id: '#rg_platform' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Median fragment length #> description: Specify the median fragment length for RG line. #> streamable: no #> id: '#rg_mfl' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - 'null' #> - string #> label: Library ID #> description: Specify the library ID for RG line. #> streamable: no #> id: '#rg_library_id' #> sbg:category: Read group #> sbg:toolDefaultValue: Inferred from metadata #> required: no #> - type: #> - items: File #> type: array #> label: Read sequence #> description: Read sequence. #> streamable: no #> id: '#reads' #> inputBinding: #> position: 10 #> separate: yes #> itemSeparator: ' ' #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\t\n var list = [].concat($job.inputs.reads)\n \n var resp #> = []\n \n if (list.length == 1){\n resp.push(list[0].path)\n \n #> \ }else if (list.length == 2){ \n \n left = \"\"\n right = #> \"\"\n \n for (index = 0; index < list.length; ++index) {\n \n #> \ if (list[index].metadata != null){\n if (list[index].metadata.paired_end #> == 1){\n left = list[index].path\n }else if (list[index].metadata.paired_end #> == 2){\n right = list[index].path\n }\n }\n }\n #> \ \n if (left != \"\" && right != \"\"){ \n resp.push(left)\n #> \ resp.push(right)\n }\n }\n else if (list.length > 2){\n left #> = []\n right = []\n \n for (index = 0; index < list.length; #> ++index) {\n \n if (list[index].metadata != null){\n if #> (list[index].metadata.paired_end == 1){\n left.push(list[index].path)\n #> \ }else if (list[index].metadata.paired_end == 2){\n right.push(list[index].path)\n #> \ }\n }\n }\n left_join = left.join()\n right_join #> = right.join()\n if (left != [] && right != []){ \n resp.push(left_join)\n #> \ resp.push(right_join)\n }\t\n }\n \n if(resp.length > 0){ #> \ \n return \"--readFilesIn \".concat(resp.join(\" \"))\n }\n}" #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Basic #> sbg:fileTypes: FASTA, FASTQ, FA, FQ, FASTQ.GZ, FQ.GZ, FASTQ.BZ2, FQ.BZ2 #> required: yes #> - type: #> - 'null' #> - name: readMatesLengthsIn #> symbols: #> - NotEqual #> - Equal #> type: enum #> label: Reads lengths #> description: Equal/Not equal - lengths of names, sequences, qualities for both #> mates are the same/not the same. "Not equal" is safe in all situations. #> streamable: no #> id: '#readMatesLengthsIn' #> inputBinding: #> position: 0 #> prefix: --readMatesLengthsIn #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: NotEqual #> required: no #> - type: #> - 'null' #> - int #> label: Reads to map #> description: Number of reads to map from the beginning of the file. #> streamable: no #> id: '#readMapNumber' #> inputBinding: #> position: 0 #> prefix: --readMapNumber #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '-1' #> required: no #> - type: #> - 'null' #> - name: quantTranscriptomeBan #> symbols: #> - IndelSoftclipSingleend #> - Singleend #> type: enum #> label: Prohibit alignment type #> description: 'Prohibit various alignment type. IndelSoftclipSingleend: prohibit #> indels, soft clipping and single-end alignments - compatible with RSEM; Singleend: #> prohibit single-end alignments.' #> streamable: no #> id: '#quantTranscriptomeBan' #> inputBinding: #> position: 0 #> prefix: --quantTranscriptomeBan #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Quantification of Annotations #> sbg:toolDefaultValue: IndelSoftclipSingleend #> required: no #> - type: #> - 'null' #> - name: quantMode #> symbols: #> - TranscriptomeSAM #> - GeneCounts #> type: enum #> label: Quantification mode #> description: Types of quantification requested. 'TranscriptomeSAM' option outputs #> SAM/BAM alignments to transcriptome into a separate file. With 'GeneCounts' #> option, STAR will count number of reads per gene while mapping. #> streamable: no #> id: '#quantMode' #> sbg:category: Quantification of Annotations #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - name: outSortingType #> symbols: #> - Unsorted #> - SortedByCoordinate #> - Unsorted SortedByCoordinate #> type: enum #> label: Output sorting type #> description: Type of output sorting. #> streamable: no #> id: '#outSortingType' #> sbg:category: Output #> sbg:toolDefaultValue: SortedByCoordinate #> required: no #> - type: #> - 'null' #> - name: outSJfilterReads #> symbols: #> - All #> - Unique #> type: enum #> label: Collapsed junctions reads #> description: 'Which reads to consider for collapsed splice junctions output. #> All: all reads, unique- and multi-mappers; Unique: uniquely mapping reads #> only.' #> streamable: no #> id: '#outSJfilterReads' #> inputBinding: #> position: 0 #> prefix: --outSJfilterReads #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: All #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min overhang SJ #> description: Minimum overhang length for splice junctions on both sides for #> each of the motifs. To set no output for desired motif, assign -1 to the corresponding #> field. Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterOverhangMin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterOverhangMin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 30 12 12 12 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Max gap allowed #> description: 'Maximum gap allowed for junctions supported by 1,2,3...N reads #> (int >= 0) i.e. by default junctions supported by 1 read can have gaps <=50000b, #> by 2 reads: <=100000b, by 3 reads: <=200000. By 4 or more reads: any gap <=alignIntronMax. #> Does not apply to annotated junctions.' #> streamable: no #> id: '#outSJfilterIntronMaxVsReadN' #> inputBinding: #> position: 0 #> prefix: --outSJfilterIntronMaxVsReadN #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 50000 100000 200000 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min distance to other donor/acceptor #> description: Minimum allowed distance to other junctions' donor/acceptor for #> each of the motifs (int >= 0). Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterDistToOtherSJmin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterDistToOtherSJmin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 10 0 5 10 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min unique count #> description: Minimum uniquely mapping read count per junction for each of the #> motifs. To set no output for desired motif, assign -1 to the corresponding #> field. Junctions are output if one of --outSJfilterCountUniqueMin OR --outSJfilterCountTotalMin #> conditions are satisfied. Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterCountUniqueMin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterCountUniqueMin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 3 1 1 1 #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Min total count #> description: Minimum total (multi-mapping+unique) read count per junction for #> each of the motifs. To set no output for desired motif, assign -1 to the corresponding #> field. Junctions are output if one of --outSJfilterCountUniqueMin OR --outSJfilterCountTotalMin #> conditions are satisfied. Does not apply to annotated junctions. #> streamable: no #> id: '#outSJfilterCountTotalMin' #> inputBinding: #> position: 0 #> prefix: --outSJfilterCountTotalMin #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: 'Output filtering: splice junctions' #> sbg:toolDefaultValue: 3 1 1 1 #> required: no #> - type: #> - 'null' #> - name: outSAMunmapped #> symbols: #> - None #> - Within #> type: enum #> label: Write unmapped in SAM #> description: 'Output of unmapped reads in the SAM format. None: no output Within: #> output unmapped reads within the main SAM file (i.e. Aligned.out.sam).' #> streamable: no #> id: '#outSAMunmapped' #> inputBinding: #> position: 0 #> prefix: --outSAMunmapped #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - name: outSAMtype #> symbols: #> - SAM #> - BAM #> type: enum #> label: Output format #> description: Format of output alignments. #> streamable: no #> id: '#outSAMtype' #> inputBinding: #> position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> SAM_type = $job.inputs.outSAMtype #> SORT_type = $job.inputs.outSortingType #> if (SAM_type && SORT_type) { #> return "--outSAMtype ".concat(SAM_type, " ", SORT_type) #> } #> } #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: SAM #> required: no #> - type: #> - 'null' #> - name: outSAMstrandField #> symbols: #> - None #> - intronMotif #> type: enum #> label: Strand field flag #> description: 'Cufflinks-like strand field flag. None: not used; intronMotif: #> strand derived from the intron motif. Reads with inconsistent and/or non-canonical #> introns are filtered out.' #> streamable: no #> id: '#outSAMstrandField' #> inputBinding: #> position: 0 #> prefix: --outSAMstrandField #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - name: outSAMreadID #> symbols: #> - Standard #> - Number #> type: enum #> label: Read ID #> description: 'Read ID record type. Standard: first word (until space) from the #> FASTx read ID line, removing /1,/2 from the end; Number: read number (index) #> in the FASTx file.' #> streamable: no #> id: '#outSAMreadID' #> inputBinding: #> position: 0 #> prefix: --outSAMreadID #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Standard #> required: no #> - type: #> - 'null' #> - name: outSAMprimaryFlag #> symbols: #> - OneBestScore #> - AllBestScore #> type: enum #> label: Primary alignments #> description: 'Which alignments are considered primary - all others will be marked #> with 0x100 bit in the FLAG. OneBestScore: only one alignment with the best #> score is primary; AllBestScore: all alignments with the best score are primary.' #> streamable: no #> id: '#outSAMprimaryFlag' #> inputBinding: #> position: 0 #> prefix: --outSAMprimaryFlag #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: OneBestScore #> required: no #> - type: #> - 'null' #> - name: outSAMorder #> symbols: #> - Paired #> - PairedKeepInputOrder #> type: enum #> label: Sorting in SAM #> description: 'Type of sorting for the SAM output. Paired: one mate after the #> other for all paired alignments; PairedKeepInputOrder: one mate after the #> other for all paired alignments, the order is kept the same as in the input #> FASTQ files.' #> streamable: no #> id: '#outSAMorder' #> inputBinding: #> position: 0 #> prefix: --outSAMorder #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Paired #> required: no #> - type: #> - 'null' #> - name: outSAMmode #> symbols: #> - Full #> - NoQS #> type: enum #> label: SAM mode #> description: 'Mode of SAM output. Full: full SAM output; NoQS: full SAM but #> without quality scores.' #> streamable: no #> id: '#outSAMmode' #> inputBinding: #> position: 0 #> prefix: --outSAMmode #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Full #> required: no #> - type: #> - 'null' #> - int #> label: MAPQ value #> description: MAPQ value for unique mappers (0 to 255). #> streamable: no #> id: '#outSAMmapqUnique' #> inputBinding: #> position: 0 #> prefix: --outSAMmapqUnique #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '255' #> required: no #> - type: #> - 'null' #> - string #> label: SAM header @PG #> description: Extra @PG (software) line of the SAM header (in addition to STAR). #> streamable: no #> id: '#outSAMheaderPG' #> inputBinding: #> position: 0 #> prefix: --outSAMheaderPG #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - string #> label: SAM header @HD #> description: '@HD (header) line of the SAM header.' #> streamable: no #> id: '#outSAMheaderHD' #> inputBinding: #> position: 0 #> prefix: --outSAMheaderHD #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - int #> label: OR SAM flag #> description: Set specific bits of the SAM FLAG. #> streamable: no #> id: '#outSAMflagOR' #> inputBinding: #> position: 0 #> prefix: --outSAMflagOR #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: AND SAM flag #> description: Set specific bits of the SAM FLAG. #> streamable: no #> id: '#outSAMflagAND' #> inputBinding: #> position: 0 #> prefix: --outSAMflagAND #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '65535' #> required: no #> - type: #> - 'null' #> - name: outSAMattributes #> symbols: #> - Standard #> - NH #> - All #> - None #> type: enum #> label: SAM attributes #> description: 'Desired SAM attributes, in the order desired for the output SAM. #> NH: any combination in any order; Standard: NH HI AS nM; All: NH HI AS nM #> NM MD jM jI; None: no attributes.' #> streamable: no #> id: '#outSAMattributes' #> inputBinding: #> position: 0 #> prefix: --outSAMattributes #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: Standard #> required: no #> - type: #> - 'null' #> - name: outReadsUnmapped #> symbols: #> - None #> - Fastx #> type: enum #> label: Output unmapped reads #> description: 'Output of unmapped reads (besides SAM). None: no output; Fastx: #> output in separate fasta/fastq files, Unmapped.out.mate1/2.' #> streamable: no #> id: '#outReadsUnmapped' #> inputBinding: #> position: 0 #> prefix: --outReadsUnmapped #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - int #> label: Quality conversion #> description: Add this number to the quality score (e.g. to convert from Illumina #> to Sanger, use -31). #> streamable: no #> id: '#outQSconversionAdd' #> inputBinding: #> position: 0 #> prefix: --outQSconversionAdd #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - name: outFilterType #> symbols: #> - Normal #> - BySJout #> type: enum #> label: Filtering type #> description: 'Type of filtering. Normal: standard filtering using only current #> alignment; BySJout: keep only those reads that contain junctions that passed #> filtering into SJ.out.tab.' #> streamable: no #> id: '#outFilterType' #> inputBinding: #> position: 0 #> prefix: --outFilterType #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: Normal #> required: no #> - type: #> - 'null' #> - float #> label: Min score normalized #> description: '''Minimum score'' normalized to read length (sum of mates'' lengths #> for paired-end reads).' #> streamable: no #> id: '#outFilterScoreMinOverLread' #> inputBinding: #> position: 0 #> prefix: --outFilterScoreMinOverLread #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0.66' #> required: no #> - type: #> - 'null' #> - int #> label: Min score #> description: Alignment will be output only if its score is higher than this #> value. #> streamable: no #> id: '#outFilterScoreMin' #> inputBinding: #> position: 0 #> prefix: --outFilterScoreMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Multimapping score range #> description: The score range below the maximum score for multimapping alignments. #> streamable: no #> id: '#outFilterMultimapScoreRange' #> inputBinding: #> position: 0 #> prefix: --outFilterMultimapScoreRange #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '1' #> required: no #> - type: #> - 'null' #> - int #> label: Max number of mappings #> description: Read alignments will be output only if the read maps fewer than #> this value, otherwise no alignments will be output. #> streamable: no #> id: '#outFilterMultimapNmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMultimapNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - float #> label: Mismatches to *read* length #> description: Alignment will be output only if its ratio of mismatches to *read* #> length is less than this value. #> streamable: no #> id: '#outFilterMismatchNoverReadLmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMismatchNoverReadLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '1' #> required: no #> - type: #> - 'null' #> - float #> label: Mismatches to *mapped* length #> description: Alignment will be output only if its ratio of mismatches to *mapped* #> length is less than this value. #> streamable: no #> id: '#outFilterMismatchNoverLmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMismatchNoverLmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0.3' #> required: no #> - type: #> - 'null' #> - int #> label: Max number of mismatches #> description: Alignment will be output only if it has fewer mismatches than this #> value. #> streamable: no #> id: '#outFilterMismatchNmax' #> inputBinding: #> position: 0 #> prefix: --outFilterMismatchNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - float #> label: Min matched bases normalized #> description: '''Minimum matched bases'' normalized to read length (sum of mates #> lengths for paired-end reads).' #> streamable: no #> id: '#outFilterMatchNminOverLread' #> inputBinding: #> position: 0 #> prefix: --outFilterMatchNminOverLread #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0.66' #> required: no #> - type: #> - 'null' #> - int #> label: Min matched bases #> description: Alignment will be output only if the number of matched bases is #> higher than this value. #> streamable: no #> id: '#outFilterMatchNmin' #> inputBinding: #> position: 0 #> prefix: --outFilterMatchNmin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - name: outFilterIntronMotifs #> symbols: #> - None #> - RemoveNoncanonical #> - RemoveNoncanonicalUnannotated #> type: enum #> label: Motifs filtering #> description: 'Filter alignment using their motifs. None: no filtering; RemoveNoncanonical: #> filter out alignments that contain non-canonical junctions; RemoveNoncanonicalUnannotated: #> filter out alignments that contain non-canonical unannotated junctions when #> using annotated splice junctions database. The annotated non-canonical junctions #> will be kept.' #> streamable: no #> id: '#outFilterIntronMotifs' #> inputBinding: #> position: 0 #> prefix: --outFilterIntronMotifs #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Output filtering #> sbg:toolDefaultValue: None #> required: no #> - type: #> - 'null' #> - int #> label: Max insert junctions #> description: Maximum number of junction to be inserted to the genome on the #> fly at the mapping stage, including those from annotations and those detected #> in the 1st step of the 2-pass run. #> streamable: no #> id: '#limitSjdbInsertNsj' #> inputBinding: #> position: 0 #> prefix: --limitSjdbInsertNsj #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '1000000' #> required: no #> - type: #> - 'null' #> - int #> label: Junctions max number #> description: Max number of junctions for one read (including all multi-mappers). #> streamable: no #> id: '#limitOutSJoneRead' #> inputBinding: #> position: 0 #> prefix: --limitOutSJoneRead #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '1000' #> required: no #> - type: #> - 'null' #> - int #> label: Collapsed junctions max number #> description: Max number of collapsed junctions. #> streamable: no #> id: '#limitOutSJcollapsed' #> inputBinding: #> position: 0 #> prefix: --limitOutSJcollapsed #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '1000000' #> required: no #> - type: #> - 'null' #> - int #> label: Limit BAM sorting memory #> description: Maximum available RAM for sorting BAM. If set to 0, it will be #> set to the genome index size. #> streamable: no #> id: '#limitBAMsortRAM' #> inputBinding: #> position: 0 #> prefix: --limitBAMsortRAM #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Limits #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - string #> label: Genome dir name #> description: Name of the directory which contains genome files (when genome.tar #> is uncompressed). #> streamable: no #> id: '#genomeDirName' #> inputBinding: #> position: 0 #> prefix: --genomeDir #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: $job.inputs.genomeDirName || "genomeDir" #> class: Expression #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Basic #> sbg:toolDefaultValue: genomeDir #> required: no #> - type: #> - File #> label: Genome files #> description: Genome files created using STAR Genome Generate. #> streamable: no #> id: '#genome' #> sbg:category: Basic #> sbg:fileTypes: TAR #> required: yes #> - type: #> - 'null' #> - items: int #> type: array #> label: Clip 5p bases #> description: Number of bases to clip from 5p of each mate. In case only one #> value is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip5pNbases' #> inputBinding: #> position: 0 #> prefix: --clip5pNbases #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Clip 3p bases #> description: Number of bases to clip from 3p of each mate. In case only one #> value is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip3pNbases' #> inputBinding: #> position: 0 #> prefix: --clip3pNbases #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - items: int #> type: array #> label: Clip 3p after adapter seq. #> description: Number of bases to clip from 3p of each mate after the adapter #> clipping. In case only one value is given, it will be assumed the same for #> both mates. #> streamable: no #> id: '#clip3pAfterAdapterNbases' #> inputBinding: #> position: 0 #> prefix: --clip3pAfterAdapterNbases #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - items: string #> type: array #> label: Clip 3p adapter sequence #> description: Adapter sequence to clip from 3p of each mate. In case only one #> value is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip3pAdapterSeq' #> inputBinding: #> position: 0 #> prefix: --clip3pAdapterSeq #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '-' #> required: no #> - type: #> - 'null' #> - items: float #> type: array #> label: Max mismatches proportions #> description: Max proportion of mismatches for 3p adapter clipping for each mate. #> In case only one value is given, it will be assumed the same for both mates. #> streamable: no #> id: '#clip3pAdapterMMp' #> inputBinding: #> position: 0 #> prefix: --clip3pAdapterMMp #> separate: yes #> itemSeparator: ' ' #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Read parameters #> sbg:toolDefaultValue: '0.1' #> required: no #> - type: #> - 'null' #> - int #> label: Min segment length #> description: Minimum length of chimeric segment length, if =0, no chimeric output #> (int>=0). #> streamable: no #> id: '#chimSegmentMin' #> inputBinding: #> position: 0 #> prefix: --chimSegmentMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '15' #> required: no #> - type: #> - 'null' #> - int #> label: Min separation score #> description: Minimum difference (separation) between the best chimeric score #> and the next one (int>=0). #> streamable: no #> id: '#chimScoreSeparation' #> inputBinding: #> position: 0 #> prefix: --chimScoreSeparation #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '10' #> required: no #> - type: #> - 'null' #> - int #> label: Min total score #> description: Minimum total (summed) score of the chimeric segments (int>=0). #> streamable: no #> id: '#chimScoreMin' #> inputBinding: #> position: 0 #> prefix: --chimScoreMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Non-GT/AG penalty #> description: Penalty for a non-GT/AG chimeric junction. #> streamable: no #> id: '#chimScoreJunctionNonGTAG' #> inputBinding: #> position: 0 #> prefix: --chimScoreJunctionNonGTAG #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '-1' #> required: no #> - type: #> - 'null' #> - int #> label: Max drop score #> description: Max drop (difference) of chimeric score (the sum of scores of all #> chimeric segements) from the read length (int>=0). #> streamable: no #> id: '#chimScoreDropMax' #> inputBinding: #> position: 0 #> prefix: --chimScoreDropMax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '20' #> required: no #> - type: #> - 'null' #> - name: chimOutType #> symbols: #> - SeparateSAMold #> - Within #> type: enum #> label: Chimeric output type #> description: 'Type of chimeric output. SeparateSAMold: output old SAM into separate #> Chimeric.out.sam file; Within: output into main aligned SAM/BAM files.' #> streamable: no #> id: '#chimOutType' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: SeparateSAMold #> required: no #> - type: #> - 'null' #> - int #> label: Min junction overhang #> description: Minimum overhang for a chimeric junction (int>=0). #> streamable: no #> id: '#chimJunctionOverhangMin' #> inputBinding: #> position: 0 #> prefix: --chimJunctionOverhangMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Chimeric Alignments #> sbg:toolDefaultValue: '20' #> required: no #> - type: #> - 'null' #> - float #> label: Max windows per read #> description: Max number of windows per read (int>0). #> streamable: no #> id: '#alignWindowsPerReadNmax' #> inputBinding: #> position: 0 #> prefix: --alignWindowsPerReadNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10000' #> required: no #> - type: #> - 'null' #> - int #> label: Max transcripts per window #> description: Max number of transcripts per window (int>0). #> streamable: no #> id: '#alignTranscriptsPerWindowNmax' #> inputBinding: #> position: 0 #> prefix: --alignTranscriptsPerWindowNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '100' #> required: no #> - type: #> - 'null' #> - int #> label: Max transcripts per read #> description: Max number of different alignments per read to consider (int>0). #> streamable: no #> id: '#alignTranscriptsPerReadNmax' #> inputBinding: #> position: 0 #> prefix: --alignTranscriptsPerReadNmax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '10000' #> required: no #> - type: #> - 'null' #> - float #> label: Min mapped length normalized #> description: alignSplicedMateMapLmin normalized to mate length (float>0). #> streamable: no #> id: '#alignSplicedMateMapLminOverLmate' #> inputBinding: #> position: 0 #> prefix: --alignSplicedMateMapLminOverLmate #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0.66' #> required: no #> - type: #> - 'null' #> - int #> label: Min mapped length #> description: Minimum mapped length for a read mate that is spliced (int>0). #> streamable: no #> id: '#alignSplicedMateMapLmin' #> inputBinding: #> position: 0 #> prefix: --alignSplicedMateMapLmin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - name: alignSoftClipAtReferenceEnds #> symbols: #> - 'Yes' #> - 'No' #> type: enum #> label: Soft clipping #> description: 'Option which allows soft clipping of alignments at the reference #> (chromosome) ends. Can be disabled for compatibility with Cufflinks/Cuffmerge. #> Yes: Enables soft clipping; No: Disables soft clipping.' #> streamable: no #> id: '#alignSoftClipAtReferenceEnds' #> inputBinding: #> position: 0 #> prefix: --alignSoftClipAtReferenceEnds #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: 'Yes' #> required: no #> - type: #> - 'null' #> - int #> label: Min overhang #> description: Minimum overhang (i.e. block size) for spliced alignments (int>0). #> streamable: no #> id: '#alignSJoverhangMin' #> inputBinding: #> position: 0 #> prefix: --alignSJoverhangMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '5' #> required: no #> - type: #> - 'null' #> - int #> label: 'Min overhang: annotated' #> description: Minimum overhang (i.e. block size) for annotated (sjdb) spliced #> alignments (int>0). #> streamable: no #> id: '#alignSJDBoverhangMin' #> inputBinding: #> position: 0 #> prefix: --alignSJDBoverhangMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '3' #> required: no #> - type: #> - 'null' #> - int #> label: Max mates gap #> description: Maximum gap between two mates, if 0, max intron gap will be determined #> by (2^winBinNbits)*winAnchorDistNbins. #> streamable: no #> id: '#alignMatesGapMax' #> inputBinding: #> position: 0 #> prefix: --alignMatesGapMax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - int #> label: Min intron size #> description: 'Minimum intron size: genomic gap is considered intron if its length #> >= alignIntronMin, otherwise it is considered Deletion (int>=0).' #> streamable: no #> id: '#alignIntronMin' #> inputBinding: #> position: 0 #> prefix: --alignIntronMin #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '21' #> required: no #> - type: #> - 'null' #> - int #> label: Max intron size #> description: Maximum intron size, if 0, max intron size will be determined by #> (2^winBinNbits)*winAnchorDistNbins. #> streamable: no #> id: '#alignIntronMax' #> inputBinding: #> position: 0 #> prefix: --alignIntronMax #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: '0' #> required: no #> - type: #> - 'null' #> - name: alignEndsType #> symbols: #> - Local #> - EndToEnd #> type: enum #> label: Alignment type #> description: 'Type of read ends alignment. Local: standard local alignment with #> soft-clipping allowed. EndToEnd: force end to end read alignment, do not soft-clip.' #> streamable: no #> id: '#alignEndsType' #> inputBinding: #> position: 0 #> prefix: --alignEndsType #> separate: yes #> shellQuote: no #> sbg:cmdInclude: yes #> streamable: no #> separator: ' ' #> sbg:category: Alignments and Seeding #> sbg:toolDefaultValue: Local #> required: no #> outputs: #> - type: #> - 'null' #> - items: File #> type: array #> label: Unmapped reads #> description: Output of unmapped reads. #> streamable: no #> id: '#unmapped_reads' #> outputBinding: #> glob: '*Unmapped.out*' #> sbg:fileTypes: FASTQ #> - type: #> - 'null' #> - File #> label: Transcriptome alignments #> description: Alignments translated into transcript coordinates. #> streamable: no #> id: '#transcriptome_aligned_reads' #> outputBinding: #> glob: '*Transcriptome*' #> sbg:fileTypes: BAM #> - type: #> - 'null' #> - File #> label: Splice junctions #> description: High confidence collapsed splice junctions in tab-delimited format. #> Only junctions supported by uniquely mapping reads are reported. #> streamable: no #> id: '#splice_junctions' #> outputBinding: #> glob: '*SJ.out.tab' #> sbg:fileTypes: TAB #> - type: #> - 'null' #> - File #> label: Reads per gene #> description: File with number of reads per gene. A read is counted if it overlaps #> (1nt or more) one and only one gene. #> streamable: no #> id: '#reads_per_gene' #> outputBinding: #> glob: '*ReadsPerGene*' #> sbg:fileTypes: TAB #> - type: #> - 'null' #> - items: File #> type: array #> label: Log files #> description: Log files produced during alignment. #> streamable: no #> id: '#log_files' #> outputBinding: #> glob: '*Log*.out' #> sbg:fileTypes: OUT #> - type: #> - 'null' #> - File #> label: Intermediate genome files #> description: Archive with genome files produced when annotations are included #> on the fly (in the mapping step). #> streamable: no #> id: '#intermediate_genome' #> outputBinding: #> glob: '*_STARgenome.tar' #> sbg:fileTypes: TAR #> - type: #> - 'null' #> - File #> label: Chimeric junctions #> description: If chimSegmentMin in 'Chimeric Alignments' section is set to 0, #> 'Chimeric Junctions' won't be output. #> streamable: no #> id: '#chimeric_junctions' #> outputBinding: #> glob: '*Chimeric.out.junction' #> sbg:fileTypes: JUNCTION #> - type: #> - 'null' #> - File #> label: Chimeric alignments #> description: Aligned Chimeric sequences SAM - if chimSegmentMin = 0, no Chimeric #> Alignment SAM and Chimeric Junctions outputs. #> streamable: no #> id: '#chimeric_alignments' #> outputBinding: #> glob: '*.Chimeric.out.sam' #> sbg:fileTypes: SAM #> - type: #> - 'null' #> - File #> label: Aligned SAM/BAM #> description: Aligned sequence in SAM/BAM format. #> streamable: no #> id: '#aligned_reads' #> outputBinding: #> glob: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.outSortingType == 'SortedByCoordinate') { #> sort_name = '.sortedByCoord' #> } #> else { #> sort_name = '' #> } #> if ($job.inputs.outSAMtype == 'BAM') { #> sam_name = "*.Aligned".concat( sort_name, '.out.bam') #> } #> else { #> sam_name = "*.Aligned.out.sam" #> } #> return sam_name #> } #> class: Expression #> sbg:fileTypes: SAM, BAM #> requirements: #> - class: ExpressionEngineRequirement #> id: '#cwl-js-engine' #> requirements: #> - class: DockerRequirement #> dockerPull: rabix/js-engine #> hints: #> - class: DockerRequirement #> dockerPull: images.sbgenomics.com/ana_d/star:2.4.2a #> dockerImageId: a4b0ad2c3cae #> - class: sbg:MemRequirement #> value: 60000 #> - class: sbg:CPURequirement #> value: 15 #> label: STAR #> description: STAR is an ultrafast universal RNA-seq aligner. It has very high #> mapping speed, accurate alignment of contiguous and spliced reads, detection #> of polyA-tails, non-canonical splices and chimeric (fusion) junctions. It works #> with reads starting from lengths ~15 bases up to ~300 bases. In case of having #> longer reads, use of STAR Long is recommended. #> class: CommandLineTool #> baseCommand: #> - tar #> - -xvf #> - class: Expression #> script: $job.inputs.genome.path #> engine: '#cwl-js-engine' #> - '&&' #> - /opt/STAR #> - --runThreadN #> - class: Expression #> script: |- #> { #> return $job.allocatedResources.cpu #> } #> engine: '#cwl-js-engine' #> arguments: #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> file = [].concat($job.inputs.reads)[0].path #> extension = /(?:\.([^.]+))?$/.exec(file)[1] #> if (extension == "gz") { #> return "--readFilesCommand zcat" #> } else if (extension == "bz2") { #> return "--readFilesCommand bzcat" #> } #> } #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\t\n var sjFormat = \"False\"\n var gtfgffFormat = \"False\"\n #> \ var list = $job.inputs.sjdbGTFfile\n var paths_list = []\n var joined_paths #> = \"\"\n \n if (list) {\n list.forEach(function(f){return paths_list.push(f.path)})\n #> \ joined_paths = paths_list.join(\" \")\n\n\n paths_list.forEach(function(f){\n #> \ ext = f.replace(/^.*\\./, '')\n if (ext == \"gff\" || ext == #> \"gtf\") {\n gtfgffFormat = \"True\"\n return gtfgffFormat\n #> \ }\n if (ext == \"txt\") {\n sjFormat = \"True\"\n return #> sjFormat\n }\n })\n\n if ($job.inputs.sjdbGTFfile && $job.inputs.sjdbInsertSave #> != \"None\") {\n if (sjFormat == \"True\") {\n return \"--sjdbFileChrStartEnd #> \".concat(joined_paths)\n }\n else if (gtfgffFormat == \"True\") #> {\n return \"--sjdbGTFfile \".concat(joined_paths)\n }\n }\n #> \ }\n}" #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n a = b = c = d = e = f = g = []\n if ($job.inputs.sjdbGTFchrPrefix) #> {\n a = [\"--sjdbGTFchrPrefix\", $job.inputs.sjdbGTFchrPrefix]\n }\n #> \ if ($job.inputs.sjdbGTFfeatureExon) {\n b = [\"--sjdbGTFfeatureExon\", #> $job.inputs.sjdbGTFfeatureExon]\n }\n if ($job.inputs.sjdbGTFtagExonParentTranscript) #> {\n c = [\"--sjdbGTFtagExonParentTranscript\", $job.inputs.sjdbGTFtagExonParentTranscript]\n #> \ }\n if ($job.inputs.sjdbGTFtagExonParentGene) {\n d = [\"--sjdbGTFtagExonParentGene\", #> $job.inputs.sjdbGTFtagExonParentGene]\n }\n if ($job.inputs.sjdbOverhang) #> {\n e = [\"--sjdbOverhang\", $job.inputs.sjdbOverhang]\n }\n if ($job.inputs.sjdbScore) #> {\n f = [\"--sjdbScore\", $job.inputs.sjdbScore]\n }\n if ($job.inputs.sjdbInsertSave) #> {\n g = [\"--sjdbInsertSave\", $job.inputs.sjdbInsertSave]\n }\n \n #> \ \n \n if ($job.inputs.sjdbInsertSave != \"None\" && $job.inputs.sjdbGTFfile) #> {\n new_list = a.concat(b, c, d, e, f, g)\n return new_list.join(\" #> \")\n }\n}" #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.twopassMode == "Basic") { #> return "--twopass1readsN ".concat($job.inputs.twopass1readsN) #> } #> } #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.chimOutType == "Within") { #> return "--chimOutType ".concat("Within", $job.inputs.outSAMtype) #> } #> else { #> return "--chimOutType SeparateSAMold" #> } #> } #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n var param_list = []\n \n function add_param(key, value){\n #> \ if (value == \"\") {\n return\n }\n else {\n return #> param_list.push(key.concat(\":\", value))\n }\n }\n \n add_param('ID', #> \"1\")\n if ($job.inputs.rg_seq_center) {\n add_param('CN', $job.inputs.rg_seq_center)\n #> \ } else if ([].concat($job.inputs.reads)[0].metadata.seq_center) {\n add_param('CN', #> [].concat($job.inputs.reads)[0].metadata.seq_center)\n }\n if ($job.inputs.rg_library_id) #> {\n add_param('LB', $job.inputs.rg_library_id)\n } else if ([].concat($job.inputs.reads)[0].metadata.library_id) #> {\n add_param('LB', [].concat($job.inputs.reads)[0].metadata.library_id)\n #> \ }\n if ($job.inputs.rg_mfl) {\n add_param('PI', $job.inputs.rg_mfl)\n #> \ } else if ([].concat($job.inputs.reads)[0].metadata.median_fragment_length) #> {\n add_param('PI', [].concat($job.inputs.reads)[0].metadata.median_fragment_length)\n #> \ }\n if ($job.inputs.rg_platform) {\n add_param('PL', $job.inputs.rg_platform.replace(/ #> /g,\"_\"))\n } else if ([].concat($job.inputs.reads)[0].metadata.platform) #> {\n add_param('PL', [].concat($job.inputs.reads)[0].metadata.platform.replace(/ #> /g,\"_\"))\n }\n if ($job.inputs.rg_platform_unit_id) {\n add_param('PU', #> $job.inputs.rg_platform_unit_id)\n } else if ([].concat($job.inputs.reads)[0].metadata.platform_unit_id) #> {\n add_param('PU', [].concat($job.inputs.reads)[0].metadata.platform_unit_id)\n #> \ }\n if ($job.inputs.rg_sample_id) {\n add_param('SM', $job.inputs.rg_sample_id)\n #> \ } else if ([].concat($job.inputs.reads)[0].metadata.sample_id) {\n add_param('SM', #> [].concat($job.inputs.reads)[0].metadata.sample_id)\n }\n return \"--outSAMattrRGline #> \".concat(param_list.join(\" \"))\n}" #> class: Expression #> - position: 0 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: |- #> { #> if ($job.inputs.sjdbGTFfile && $job.inputs.quantMode) { #> return "--quantMode ".concat($job.inputs.quantMode) #> } #> } #> class: Expression #> - position: 100 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n function sharedStart(array){\n var A= array.concat().sort(), #> \n a1= A[0], a2= A[A.length-1], L= a1.length, i= 0;\n while(i<L && #> a1.charAt(i)=== a2.charAt(i)) i++;\n return a1.substring(0, i);\n }\n #> \ path_list = []\n arr = [].concat($job.inputs.reads)\n arr.forEach(function(f){return #> path_list.push(f.path.replace(/\\\\/g,'/').replace( /.*\\//, '' ))})\n common_prefix #> = sharedStart(path_list)\n intermediate = common_prefix.replace( /\\-$|\\_$|\\.$/, #> '' ).concat(\"._STARgenome\")\n source = \"./\".concat(intermediate)\n #> \ destination = intermediate.concat(\".tar\")\n if ($job.inputs.sjdbGTFfile #> && $job.inputs.sjdbInsertSave && $job.inputs.sjdbInsertSave != \"None\") #> {\n return \"&& tar -vcf \".concat(destination, \" \", source)\n }\n}" #> class: Expression #> - position: 0 #> prefix: --outFileNamePrefix #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n function sharedStart(array){\n var A= array.concat().sort(), #> \n a1= A[0], a2= A[A.length-1], L= a1.length, i= 0;\n while(i<L && #> a1.charAt(i)=== a2.charAt(i)) i++;\n return a1.substring(0, i);\n }\n #> \ path_list = []\n arr = [].concat($job.inputs.reads)\n arr.forEach(function(f){return #> path_list.push(f.path.replace(/\\\\/g,'/').replace( /.*\\//, '' ))})\n common_prefix #> = sharedStart(path_list)\n return \"./\".concat(common_prefix.replace( #> /\\-$|\\_$|\\.$/, '' ), \".\")\n}" #> class: Expression #> - position: 101 #> separate: yes #> valueFrom: #> engine: '#cwl-js-engine' #> script: "{\n function sharedStart(array){\n var A= array.concat().sort(), #> \n a1= A[0], a2= A[A.length-1], L= a1.length, i= 0;\n while(i<L && #> a1.charAt(i)=== a2.charAt(i)) i++;\n return a1.substring(0, i);\n }\n #> \ path_list = []\n arr = [].concat($job.inputs.reads)\n arr.forEach(function(f){return #> path_list.push(f.path.replace(/\\\\/g,'/').replace( /.*\\//, '' ))})\n common_prefix #> = sharedStart(path_list)\n mate1 = common_prefix.replace( /\\-$|\\_$|\\.$/, #> '' ).concat(\".Unmapped.out.mate1\")\n mate2 = common_prefix.replace( /\\-$|\\_$|\\.$/, #> '' ).concat(\".Unmapped.out.mate2\")\n mate1fq = mate1.concat(\".fastq\")\n #> \ mate2fq = mate2.concat(\".fastq\")\n if ($job.inputs.outReadsUnmapped #> == \"Fastx\" && arr.length > 1) {\n return \"&& mv \".concat(mate1, \" #> \", mate1fq, \" && mv \", mate2, \" \", mate2fq)\n }\n else if ($job.inputs.outReadsUnmapped #> == \"Fastx\" && arr.length == 1) {\n return \"&& mv \".concat(mate1, #> \" \", mate1fq)\n }\n}" #> class: Expression #> stdin: '' #> stdout: '' #> successCodes: [] #> temporaryFailCodes: [] #> x: 624.0 #> 'y': 323 #> sbg:x: 700.0 #> sbg:y: 200.0 #> sbg:canvas_zoom: 0.6 #> sbg:canvas_y: -16 #> sbg:canvas_x: -41 #>