Browse Source

上传文件至 ''

master
meng 2 years ago
parent
commit
fc007186f9
3 changed files with 323 additions and 0 deletions
  1. +31
    -0
      defaults
  2. +29
    -0
      inputs
  3. +263
    -0
      workflow.wdl

+ 31
- 0
defaults View File

@@ -0,0 +1,31 @@
{
"normal_in1":"",
"normal_in2":"",
"tumor_in1":"",
"tumor_in2":"",
"sample_id":"",
"Seq_platform":"Illumina",
"ref_fasta":"",
"ref_fasta_dir":"",
"docker_fastp":"registry-vpc.cn-shanghai.aliyuncs.com/easygene/fastp:v0.20.1_cv1",
"docker_sentieon":"registry.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":"",
"cluster_config":"OnDemand ecs.sn1ne.4xlarge 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",
"regions":"",
"interval_padding":"",
"bamqc":false,
"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"


}

+ 29
- 0
inputs View File

@@ -0,0 +1,29 @@
{
"{{ project_name }}.sample_id": "{{ sample_id }}",
"{{ project_name }}.normal_in1":"{{ normal_in1 }}",
"{{ project_name }}.normal_in2":"{{ normal_in2 }}",
"{{ project_name }}.tumor_in1":"{{ tumor_in1 }}",
"{{ project_name }}.tumor_in2":"{{ tumor_in2 }}",
"{{ project_name }}.Seq_platform":"{{ Seq_platform }}",
"{{ project_name }}.ref_fasta":"{{ ref_fasta }}",
"{{ project_name }}.ref_fasta_dir":"{{ ref_fasta_dir }}",
"{{ project_name }}.fastqc":"{{ fastqc }}",
"{{ 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 }}.regions":"{{ regions }}",
"{{ project_name }}.interval_padding":"{{ interval_padding }}",
"{{ project_name }}.bamqc":"{{ bamqc }}",
"{{ 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 }}"
}

+ 263
- 0
workflow.wdl View File

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


}

Loading…
Cancel
Save