Convert App or a CWL JSON file to Tool or Flow object
Details
This function import CWL JSON file, based on its class: CommandLineTool or Worklfow to relevant object in R, Tool object or Flow 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
#>