From 9a5debbcb44d46ceff859f5a0f5f968c82d888fa Mon Sep 17 00:00:00 2001 From: Sarah Wait Zaranek Date: Wed, 26 Feb 2020 19:14:08 +0000 Subject: [PATCH] Arvados-DCO-1.1-Signed-off-by: Sarah Wait Zaranek no issue # --- cwl/bwa-gatk-wf.cwl | 68 ++++++++++++++++++++++++ cwl/bwamem-samtools-view.cwl | 52 ++++++++++++++++++ cwl/fastqc.cwl | 30 +++++++++++ cwl/gatk-haplotypecaller.cwl | 49 +++++++++++++++++ cwl/samtools-index.cwl | 26 +++++++++ cwl/samtools-sort.cwl | 29 ++++++++++ cwl/testyml/bwa-gatk-wf-WGC071838D.yml | 11 ++++ cwl/testyml/bwa-gatk-wf-WGC074701D.yml | 11 ++++ cwl/testyml/bwa-gatk-wf-chr19.yml | 11 ++++ cwl/testyml/bwa-gatk-wf.yml | 11 ++++ cwl/testyml/bwamem-samtools-view.yml | 10 ++++ cwl/testyml/gatk-haplotypecaller.yml | 6 +++ cwl/testyml/samtools-index.yml | 3 ++ cwl/testyml/samtools-sort-WGC069888D.yml | 4 ++ docker/bam2fastq/Dockerfile | 14 +++++ docker/bwa/Dockerfile | 25 +++++++++ docker/fastqc/Dockerfile | 16 ++++++ 17 files changed, 376 insertions(+) create mode 100644 cwl/bwa-gatk-wf.cwl create mode 100644 cwl/bwamem-samtools-view.cwl create mode 100644 cwl/fastqc.cwl create mode 100644 cwl/gatk-haplotypecaller.cwl create mode 100644 cwl/samtools-index.cwl create mode 100644 cwl/samtools-sort.cwl create mode 100644 cwl/testyml/bwa-gatk-wf-WGC071838D.yml create mode 100644 cwl/testyml/bwa-gatk-wf-WGC074701D.yml create mode 100644 cwl/testyml/bwa-gatk-wf-chr19.yml create mode 100644 cwl/testyml/bwa-gatk-wf.yml create mode 100644 cwl/testyml/bwamem-samtools-view.yml create mode 100644 cwl/testyml/gatk-haplotypecaller.yml create mode 100644 cwl/testyml/samtools-index.yml create mode 100644 cwl/testyml/samtools-sort-WGC069888D.yml create mode 100644 docker/bam2fastq/Dockerfile create mode 100644 docker/bwa/Dockerfile create mode 100644 docker/fastqc/Dockerfile diff --git a/cwl/bwa-gatk-wf.cwl b/cwl/bwa-gatk-wf.cwl new file mode 100644 index 0000000..675bdd0 --- /dev/null +++ b/cwl/bwa-gatk-wf.cwl @@ -0,0 +1,68 @@ +cwlVersion: v1.1 +class: Workflow + +inputs: + fastq1: File + fastq2: File + reference: + type: File + secondaryFiles: + - .amb + - .ann + - .bwt + - .pac + - .sa + - .fai + - ^.dict + sample: string + +outputs: + qc-html: + type: File[] + outputSource: fastqc/out-html + qc-zip: + type: File[] + outputSource: fastqc/out-zip + vcf: + type: File + outputSource: vep/out-vcf + +steps: + fastqc: + run: fastqc.cwl + in: + fastq1: fastq1 + fastq2: fastq2 + out: [out-html, out-zip] + bwamem-samtools-view: + run: bwamem-samtools-view.cwl + in: + fastq1: fastq1 + fastq2: fastq2 + reference: reference + sample: sample + out: [bam] + samtools-sort: + run: samtools-sort.cwl + in: + bam: bwamem-samtools-view/bam + sample: sample + out: [out] + samtools-index: + run: samtools-index.cwl + in: + bam: samtools-sort/out + out: [out] + haplotypecaller: + run: gatk-haplotypecaller.cwl + in: + reference: reference + bam: samtools-index/out + sample: sample + out: [vcf] + vep: + run: vep.cwl + in: + vcf: haplotypecaller/vcf + sample: sample + out: [out-vcf] diff --git a/cwl/bwamem-samtools-view.cwl b/cwl/bwamem-samtools-view.cwl new file mode 100644 index 0000000..c395452 --- /dev/null +++ b/cwl/bwamem-samtools-view.cwl @@ -0,0 +1,52 @@ +cwlVersion: v1.1 +class: CommandLineTool + +requirements: + DockerRequirement: + dockerPull: curii/bwa-samtools-picard + ShellCommandRequirement: {} + ResourceRequirement: + ramMin: 26000 + coresMin: 8 + +arguments: + - /bwa-0.7.17/bwa + - mem + - -t + - $(runtime.cores) + - $(inputs.reference) + - -R + - "@RG\\tID:sample\\tSM:sample\\tLB:sample\\tPL:ILLUMINA" + - $(inputs.fastq1) + - $(inputs.fastq2) + - shellQuote: false + valueFrom: '|' + - samtools + - view + - -b + - -S + - shellQuote: false + valueFrom: '-' + +inputs: + reference: + type: File + secondaryFiles: + - .amb + - .ann + - .bwt + - .pac + - .sa + - .fai + - ^.dict + fastq1: File + fastq2: File + sample: string + +stdout: $(inputs.sample).bam + +outputs: + bam: + type: File + outputBinding: + glob: "*bam" diff --git a/cwl/fastqc.cwl b/cwl/fastqc.cwl new file mode 100644 index 0000000..02a6ab3 --- /dev/null +++ b/cwl/fastqc.cwl @@ -0,0 +1,30 @@ +cwlVersion: v1.1 +class: CommandLineTool + +requirements: + DockerRequirement: + dockerPull: curii/fastqc + InitialWorkDirRequirement: + listing: + - $(inputs.fastq1) + - $(inputs.fastq2) + +arguments: + - perl + - /FastQC/fastqc + - $(inputs.fastq1.basename) + - $(inputs.fastq2.basename) + +inputs: + fastq1: File + fastq2: File + +outputs: + out-html: + type: File[] + outputBinding: + glob: "*html" + out-zip: + type: File[] + outputBinding: + glob: "*fastqc.zip" diff --git a/cwl/gatk-haplotypecaller.cwl b/cwl/gatk-haplotypecaller.cwl new file mode 100644 index 0000000..94089c5 --- /dev/null +++ b/cwl/gatk-haplotypecaller.cwl @@ -0,0 +1,49 @@ +cwlVersion: v1.1 +class: CommandLineTool + +requirements: + DockerRequirement: + dockerPull: broadinstitute/gatk + InitialWorkDirRequirement: + listing: + - $(inputs.bam) + +hints: + ResourceRequirement: + ramMin: 10000 + coresMin: 4 + +arguments: + - java + - -jar + - /gatk/gatk.jar + - HaplotypeCaller + - -R + - $(inputs.reference) + - -I + - $(inputs.bam) + - -O + - $(runtime.outdir)/$(inputs.sample).gatk.vcf + +inputs: + bam: + type: File + secondaryFiles: + - .bai + reference: + type: File + secondaryFiles: + - .amb + - .ann + - .bwt + - .pac + - .sa + - .fai + - ^.dict + sample: string + +outputs: + vcf: + type: File + outputBinding: + glob: "*vcf" diff --git a/cwl/samtools-index.cwl b/cwl/samtools-index.cwl new file mode 100644 index 0000000..c5184fa --- /dev/null +++ b/cwl/samtools-index.cwl @@ -0,0 +1,26 @@ +cwlVersion: v1.1 +class: CommandLineTool + +requirements: + DockerRequirement: + dockerPull: curii/bwa-samtools-picard + InitialWorkDirRequirement: + listing: + - $(inputs.bam) + +arguments: + - samtools + - index + - $(inputs.bam.basename) + +inputs: + bam: File + +outputs: + out: + type: File + outputBinding: + glob: "*bam" + secondaryFiles: + - .bai + diff --git a/cwl/samtools-sort.cwl b/cwl/samtools-sort.cwl new file mode 100644 index 0000000..79837b5 --- /dev/null +++ b/cwl/samtools-sort.cwl @@ -0,0 +1,29 @@ +cwlVersion: v1.1 +class: CommandLineTool + +requirements: + DockerRequirement: + dockerPull: curii/bwa-samtools-picard + ShellCommandRequirement: {} + ResourceRequirement: + ramMin: 10000 + coresMin: 4 + +arguments: + - samtools + - sort + - -t + - $(runtime.cores) + - $(inputs.bam) + - -o + - $(runtime.outdir)/$(inputs.sample).sorted.bam + +inputs: + bam: File + sample: string + +outputs: + out: + type: File + outputBinding: + glob: "*sorted.bam" diff --git a/cwl/testyml/bwa-gatk-wf-WGC071838D.yml b/cwl/testyml/bwa-gatk-wf-WGC071838D.yml new file mode 100644 index 0000000..c1aa1c7 --- /dev/null +++ b/cwl/testyml/bwa-gatk-wf-WGC071838D.yml @@ -0,0 +1,11 @@ +sample: WGC071838D +reference: + class: File + location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa +fastq1: + class: File + location: keep:su92l-4zz18-9wi0scyveespepp/WGC071838D_R1.fastq.gz +fastq2: + class: File + location: keep:su92l-4zz18-9wi0scyveespepp/WGC071838D_R2.fastq.gz + diff --git a/cwl/testyml/bwa-gatk-wf-WGC074701D.yml b/cwl/testyml/bwa-gatk-wf-WGC074701D.yml new file mode 100644 index 0000000..3e45c27 --- /dev/null +++ b/cwl/testyml/bwa-gatk-wf-WGC074701D.yml @@ -0,0 +1,11 @@ +sample: WGC074701D +reference: + class: File + location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa +fastq1: + class: File + location: keep:su92l-4zz18-bpfmvsf9wedbefr/WGC074701D_R1.fastq.gz +fastq2: + class: File + location: keep:su92l-4zz18-bpfmvsf9wedbefr/WGC074701D_R1.fastq.gz + diff --git a/cwl/testyml/bwa-gatk-wf-chr19.yml b/cwl/testyml/bwa-gatk-wf-chr19.yml new file mode 100644 index 0000000..0844fec --- /dev/null +++ b/cwl/testyml/bwa-gatk-wf-chr19.yml @@ -0,0 +1,11 @@ +sample: hu297A5D_AE2CH6SK4DG +reference: + class: File + location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa +fastq1: + class: File + location: ../../bam/hu297A5D_AE2CH6SK4DG-EXT_R1.fastq.gz +fastq2: + class: File + location: ../../bam/hu297A5D_AE2CH6SK4DG-EXT_R2.fastq.gz + diff --git a/cwl/testyml/bwa-gatk-wf.yml b/cwl/testyml/bwa-gatk-wf.yml new file mode 100644 index 0000000..549033e --- /dev/null +++ b/cwl/testyml/bwa-gatk-wf.yml @@ -0,0 +1,11 @@ +sample: hu297A5D_AE2CH6SK4DG +reference: + class: File + location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa +fastq1: + class: File + location: ../../bam/hu297A5D_AE2CH6SK4DG-EXT_100000_R1.fastq.gz +fastq2: + class: File + location: ../../bam/hu297A5D_AE2CH6SK4DG-EXT_100000_R2.fastq.gz + diff --git a/cwl/testyml/bwamem-samtools-view.yml b/cwl/testyml/bwamem-samtools-view.yml new file mode 100644 index 0000000..24f4eb4 --- /dev/null +++ b/cwl/testyml/bwamem-samtools-view.yml @@ -0,0 +1,10 @@ +reference: + class: File + location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa +fastq1: + class: File + location: ../../bam/hu297A5D_AE2CH6SK4DG-EXT_100000_R1.fastq.gz +fastq2: + class: File + location: ../../bam/hu297A5D_AE2CH6SK4DG-EXT_100000_R2.fastq.gz + diff --git a/cwl/testyml/gatk-haplotypecaller.yml b/cwl/testyml/gatk-haplotypecaller.yml new file mode 100644 index 0000000..9aab1b9 --- /dev/null +++ b/cwl/testyml/gatk-haplotypecaller.yml @@ -0,0 +1,6 @@ +bam: + class: File + location: keep:6e574d6e8eb051b5ab2554e088b39332+144/out.sorted.bam +reference: + class: File + location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa diff --git a/cwl/testyml/samtools-index.yml b/cwl/testyml/samtools-index.yml new file mode 100644 index 0000000..72a01f7 --- /dev/null +++ b/cwl/testyml/samtools-index.yml @@ -0,0 +1,3 @@ +bam: + class: File + location: keep:a0ca1f68836aac0bcefaed9cf5c63200+68/out.sorted.bam diff --git a/cwl/testyml/samtools-sort-WGC069888D.yml b/cwl/testyml/samtools-sort-WGC069888D.yml new file mode 100644 index 0000000..c1904f5 --- /dev/null +++ b/cwl/testyml/samtools-sort-WGC069888D.yml @@ -0,0 +1,4 @@ +bam: + class: File + location: keep:su92l-4zz18-v4m3dx8agdp1y9r/WGC069888D.bam +sample: WGC069888D diff --git a/docker/bam2fastq/Dockerfile b/docker/bam2fastq/Dockerfile new file mode 100644 index 0000000..86f399a --- /dev/null +++ b/docker/bam2fastq/Dockerfile @@ -0,0 +1,14 @@ +FROM arvados/jobs +MAINTAINER Bryan Cosca + +USER root + +RUN apt-get update -qy +RUN apt-get install -qy build-essential wget cmake zlib1g-dev python-pip unzip libbz2-dev liblzma-dev libcurl4-openssl-dev libncurses-dev git + +RUN git clone --recursive https://github.com/jts/bam2fastq +WORKDIR /bam2fastq +RUN make + +WORKDIR / + diff --git a/docker/bwa/Dockerfile b/docker/bwa/Dockerfile new file mode 100644 index 0000000..27a6254 --- /dev/null +++ b/docker/bwa/Dockerfile @@ -0,0 +1,25 @@ +FROM arvados/jobs +MAINTAINER Bryan Cosca + +USER root + +RUN apt-get update -qy +RUN apt-get install -qy build-essential wget cmake zlib1g-dev python-pip unzip libbz2-dev liblzma-dev libcurl4-openssl-dev libncurses-dev + +RUN mkdir -p /usr/share/man/man1 +RUN apt-get install -qy default-jdk + +ADD bwa-0.7.17.tar.bz2 / +WORKDIR bwa-0.7.17 +RUN make + +ADD samtools-1.10.tar.bz2 / +WORKDIR /samtools-1.10 +RUN ./configure && make && make install + +ADD picard.jar / + +WORKDIR / + +# ADD bcftools-1.10.2.tar.bz2 / + diff --git a/docker/fastqc/Dockerfile b/docker/fastqc/Dockerfile new file mode 100644 index 0000000..9d784ca --- /dev/null +++ b/docker/fastqc/Dockerfile @@ -0,0 +1,16 @@ +FROM arvados/jobs +MAINTAINER Bryan Cosca + +USER root + +RUN apt-get update -qy +RUN apt-get install -qy build-essential wget cmake zlib1g-dev python-pip unzip libbz2-dev liblzma-dev libcurl4-openssl-dev libncurses-dev + +RUN mkdir -p /usr/share/man/man1 +RUN apt-get install -qy default-jdk + +ADD fastqc_v0.11.9.zip / +RUN unzip fastqc_v0.11.9.zip + +WORKDIR / + -- 2.30.2