|
|
@@ -0,0 +1,241 @@ |
|
|
|
#import "./tasks/fastp.wdl" as fastp |
|
|
|
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 |
|
|
|
import "./tasks/bcftools.wdl" as bcftools |
|
|
|
import "./tasks/bcftools_concat.wdl" as bcftools_concat |
|
|
|
import "./tasks/annovar.wdl" as annovar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workflow {{ project_name }} { |
|
|
|
#sample info |
|
|
|
File? normal_deduped_bam |
|
|
|
File? normal_deduped_bam_bai |
|
|
|
File? tumor_deduped_bam |
|
|
|
File? tumor_deduped_bam_bai |
|
|
|
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 |
|
|
|
File annovar_database |
|
|
|
|
|
|
|
#docker |
|
|
|
String docker_fastp |
|
|
|
String docker_sentieon |
|
|
|
String SENTIEON_LICENSE |
|
|
|
String docker_qualimap |
|
|
|
String docker_manta |
|
|
|
String docker_strelka |
|
|
|
String docker_bcftools |
|
|
|
String docker_annovar |
|
|
|
|
|
|
|
#config |
|
|
|
String cluster_config |
|
|
|
String disk_size |
|
|
|
Boolean? fastqc |
|
|
|
Boolean bamqc |
|
|
|
Boolean Annovar |
|
|
|
|
|
|
|
|
|
|
|
if (normal_in1 != ""){ |
|
|
|
|
|
|
|
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=normal_deduped_bam, |
|
|
|
deduped_bam_index=normal_deduped_bam_bai, |
|
|
|
docker=docker_sentieon, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size, |
|
|
|
SENTIEON_LICENSE=SENTIEON_LICENSE |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (tumor_in1 != ""){ |
|
|
|
|
|
|
|
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=tumor_deduped_bam, |
|
|
|
deduped_bam_index=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 bcftools.bcftools as TNseq_bcftools { |
|
|
|
input: |
|
|
|
vcf=sentieon_TNseq.vcf, |
|
|
|
fasta=ref_fasta, |
|
|
|
ref_dir=ref_fasta_dir, |
|
|
|
docker=bcftools_docker, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
} |
|
|
|
|
|
|
|
call TNscope.sentieon_TNscope as sentieon_TNscope{ |
|
|
|
input: |
|
|
|
sample_id = sample_id, |
|
|
|
tumor_bam = tumor_deduped_bam, |
|
|
|
tumor_bam_bai = tumor_deduped_bam_bai, |
|
|
|
normal_bam = normal_deduped_bam, |
|
|
|
normal_bam_bai = 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 bcftools.bcftools as TNscope_bcftools { |
|
|
|
input: |
|
|
|
vcf=sentieon_TNscope.vcf, |
|
|
|
fasta=ref_fasta, |
|
|
|
ref_dir=ref_fasta_dir, |
|
|
|
docker=bcftools_docker, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
} |
|
|
|
|
|
|
|
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 |
|
|
|
} |
|
|
|
|
|
|
|
call bcftools_concat.bcftools as bcftools_concat{ |
|
|
|
input: |
|
|
|
ref_dir=ref_dir, |
|
|
|
fasta=ref_fasta, |
|
|
|
vcf_indels=strelka_calling.indel_vcf, |
|
|
|
vcf_snvs=strelka_calling.snv_vcf, |
|
|
|
sample_id=sample_id, |
|
|
|
docker=docker_bcftools, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
call bcftools.bcftools as strelka_bcftools { |
|
|
|
input: |
|
|
|
vcf=bcftools_concat.vcf, |
|
|
|
fasta=ref_fasta, |
|
|
|
ref_dir=ref_fasta_dir, |
|
|
|
docker=bcftools_docker, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
} |
|
|
|
|
|
|
|
if (Annovar){ |
|
|
|
call annovar.ANNOVAR as TNseq_ANNOVAR { |
|
|
|
input: |
|
|
|
vcf=TNseq_bcftools.norm_vcf, |
|
|
|
annovar_database=annovar_database, |
|
|
|
docker=docker_annovar, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
} |
|
|
|
|
|
|
|
call annovar.ANNOVAR as TNscope_ANNOVAR { |
|
|
|
input: |
|
|
|
vcf=TNscope_bcftools.norm_vcf, |
|
|
|
annovar_database=annovar_database, |
|
|
|
docker=docker_annovar, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
} |
|
|
|
|
|
|
|
call annovar.ANNOVAR as strelka_ANNOVAR { |
|
|
|
input: |
|
|
|
vcf=strelka_bcftools.norm_vcf, |
|
|
|
annovar_database=annovar_database, |
|
|
|
docker=docker_annovar, |
|
|
|
cluster_config=cluster_config, |
|
|
|
disk_size=disk_size |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |