YaqingLiu 5 роки тому
джерело
коміт
e9ad26c2ca
3 змінених файлів з 32 додано та 119 видалено
  1. +2
    -3
      inputs
  2. +12
    -9
      tasks/bcftools.wdl
  3. +18
    -107
      workflow.wdl

+ 2
- 3
inputs Переглянути файл

@@ -13,9 +13,7 @@
"{{ project_name }}.bcftools_docker": "{{ bcftools_docker }}",
"{{ project_name }}.database": "{{ database }}",
"{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}",
"{{ project_name }}.pon_vcf1": "oss://share-data-temp/TNBC/vcf/FUSCCTNBC083_pon.vcf",
"{{ project_name }}.pon_vcf2": "oss://share-data-temp/TNBC/vcf/FUSCCTNBC330_pon.vcf",
"{{ project_name }}.pon_vcf3": "oss://share-data-temp/TNBC/vcf/FUSCCTNBC467_pon.vcf",
"{{ project_name }}.bcf": ["oss://share-data-temp/TNBC/vcf/FUSCCTNBC083_pon.vcf","oss://share-data-temp/TNBC/vcf/FUSCCTNBC330_pon.vcf","oss://share-data-temp/TNBC/vcf/FUSCCTNBC467_pon.vcf"],
"{{ project_name }}.regions": "{{ regions }}",
"{{ project_name }}.PONmode": "{{ PONmode }}",
"{{ project_name }}.cosmic_vcf": "{{ cosmic_vcf }}",
@@ -25,3 +23,4 @@
"{{ project_name }}.set_annovar": "{{ set_annovar }}",
"{{ project_name }}.set_vcf2maf": "{{ set_vcf2maf }}"
}


+ 12
- 9
tasks/bcftools.wdl Переглянути файл

@@ -1,8 +1,9 @@
task bcftools {

File pon_vcf1
File pon_vcf2
File pon_vcf3
#File pon_vcf1
#File pon_vcf2
#File pon_vcf3
File bcfpon
String docker
String cluster_config
String disk_size
@@ -14,14 +15,15 @@ task bcftools {
set -e
if [ ${PONmode} ]; then
bcftools view ${bcfpon} -Oz -o $(basename ${bcfpon}.gz)
#mkdir -p /cromwell_root/tmp/bcftools
#bcftools view ${pon_vcf1} -Oz -o /cromwell_root/tmp/bcftools/$(basename ${pon_vcf1}.gz)
#bcftools view ${pon_vcf2} -Oz -o /cromwell_root/tmp/bcftools/$(basename ${pon_vcf1}.gz)
#bcftools view ${pon_vcf3} -Oz -o /cromwell_root/tmp/bcftools/$(basename ${pon_vcf1}.gz)
#cd /cromwell_root/tmp/bcftools
bcftools view ${pon_vcf1} -Oz -o $(basename ${pon_vcf1}.gz)
bcftools view ${pon_vcf2} -Oz -o $(basename ${pon_vcf2}.gz)
bcftools view ${pon_vcf2} -Oz -o $(basename ${pon_vcf3}.gz)
#bcftools view ${pon_vcf1} -Oz -o $(basename ${pon_vcf1}.gz)
#bcftools view ${pon_vcf2} -Oz -o $(basename ${pon_vcf2}.gz)
#bcftools view ${pon_vcf2} -Oz -o $(basename ${pon_vcf3}.gz)
#for i in `ls *.gz`; do bcftools index $i -f; done
#bcftools merge -m all -f PASS,. --force-samples *.vcf.gz | bcftools plugin fill-AN-AC | bcftools filter -i 'SUM(AC)>1' > panel_of_normal.vcf
else
@@ -38,9 +40,10 @@ task bcftools {
}
output {
File vcf1="$(basename ${pon_vcf1}.gz)"
File vcf2="$(basename ${pon_vcf2}.gz)"
File vcf3="$(basename ${pon_vcf3}.gz)"
File vcf1="$(basename ${bcfpon}.gz)"
#File vcf1="$(basename ${pon_vcf1}.gz)"
#File vcf2="$(basename ${pon_vcf2}.gz)"
#File vcf3="$(basename ${pon_vcf3}.gz)"
#File panel_of_normal_vcf = "panel_of_normal.vcf"
}
}

+ 18
- 107
workflow.wdl Переглянути файл

@@ -39,111 +39,22 @@ workflow {{ project_name }} {
Boolean set_vcf2maf


File pon_vcf1
File pon_vcf2
File pon_vcf3
#Array[Array[File]] bcf = read_tsv(inputponfile)

call bcftools.bcftools as bcftools {
input:
PONmode=PONmode,
pon_vcf1=pon_vcf1,
pon_vcf2=pon_vcf2,
pon_vcf3=pon_vcf3,
docker=bcftools_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
scatter (sample in inputSamples) {
call corealigner.corealigner as corealigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sample=sample[0],
docker=sentieon_docker,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
tumor_recaled_bam=sample[1],
tumor_recaled_bam_index=sample[2],
normal_recaled_bam=sample[3],
normal_recaled_bam_index=sample[4],
disk_size=disk_size,
cluster_config=cluster_config
}

call TNseq.TNseq as TNseq {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
PONmode=PONmode,
fasta=fasta,
ref_dir=ref_dir,
corealigner_bam=corealigner.corealigner_bam,
corealigner_bam_index=corealigner.corealigner_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
tumor_name=sample[0] + "_tumor",
normal_name=sample[0] + "_normal",
cosmic_vcf=cosmic_vcf,
cosmic_dir=cosmic_dir,
#panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
docker=sentieon_docker,
sample=sample[0],
disk_size=disk_size,
cluster_config=cluster_config
}
call TNscope.TNscope as TNscope {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
PONmode=PONmode,
fasta=fasta,
ref_dir=ref_dir,
corealigner_bam=corealigner.corealigner_bam,
corealigner_bam_index=corealigner.corealigner_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
tumor_name=sample[0] + "_tumor",
normal_name=sample[0] + "_normal",
cosmic_vcf=cosmic_vcf,
cosmic_dir=cosmic_dir,
#panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
docker=sentieon_docker,
sample=sample[0],
disk_size=disk_size,
cluster_config=cluster_config
}

if (set_annovar){
call annovar.annovar as annovar {
input:
docker=annovar_docker,
database=database,
tnscope_vcf_file=TNscope.TNscope_vcf,
tnseq_vcf_file=TNseq.TNseq_vcf,
sample=sample[0],
cluster_config=cluster_config,
disk_size=disk_size
}
}
if (set_vcf2maf){
call vcf2maf.vcf2maf as vcf2maf {
input:
docker=vcf2maf_r_docker,
multianno_tnscope_txt=annovar.multianno_tnscope_txt,
multianno_tnseq_txt=annovar.multianno_tnseq_txt,
sample=sample[0],
cluster_config=cluster_config,
disk_size=disk_size
}
}
#File pon_vcf1
#File pon_vcf2
#File pon_vcf3
Array[File] bcf

scatter (sample in bcf) {
call bcftools.bcftools as bcftools {
input:
PONmode=PONmode,
bcfpon=sample,
#pon_vcf1=pon_vcf1,
#pon_vcf2=pon_vcf2,
#pon_vcf3=pon_vcf3,
docker=bcftools_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
}
}
}

Завантаження…
Відмінити
Зберегти