pipeline/pipeline.wdl

153 lines
3.8 KiB
Plaintext

import "./wdl/task.wdl" as mytask
import "./wdl/qc.wdl"
import "./wdl/alignment.wdl"
import "./wdl/statistics.wdl"
workflow pipeline {
String tumor
String? normal
String inputDir
String outputDir
String cancer
String project="650gene"
String codesDir="/dataseq/jmdna/codes/pancancer_controlsample"
String ref = "/dataseq/jmdna/database/genome/hg19/hg19.fa"
String bed = "/dataseq/jmdna/database/bed/650.bed"
String workdir="${outputDir}/${tumor}"
call mytask.create_dir as create_dir {
input:
workdir=workdir
}
call qc.qc as qc {
input:
tumor=tumor,
normal=normal,
inputDir=inputDir,
outputDir=workdir
}
call alignment.alignment as alignment {
input:
tumor=tumor,
tumor_r1=qc.tumor_r1,
tumor_r2=qc.tumor_r2,
normal=normal,
normal_r1=qc.normal_r1,
normal_r2=qc.normal_r2,
ref=ref,
bed=bed,
outputDir=workdir
}
call statistics.statistics as statistics {
input:
tumor=tumor,
tumor_rmdupBam=alignment.tumor_rmdupBam,
normal=normal,
normal_rmdupBam=alignment.normal_rmdupBam,
ref=ref,
bed=bed,
outputDir=workdir,
codesDir=codesDir
}
call mytask.mutation_calling as mutation_calling {
input:
name=tumor,
tumor_pileup=alignment.tumor_pileup,
normal_pileup=alignment.normal_pileup,
outputDir=workdir
}
call mytask.annovar as annovar {
input:
name=tumor,
outputDir=workdir,
ref=ref,
somatic_hc_vcf=mutation_calling.somatic_hc_vcf,
germline_vcf=mutation_calling.germline_vcf,
loh_hc_vcf=mutation_calling.loh_hc_vcf,
rmdupBam=alignment.tumor_rmdupBam
}
call mytask.tmb as tmb {
input:
codesDir=codesDir,
name=tumor,
outputDir=workdir,
somatic_anno=annovar.somatic_anno
}
call mytask.fusion as fusion {
input:
name=tumor,
ref=ref,
codesDir=codesDir,
outputDir=workdir,
rmdupBam=alignment.tumor_rmdupBam,
cancer=cancer,
project=project,
tumor_bamdst_depth=statistics.tumor_bamdst_depth
}
call mytask.cnvkit as cnvkit {
input:
tumor=tumor,
normal=normal,
tumor_rmdupBam=alignment.tumor_rmdupBam,
normal_rmdupBam=alignment.normal_rmdupBam,
ref=ref,
bed=bed,
outputDir=workdir,
cancer=cancer,
codesDir=codesDir,
project=project,
}
call mytask.chemo as chemo {
input:
codesDir=codesDir,
outputDir=workdir,
normal=normal,
project=project,
rmdupBam=alignment.tumor_rmdupBam,
}
call mytask.msi as msi {
input:
bed=bed,
name=tumor,
outputDir=workdir,
tumor_rmdupBam = alignment.tumor_rmdupBam,
normal_rmdupBam =alignment.normal_rmdupBam
}
call mytask.hla as hla {
input:
inputDir=inputDir,
outputDir=workdir,
normal=normal,
}
call mytask.neoantigen as neoantigen {
input:
codesDir=codesDir,
outputDir=workdir,
name=tumor,
somatic_hc_vcf=mutation_calling.somatic_hc_vcf,
normal=normal,
hla=hla.hla
}
}