Browse Source

上传文件至 ''

master
meng 2 years ago
parent
commit
2589dc623d
3 changed files with 301 additions and 0 deletions
  1. +28
    -0
      defaults
  2. +32
    -0
      inputs
  3. +241
    -0
      workflow_total_pipeline.wdl

+ 28
- 0
defaults View File

@@ -0,0 +1,28 @@
{
"Seq_platform":"Illumina",
"ref_fasta":"GRCh38.d1.vd1.fa",
"ref_fasta_dir":"oss://hcc1395/reference_genome/GRCh38.d1.vd1/",
"docker_fastp":"registry-vpc.cn-shanghai.aliyuncs.com/easygene/fastp:v0.20.1_cv1",
"docker_sentieon":"registry-vpc.cn-shanghai.aliyuncs.com/hcc1395_aliyun/sentieon-genomics:v202112.05",
"docker_qualimap":"registry.cn-shanghai.aliyuncs.com/hcc1395_aliyun/qualimap:2.0.0",
"docker_manta":"registry.cn-shanghai.aliyuncs.com/hcc1395_aliyun/manta:v1.6.0",
"docker_strelka":"registry.cn-shanghai.aliyuncs.com/hcc1395_aliyun/strelka:v2.9.10",
"SENTIEON_LICENSE":"172.25.2.5:8990",
"cluster_config":"OnDemand ecs.c6.large img-ubuntu-vpc",
"disk_size":"500",
"fastqc":false,
"annot_gff":"oss://hcc1395/reference_genome/gencode.v36.annotation.gff",
"dbsnp_dir":"oss://hcc1395/reference_genome/GRCh38.d1.vd1/",
"dbmills_dir":"oss://hcc1395/reference_genome/GRCh38.d1.vd1/",
"dbsnp":"dbsnp_146.hg38.vcf",
"db_mills":"Mills_and_1000G_gold_standard.indels.hg38.vcf",
"bamqc":true,
"germline_resource":"oss://hcc1395/reference_genome/gnomAD/af-only-gnomad.v3.1.1.vcf.gz",
"germline_resource_tbi":"oss://hcc1395/reference_genome/gnomAD/af-only-gnomad.v3.1.1.vcf.gz.tbi",
"annovar_database":"oss://hcc1395/reference_genome/annovar/",
"docker_bcftools":"registry.cn-shanghai.aliyuncs.com/hcc1395_aliyun/delly:1.1.6",
"docker_annovar":"registry.cn-shanghai.aliyuncs.com/hcc1395_aliyun/annovar:v20191024",
"Annovar":true


}

+ 32
- 0
inputs View File

@@ -0,0 +1,32 @@
{
"{{ project_name }}.sample_id": "{{ sample_id }}",
"{{ project_name }}.normal_deduped_bam": "{{ normal_deduped_bam }}",
"{{ project_name }}.normal_deduped_bam_bai": "{{ normal_deduped_bam_bai }}",
"{{ project_name }}.tumor_deduped_bam": "{{ tumor_deduped_bam }}",
"{{ project_name }}.tumor_deduped_bam_bai": "{{ tumor_deduped_bam_bai }}",
"{{ project_name }}.Seq_platform": "{{ Seq_platform }}",
"{{ project_name }}.ref_fasta": "{{ ref_fasta }}",
"{{ project_name }}.ref_fasta_dir": "{{ ref_fasta_dir }}",
"{{ project_name }}.fastqc": {{ fastqc | tojson }},
"{{ project_name }}.cluster_config": "{{cluster_config }}",
"{{ project_name }}.disk_size": "{{ disk_size }}",
"{{ project_name }}.docker_fastp": "{{ docker_fastp }}",
"{{ project_name }}.docker_sentieon": "{{ docker_sentieon }}",
"{{ project_name }}.SENTIEON_LICENSE": "{{ SENTIEON_LICENSE }}",
"{{ project_name }}.docker_qualimap": "{{ docker_qualimap }}",
"{{ project_name }}.annot_gff": "{{ annot_gff }}",
"{{ project_name }}.dbsnp_dir": "{{ dbsnp_dir }}",
"{{ project_name }}.dbmills_dir": "{{ dbmills_dir }}",
"{{ project_name }}.dbsnp": "{{ dbsnp }}",
"{{ project_name }}.db_mills": "{{ db_mills }}",
"{{ project_name }}.bamqc": {{ bamqc | tojson }},
"{{ project_name }}.germline_resource": "{{ germline_resource }}",
"{{ project_name }}.germline_resource_tbi": "{{ germline_resource_tbi }}",
"{{ project_name }}.docker_manta": "{{ docker_manta }}",
"{{ project_name }}.docker_strelka": "{{ docker_strelka }}",
"{{ project_name }}.annovar_database": "{{ annovar_database}}",
"{{ project_name }}.docker_bcftools":"{{docker_bcftools}}",
"{{ project_name }}.docker_annovar":"{{docker_annovar}}",
"{{ project_name }}.Annovar":{{ Annovar | tojson }}

}

+ 241
- 0
workflow_total_pipeline.wdl View File

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

}

Loading…
Cancel
Save