|
-
- import "./tasks/corealigner.wdl" as corealigner
- import "./tasks/bcftools.wdl" as bcftools
- import "./tasks/TNseq.wdl" as TNseq
- import "./tasks/TNscope.wdl" as TNscope
- import "./tasks/annovar.wdl" as annovar
- import "./tasks/vcf2maf.wdl" as vcf2maf
-
-
- workflow {{ project_name }} {
-
- File inputSamplesFile
- Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
- #Array[String] sample
-
- String SENTIEON_INSTALL_DIR
- String SENTIEON_LICENSE
- String sentieon_docker
- String annovar_docker
- String vcf2maf_r_docker
- String bcftools_docker
-
- File ref_dir
- String fasta
- File dbmills_dir
- String db_mills
- File dbsnp_dir
- String dbsnp
- File regions
- File database
- String disk_size
- String cluster_config
-
- Boolean PONmode
- File? cosmic_dir
- String? cosmic_vcf
-
- Boolean set_annovar
- Boolean set_vcf2maf
-
-
- File inputponfile
- Array[Array[File]] bcf = read_tsv(inputponfile)
-
- call bcftools.bcftools as bcftools {
- input:
- PONmode=PONmode,
- pon_vcf=bcf,
- docker=bcftools_docker,
- disk_size=disk_size,
- cluster_config=cluster_config
- }
-
-
- scatter (sample in inputSamples) {
- call corealigner.corealigner as corealigner {
- input:
- SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
- SENTIEON_LICENSE=SENTIEON_LICENSE,
- fasta=fasta,
- ref_dir=ref_dir,
- sample=sample[0],
- docker=sentieon_docker,
- db_mills=db_mills,
- dbmills_dir=dbmills_dir,
- dbsnp=dbsnp,
- dbsnp_dir=dbsnp_dir,
- tumor_recaled_bam=sample[1],
- tumor_recaled_bam_index=sample[2],
- normal_recaled_bam=sample[3],
- normal_recaled_bam_index=sample[4],
- disk_size=disk_size,
- cluster_config=cluster_config
- }
-
- call TNseq.TNseq as TNseq {
- input:
- SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
- SENTIEON_LICENSE=SENTIEON_LICENSE,
- PONmode=PONmode,
- fasta=fasta,
- ref_dir=ref_dir,
- corealigner_bam=corealigner.corealigner_bam,
- corealigner_bam_index=corealigner.corealigner_bam_index,
- dbsnp=dbsnp,
- dbsnp_dir=dbsnp_dir,
- tumor_name=sample[0] + "_tumor",
- normal_name=sample[0] + "_normal",
- cosmic_vcf=cosmic_vcf,
- cosmic_dir=cosmic_dir,
- panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
- docker=sentieon_docker,
- sample=sample[0],
- disk_size=disk_size,
- cluster_config=cluster_config
- }
-
- call TNscope.TNscope as TNscope {
- input:
- SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
- SENTIEON_LICENSE=SENTIEON_LICENSE,
- PONmode=PONmode,
- fasta=fasta,
- ref_dir=ref_dir,
- corealigner_bam=corealigner.corealigner_bam,
- corealigner_bam_index=corealigner.corealigner_bam_index,
- dbsnp=dbsnp,
- dbsnp_dir=dbsnp_dir,
- tumor_name=sample[0] + "_tumor",
- normal_name=sample[0] + "_normal",
- cosmic_vcf=cosmic_vcf,
- cosmic_dir=cosmic_dir,
- panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
- docker=sentieon_docker,
- sample=sample[0],
- disk_size=disk_size,
- cluster_config=cluster_config
- }
-
- if (set_annovar){
- call annovar.annovar as annovar {
- input:
- docker=annovar_docker,
- database=database,
- tnscope_vcf_file=TNscope.TNscope_vcf,
- tnseq_vcf_file=TNseq.TNseq_vcf,
- sample=sample[0],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- }
-
- if (set_vcf2maf){
- call vcf2maf.vcf2maf as vcf2maf {
- input:
- docker=vcf2maf_r_docker,
- multianno_tnscope_txt=annovar.multianno_tnscope_txt,
- multianno_tnseq_txt=annovar.multianno_tnseq_txt,
- sample=sample[0],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- }
- }
- }
|