diff --git a/assays/Talinum_RNASeq_minimal/dataset/.gitkeep b/assays/Talinum_RNASeq_minimal/dataset/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/runs/kallisto_quant/run.yml b/runs/kallisto/run.yml similarity index 78% rename from runs/kallisto_quant/run.yml rename to runs/kallisto/run.yml index 09afef48ab9d86fcdc40a041f12c78635c47bd18..269c202185dada830d97cf64e1299194a2363b54 100644 --- a/runs/kallisto_quant/run.yml +++ b/runs/kallisto/run.yml @@ -13,3 +13,9 @@ kallisto_bootstrap: 100 kallisto_threads: 4 kallisto_fragmentLength: 200 kallisto_stdDev: 20 + + + +in_genome_ref: + class: File + path: ../../studies/TalinumGenomeDraft/resources/Talinum.gm.CDS.nt.fa \ No newline at end of file diff --git a/runs/kallisto_index/run.yml b/runs/kallisto_index/run.yml deleted file mode 100644 index df0c0706df4bcbda3746868761ef252449eb736c..0000000000000000000000000000000000000000 --- a/runs/kallisto_index/run.yml +++ /dev/null @@ -1,8 +0,0 @@ -cores: 1 -sh_script: - class: File - path: ../../workflows/kallisto_index/kallisto_index.sh -in_genome_ref: - class: File - path: ../../studies/TalinumGenomeDraft/resources/Talinum.gm.CDS.nt.fa -out_folder: ./out diff --git a/workflows/kallisto/README.md b/workflows/kallisto/README.md new file mode 100644 index 0000000000000000000000000000000000000000..52f46ea8a4bd5023a55f9447301f9bd496036b68 --- /dev/null +++ b/workflows/kallisto/README.md @@ -0,0 +1,7 @@ + +# Kallisto + + + +CWL adapted from: https://github.com/common-workflow-library/bio-cwl-tools/commit/91c42fb809ce18eafe16155cca0abf362270c0fe + diff --git a/workflows/kallisto/kallisto-index.cwl b/workflows/kallisto/kallisto-index.cwl new file mode 100644 index 0000000000000000000000000000000000000000..4e5b6096af8587c6b618cd35dc7357a5dc226c27 --- /dev/null +++ b/workflows/kallisto/kallisto-index.cwl @@ -0,0 +1,63 @@ +#!/usr/bin/env cwl-runner +cwlVersion: v1.0 +class: CommandLineTool + +hints: + DockerRequirement: + dockerPull: quay.io/biocontainers/kallisto:0.46.2--h4f7b962_1 + SoftwareRequirement: + packages: + kallisto: + version: [ "0.46.0" ] + specs: [ https://identifiers.org/biotools/kallisto ] + +requirements: + - class: InlineJavascriptRequirement + - class: InitialWorkDirRequirement + listing: + - entry: "$({class: 'Directory', listing: []})" + entryname: $(inputs.IndexOutfolder) + writable: true + +inputs: + InputFiles: + type: File[] + format: edam:format_1929 # FASTA + inputBinding: + position: 200 + + IndexOutfolder: + type: string + + IndexName: + type: string + inputBinding: + prefix: "--index=" + separate: false + +#Optional arguments + + kmerSize: + type: int? + inputBinding: + prefix: "--kmer-size=" + separate: false + + makeUnique: + type: boolean? + inputBinding: + prefix: "--make-unique" + +baseCommand: [kallisto, index] + +outputs: + + index: + type: Directory + outputBinding: + glob: $(runtime.outdir)/$(inputs.IndexOutfolder) + +$namespaces: + edam: http://edamontology.org/ +$schemas: + - https://edamontology.org/EDAM_1.18.owl diff --git a/workflows/kallisto/kallisto-quant.cwl b/workflows/kallisto/kallisto-quant.cwl new file mode 100755 index 0000000000000000000000000000000000000000..a5c3b3e056d56f2550fd94098ae9e47193141520 --- /dev/null +++ b/workflows/kallisto/kallisto-quant.cwl @@ -0,0 +1,137 @@ +#!/usr/bin/env cwl-runner +cwlVersion: v1.0 +class: CommandLineTool + +hints: + DockerRequirement: + dockerPull: quay.io/biocontainers/kallisto:0.46.2--h4f7b962_1 + SoftwareRequirement: + packages: + kallisto: + version: [ "0.46.0" ] + specs: [ https://identifiers.org/biotools/kallisto ] + +inputs: + InputReads: + type: File[] + format: edam:format_1930 # FASTA + inputBinding: + position: 200 + + QuantOutfolder: + type: string + + Index: + type: File + inputBinding: + position: 1 + prefix: "--index" + + isSingle: + type: boolean + inputBinding: + position: 2 + prefix: "--single" + + #Optional Inputs + + isBias: + type: boolean? + inputBinding: + prefix: "--bias" + + isFusion: + type: boolean? + inputBinding: + prefix: "--fusion" + + isSingleOverhang: + type: boolean? + inputBinding: + prefix: "--single-overhang" + + FragmentLength: + type: double? + inputBinding: + separate: false + prefix: "--fragment-length=" + + StandardDeviation: + type: double? + inputBinding: + prefix: "--sd" + + BootstrapSamples: + type: int? + inputBinding: + separate: false + prefix: "--bootstrap-samples=" + + Seed: + type: int? + inputBinding: + prefix: "--seed" + +#Using record inputs to create mutually exclusive inputs + Strand: + type: + - "null" + - type: record + name: forward + fields: + forward: + type: boolean + inputBinding: + prefix: "--fr-stranded" + + - type: record + name: reverse + fields: + reverse: + type: boolean + inputBinding: + prefix: "--rf-stranded" + + PseudoBam: + type: boolean? + inputBinding: + prefix: "--pseudobam" + +#Using record inputs to create dependent inputs + + GenomeBam: + type: + - "null" + - type: record + name: genome_bam + fields: + genomebam: + type: boolean + inputBinding: + prefix: "--genomebam" + + gtf: + type: File + inputBinding: + prefix: "--gtf" + + chromosomes: + type: File + inputBinding: + prefix: "--chromosomes" + +baseCommand: [ kallisto, quant ] + +arguments: [ "--output-dir", $(inputs.QuantOutfolder) ] + +outputs: + + outFolder: + type: Directory + outputBinding: + glob: $(runtime.outdir)/$(inputs.QuantOutfolder) + +$namespaces: + edam: http://edamontology.org/ +$schemas: + - https://edamontology.org/EDAM_1.18.owl diff --git a/workflows/kallisto/kallisto-workflow.cwl b/workflows/kallisto/kallisto-workflow.cwl new file mode 100644 index 0000000000000000000000000000000000000000..5f65dfc2a0eb5e822ae5aa85035d921b48f70c6e --- /dev/null +++ b/workflows/kallisto/kallisto-workflow.cwl @@ -0,0 +1,44 @@ +cwlVersion: v1.2 +class: Workflow + +requirements: + ScatterFeatureRequirement: {} + +inputs: + parentDir: Directory + dirNamePattern: string + collectedOut: string + Index: File + isSingle: boolean + FragmentLength: double? + StandardDeviation: double? + BootstrapSamples: int? + +steps: + quant: + run: kallisto-quant.cwl + scatter: + - InputReads + - QuantOutfolder + scatterMethod: dotproduct + in: + InputReads: listFiles/inDirFiles + QuantOutfolder: listFiles/inDirBasename + Index: Index + isSingle: isSingle + FragmentLength: FragmentLength + StandardDeviation: StandardDeviation + BootstrapSamples: BootstrapSamples + out: [outFolder] + collect: + run: ../_aux-tools/yield-dirInDestination.cwl + scatter: inDir + in: + inDir: quant/outFolder + destinationDir: collectedOut + out: [outDir] + +outputs: + finalOut: + type: Directory[] + outputSource: collect/outDir