Build workflow
Usage
Flow(
...,
graph = TRUE,
x.width = 1000,
y.width = 400,
x.start = 100,
y.start = 200,
canvas_zoom = 1,
canvas_x = 40,
canvas_y = 130
)
# S4 method for Tool,Tool
+(e1, e2)
# S4 method for WorkflowStepList,Tool
+(e1, e2)
# S4 method for WorkflowStepList,WorkflowStepList
+(e1, e2)
# S4 method for App,App
+(e1, e2)
# S4 method for WorkflowStepList,App
+(e1, e2)
e1 %>>% e2
# S4 method for Tool,Tool
%>>%(e1, e2)
# S4 method for Workflow,Tool
%>>%(e1, e2)
# S4 method for Workflow,Workflow
%>>%(e1, e2)
# S4 method for App,App
%>>%(e1, e2)
# S4 method for Workflow,App
%>>%(e1, e2)Arguments
- ...
extra arguments passed to SBGWorkflow
- graph
if add graph coordinates or not, used for flow visualization on Seven Bridges platforms.
- x.width
x scale width
- y.width
y scale width
- x.start
node x start point for a flow
- y.start
node y start point for a flow
- canvas_zoom
zoom factor
- canvas_x
canvas x
- canvas_y
canvas y
- e1
either Tool App or Workflow object
- e2
either Tool App or Workflow object
Methods
copy_obj()this is a hack to make copy of reference cwl object
get_input(ids, force = FALSE)get input by pure input id from all steps
get_input_exposed()exposed input id other than file
get_input_node()get input file nodes id
get_input_port()show included port of all inputs
get_output(ids, force = FALSE)get output by pure output id from all steps
get_output_node()get output file nodes id
get_required()show flow required input id and types
get_step(name = NULL, id = NULL)get step object by name or id, name support pattern match
get_tool(name = NULL, id = NULL)get a tool object by name or id, name support pattern match
input_id()show input id
input_matrix( new.order = c("id", "label", "type", "required", "prefix", "fileTypes"), required = NULL )This return a matrix of input parameters, by default, following the order id, label, type, required, prefix, fileTypes. new.order accept names of column you want to print, but it has to be a field of inputs. When its set to NULL, it prints all fields. When required = TRUE, only print required field.
input_type()Show a vector of flow input type, names of them are input id.
link_map()show a table of all linked nodes
linked_input_id()input id that linked to an output
linked_output_id()output id that linked to an input
list_tool()list all tools included in this flow
output_id()show output id
output_matrix(new.order = c("id", "label", "type", "fileTypes"))This return a matrix of output parameters, by default, following the order id, label, type, fileTypes. new.order accept names of column you want to print, but it has to be a field of outputs. When its set to NULL, it prints all fields. When required = TRUE, only print required field.
output_type()Show a vector of flow output type, names of them are output id.
run(run_inputs = list(), engine = c("bunny", "rabix", "cwlrun"))Run this tool with inputs locally. Engines supported: bunny, rabix, cwlrun. Inputs accept list or JSON.
set_batch(input = NULL, criteria = NULL, type = c("ITEM", "CRITERIA"))Set a flow input node into a batch mode, this is now required before you execute a batch task on a batch-not-enabled flow.
set_flow_input(iid = NULL, add = TRUE)Expose tool input node as flow input, default is additative, if add = FALSE, this will overwrite and only made provided id inputs of flow.
set_flow_output(oid = NULL, add = TRUE)Expose tool output node as flow output, default is additative, if add = FALSE, this will overwrite and only made provided id outputs of flow.
set_input_port(ids, include = TRUE)set included port for provided input id(s)
set_required(ids, required = TRUE)Set a input node required (TRUE) or not required (FALSE) this require full input id (with tool id prefix) such as #STAR.alignIntronMax
step_input_id(full = FALSE)Show step input id, default names of them is tool id. When full = TRUE, show full name then names of vector is type.
step_output_id(full = FALSE)Show step output id, default names of them is tool id. when full = TRUE, show full name then names of vector is type.
Examples
f1 <- system.file("extdata/app", "flow_star.json", package = "sevenbridges")
f1 <- convert_app(f1)
# input matrix
f1$input_matrix()
#> id label type required
#> 1 #sjdbGTFfile sjdbGTFfile File... FALSE
#> 2 #fastq fastq File... TRUE
#> 3 #genomeFastaFiles genomeFastaFiles File TRUE
#> 4 #sjdbGTFtagExonParentTranscript Exons' parents name string FALSE
#> 5 #sjdbGTFtagExonParentGene Gene name string FALSE
#> 6 #winAnchorMultimapNmax Max loci anchors int FALSE
#> 7 #winAnchorDistNbins Max bins between anchors int FALSE
#> fileTypes
#> 1 null
#> 2 null
#> 3 null
#> 4 null
#> 5 null
#> 6 null
#> 7 null
# by name
f1$input_matrix(c("id", "type", "required", "link_to"))
#> id type required
#> 1 #sjdbGTFfile File... FALSE
#> 2 #fastq File... TRUE
#> 3 #genomeFastaFiles File TRUE
#> 4 #sjdbGTFtagExonParentTranscript string FALSE
#> 5 #sjdbGTFtagExonParentGene string FALSE
#> 6 #winAnchorMultimapNmax int FALSE
#> 7 #winAnchorDistNbins int FALSE
#> link_to
#> 1 #STAR_Genome_Generate.sjdbGTFfile | #STAR.sjdbGTFfile
#> 2 #SBG_FASTQ_Quality_Detector.fastq
#> 3 #STAR_Genome_Generate.genomeFastaFiles
#> 4 #STAR_Genome_Generate.sjdbGTFtagExonParentTranscript
#> 5 #STAR_Genome_Generate.sjdbGTFtagExonParentGene
#> 6 #STAR.winAnchorMultimapNmax
#> 7 #STAR.winAnchorDistNbins
# return only required
f1$input_matrix(required = TRUE)
#> id label type required fileTypes
#> 2 #fastq fastq File... TRUE null
#> 3 #genomeFastaFiles genomeFastaFiles File TRUE null
# return everything
f1$input_matrix(NULL)
#> id type required fileTypes
#> 1 #sjdbGTFfile File... FALSE null
#> 2 #fastq File... TRUE null
#> 3 #genomeFastaFiles File TRUE null
#> 4 #sjdbGTFtagExonParentTranscript string FALSE null
#> 5 #sjdbGTFtagExonParentGene string FALSE null
#> 6 #winAnchorMultimapNmax int FALSE null
#> 7 #winAnchorDistNbins int FALSE null
#> label category stageInput streamable
#> 1 sjdbGTFfile null null FALSE
#> 2 fastq null null FALSE
#> 3 genomeFastaFiles null null FALSE
#> 4 Exons' parents name Splice junctions db parameters null FALSE
#> 5 Gene name Splice junctions db parameters null FALSE
#> 6 Max loci anchors Windows, Anchors, Binning null FALSE
#> 7 Max bins between anchors Windows, Anchors, Binning null FALSE
#> sbg.x sbg.y sbg.includeInPorts
#> 1 160.50 195.0833 NA
#> 2 164.25 323.7500 TRUE
#> 3 167.75 469.9999 NA
#> 4 200.00 350.0000 NA
#> 5 200.00 400.0000 NA
#> 6 200.00 450.0000 NA
#> 7 200.00 500.0000 NA
#> description
#> 1 <NA>
#> 2 <NA>
#> 3 <NA>
#> 4 Tag name to be used as exons' transcript-parents.
#> 5 Tag name to be used as exons' gene-parents.
#> 6 Max number of loci anchors are allowed to map to (int>0).
#> 7 Max number of bins between two anchors that allows aggregation of anchors into one window (int>0).
#> sbg.toolDefaultValue link_to
#> 1 <NA> #STAR_Genome_Generate.sjdbGTFfile | #STAR.sjdbGTFfile
#> 2 <NA> #SBG_FASTQ_Quality_Detector.fastq
#> 3 <NA> #STAR_Genome_Generate.genomeFastaFiles
#> 4 transcript_id #STAR_Genome_Generate.sjdbGTFtagExonParentTranscript
#> 5 gene_id #STAR_Genome_Generate.sjdbGTFtagExonParentGene
#> 6 50 #STAR.winAnchorMultimapNmax
#> 7 9 #STAR.winAnchorDistNbins
# return a output matrix with more informtion
f1$output_matrix()
#> id label type fileTypes
#> 1 #unmapped_reads unmapped_reads File... null
#> 2 #transcriptome_aligned_reads transcriptome_aligned_reads File null
#> 3 #splice_junctions splice_junctions File null
#> 4 #reads_per_gene reads_per_gene File null
#> 5 #log_files log_files File... null
#> 6 #chimeric_junctions chimeric_junctions File null
#> 7 #intermediate_genome intermediate_genome File null
#> 8 #chimeric_alignments chimeric_alignments File null
#> 9 #sorted_bam sorted_bam File null
#> 10 #result result File null
# return only a few fields
f1$output_matrix(c("id", "type"))
#> id type
#> 1 #unmapped_reads File...
#> 2 #transcriptome_aligned_reads File
#> 3 #splice_junctions File
#> 4 #reads_per_gene File
#> 5 #log_files File...
#> 6 #chimeric_junctions File
#> 7 #intermediate_genome File
#> 8 #chimeric_alignments File
#> 9 #sorted_bam File
#> 10 #result File
# return everything
f1$output_matrix(NULL)
#> id label type fileTypes
#> 1 #unmapped_reads unmapped_reads File... null
#> 2 #transcriptome_aligned_reads transcriptome_aligned_reads File null
#> 3 #splice_junctions splice_junctions File null
#> 4 #reads_per_gene reads_per_gene File null
#> 5 #log_files log_files File... null
#> 6 #chimeric_junctions chimeric_junctions File null
#> 7 #intermediate_genome intermediate_genome File null
#> 8 #chimeric_alignments chimeric_alignments File null
#> 9 #sorted_bam sorted_bam File null
#> 10 #result result File null
#> required source streamable sbg.includeInPorts
#> 1 FALSE #STAR.unmapped_reads FALSE TRUE
#> 2 FALSE #STAR.transcriptome_aligned_reads FALSE TRUE
#> 3 FALSE #STAR.splice_junctions FALSE TRUE
#> 4 FALSE #STAR.reads_per_gene FALSE TRUE
#> 5 FALSE #STAR.log_files FALSE TRUE
#> 6 FALSE #STAR.chimeric_junctions FALSE TRUE
#> 7 FALSE #STAR.intermediate_genome FALSE TRUE
#> 8 FALSE #STAR.chimeric_alignments FALSE TRUE
#> 9 FALSE #Picard_SortSam.sorted_bam FALSE TRUE
#> 10 FALSE #SBG_FASTQ_Quality_Detector.result FALSE TRUE
#> sbg.x sbg.y link_to
#> 1 766.2498 159.58331 #STAR.unmapped_reads
#> 2 1118.9998 86.58332 #STAR.transcriptome_aligned_reads
#> 3 1282.3330 167.49998 #STAR.splice_junctions
#> 4 1394.4164 245.74996 #STAR.reads_per_gene
#> 5 1505.0830 322.99995 #STAR.log_files
#> 6 1278.7498 446.74996 #STAR.chimeric_junctions
#> 7 1408.9165 386.08329 #STAR.intermediate_genome
#> 8 1147.5831 503.24993 #STAR.chimeric_alignments
#> 9 934.2498 557.24984 #Picard_SortSam.sorted_bam
#> 10 1431.6667 644.99999 #SBG_FASTQ_Quality_Detector.result
# flow inputs
f1$input_type()
#> sjdbGTFfile fastq
#> "File..." "File..."
#> genomeFastaFiles sjdbGTFtagExonParentTranscript
#> "File" "string"
#> sjdbGTFtagExonParentGene winAnchorMultimapNmax
#> "string" "int"
#> winAnchorDistNbins
#> "int"
# flow outouts
f1$output_type()
#> unmapped_reads transcriptome_aligned_reads
#> "File..." "File"
#> splice_junctions reads_per_gene
#> "File" "File"
#> log_files chimeric_junctions
#> "File..." "File"
#> intermediate_genome chimeric_alignments
#> "File" "File"
#> sorted_bam result
#> "File" "File"
# flow input id
f1$input_id()
#> [1] "#sjdbGTFfile" "#fastq"
#> [3] "#genomeFastaFiles" "#sjdbGTFtagExonParentTranscript"
#> [5] "#sjdbGTFtagExonParentGene" "#winAnchorMultimapNmax"
#> [7] "#winAnchorDistNbins"
# linked input id
f1$linked_input_id()
#> [1] "#STAR_Genome_Generate.sjdbGTFtagExonParentTranscript"
#> [2] "#STAR_Genome_Generate.sjdbGTFtagExonParentGene"
#> [3] "#STAR_Genome_Generate.sjdbGTFfile"
#> [4] "#STAR_Genome_Generate.genomeFastaFiles"
#> [5] "#SBG_FASTQ_Quality_Detector.fastq"
#> [6] "#Picard_SortSam.input_bam"
#> [7] "#STAR.winAnchorMultimapNmax"
#> [8] "#STAR.winAnchorDistNbins"
#> [9] "#STAR.sjdbGTFfile"
#> [10] "#STAR.reads"
#> [11] "#STAR.genome"
# flow output id
f1$output_id()
#> [1] "#unmapped_reads" "#transcriptome_aligned_reads"
#> [3] "#splice_junctions" "#reads_per_gene"
#> [5] "#log_files" "#chimeric_junctions"
#> [7] "#intermediate_genome" "#chimeric_alignments"
#> [9] "#sorted_bam" "#result"
# linked output id
f1$linked_output_id()
#> [1] "#STAR.aligned_reads" "#SBG_FASTQ_Quality_Detector.result"
#> [3] "#STAR_Genome_Generate.genome"
# link_map
f1$link_map()
#> id
#> 1 #STAR_Genome_Generate.sjdbGTFtagExonParentTranscript
#> 2 #STAR_Genome_Generate.sjdbGTFtagExonParentGene
#> 3 #STAR_Genome_Generate.sjdbGTFfile
#> 4 #STAR_Genome_Generate.genomeFastaFiles
#> 5 #SBG_FASTQ_Quality_Detector.fastq
#> 6 #Picard_SortSam.input_bam
#> 7 #STAR.winAnchorMultimapNmax
#> 8 #STAR.winAnchorDistNbins
#> 9 #STAR.sjdbGTFfile
#> 10 #STAR.reads
#> 11 #STAR.genome
#> 12 #unmapped_reads
#> 13 #transcriptome_aligned_reads
#> 14 #splice_junctions
#> 15 #reads_per_gene
#> 16 #log_files
#> 17 #chimeric_junctions
#> 18 #intermediate_genome
#> 19 #chimeric_alignments
#> 20 #sorted_bam
#> 21 #result
#> source type
#> 1 #sjdbGTFtagExonParentTranscript input
#> 2 #sjdbGTFtagExonParentGene input
#> 3 #sjdbGTFfile input
#> 4 #genomeFastaFiles input
#> 5 #fastq input
#> 6 #STAR.aligned_reads input
#> 7 #winAnchorMultimapNmax input
#> 8 #winAnchorDistNbins input
#> 9 #sjdbGTFfile input
#> 10 #SBG_FASTQ_Quality_Detector.result input
#> 11 #STAR_Genome_Generate.genome input
#> 12 #STAR.unmapped_reads output
#> 13 #STAR.transcriptome_aligned_reads output
#> 14 #STAR.splice_junctions output
#> 15 #STAR.reads_per_gene output
#> 16 #STAR.log_files output
#> 17 #STAR.chimeric_junctions output
#> 18 #STAR.intermediate_genome output
#> 19 #STAR.chimeric_alignments output
#> 20 #Picard_SortSam.sorted_bam output
#> 21 #SBG_FASTQ_Quality_Detector.result output
# all step input id
f1$step_input_id()
#> #STAR_Genome_Generate #STAR_Genome_Generate
#> "#sjdbScore" "#sjdbOverhang"
#> #STAR_Genome_Generate #STAR_Genome_Generate
#> "#sjdbGTFtagExonParentTranscript" "#sjdbGTFtagExonParentGene"
#> #STAR_Genome_Generate #STAR_Genome_Generate
#> "#sjdbGTFfile" "#sjdbGTFfeatureExon"
#> #STAR_Genome_Generate #STAR_Genome_Generate
#> "#sjdbGTFchrPrefix" "#genomeSAsparseD"
#> #STAR_Genome_Generate #STAR_Genome_Generate
#> "#genomeSAindexNbases" "#genomeFastaFiles"
#> #STAR_Genome_Generate #SBG_FASTQ_Quality_Detector
#> "#genomeChrBinNbits" "#fastq"
#> #Picard_SortSam #Picard_SortSam
#> "#validation_stringency" "#sort_order"
#> #Picard_SortSam #Picard_SortSam
#> "#quiet" "#output_type"
#> #Picard_SortSam #Picard_SortSam
#> "#memory_per_job" "#max_records_in_ram"
#> #Picard_SortSam #Picard_SortSam
#> "#input_bam" "#create_index"
#> #Picard_SortSam #STAR
#> "#compression_level" "#winFlankNbins"
#> #STAR #STAR
#> "#winBinNbits" "#winAnchorMultimapNmax"
#> #STAR #STAR
#> "#winAnchorDistNbins" "#twopassMode"
#> #STAR #STAR
#> "#twopass1readsN" "#sjdbScore"
#> #STAR #STAR
#> "#sjdbOverhang" "#sjdbInsertSave"
#> #STAR #STAR
#> "#sjdbGTFtagExonParentTranscript" "#sjdbGTFtagExonParentGene"
#> #STAR #STAR
#> "#sjdbGTFfile" "#sjdbGTFfeatureExon"
#> #STAR #STAR
#> "#sjdbGTFchrPrefix" "#seedSearchStartLmaxOverLread"
#> #STAR #STAR
#> "#seedSearchStartLmax" "#seedSearchLmax"
#> #STAR #STAR
#> "#seedPerWindowNmax" "#seedPerReadNmax"
#> #STAR #STAR
#> "#seedNoneLociPerWindow" "#seedMultimapNmax"
#> #STAR #STAR
#> "#scoreStitchSJshift" "#scoreInsOpen"
#> #STAR #STAR
#> "#scoreInsBase" "#scoreGenomicLengthLog2scale"
#> #STAR #STAR
#> "#scoreGapNoncan" "#scoreGapGCAG"
#> #STAR #STAR
#> "#scoreGapATAC" "#scoreGap"
#> #STAR #STAR
#> "#scoreDelOpen" "#scoreDelBase"
#> #STAR #STAR
#> "#rg_seq_center" "#rg_sample_id"
#> #STAR #STAR
#> "#rg_platform_unit_id" "#rg_platform"
#> #STAR #STAR
#> "#rg_mfl" "#rg_library_id"
#> #STAR #STAR
#> "#reads" "#readMatesLengthsIn"
#> #STAR #STAR
#> "#readMapNumber" "#quantTranscriptomeBan"
#> #STAR #STAR
#> "#quantMode" "#outSortingType"
#> #STAR #STAR
#> "#outSJfilterReads" "#outSJfilterOverhangMin"
#> #STAR #STAR
#> "#outSJfilterIntronMaxVsReadN" "#outSJfilterDistToOtherSJmin"
#> #STAR #STAR
#> "#outSJfilterCountUniqueMin" "#outSJfilterCountTotalMin"
#> #STAR #STAR
#> "#outSAMunmapped" "#outSAMtype"
#> #STAR #STAR
#> "#outSAMstrandField" "#outSAMreadID"
#> #STAR #STAR
#> "#outSAMprimaryFlag" "#outSAMorder"
#> #STAR #STAR
#> "#outSAMmode" "#outSAMmapqUnique"
#> #STAR #STAR
#> "#outSAMheaderPG" "#outSAMheaderHD"
#> #STAR #STAR
#> "#outSAMflagOR" "#outSAMflagAND"
#> #STAR #STAR
#> "#outSAMattributes" "#outReadsUnmapped"
#> #STAR #STAR
#> "#outQSconversionAdd" "#outFilterType"
#> #STAR #STAR
#> "#outFilterScoreMinOverLread" "#outFilterScoreMin"
#> #STAR #STAR
#> "#outFilterMultimapScoreRange" "#outFilterMultimapNmax"
#> #STAR #STAR
#> "#outFilterMismatchNoverReadLmax" "#outFilterMismatchNoverLmax"
#> #STAR #STAR
#> "#outFilterMismatchNmax" "#outFilterMatchNminOverLread"
#> #STAR #STAR
#> "#outFilterMatchNmin" "#outFilterIntronMotifs"
#> #STAR #STAR
#> "#limitSjdbInsertNsj" "#limitOutSJoneRead"
#> #STAR #STAR
#> "#limitOutSJcollapsed" "#limitBAMsortRAM"
#> #STAR #STAR
#> "#genomeDirName" "#genome"
#> #STAR #STAR
#> "#clip5pNbases" "#clip3pNbases"
#> #STAR #STAR
#> "#clip3pAfterAdapterNbases" "#clip3pAdapterSeq"
#> #STAR #STAR
#> "#clip3pAdapterMMp" "#chimSegmentMin"
#> #STAR #STAR
#> "#chimScoreSeparation" "#chimScoreMin"
#> #STAR #STAR
#> "#chimScoreJunctionNonGTAG" "#chimScoreDropMax"
#> #STAR #STAR
#> "#chimOutType" "#chimJunctionOverhangMin"
#> #STAR #STAR
#> "#alignWindowsPerReadNmax" "#alignTranscriptsPerWindowNmax"
#> #STAR #STAR
#> "#alignTranscriptsPerReadNmax" "#alignSplicedMateMapLminOverLmate"
#> #STAR #STAR
#> "#alignSplicedMateMapLmin" "#alignSoftClipAtReferenceEnds"
#> #STAR #STAR
#> "#alignSJoverhangMin" "#alignSJDBoverhangMin"
#> #STAR #STAR
#> "#alignMatesGapMax" "#alignIntronMin"
#> #STAR #STAR
#> "#alignIntronMax" "#alignEndsType"
# all step input full id with type
f1$step_input_id(TRUE)
#> int
#> "#STAR_Genome_Generate.sjdbScore"
#> int
#> "#STAR_Genome_Generate.sjdbOverhang"
#> string
#> "#STAR_Genome_Generate.sjdbGTFtagExonParentTranscript"
#> string
#> "#STAR_Genome_Generate.sjdbGTFtagExonParentGene"
#> File...
#> "#STAR_Genome_Generate.sjdbGTFfile"
#> string
#> "#STAR_Genome_Generate.sjdbGTFfeatureExon"
#> string
#> "#STAR_Genome_Generate.sjdbGTFchrPrefix"
#> int
#> "#STAR_Genome_Generate.genomeSAsparseD"
#> int
#> "#STAR_Genome_Generate.genomeSAindexNbases"
#> File
#> "#STAR_Genome_Generate.genomeFastaFiles"
#> string
#> "#STAR_Genome_Generate.genomeChrBinNbits"
#> File
#> "#SBG_FASTQ_Quality_Detector.fastq"
#> enum
#> "#Picard_SortSam.validation_stringency"
#> enum
#> "#Picard_SortSam.sort_order"
#> enum
#> "#Picard_SortSam.quiet"
#> enum
#> "#Picard_SortSam.output_type"
#> int
#> "#Picard_SortSam.memory_per_job"
#> int
#> "#Picard_SortSam.max_records_in_ram"
#> File
#> "#Picard_SortSam.input_bam"
#> enum
#> "#Picard_SortSam.create_index"
#> int
#> "#Picard_SortSam.compression_level"
#> int
#> "#STAR.winFlankNbins"
#> int
#> "#STAR.winBinNbits"
#> int
#> "#STAR.winAnchorMultimapNmax"
#> int
#> "#STAR.winAnchorDistNbins"
#> enum
#> "#STAR.twopassMode"
#> int
#> "#STAR.twopass1readsN"
#> int
#> "#STAR.sjdbScore"
#> int
#> "#STAR.sjdbOverhang"
#> enum
#> "#STAR.sjdbInsertSave"
#> string
#> "#STAR.sjdbGTFtagExonParentTranscript"
#> string
#> "#STAR.sjdbGTFtagExonParentGene"
#> File...
#> "#STAR.sjdbGTFfile"
#> string
#> "#STAR.sjdbGTFfeatureExon"
#> string
#> "#STAR.sjdbGTFchrPrefix"
#> float
#> "#STAR.seedSearchStartLmaxOverLread"
#> int
#> "#STAR.seedSearchStartLmax"
#> int
#> "#STAR.seedSearchLmax"
#> int
#> "#STAR.seedPerWindowNmax"
#> int
#> "#STAR.seedPerReadNmax"
#> int
#> "#STAR.seedNoneLociPerWindow"
#> int
#> "#STAR.seedMultimapNmax"
#> int
#> "#STAR.scoreStitchSJshift"
#> int
#> "#STAR.scoreInsOpen"
#> int
#> "#STAR.scoreInsBase"
#> float
#> "#STAR.scoreGenomicLengthLog2scale"
#> int
#> "#STAR.scoreGapNoncan"
#> int
#> "#STAR.scoreGapGCAG"
#> int
#> "#STAR.scoreGapATAC"
#> int
#> "#STAR.scoreGap"
#> int
#> "#STAR.scoreDelOpen"
#> int
#> "#STAR.scoreDelBase"
#> string
#> "#STAR.rg_seq_center"
#> string
#> "#STAR.rg_sample_id"
#> string
#> "#STAR.rg_platform_unit_id"
#> enum
#> "#STAR.rg_platform"
#> string
#> "#STAR.rg_mfl"
#> string
#> "#STAR.rg_library_id"
#> File...
#> "#STAR.reads"
#> enum
#> "#STAR.readMatesLengthsIn"
#> int
#> "#STAR.readMapNumber"
#> enum
#> "#STAR.quantTranscriptomeBan"
#> enum
#> "#STAR.quantMode"
#> enum
#> "#STAR.outSortingType"
#> enum
#> "#STAR.outSJfilterReads"
#> int...
#> "#STAR.outSJfilterOverhangMin"
#> int...
#> "#STAR.outSJfilterIntronMaxVsReadN"
#> int...
#> "#STAR.outSJfilterDistToOtherSJmin"
#> int...
#> "#STAR.outSJfilterCountUniqueMin"
#> int...
#> "#STAR.outSJfilterCountTotalMin"
#> enum
#> "#STAR.outSAMunmapped"
#> enum
#> "#STAR.outSAMtype"
#> enum
#> "#STAR.outSAMstrandField"
#> enum
#> "#STAR.outSAMreadID"
#> enum
#> "#STAR.outSAMprimaryFlag"
#> enum
#> "#STAR.outSAMorder"
#> enum
#> "#STAR.outSAMmode"
#> int
#> "#STAR.outSAMmapqUnique"
#> string
#> "#STAR.outSAMheaderPG"
#> string
#> "#STAR.outSAMheaderHD"
#> int
#> "#STAR.outSAMflagOR"
#> int
#> "#STAR.outSAMflagAND"
#> enum
#> "#STAR.outSAMattributes"
#> enum
#> "#STAR.outReadsUnmapped"
#> int
#> "#STAR.outQSconversionAdd"
#> enum
#> "#STAR.outFilterType"
#> float
#> "#STAR.outFilterScoreMinOverLread"
#> int
#> "#STAR.outFilterScoreMin"
#> int
#> "#STAR.outFilterMultimapScoreRange"
#> int
#> "#STAR.outFilterMultimapNmax"
#> float
#> "#STAR.outFilterMismatchNoverReadLmax"
#> float
#> "#STAR.outFilterMismatchNoverLmax"
#> int
#> "#STAR.outFilterMismatchNmax"
#> float
#> "#STAR.outFilterMatchNminOverLread"
#> int
#> "#STAR.outFilterMatchNmin"
#> enum
#> "#STAR.outFilterIntronMotifs"
#> int
#> "#STAR.limitSjdbInsertNsj"
#> int
#> "#STAR.limitOutSJoneRead"
#> int
#> "#STAR.limitOutSJcollapsed"
#> int
#> "#STAR.limitBAMsortRAM"
#> string
#> "#STAR.genomeDirName"
#> File
#> "#STAR.genome"
#> int...
#> "#STAR.clip5pNbases"
#> int...
#> "#STAR.clip3pNbases"
#> int...
#> "#STAR.clip3pAfterAdapterNbases"
#> string...
#> "#STAR.clip3pAdapterSeq"
#> float...
#> "#STAR.clip3pAdapterMMp"
#> int
#> "#STAR.chimSegmentMin"
#> int
#> "#STAR.chimScoreSeparation"
#> int
#> "#STAR.chimScoreMin"
#> int
#> "#STAR.chimScoreJunctionNonGTAG"
#> int
#> "#STAR.chimScoreDropMax"
#> enum
#> "#STAR.chimOutType"
#> int
#> "#STAR.chimJunctionOverhangMin"
#> float
#> "#STAR.alignWindowsPerReadNmax"
#> int
#> "#STAR.alignTranscriptsPerWindowNmax"
#> int
#> "#STAR.alignTranscriptsPerReadNmax"
#> float
#> "#STAR.alignSplicedMateMapLminOverLmate"
#> int
#> "#STAR.alignSplicedMateMapLmin"
#> enum
#> "#STAR.alignSoftClipAtReferenceEnds"
#> int
#> "#STAR.alignSJoverhangMin"
#> int
#> "#STAR.alignSJDBoverhangMin"
#> int
#> "#STAR.alignMatesGapMax"
#> int
#> "#STAR.alignIntronMin"
#> int
#> "#STAR.alignIntronMax"
#> enum
#> "#STAR.alignEndsType"
# all step output id
f1$step_output_id()
#> #STAR_Genome_Generate #SBG_FASTQ_Quality_Detector
#> "#genome" "#result"
#> #Picard_SortSam #STAR
#> "#sorted_bam" "#unmapped_reads"
#> #STAR #STAR
#> "#transcriptome_aligned_reads" "#splice_junctions"
#> #STAR #STAR
#> "#reads_per_gene" "#log_files"
#> #STAR #STAR
#> "#intermediate_genome" "#chimeric_junctions"
#> #STAR #STAR
#> "#chimeric_alignments" "#aligned_reads"
# all step output full id with type
f1$step_output_id(TRUE)
#> File File
#> "#STAR_Genome_Generate.genome" "#SBG_FASTQ_Quality_Detector.result"
#> File File...
#> "#Picard_SortSam.sorted_bam" "#STAR.unmapped_reads"
#> File File
#> "#STAR.transcriptome_aligned_reads" "#STAR.splice_junctions"
#> File File...
#> "#STAR.reads_per_gene" "#STAR.log_files"
#> File File
#> "#STAR.intermediate_genome" "#STAR.chimeric_junctions"
#> File File
#> "#STAR.chimeric_alignments" "#STAR.aligned_reads"
# get inputs objects
f1$get_input("#clip3pNbases")
#> 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
#>
f1$get_input(c("#clip3pNbases", "#chimScoreMin"))
#> [[1]]
#> 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
#>
#> [[2]]
#> 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
#>
f1$get_input(c("#clip3pNbases", "#chimScoreMin", "#STAR.outFilterMismatchNoverLmax"))
#> [[1]]
#> 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
#>
#> [[2]]
#> 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
#>
#> [[3]]
#> 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
#>
# get outputs objects
f1$get_output("#log_files")
#> 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
#>
f1$get_output(c("#log_files", "intermediate_genome"))
#> [[1]]
#> 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
#>
#> [[2]]
#> 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
#>
f1$get_output(c("#log_files", "intermediate_genome", "#STAR.unmapped_reads"))
#> [[1]]
#> 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
#>
#> [[2]]
#> 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
#>
#> [[3]]
#> 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
#>
f1$get_output("#log_files")
#> 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
#>
# set flow input
f1$set_flow_input("#SBG_FASTQ_Quality_Detector.fastq")
#> 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
#> sbg:includeInPorts: yes
#> 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
#> sbg:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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
#>
f1$set_flow_output(c("#log_files", "intermediate_genome"))
#> 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
#> sbg:includeInPorts: yes
#> 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
#> sbg:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> sbg:toolDefaultValue: '9'
#> required: no
#> outputs:
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Unmapped reads
#> description: Output of unmapped reads.
#> streamable: no
#> id: '#unmapped_reads'
#> source: '#unmapped_reads'
#> sbg:x: 800.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Transcriptome alignments
#> description: Alignments translated into transcript coordinates.
#> streamable: no
#> id: '#transcriptome_aligned_reads'
#> source: '#transcriptome_aligned_reads'
#> sbg:x: 800.0
#> sbg:y: 233.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#splice_junctions'
#> sbg:x: 800.0
#> sbg:y: 266.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#reads_per_gene'
#> sbg:x: 800.0
#> sbg:y: 300.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Log files
#> description: Log files produced during alignment.
#> streamable: no
#> id: '#log_files'
#> source: '#log_files'
#> sbg:x: 800.0
#> sbg:y: 333.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_junctions'
#> sbg:x: 800.0
#> sbg:y: 366.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 400.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_alignments'
#> sbg:x: 800.0
#> sbg:y: 433.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Sorted BAM/SAM
#> description: Sorted BAM or SAM file.
#> streamable: no
#> id: '#sorted_bam'
#> source: '#sorted_bam'
#> sbg:x: 800.0
#> sbg:y: 466.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Result
#> description: Source FASTQ file with updated metadata.
#> streamable: no
#> id: '#result'
#> source: '#result'
#> sbg:x: 800.0
#> sbg:y: 500.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 533.3333333
#> 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
#>
# get required node
f1$get_required()
#> fastq genomeFastaFiles
#> "File..." "File"
# set required node
f1$steps[[1]]$run$set_required("genomeChrBinNbits")
#> not implemented yet!
f1$get_required()
#> fastq genomeFastaFiles
#> "File..." "File"
f1$steps[[1]]$run$set_required("genomeChrBinNbits", FALSE)
#> not implemented yet!
f1$get_required()
#> fastq genomeFastaFiles
#> "File..." "File"
# get Tool object from Flow by id and name
f1$list_tool()
#> label
#> 1 STAR Genome Generate
#> 2 SBG FASTQ Quality Detector
#> 3 Picard SortSam
#> 4 STAR
#> sbgid
#> 1 sevenbridges/public-apps/star-genome-generate/1
#> 2 sevenbridges/public-apps/sbg-fastq-quality-detector/3
#> 3 sevenbridges/public-apps/picard-sortsam-1-140/2
#> 4 sevenbridges/public-apps/star/4
#> id
#> 1 #STAR_Genome_Generate
#> 2 #SBG_FASTQ_Quality_Detector
#> 3 #Picard_SortSam
#> 4 #STAR
# return two
f1$get_tool("STAR")
#> [[1]]
#> 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
#>
#>
#> [[2]]
#> 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
#>
#>
# return one
f1$get_tool("^STAR$")
#> 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
#>
# get included input ports
f1$get_input_port()
#> #STAR_Genome_Generate #STAR_Genome_Generate #STAR
#> "#sjdbScore" "#sjdbOverhang" "#winFlankNbins"
#> #STAR
#> "#winBinNbits"
# set included input ports
f1$set_input_port(c("#STAR.alignSJDBoverhangMin", "chimScoreSeparation"))
f1$get_input_port()
#> #STAR_Genome_Generate #STAR_Genome_Generate #STAR
#> "#sjdbScore" "#sjdbOverhang" "#winFlankNbins"
#> #STAR #STAR #STAR
#> "#winBinNbits" "#chimScoreSeparation" "#alignSJDBoverhangMin"
f1$set_input_port(c("#STAR.alignSJDBoverhangMin", "chimScoreSeparation"), FALSE)
f1$get_input_port()
#> #STAR_Genome_Generate #STAR_Genome_Generate #STAR
#> "#sjdbScore" "#sjdbOverhang" "#winFlankNbins"
#> #STAR
#> "#winBinNbits"
f1$get_input_node()
#> sjdbGTFfile fastq genomeFastaFiles
#> "#sjdbGTFfile" "#fastq" "#genomeFastaFiles"
f1$get_output_node()
#> unmapped_reads transcriptome_aligned_reads
#> "#unmapped_reads" "#transcriptome_aligned_reads"
#> splice_junctions reads_per_gene
#> "#splice_junctions" "#reads_per_gene"
#> log_files chimeric_junctions
#> "#log_files" "#chimeric_junctions"
#> intermediate_genome chimeric_alignments
#> "#intermediate_genome" "#chimeric_alignments"
#> sorted_bam result
#> "#sorted_bam" "#result"
#> intermediate_genome
#> "#intermediate_genome"
f1$get_input_exposed()
#> sjdbGTFtagExonParentTranscript sjdbGTFtagExonParentGene
#> "#sjdbGTFtagExonParentTranscript" "#sjdbGTFtagExonParentGene"
#> winAnchorMultimapNmax winAnchorDistNbins
#> "#winAnchorMultimapNmax" "#winAnchorDistNbins"
f1$step_input_id(TRUE)
#> int
#> "#STAR_Genome_Generate.sjdbScore"
#> int
#> "#STAR_Genome_Generate.sjdbOverhang"
#> string
#> "#STAR_Genome_Generate.sjdbGTFtagExonParentTranscript"
#> string
#> "#STAR_Genome_Generate.sjdbGTFtagExonParentGene"
#> File...
#> "#STAR_Genome_Generate.sjdbGTFfile"
#> string
#> "#STAR_Genome_Generate.sjdbGTFfeatureExon"
#> string
#> "#STAR_Genome_Generate.sjdbGTFchrPrefix"
#> int
#> "#STAR_Genome_Generate.genomeSAsparseD"
#> int
#> "#STAR_Genome_Generate.genomeSAindexNbases"
#> File
#> "#STAR_Genome_Generate.genomeFastaFiles"
#> string
#> "#STAR_Genome_Generate.genomeChrBinNbits"
#> File
#> "#SBG_FASTQ_Quality_Detector.fastq"
#> enum
#> "#Picard_SortSam.validation_stringency"
#> enum
#> "#Picard_SortSam.sort_order"
#> enum
#> "#Picard_SortSam.quiet"
#> enum
#> "#Picard_SortSam.output_type"
#> int
#> "#Picard_SortSam.memory_per_job"
#> int
#> "#Picard_SortSam.max_records_in_ram"
#> File
#> "#Picard_SortSam.input_bam"
#> enum
#> "#Picard_SortSam.create_index"
#> int
#> "#Picard_SortSam.compression_level"
#> int
#> "#STAR.winFlankNbins"
#> int
#> "#STAR.winBinNbits"
#> int
#> "#STAR.winAnchorMultimapNmax"
#> int
#> "#STAR.winAnchorDistNbins"
#> enum
#> "#STAR.twopassMode"
#> int
#> "#STAR.twopass1readsN"
#> int
#> "#STAR.sjdbScore"
#> int
#> "#STAR.sjdbOverhang"
#> enum
#> "#STAR.sjdbInsertSave"
#> string
#> "#STAR.sjdbGTFtagExonParentTranscript"
#> string
#> "#STAR.sjdbGTFtagExonParentGene"
#> File...
#> "#STAR.sjdbGTFfile"
#> string
#> "#STAR.sjdbGTFfeatureExon"
#> string
#> "#STAR.sjdbGTFchrPrefix"
#> float
#> "#STAR.seedSearchStartLmaxOverLread"
#> int
#> "#STAR.seedSearchStartLmax"
#> int
#> "#STAR.seedSearchLmax"
#> int
#> "#STAR.seedPerWindowNmax"
#> int
#> "#STAR.seedPerReadNmax"
#> int
#> "#STAR.seedNoneLociPerWindow"
#> int
#> "#STAR.seedMultimapNmax"
#> int
#> "#STAR.scoreStitchSJshift"
#> int
#> "#STAR.scoreInsOpen"
#> int
#> "#STAR.scoreInsBase"
#> float
#> "#STAR.scoreGenomicLengthLog2scale"
#> int
#> "#STAR.scoreGapNoncan"
#> int
#> "#STAR.scoreGapGCAG"
#> int
#> "#STAR.scoreGapATAC"
#> int
#> "#STAR.scoreGap"
#> int
#> "#STAR.scoreDelOpen"
#> int
#> "#STAR.scoreDelBase"
#> string
#> "#STAR.rg_seq_center"
#> string
#> "#STAR.rg_sample_id"
#> string
#> "#STAR.rg_platform_unit_id"
#> enum
#> "#STAR.rg_platform"
#> string
#> "#STAR.rg_mfl"
#> string
#> "#STAR.rg_library_id"
#> File...
#> "#STAR.reads"
#> enum
#> "#STAR.readMatesLengthsIn"
#> int
#> "#STAR.readMapNumber"
#> enum
#> "#STAR.quantTranscriptomeBan"
#> enum
#> "#STAR.quantMode"
#> enum
#> "#STAR.outSortingType"
#> enum
#> "#STAR.outSJfilterReads"
#> int...
#> "#STAR.outSJfilterOverhangMin"
#> int...
#> "#STAR.outSJfilterIntronMaxVsReadN"
#> int...
#> "#STAR.outSJfilterDistToOtherSJmin"
#> int...
#> "#STAR.outSJfilterCountUniqueMin"
#> int...
#> "#STAR.outSJfilterCountTotalMin"
#> enum
#> "#STAR.outSAMunmapped"
#> enum
#> "#STAR.outSAMtype"
#> enum
#> "#STAR.outSAMstrandField"
#> enum
#> "#STAR.outSAMreadID"
#> enum
#> "#STAR.outSAMprimaryFlag"
#> enum
#> "#STAR.outSAMorder"
#> enum
#> "#STAR.outSAMmode"
#> int
#> "#STAR.outSAMmapqUnique"
#> string
#> "#STAR.outSAMheaderPG"
#> string
#> "#STAR.outSAMheaderHD"
#> int
#> "#STAR.outSAMflagOR"
#> int
#> "#STAR.outSAMflagAND"
#> enum
#> "#STAR.outSAMattributes"
#> enum
#> "#STAR.outReadsUnmapped"
#> int
#> "#STAR.outQSconversionAdd"
#> enum
#> "#STAR.outFilterType"
#> float
#> "#STAR.outFilterScoreMinOverLread"
#> int
#> "#STAR.outFilterScoreMin"
#> int
#> "#STAR.outFilterMultimapScoreRange"
#> int
#> "#STAR.outFilterMultimapNmax"
#> float
#> "#STAR.outFilterMismatchNoverReadLmax"
#> float
#> "#STAR.outFilterMismatchNoverLmax"
#> int
#> "#STAR.outFilterMismatchNmax"
#> float
#> "#STAR.outFilterMatchNminOverLread"
#> int
#> "#STAR.outFilterMatchNmin"
#> enum
#> "#STAR.outFilterIntronMotifs"
#> int
#> "#STAR.limitSjdbInsertNsj"
#> int
#> "#STAR.limitOutSJoneRead"
#> int
#> "#STAR.limitOutSJcollapsed"
#> int
#> "#STAR.limitBAMsortRAM"
#> string
#> "#STAR.genomeDirName"
#> File
#> "#STAR.genome"
#> int...
#> "#STAR.clip5pNbases"
#> int...
#> "#STAR.clip3pNbases"
#> int...
#> "#STAR.clip3pAfterAdapterNbases"
#> string...
#> "#STAR.clip3pAdapterSeq"
#> float...
#> "#STAR.clip3pAdapterMMp"
#> int
#> "#STAR.chimSegmentMin"
#> int
#> "#STAR.chimScoreSeparation"
#> int
#> "#STAR.chimScoreMin"
#> int
#> "#STAR.chimScoreJunctionNonGTAG"
#> int
#> "#STAR.chimScoreDropMax"
#> enum
#> "#STAR.chimOutType"
#> int
#> "#STAR.chimJunctionOverhangMin"
#> float
#> "#STAR.alignWindowsPerReadNmax"
#> int
#> "#STAR.alignTranscriptsPerWindowNmax"
#> int
#> "#STAR.alignTranscriptsPerReadNmax"
#> float
#> "#STAR.alignSplicedMateMapLminOverLmate"
#> int
#> "#STAR.alignSplicedMateMapLmin"
#> enum
#> "#STAR.alignSoftClipAtReferenceEnds"
#> int
#> "#STAR.alignSJoverhangMin"
#> int
#> "#STAR.alignSJDBoverhangMin"
#> int
#> "#STAR.alignMatesGapMax"
#> int
#> "#STAR.alignIntronMin"
#> int
#> "#STAR.alignIntronMax"
#> enum
#> "#STAR.alignEndsType"
f1$input_id()
#> [1] "#sjdbGTFfile" "#fastq"
#> [3] "#genomeFastaFiles" "#sjdbGTFtagExonParentTranscript"
#> [5] "#sjdbGTFtagExonParentGene" "#winAnchorMultimapNmax"
#> [7] "#winAnchorDistNbins"
f1$set_flow_input("#STAR.reads")
#> 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:
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: yes
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: sjdbGTFfile
#> streamable: no
#> id: '#sjdbGTFfile'
#> sbg:x: 160.4999759
#> sbg:y: 195.0833106
#> sbg:includeInPorts: yes
#> 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
#> sbg:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> sbg:toolDefaultValue: '9'
#> required: no
#> outputs:
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Unmapped reads
#> description: Output of unmapped reads.
#> streamable: no
#> id: '#unmapped_reads'
#> source: '#unmapped_reads'
#> sbg:x: 800.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Transcriptome alignments
#> description: Alignments translated into transcript coordinates.
#> streamable: no
#> id: '#transcriptome_aligned_reads'
#> source: '#transcriptome_aligned_reads'
#> sbg:x: 800.0
#> sbg:y: 233.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#splice_junctions'
#> sbg:x: 800.0
#> sbg:y: 266.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#reads_per_gene'
#> sbg:x: 800.0
#> sbg:y: 300.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Log files
#> description: Log files produced during alignment.
#> streamable: no
#> id: '#log_files'
#> source: '#log_files'
#> sbg:x: 800.0
#> sbg:y: 333.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_junctions'
#> sbg:x: 800.0
#> sbg:y: 366.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 400.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_alignments'
#> sbg:x: 800.0
#> sbg:y: 433.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Sorted BAM/SAM
#> description: Sorted BAM or SAM file.
#> streamable: no
#> id: '#sorted_bam'
#> source: '#sorted_bam'
#> sbg:x: 800.0
#> sbg:y: 466.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Result
#> description: Source FASTQ file with updated metadata.
#> streamable: no
#> id: '#result'
#> source: '#result'
#> sbg:x: 800.0
#> sbg:y: 500.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 533.3333333
#> 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: '#reads'
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> 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:includeInPorts: no
#> 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:includeInPorts: no
#> 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
#>
f1$input_id()
#> [1] "#reads" "#sjdbGTFfile"
#> [3] "#fastq" "#genomeFastaFiles"
#> [5] "#sjdbGTFtagExonParentTranscript" "#sjdbGTFtagExonParentGene"
#> [7] "#winAnchorMultimapNmax" "#winAnchorDistNbins"
# batch
f1$set_batch("sjdbGTFfile", c("metadata.sample_id", "metadata.library_id"))
#> criteria provided, convert type from ITEM to CRITERIA
#> 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:
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: yes
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: sjdbGTFfile
#> streamable: no
#> id: '#sjdbGTFfile'
#> sbg:x: 160.4999759
#> sbg:y: 195.0833106
#> sbg:includeInPorts: yes
#> required: no
#> batchType: metadata.library_id
#> - 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
#> sbg:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> sbg:toolDefaultValue: '9'
#> required: no
#> outputs:
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Unmapped reads
#> description: Output of unmapped reads.
#> streamable: no
#> id: '#unmapped_reads'
#> source: '#unmapped_reads'
#> sbg:x: 800.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Transcriptome alignments
#> description: Alignments translated into transcript coordinates.
#> streamable: no
#> id: '#transcriptome_aligned_reads'
#> source: '#transcriptome_aligned_reads'
#> sbg:x: 800.0
#> sbg:y: 233.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#splice_junctions'
#> sbg:x: 800.0
#> sbg:y: 266.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#reads_per_gene'
#> sbg:x: 800.0
#> sbg:y: 300.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Log files
#> description: Log files produced during alignment.
#> streamable: no
#> id: '#log_files'
#> source: '#log_files'
#> sbg:x: 800.0
#> sbg:y: 333.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_junctions'
#> sbg:x: 800.0
#> sbg:y: 366.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 400.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_alignments'
#> sbg:x: 800.0
#> sbg:y: 433.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Sorted BAM/SAM
#> description: Sorted BAM or SAM file.
#> streamable: no
#> id: '#sorted_bam'
#> source: '#sorted_bam'
#> sbg:x: 800.0
#> sbg:y: 466.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Result
#> description: Source FASTQ file with updated metadata.
#> streamable: no
#> id: '#result'
#> source: '#result'
#> sbg:x: 800.0
#> sbg:y: 500.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 533.3333333
#> 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: '#reads'
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> 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:includeInPorts: no
#> 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:includeInPorts: no
#> 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
#> sbg:batchInput: '#sjdbGTFfile'
#> sbg:batchBy:
#> type: criteria
#> criteria:
#> - metadata.sample_id
#> - metadata.library_id
#>
f1$set_batch("sjdbGTFfile", type = "ITEM")
#> 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:
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: yes
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: sjdbGTFfile
#> streamable: no
#> id: '#sjdbGTFfile'
#> sbg:x: 160.4999759
#> sbg:y: 195.0833106
#> sbg:includeInPorts: yes
#> 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
#> sbg:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> sbg:toolDefaultValue: '9'
#> required: no
#> outputs:
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Unmapped reads
#> description: Output of unmapped reads.
#> streamable: no
#> id: '#unmapped_reads'
#> source: '#unmapped_reads'
#> sbg:x: 800.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Transcriptome alignments
#> description: Alignments translated into transcript coordinates.
#> streamable: no
#> id: '#transcriptome_aligned_reads'
#> source: '#transcriptome_aligned_reads'
#> sbg:x: 800.0
#> sbg:y: 233.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#splice_junctions'
#> sbg:x: 800.0
#> sbg:y: 266.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#reads_per_gene'
#> sbg:x: 800.0
#> sbg:y: 300.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Log files
#> description: Log files produced during alignment.
#> streamable: no
#> id: '#log_files'
#> source: '#log_files'
#> sbg:x: 800.0
#> sbg:y: 333.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_junctions'
#> sbg:x: 800.0
#> sbg:y: 366.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 400.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_alignments'
#> sbg:x: 800.0
#> sbg:y: 433.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Sorted BAM/SAM
#> description: Sorted BAM or SAM file.
#> streamable: no
#> id: '#sorted_bam'
#> source: '#sorted_bam'
#> sbg:x: 800.0
#> sbg:y: 466.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Result
#> description: Source FASTQ file with updated metadata.
#> streamable: no
#> id: '#result'
#> source: '#result'
#> sbg:x: 800.0
#> sbg:y: 500.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 533.3333333
#> 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: '#reads'
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> 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:includeInPorts: no
#> 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:includeInPorts: no
#> 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
#> sbg:batchInput: '#sjdbGTFfile'
#> sbg:batchBy:
#> type: item
#>
# add source to id
f1$link_map()
#> id
#> 1 #STAR_Genome_Generate.sjdbGTFtagExonParentTranscript
#> 2 #STAR_Genome_Generate.sjdbGTFtagExonParentGene
#> 3 #STAR_Genome_Generate.sjdbGTFfile
#> 4 #STAR_Genome_Generate.genomeFastaFiles
#> 5 #SBG_FASTQ_Quality_Detector.fastq
#> 6 #Picard_SortSam.input_bam
#> 7 #STAR.winAnchorMultimapNmax
#> 8 #STAR.winAnchorDistNbins
#> 9 #STAR.sjdbGTFfile
#> 10 #STAR.reads
#> 11 #STAR.genome
#> 12 #unmapped_reads
#> 13 #transcriptome_aligned_reads
#> 14 #splice_junctions
#> 15 #reads_per_gene
#> 16 #log_files
#> 17 #chimeric_junctions
#> 18 #intermediate_genome
#> 19 #intermediate_genome
#> 20 #chimeric_alignments
#> 21 #sorted_bam
#> 22 #result
#> 23 #intermediate_genome
#> 24 #intermediate_genome
#> source type
#> 1 #sjdbGTFtagExonParentTranscript input
#> 2 #sjdbGTFtagExonParentGene input
#> 3 #sjdbGTFfile input
#> 4 #genomeFastaFiles input
#> 5 #fastq input
#> 6 #STAR.aligned_reads input
#> 7 #winAnchorMultimapNmax input
#> 8 #winAnchorDistNbins input
#> 9 #sjdbGTFfile input
#> 10 #reads input
#> 11 #STAR_Genome_Generate.genome input
#> 12 #unmapped_reads output
#> 13 #transcriptome_aligned_reads output
#> 14 #splice_junctions output
#> 15 #reads_per_gene output
#> 16 #log_files output
#> 17 #chimeric_junctions output
#> 18 #intermediate_genome output
#> 19 intermediate_genome output
#> 20 #chimeric_alignments output
#> 21 #sorted_bam output
#> 22 #result output
#> 23 #intermediate_genome output
#> 24 intermediate_genome output
f1$add_source_to_id(c("test1", "test2"), c("#STAR.genome", "#STAR.reads"))
#> 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:
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: yes
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: sjdbGTFfile
#> streamable: no
#> id: '#sjdbGTFfile'
#> sbg:x: 160.4999759
#> sbg:y: 195.0833106
#> sbg:includeInPorts: yes
#> 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
#> sbg:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> 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:includeInPorts: yes
#> sbg:toolDefaultValue: '9'
#> required: no
#> outputs:
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Unmapped reads
#> description: Output of unmapped reads.
#> streamable: no
#> id: '#unmapped_reads'
#> source: '#unmapped_reads'
#> sbg:x: 800.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Transcriptome alignments
#> description: Alignments translated into transcript coordinates.
#> streamable: no
#> id: '#transcriptome_aligned_reads'
#> source: '#transcriptome_aligned_reads'
#> sbg:x: 800.0
#> sbg:y: 233.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#splice_junctions'
#> sbg:x: 800.0
#> sbg:y: 266.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#reads_per_gene'
#> sbg:x: 800.0
#> sbg:y: 300.0
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - items: File
#> type: array
#> label: Log files
#> description: Log files produced during alignment.
#> streamable: no
#> id: '#log_files'
#> source: '#log_files'
#> sbg:x: 800.0
#> sbg:y: 333.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_junctions'
#> sbg:x: 800.0
#> sbg:y: 366.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 400.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source: '#chimeric_alignments'
#> sbg:x: 800.0
#> sbg:y: 433.3333333
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Sorted BAM/SAM
#> description: Sorted BAM or SAM file.
#> streamable: no
#> id: '#sorted_bam'
#> source: '#sorted_bam'
#> sbg:x: 800.0
#> sbg:y: 466.6666667
#> sbg:includeInPorts: yes
#> required: no
#> - type:
#> - 'null'
#> - File
#> label: Result
#> description: Source FASTQ file with updated metadata.
#> streamable: no
#> id: '#result'
#> source: '#result'
#> sbg:x: 800.0
#> sbg:y: 500.0
#> sbg:includeInPorts: yes
#> required: no
#> - 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'
#> source:
#> - '#intermediate_genome'
#> - intermediate_genome
#> sbg:x: 800.0
#> sbg:y: 533.3333333
#> 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:
#> - '#reads'
#> - test2
#> - 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'
#> - test1
#> - 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
#> sbg:x: 200.0
#> sbg:y: 200.0
#> sbg:includeInPorts: yes
#> 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:includeInPorts: no
#> 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:includeInPorts: no
#> 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
#> sbg:batchInput: '#sjdbGTFfile'
#> sbg:batchBy:
#> type: item
#>
f1$link_map()
#> id
#> 1 #STAR_Genome_Generate.sjdbGTFtagExonParentTranscript
#> 2 #STAR_Genome_Generate.sjdbGTFtagExonParentGene
#> 3 #STAR_Genome_Generate.sjdbGTFfile
#> 4 #STAR_Genome_Generate.genomeFastaFiles
#> 5 #SBG_FASTQ_Quality_Detector.fastq
#> 6 #Picard_SortSam.input_bam
#> 7 #STAR.winAnchorMultimapNmax
#> 8 #STAR.winAnchorDistNbins
#> 9 #STAR.sjdbGTFfile
#> 10 #STAR.reads
#> 11 #STAR.reads
#> 12 #STAR.genome
#> 13 #STAR.genome
#> 14 #unmapped_reads
#> 15 #transcriptome_aligned_reads
#> 16 #splice_junctions
#> 17 #reads_per_gene
#> 18 #log_files
#> 19 #chimeric_junctions
#> 20 #intermediate_genome
#> 21 #intermediate_genome
#> 22 #chimeric_alignments
#> 23 #sorted_bam
#> 24 #result
#> 25 #intermediate_genome
#> 26 #intermediate_genome
#> source type
#> 1 #sjdbGTFtagExonParentTranscript input
#> 2 #sjdbGTFtagExonParentGene input
#> 3 #sjdbGTFfile input
#> 4 #genomeFastaFiles input
#> 5 #fastq input
#> 6 #STAR.aligned_reads input
#> 7 #winAnchorMultimapNmax input
#> 8 #winAnchorDistNbins input
#> 9 #sjdbGTFfile input
#> 10 #reads input
#> 11 test2 input
#> 12 #STAR_Genome_Generate.genome input
#> 13 test1 input
#> 14 #unmapped_reads output
#> 15 #transcriptome_aligned_reads output
#> 16 #splice_junctions output
#> 17 #reads_per_gene output
#> 18 #log_files output
#> 19 #chimeric_junctions output
#> 20 #intermediate_genome output
#> 21 intermediate_genome output
#> 22 #chimeric_alignments output
#> 23 #sorted_bam output
#> 24 #result output
#> 25 #intermediate_genome output
#> 26 intermediate_genome output