From 1c1a9554a1787d90988d837f06a8ef9a9873a649 Mon Sep 17 00:00:00 2001 From: DavyCats <davycats.dc@gmail.com> Date: Fri, 16 Mar 2018 11:21:14 +0100 Subject: [PATCH] Add quantification tools --- biopet.wdl | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ htseq.wdl | 25 ++++++++++++++++++++++ stringtie.wdl | 23 +++++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 htseq.wdl create mode 100644 stringtie.wdl diff --git a/biopet.wdl b/biopet.wdl index fadc12c..129d597 100644 --- a/biopet.wdl +++ b/biopet.wdl @@ -78,3 +78,60 @@ task SampleConfig { Object values = if (defined(tsvOutput) && size(tsvOutput) > 0) then read_map(tsvOutput) else { "": "" } } } + +task BaseCounter { + String? preCommand + String tool_jar #Should this be of type File? + File bam + File refFlat + String outputDir + String? prefix + + command { + set -e -o pipefail + ${preCommand} + mkdir -p ${outputDir} + java -jar ${tool_jar} \ + -b ${bam} \ + -r ${refFlat} \ + -o ${outputDir} \ + ${"-p" + prefix} + } + + output { + File exonAntisense = outputDir + "/" + prefix + ".base.exon.antisense.counts" + File exon = outputDir + "/" + prefix + ".base.exon.counts" + File exonMergeAntisense = outputDir + "/" + prefix + ".base.exon.merge.antisense.counts" + File exonMerge = outputDir + "/" + prefix + ".base.exon.merge.counts" + File exonMergeSense = outputDir + "/" + prefix + ".base.exon.merge.sense.counts" + File exonSense = outputDir + "/" + prefix + ".base.exon.sense.counts" + File geneAntisense = outputDir + "/" + prefix + ".base.gene.antisense.counts" + File gene = outputDir + "/" + prefix + ".base.gene.counts" + File geneExonicAntisense = outputDir + "/" + prefix + ".base.gene.exonic.antisense.counts" + File geneExonic = outputDir + "/" + prefix + ".base.gene.exonic.counts" + File geneExonicSense = outputDir + "/" + prefix + ".base.gene.exonic.sense.counts" + File geneIntronicAntisense = outputDir + "/" + prefix + ".base.gene.intronic.antisense.counts" + File geneIntronic = outputDir + "/" + prefix + ".base.gene.intronic.counts" + File geneIntronicSense = outputDir + "/" + prefix + ".base.gene.intronic.sense.counts" + File geneSense = outputDir + "/" + prefix + ".base.gene.sense.counts" + File intronAntisense = outputDir + "/" + prefix + ".base.intron.antisense.counts" + File intron = outputDir + "/" + prefix + ".base.intron.counts" + File intronMergeAntisense = outputDir + "/" + prefix + ".base.intron.merge.antisense.counts" + File intronMerge = outputDir + "/" + prefix + ".base.intron.merge.counts" + File intronMergeSense = outputDir + "/" + prefix + ".base.intron.merge.sense.counts" + File intronSense = outputDir + "/" + prefix + ".base.intron.sense.counts" + File metaExonsNonStranded = outputDir + "/" + prefix + ".base.metaexons.non_stranded.counts" + File metaExonsStrandedAntisense = outputDir + "/" + prefix + ".base.metaexons.stranded.antisense.counts" + File metaExonsStranded = outputDir + "/" + prefix + ".base.metaexons.stranded.counts" + File metaExonsStrandedSense = outputDir + "/" + prefix + ".base.metaexons.stranded.sense.counts" + File transcriptAntisense = outputDir + "/" + prefix + ".base.transcript.antisense.counts" + File transcript = outputDir + "/" + prefix + ".base.transcript.counts" + File transcriptExonicAntisense = outputDir + "/" + prefix + ".base.transcript.exonic.antisense.counts" + File transcriptExonic = outputDir + "/" + prefix + ".base.transcript.exonic.counts" + File transcriptExonicSense = outputDir + "/" + prefix + ".base.transcript.exonic.sense.counts" + File transcriptIntronicAntisense = outputDir + "/" + prefix + ".base.transcript.intronic.antisense.counts" + File transcriptIntronic = outputDir + "/" + prefix + ".base.transcript.intronic.counts" + File transcriptIntronicSense = outputDir + "/" + prefix + ".base.transcript.intronic.sense.counts" + File transcriptSense = outputDir + "/" + prefix + ".base.transcript.sense.counts" + } +} diff --git a/htseq.wdl b/htseq.wdl new file mode 100644 index 0000000..bce09a8 --- /dev/null +++ b/htseq.wdl @@ -0,0 +1,25 @@ +task HTSeqCount { + Array[File] alignmentFiles + File gffFile + + String? format + String? order + String? stranded + + String? preCommand + + command { + set -e -o pipefail + ${preCommand} + htseq-count \ + -f ${default="bam" format} \ + -r ${default="pos" order} \ + -s ${default="no" stranded} \ + ${sep=" " alignmentFiles} \ + ${gffFile} + } + + output { + File counts = stdout() + } +} \ No newline at end of file diff --git a/stringtie.wdl b/stringtie.wdl new file mode 100644 index 0000000..a057e19 --- /dev/null +++ b/stringtie.wdl @@ -0,0 +1,23 @@ +task Stringtie { + String? preCommand + File alignedReads + File? referenceGFF + Int? threads + + command { + set -e -o pipefail + ${preCommand} + stringtie \ + ${"-p " + threads} \ + ${"-G " + referenceGFF} \ + ${alignedReads} + } + + output { + File assembledTranscripts = stdout() + } + + runtime { + threads: threads + } +} \ No newline at end of file -- GitLab