Build workflow

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

Value

a SBGWorkflow 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