Sfoglia il codice sorgente

添加 'workflow_raw.wdl'

master
meng 2 anni fa
parent
commit
bf024d56eb
1 ha cambiato i file con 239 aggiunte e 0 eliminazioni
  1. +239
    -0
      workflow_raw.wdl

+ 239
- 0
workflow_raw.wdl Vedi File

@@ -0,0 +1,239 @@
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_deduped_bam != ""){

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_deduped_bam != ""){

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=docker_bcftools,
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=docker_bcftools,
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_fasta_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.concat_vcf,
fasta=ref_fasta,
ref_dir=ref_fasta_dir,
docker=docker_bcftools,
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
}
}

}

Loading…
Annulla
Salva