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 } } } }