diff --git a/CHANGELOG.md b/CHANGELOG.md index a167222c853a0f006596e3014739cca6799b3814..05e79ac365c6e1d8d28d46e3726b7041587fe707 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ version 3.2.0-develop number of minutes that the job will run. The associated runtime attribute is `time_minutes` which can be used to inform a scheduler (eg. slurm) of the run time of the job. ++ Added STAR GenomeGenerate task. + GATK.HaplotypeCaller: Add `--dont-use-soft-clipped-bases` and `--standard-min-confidence-threshold-for-calling` options. These are required for RNA seq variant calling according to GATK best practices. @@ -33,6 +34,7 @@ version 3.2.0-develop + Lima: Replace mv command with cp. + Add WDL task for smoove (lumpy) sv-caller. + version 3.1.0 --------------------------- + Default threads for BWA in bwa.Kit task: 4. Samtools sort in the diff --git a/star.wdl b/star.wdl index 94a090a8a9bceceb5130a424e01a26ed53070078..7824c764b92e53ec39a64a1cc704382eb7fad979 100644 --- a/star.wdl +++ b/star.wdl @@ -20,6 +20,72 @@ version 1.0 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +task GenomeGenerate { + input { + String genomeDir = "STAR_index" + File referenceFasta + File? referenceGtf + Int? sjdbOverhang + + Int threads = 4 + String memory = "32G" + Int timeMinutes = ceil(size(referenceFasta, "G") * 240 / threads) + String dockerImage = "quay.io/biocontainers/star:2.7.3a--0" + } + + command { + set -e + mkdir -p "$(dirname ~{genomeDir})" + STAR \ + --runMode genomeGenerate \ + --runThreadN ~{threads} \ + --genomeDir ~{genomeDir} \ + --genomeFastaFiles ~{referenceFasta} \ + ~{"--sjdbGTFfile " + referenceGtf} \ + ~{"--sjdbOverhang " + sjdbOverhang} + } + + output { + File chrLength = "~{genomeDir}/chrLength.txt" + File chrNameLength = "~{genomeDir}/chrNameLength.txt" + File chrName = "~{genomeDir}/chrName.txt" + File chrStart = "~{genomeDir}/chrStart.txt" + File genome = "~{genomeDir}/genome.txt" + File genomeParameters = "~{genomeDir}/genomeParameters.txt" + File sa = "~{genomeDir}/SA" + File saIndex = "~{genomeDir}/SAindex" + File? exonGeTrInfo = "~{genomeDir}/exonGeTrInfo.tab" + File? exonInfo = "~{genomeDir}/exonInfo.tab" + File? geneInfo = "~{genomeDir}/geneInfo.tab" + File? sjdbInfo = "~{genomeDir}/sjdbInfo.txt" + File? sjdbListFromGtfOut = "~{genomeDir}/sjdbList.fromGTF.out.tab" + File? sjdbListOut = "~{genomeDir}/sjdbList.out.tab" + File? transcriptInfo = "~{genomeDir}/transcriptInfo.tab" + Array[File] starIndex = select_all([chrLength, chrNameLength, chrName, chrStart, genome, genomeParameters, + sa, saIndex, exonGeTrInfo, exonInfo, geneInfo, sjdbInfo, sjdbListFromGtfOut, + sjdbListOut, transcriptInfo]) + } + + runtime { + cpu: threads + memory: memory + time_minutes: timeMinutes + docker: dockerImage + } + + parameter_meta { + genomeDir: {description:"The directory the STAR index should be written to.", categroy: "common"} + referenceFasta: {description: "The reference Fasta file.", category: "required"} + referenceGtf: {description: "The reference GTF file.", category: "common"} + sjdbOverhang: {description: "Equivalent to STAR's `--sjdbOverhang` option.", category: "advanced"} + + threads: {description: "The number of threads to use.", category: "advanced"} + memory: {description: "The amount of memory this job will use.", category: "advanced"} + dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", + category: "advanced"} + } +} + task Star { input { Array[File]+ inputR1