Arvados-DCO-1.1-Signed-off-by: Sarah Wait Zaranek <swz@curii.com>
authorSarah Wait Zaranek <swz@curii.com>
Wed, 26 Feb 2020 19:14:08 +0000 (19:14 +0000)
committerSarah Wait Zaranek <sarah@curoverse.com>
Wed, 26 Feb 2020 19:14:08 +0000 (19:14 +0000)
no issue #

17 files changed:
cwl/bwa-gatk-wf.cwl [new file with mode: 0644]
cwl/bwamem-samtools-view.cwl [new file with mode: 0644]
cwl/fastqc.cwl [new file with mode: 0644]
cwl/gatk-haplotypecaller.cwl [new file with mode: 0644]
cwl/samtools-index.cwl [new file with mode: 0644]
cwl/samtools-sort.cwl [new file with mode: 0644]
cwl/testyml/bwa-gatk-wf-WGC071838D.yml [new file with mode: 0644]
cwl/testyml/bwa-gatk-wf-WGC074701D.yml [new file with mode: 0644]
cwl/testyml/bwa-gatk-wf-chr19.yml [new file with mode: 0644]
cwl/testyml/bwa-gatk-wf.yml [new file with mode: 0644]
cwl/testyml/bwamem-samtools-view.yml [new file with mode: 0644]
cwl/testyml/gatk-haplotypecaller.yml [new file with mode: 0644]
cwl/testyml/samtools-index.yml [new file with mode: 0644]
cwl/testyml/samtools-sort-WGC069888D.yml [new file with mode: 0644]
docker/bam2fastq/Dockerfile [new file with mode: 0644]
docker/bwa/Dockerfile [new file with mode: 0644]
docker/fastqc/Dockerfile [new file with mode: 0644]

diff --git a/cwl/bwa-gatk-wf.cwl b/cwl/bwa-gatk-wf.cwl
new file mode 100644 (file)
index 0000000..675bdd0
--- /dev/null
@@ -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 (file)
index 0000000..c395452
--- /dev/null
@@ -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 (file)
index 0000000..02a6ab3
--- /dev/null
@@ -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 (file)
index 0000000..94089c5
--- /dev/null
@@ -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 (file)
index 0000000..c5184fa
--- /dev/null
@@ -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 (file)
index 0000000..79837b5
--- /dev/null
@@ -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 (file)
index 0000000..c1aa1c7
--- /dev/null
@@ -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 (file)
index 0000000..3e45c27
--- /dev/null
@@ -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 (file)
index 0000000..0844fec
--- /dev/null
@@ -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 (file)
index 0000000..549033e
--- /dev/null
@@ -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 (file)
index 0000000..24f4eb4
--- /dev/null
@@ -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 (file)
index 0000000..9aab1b9
--- /dev/null
@@ -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 (file)
index 0000000..72a01f7
--- /dev/null
@@ -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 (file)
index 0000000..c1904f5
--- /dev/null
@@ -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 (file)
index 0000000..86f399a
--- /dev/null
@@ -0,0 +1,14 @@
+FROM arvados/jobs
+MAINTAINER Bryan Cosca <bcosca@curii.com>
+
+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 (file)
index 0000000..27a6254
--- /dev/null
@@ -0,0 +1,25 @@
+FROM arvados/jobs
+MAINTAINER Bryan Cosca <bcosca@curii.com>
+
+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 (file)
index 0000000..9d784ca
--- /dev/null
@@ -0,0 +1,16 @@
+FROM arvados/jobs
+MAINTAINER Bryan Cosca <bcosca@curii.com>
+
+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 /
+