pipeline/pipeline.wdl

217 lines
5.6 KiB
Plaintext
Raw Normal View History

2023-12-28 09:14:58 +08:00
# pipeline
import "wdl/qc.wdl" as qc
import "wdl/alignment.wdl" as alignment
import "wdl/call_mutation.wdl" as call_mutation
import "wdl/fusion.wdl" as fusion
import "wdl/statistics.wdl" as statistics
import "wdl/cnv.wdl" as cnv
import "wdl/msi.wdl" as msi
import "wdl/chemo.wdl" as chemo
import "wdl/hereditary.wdl" as hereditary
import "wdl/pollution.wdl" as pollution
import "wdl/tmb.wdl" as tmb
import "wdl/postprocess.wdl" as postprocess
import "wdl/neoantigen.wdl" as neoantigen
2023-12-19 13:37:52 +08:00
workflow pipeline {
String tumor
String? normal
Boolean umi=false
String input_dir
String output_dir
String probe
String project
String cancer
String bed="$WORKFLOW/codes/public/bed/${probe}.bed"
String ref = "/home/install/ref/hg19/hg19.fa"
String workdir="${output_dir}"
Map[String, Boolean] catecode
call qc.qc as qc {
input:
run=catecode['addQc'],
tumor=tumor,
normal=normal,
umi=umi,
input_dir=input_dir,
output_dir=workdir
}
call alignment.alignment as alignment {
input:
run=catecode['addAlignment'],
tumor=tumor,
tumor_r1=qc.tumor_r1,
tumor_r2=qc.tumor_r2,
normal=normal,
normal_r1=qc.normal_r1,
normal_r2=qc.normal_r2,
umi=umi,
ref=ref,
bed=bed,
output_dir=workdir
}
call statistics.statistics as statistics {
input:
run=catecode['addAlignment'],
tumor=tumor,
tumor_rmdup_bam=alignment.tumor_rmdup_bam,
normal=normal,
normal_rmdup_bam=alignment.normal_rmdup_bam,
ref=ref,
bed=bed,
output_dir=workdir
}
call call_mutation.call_mutation as call_mutation {
input:
run=catecode['addTarget'],
tumor=tumor,
tumor_rmdup_bam=alignment.tumor_rmdup_bam,
normal=normal,
normal_rmdup_bam=alignment.normal_rmdup_bam,
umi=umi,
ref=ref,
bed=bed,
output_dir=workdir,
project=project,
2023-12-21 10:22:54 +08:00
cancer=cancer,
probe=probe
2023-12-19 13:37:52 +08:00
}
call tmb.call_tmb as call_tmb {
input:
run=catecode['addTmb'],
name=tumor,
output_dir=workdir,
project=project,
umi=umi,
file=call_mutation.somatic_anno_txt
}
call fusion.call_fusion as call_fusion {
input:
run=catecode['addFusion'],
name=tumor,
sorted_bam=alignment.tumor_sorted_bam,
rmdup_bam=alignment.tumor_rmdup_bam,
output_dir=output_dir,
ref=ref,
umi=umi,
tumor_bamdst_depth=statistics.tumor_bamdst_depth,
project=project,
cancer=cancer
}
call cnv.call_cnv as call_cnv {
input:
run=catecode['addCnv'],
tumor=tumor,
tumor_rmdup_bam=alignment.tumor_rmdup_bam,
normal=normal,
normal_rmdup_bam=alignment.normal_rmdup_bam,
ref=ref,
bed=bed,
output_dir=workdir,
project=project,
cancer=cancer,
probe=probe
}
call msi.call_msi as call_msi {
input:
run=catecode['addMsi'],
tumor=tumor,
tumor_rmdup_bam=alignment.tumor_rmdup_bam,
normal=normal,
normal_rmdup_bam=alignment.normal_rmdup_bam,
bed=bed,
output_dir=workdir
}
call hereditary.call_hereditary as call_hereditary {
input:
run=catecode['addHcs'],
name=tumor,
output_dir=workdir,
project=project,
filter_txt=call_mutation.germline_filter
}
call chemo.call_chemo as call_chemo {
input:
run=catecode['addChemo'],
name=tumor,
output_dir=workdir,
probe=probe,
vcf=call_mutation.germline_vcf,
cancer=cancer,
project=project
}
call neoantigen.call_neoantigen as call_neoantigen {
input:
run=catecode['addNeoantigen'],
tumor=tumor,
normal=normal,
output_dir=workdir,
input_dir=input_dir,
ref=ref,
tumor_rmdup_bam=alignment.tumor_rmdup_bam,
somatic_vcf=call_mutation.somatic_vcf,
germline_vcf=call_mutation.germline_vcf,
umi=umi
}
call pollution.call_pollution as call_pollution {
input:
run=catecode['addPollution'],
tumor=tumor,
normal=normal,
output_dir=workdir,
probe=probe,
raw_vcf=call_mutation.raw_vcf,
somatic_vcf=call_mutation.somatic_vcf,
germline_vcf=call_mutation.germline_vcf
}
call postprocess.call_postprocess as call_postprocess {
input:
run=catecode['addAutoReport'],
mutation=call_mutation.somatic_filter,
fusion=call_fusion.fusion_vcf,
cnv=call_cnv.cnv_filter,
msi=call_msi.msi_txt,
2023-12-28 09:14:58 +08:00
tmb=call_tmb.tmb_txt,
2023-12-19 13:37:52 +08:00
hereditary=call_hereditary.hereditary_txt,
chemo=call_chemo.chemo_res,
2023-12-25 14:06:30 +08:00
neoantigen=call_neoantigen.neoantigen_txt,
2023-12-19 13:37:52 +08:00
pollution=call_pollution.pollution_res,
name=tumor,
normal=normal,
output_dir=workdir,
cancer=cancer,
project=project
}
2023-12-28 09:14:58 +08:00
output {
String result = "${output_dir}/report/${tumor}.merged_file.xlsx"
}
2023-10-10 11:09:16 +08:00
}