|
|
@@ -0,0 +1,263 @@ |
|
|
|
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? regions |
|
|
|
Int? interval_padding |
|
|
|
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=false |
|
|
|
Boolean bamqc=false |
|
|
|
|
|
|
|
|
|
|
|
if (normal_in1 != ""){ |
|
|
|
|
|
|
|
if (fastqc){ |
|
|
|
call fastp.fastp as fastp_normal{ |
|
|
|
input: |
|
|
|
in1=normal_in1, |
|
|
|
in2=normal_in2, |
|
|
|
sample_id=sample_id+'_N' |
|
|
|
docker=docker_fastp, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (!fastqc){ |
|
|
|
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_dirdbmills_dir, |
|
|
|
sample_id=sample_id+'_N', |
|
|
|
ref_fasta=ref_fasta, |
|
|
|
dbsnp=dbsnp, |
|
|
|
db_mills=db_mills, |
|
|
|
deduped_bam=Sentieon_BQSR_normal.deduped_bam, |
|
|
|
deduped_bam_index=Sentieon_BQSR_normal.deduped_bam_bai, |
|
|
|
regions=regions, |
|
|
|
interval_padding=interval_padding, |
|
|
|
docker=docker_sentieon, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size, |
|
|
|
SENTIEON_LICENSE=SENTIEON_LICENSE |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (tumor_in1 != ""){ |
|
|
|
|
|
|
|
if (fastqc){ |
|
|
|
call fastp.fastp as fastp_tumor{ |
|
|
|
input: |
|
|
|
in1=tumor_in1, |
|
|
|
in2=tumor_in2, |
|
|
|
sample_id=sample_id+'_T' |
|
|
|
docker=docker_fastp, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (!fastqc){ |
|
|
|
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_dirdbmills_dir, |
|
|
|
sample_id=sample_id+'_T', |
|
|
|
ref_fasta=ref_fasta, |
|
|
|
dbsnp=dbsnp, |
|
|
|
db_mills=db_mills, |
|
|
|
deduped_bam=Sentieon_BQSR_tumor.deduped_bam, |
|
|
|
deduped_bam_index=Sentieon_BQSR_tumor.deduped_bam_bai, |
|
|
|
regions=regions, |
|
|
|
interval_padding=interval_padding, |
|
|
|
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.normal_bam_bai, |
|
|
|
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 = 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.normal_bam_bai, |
|
|
|
tumor_name = sample_id+'_T', |
|
|
|
normal_name = sample_id+'_N', |
|
|
|
tumor_recall_data = Sentieon_BQSR_normal.recaled_bam, |
|
|
|
normal_recall_data = Sentieon_BQSR_normal.recaled_bam_index, |
|
|
|
|
|
|
|
ref_dir = ref_fasta_dir, |
|
|
|
ref_fasta = ref_fasta, |
|
|
|
regions = regions, |
|
|
|
interval_padding = interval_padding, |
|
|
|
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.normal_bam_bai, |
|
|
|
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{ |
|
|
|
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.normal_bam_bai, |
|
|
|
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 |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |