Browse Source

上传文件至 ''

master
meng 2 years ago
parent
commit
17db69d754
3 changed files with 284 additions and 0 deletions
  1. +33
    -0
      defaults
  2. +38
    -0
      inputs
  3. +213
    -0
      workflow.wdl

+ 33
- 0
defaults View File

@@ -0,0 +1,33 @@
{
"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.xlarge 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,
"regions":"",
"baseline":"oss://hcc1395/reference_genome/MSIsensor/hg38_reference.list_baseline",
"docker_MSIsensor":"registry.cn-shanghai.aliyuncs.com/hcc1395_aliyun/msisensor-pro:1.2.0",
"hg38_CDS":"oss://hcc1395/reference_genome/TMB_dir/genecode.v36.CDS_merged.bed",
"docker_tmb":"registry.cn-shanghai.aliyuncs.com/hcc1395_aliyun/tmb:1.1.0",
"AF_filter":true

}

+ 38
- 0
inputs View File

@@ -0,0 +1,38 @@
{
"{{ 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 }},
"{{ project_name }}.AF_filter":{{ AF_filter | tojson }},
"{{ project_name }}.regions":"{{regions}}",
"{{ project_name }}.baseline":"{{baseline}}",
"{{ project_name }}.hg38_CDS":"{{hg38_CDS}}",
"{{ project_name }}.docker_tmb": "{{ docker_tmb }}",
"{{ project_name }}.docker_MSIsensor": "{{ docker_MSIsensor }}"

}

+ 213
- 0
workflow.wdl View File

@@ -0,0 +1,213 @@
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
import "./tasks/Haplotyper.wdl" as Haplotyper
import "./tasks/MSIsensor.wdl" as MSIsensor
import "./tasks/tmb.wdl" as tmb

#VIP客户(只用TNseq进行call)
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
File? regions
File baseline
File hg38_CDS



#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
String docker_tmb
String docker_MSIsensor

#config
String cluster_config
String disk_size
Boolean? fastqc
Boolean bamqc
Boolean Annovar
Boolean AF_filter


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 MSIsensor.MSIsensor as MSIsensor {
input:
sample=sample_id,
fasta=ref_fasta,
ref_dir=ref_fasta_dir,
normal_bam=Sentieon_BQSR_normal.recaled_bam,
normal_bam_index=Sentieon_BQSR_normal.recaled_bam_index,
tumor_bam=Sentieon_BQSR_tumor.recaled_bam,
tumor_bam_index=Sentieon_BQSR_tumor.recaled_bam_index,
baseline=baseline,
docker=docker_MSIsensor,
cluster_config=cluster_config,
disk_size=disk_size
}


call Haplotyper.Haplotyper as Haplotyper {
input:
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id + '.N',
fasta=ref_fasta,
ref_dir=ref_fasta_dir,
recaled_bam=Sentieon_BQSR_normal.recaled_bam,
recaled_bam_index=Sentieon_BQSR_normal.recaled_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
regions=regions,
docker=docker_sentieon,
disk_size=disk_size,
cluster_config=cluster_config
}

call bcftools.bcftools as Haplotyper_bcftools {
input:
vcf=Haplotyper.vcf,
fasta=ref_fasta,
ref_dir=ref_fasta_dir,
docker=docker_bcftools,
cluster_config=cluster_config,
disk_size=disk_size
}

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
}



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 tmb.TMB as TMB{
input:
sample=sample_id,
hg38_CDS=hg38_CDS,
regions=regions,
snpindel_txt=TNseq_ANNOVAR.multianno_txt,
docker=docker_tmb,
cluster_config=cluster_config,
disk_size=disk_size,
AF_filter=AF_filter
}

call annovar.ANNOVAR as Haplotyper_ANNOVAR {
input:
vcf=Haplotyper_bcftools.norm_vcf,
annovar_database=annovar_database,
docker=docker_annovar,
cluster_config=cluster_config,
disk_size=disk_size
}



}
}

Loading…
Cancel
Save