Skip to content
Snippets Groups Projects
Unverified Commit a09e3a5f authored by Peter van 't Hof's avatar Peter van 't Hof Committed by GitHub
Browse files

Merge branch 'master' into intervals_SplitNCigarReads

parents a7104e27 8159674a
No related branches found
No related tags found
1 merge request!7add intervals option to SplitNCigarReads
......@@ -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"
}
}
task HTSeqCount {
String? preCommand
Array[File] alignmentFiles
File gffFile
String outputTable
String? format
String? order
String? stranded
command {
set -e -o pipefail
${preCommand}
htseq-count \
-f ${default="bam" format} \
-r ${default="pos" order} \
-s ${default="no" stranded} \
${sep=" " alignmentFiles} \
${gffFile} \
> ${outputTable}
}
output {
File counts = outputTable
}
}
\ No newline at end of file
task MergeCounts {
String? preCommand
Array[File] inputFiles
String outputFile
String idVar
String measurementVar
# Based on a script by Szymon Kielbasa/Ioannis Moustakas
command <<<
set -e -o pipefail
${preCommand}
R --no-save --slave <<CODE > ${outputFile}
library(dplyr)
library(reshape2)
listOfFiles <- c("${sep='", "' inputFiles}")
d <- do.call(rbind, lapply(listOfFiles, function(file){
d <- read.table(file, header=TRUE, comment.char="#")
colI <- grep(${measurementVar}, colnames(d))
colnames(d)[colI] <- strsplit(file, "/")[[1]][3]
d <- d %>% melt(id.vars=${idVar}, measure.vars=colI,
variable.name="sample", value.name="count")
}))
d <- d %>% dcast(paste0(${idVar}, " ~ sample"), value.var="count")
write.table(d, sep="\t", quote=FALSE, row.names=FALSE)
CODE
>>>
output {
File mergedCounts = outputFile
}
}
\ No newline at end of file
task Stringtie {
String? preCommand
File alignedReads
File? referenceGFF
Int? threads
String assembledTranscriptsFile
Boolean? firstStranded
Boolean? secondStranded
String? geneAbundanceFile
command {
set -e -o pipefail
${preCommand}
stringtie \
${"-p " + threads} \
${"-G " + referenceGFF} \
${true="--rf" false="" firstStranded} \
${true="fr" false="" secondStranded} \
-o ${assembledTranscriptsFile} \
${"-A " + geneAbundanceFile} \
${alignedReads} \
}
output {
File assembledTranscripts = assembledTranscriptsFile
File? geneAbundance = geneAbundanceFile
}
runtime {
threads: threads
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment