#import "./tasks/fastp.wdl" as fastp import "./tasks/fastqTobam.wdl" as fastqTobam import "./tasks/qualimap.wdl" as qualimap import "./tasks/BQSR.wdl" as Sentieon_BQSR import "./tasks/TNseq.wdl" as TNseq import "./tasks/TNscope.wdl" as TNscope import "./tasks/manta.wdl" as manta_calling import "./tasks/strelka.wdl" as strelka_calling workflow {{ project_name }} { #sample info File? normal_in1 File? normal_in2 File? tumor_in1 File? tumor_in2 String sample_id String Seq_platform #reference fasta String ref_fasta File ref_fasta_dir File annot_gff File dbsnp_dir File dbmills_dir String dbsnp String db_mills File germline_resource File germline_resource_tbi #docker String docker_fastp String docker_sentieon String SENTIEON_LICENSE String docker_qualimap String docker_manta String docker_strelka #config String cluster_config String disk_size Boolean? fastqc Boolean bamqc if (normal_in1 != ""){ call fastqTobam.SentieonFastqToBam as SentieonFastqToBam_normal{ input: fastq1=normal_in1, fastq2=normal_in2, sample_id=sample_id+'_N', Seq_platform=Seq_platform, ref_fasta=ref_fasta, ref_fasta_dir=ref_fasta_dir, SENTIEON_LICENSE=SENTIEON_LICENSE, docker=docker_sentieon, cluster_config=cluster_config, disk_size=disk_size } if (bamqc){ call qualimap.qualimap as qualimap_normal{ input: sample_id=sample_id+'_N', bam_file=SentieonFastqToBam_normal.deduped_bam, bam_bai=SentieonFastqToBam_normal.deduped_bam_bai, annot_gff=annot_gff, docker=docker_qualimap, cluster_config=cluster_config, disk_size=disk_size } } call Sentieon_BQSR.Sentieon_BQSR as Sentieon_BQSR_normal{ input: ref_dir=ref_fasta_dir, dbsnp_dir=dbsnp_dir, dbmills_dir = dbmills_dir, sample_id=sample_id+'_N', ref_fasta=ref_fasta, dbsnp=dbsnp, db_mills=db_mills, deduped_bam=SentieonFastqToBam_normal.deduped_bam, deduped_bam_index=SentieonFastqToBam_normal.deduped_bam_bai, docker=docker_sentieon, cluster_config=cluster_config, disk_size=disk_size, SENTIEON_LICENSE=SENTIEON_LICENSE } } if (tumor_in1 != ""){ call fastqTobam.SentieonFastqToBam as SentieonFastqToBam_tumor{ input: fastq1=tumor_in1, fastq2=tumor_in2, sample_id=sample_id+'_T', Seq_platform=Seq_platform, ref_fasta=ref_fasta, ref_fasta_dir=ref_fasta_dir, SENTIEON_LICENSE=SENTIEON_LICENSE, docker=docker_sentieon, cluster_config=cluster_config, disk_size=disk_size } if (bamqc){ call qualimap.qualimap as qualimap_tumor{ input: sample_id=sample_id+'_T', bam_file=SentieonFastqToBam_tumor.deduped_bam, bam_bai=SentieonFastqToBam_tumor.deduped_bam_bai, annot_gff=annot_gff, docker=docker_qualimap, cluster_config=cluster_config, disk_size=disk_size } } call Sentieon_BQSR.Sentieon_BQSR as Sentieon_BQSR_tumor{ input: ref_dir=ref_fasta_dir, dbsnp_dir=dbsnp_dir, dbmills_dir = dbmills_dir, sample_id=sample_id+'_T', ref_fasta=ref_fasta, dbsnp=dbsnp, db_mills=db_mills, deduped_bam=SentieonFastqToBam_tumor.deduped_bam, deduped_bam_index=SentieonFastqToBam_tumor.deduped_bam_bai, docker=docker_sentieon, cluster_config=cluster_config, disk_size=disk_size, SENTIEON_LICENSE=SENTIEON_LICENSE } } call TNseq.sentieon_TNseq as sentieon_TNseq{ input: sample_id = sample_id, tumor_bam = Sentieon_BQSR_tumor.recaled_bam, tumor_bam_bai = Sentieon_BQSR_tumor.recaled_bam_index, normal_bam = Sentieon_BQSR_normal.recaled_bam, normal_bam_bai = Sentieon_BQSR_normal.recaled_bam_index, tumor_name = sample_id+'_T', normal_name = sample_id+'_N', ref_dir = ref_fasta_dir, ref_fasta = ref_fasta, germline_resource = germline_resource, germline_resource_tbi = germline_resource_tbi, docker = docker_sentieon, cluster_config = cluster_config, disk_size = disk_size, SENTIEON_LICENSE = SENTIEON_LICENSE } call TNscope.sentieon_TNscope as sentieon_TNscope{ input: sample_id = sample_id, tumor_bam = SentieonFastqToBam_tumor.deduped_bam, tumor_bam_bai = SentieonFastqToBam_tumor.deduped_bam_bai, normal_bam = SentieonFastqToBam_normal.deduped_bam, normal_bam_bai = SentieonFastqToBam_normal.deduped_bam_bai, tumor_name = sample_id+'_T', normal_name = sample_id+'_N', tumor_recall_data = Sentieon_BQSR_tumor.recal_table, normal_recall_data = Sentieon_BQSR_normal.recal_table, ref_dir = ref_fasta_dir, ref_fasta = ref_fasta, dbsnp_dir = dbsnp_dir, dbsnp = dbsnp, # excute env docker = docker_sentieon, cluster_config = cluster_config, disk_size = disk_size, SENTIEON_LICENSE = SENTIEON_LICENSE } call manta_calling.manta_calling as manta_calling{ input: tumor_bam = Sentieon_BQSR_tumor.recaled_bam, tumor_bam_bai = Sentieon_BQSR_tumor.recaled_bam_index, normal_bam = Sentieon_BQSR_normal.recaled_bam, normal_bam_bai = Sentieon_BQSR_normal.recaled_bam_index, ref_fasta = ref_fasta, ref_dir = ref_fasta_dir, sample_id = sample_id, docker = docker_manta, cluster_config = cluster_config, disk_size = disk_size } call strelka_calling.strelka_calling as strelka_calling{ input: tumor_bam = Sentieon_BQSR_tumor.recaled_bam, tumor_bam_bai = Sentieon_BQSR_tumor.recaled_bam_index, normal_bam = Sentieon_BQSR_normal.recaled_bam, normal_bam_bai = Sentieon_BQSR_normal.recaled_bam_index, ref_fasta = ref_fasta, ref_dir = ref_fasta_dir, sample_id = sample_id, manta_indel_vcf = manta_calling.manta_indel_vcf, manta_indel_vcf_index = manta_calling.manta_indel_vcf_index, docker=docker_strelka, cluster_config=cluster_config, disk_size=disk_size } }