Skip to content
Snippets Groups Projects
Unverified Commit 5febefe7 authored by Ruben Vorderman's avatar Ruben Vorderman Committed by GitHub
Browse files

Merge pull request #71 from biowdl/BIOWDL-126

Add gffcompare
parents e8400c1e 01c9ee84
No related branches found
No related tags found
No related merge requests found
version 1.0
task GffCompare {
input {
String? preCommand
File? inputGtfList
Array[File] inputGtfFiles
File referenceAnnotation
String? outputDir
String outPrefix = "gffcmp" # gffcmp is the default used by the program as well. This needs to be
# defined in order for the output values to be consistent and correct.
File? genomeSequences
Int? maxDistanceFreeEndsTerminalExons
Int? maxDistanceGroupingTranscriptStartSites
String? namePrefix
Boolean C = false
Boolean A = false
Boolean X = false
Boolean K = false
Boolean snCorrection = false
Boolean precisionCorrection = false
Boolean discardSingleExonTransfragsAndReferenceTranscripts = false
Boolean discardSingleExonReferenceTranscripts = false
Boolean noTmap = false
Boolean verbose = false
Boolean debugMode = false
# This workaround only works in the input section.
# Issue addressed at https://github.com/openwdl/wdl/pull/263
File? noneFile # This is a wdl workaround. Please do not assign!
}
# This allows for the creation of output directories"
String dirPrefix= if defined(outputDir) then outputDir + "/" else ""
String totalPrefix = dirPrefix + outPrefix
parameter_meta {}
command {
set -e
~{preCommand}
~{"mkdir -p " + outputDir}
gffcompare \
-r ~{referenceAnnotation} \
~{"-o '" + totalPrefix + "'"} \
~{"-s " + genomeSequences} \
~{"-e " + maxDistanceFreeEndsTerminalExons} \
~{"-d " + maxDistanceGroupingTranscriptStartSites} \
~{"-p " + namePrefix} \
~{true="-C" false="" C} \
~{true="-A" false="" A} \
~{true="-X" false="" X} \
~{true="-K" false="" K} \
~{true="-R" false="" snCorrection} \
~{true="-Q" false="" precisionCorrection} \
~{true="-M" false="" discardSingleExonTransfragsAndReferenceTranscripts} \
~{true="-N" false="" discardSingleExonReferenceTranscripts} \
~{true="-T" false="" noTmap} \
~{true="-V" false="" verbose} \
~{true="D" false="" debugMode} \
~{"-i " + inputGtfList} \
~{sep=" " inputGtfFiles}
}
# Output of gffcompare is not stable. It depends on the number of files in the input.
Int noFilesGtfList = if defined(inputGtfList) then length(read_lines(select_first([inputGtfList]))) else 0
Int noInputFiles = length(inputGtfFiles)
Boolean oneFile = (noFilesGtfList + noInputFiles) == 1
String annotatedName = if oneFile then "annotated" else "combined"
# Check if a redundant .gtf will be created
Boolean createRedundant = C || A || X
output {
File annotated = totalPrefix + "." + annotatedName + ".gtf"
File loci = totalPrefix + ".loci"
File stats = totalPrefix + ".stats"
File tracking = totalPrefix + ".tracking"
# noneFile is not stable. Please replace this as soon as wdl spec allows
File? redundant = if createRedundant then totalPrefix + ".redundant.gtf" else noneFile
File? missedIntrons = if debugMode then totalPrefix + ".missed_introns.gtf" else noneFile
}
}
\ 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