@@ -0,0 +1,31 @@ | |||
# DELLY Somatic Mutation Calling | |||
## App概述 | |||
输入文件为deduped bam files。肿瘤和配对检测somatic SV,一共包括5种SV,Insertion、Deletion、Inversion、Translocation、Duplication。 | |||
## 流程与参数 | |||
1. DELLY检测突变 | |||
```bash | |||
delly call -g <fastq_file> -o <output_bcf> -x human.hg38.excl.tsv <tumor_bam> <normal_bam> | |||
delly filter -f somatic -o <output_filtered_bcf> -s samples.tsv <output_bcf> | |||
``` | |||
其中samples.tsv按照如下准备,其中的tumor_name和normal_name要与bam文件中一致 | |||
```bash | |||
tumor_name tumor | |||
normal_name control | |||
``` | |||
2. 将bcf文件转换成vcf | |||
```bash | |||
bcftools view <output_filtered> > <vcf> | |||
``` | |||
## App输出文件 | |||
最终的结果文件在bcf2vcf中,是一个包含了所有SV类型,经过过滤后的vcf文件 |
@@ -0,0 +1,16 @@ | |||
{ | |||
"{{ project_name }}.SENTIEON_INSTALL_DIR": "/opt/sentieon-genomics", | |||
"{{ project_name }}.fasta": "hg19_nochr.fa", | |||
"{{ project_name }}.normal_bam_idx": "{{ normal_bam_idx}}", | |||
"{{ project_name }}.tumor_bam": "{{ tumor_bam }}", | |||
"{{ project_name }}.DELLYdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/delly:v0.8.1", | |||
"{{ project_name }}.disk_size": "500", | |||
"{{ project_name }}.normal_bam": "{{ normal_bam }}", | |||
"{{ project_name }}.sample_name": "{{ sample_name }}", | |||
"{{ project_name }}.SMALLcluster_config": "OnDemand bcs.a2.xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.BCFdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/bcftools:v1.9", | |||
"{{ project_name }}.BIGcluster_config": "OnDemand bcs.a2.7xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.tumor_bam_idx": "{{ tumor_bam_idx }}", | |||
"{{ project_name }}.SENTIEONdocker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2018.08.01", | |||
"{{ project_name }}.ref_dir": "oss://pgx-reference-data/hg19/" | |||
} |
@@ -0,0 +1,32 @@ | |||
task bcf2vcf { | |||
File bcf | |||
File bcf_index | |||
String sample_name | |||
String docker | |||
String disk_size | |||
String cluster_config | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
/opt/hall-lab/bcftools-1.9/bin/bcftools view ${bcf} > ${sample_name}.vcf | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster:cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File vcf = "${sample_name}.vcf" | |||
} | |||
} | |||
@@ -0,0 +1,45 @@ | |||
task delly { | |||
File tumor_bam | |||
File tumor_bam_idx | |||
File normal_bam | |||
File normal_bam_idx | |||
File ref_dir | |||
String fasta | |||
String sample_name | |||
String docker | |||
String disk_size | |||
String cluster_config | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
echo -e "${sample_name}.tumor\ttumor\n${sample_name}.normal\tcontrol" > samples.tsv | |||
nt=$(nproc) | |||
export OMP_NUM_THREADS=$nt | |||
/opt/delly/src/delly call -g ${ref_dir}/${fasta} -o ${sample_name}.delly.somatic.bcf -x /opt/delly/excludeTemplates/human.hg38.excl.tsv ${tumor_bam} ${normal_bam} | |||
/opt/delly/src/delly filter -f somatic -o ${sample_name}.delly.somatic.filtered.bcf -s samples.tsv ${sample_name}.delly.somatic.bcf | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster:cluster_config | |||
systemDisk: "cloud_ssd 40" | |||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File bcf = "${sample_name}.delly.somatic.filtered.bcf" | |||
File bcf_index = "${sample_name}.delly.somatic.filtered.bcf.csi" | |||
} | |||
} | |||
@@ -0,0 +1,48 @@ | |||
import "./tasks/delly.wdl" as delly | |||
import "./tasks/bcf2vcf.wdl" as bcf2vcf | |||
workflow {{ project_name }} { | |||
String SENTIEON_INSTALL_DIR | |||
String SENTIEONdocker | |||
String DELLYdocker | |||
String BCFdocker | |||
File tumor_bam | |||
File tumor_bam_idx | |||
File normal_bam | |||
File normal_bam_idx | |||
File ref_dir | |||
String fasta | |||
String sample_name | |||
String disk_size | |||
String BIGcluster_config | |||
String SMALLcluster_config | |||
call delly.delly as delly { | |||
input: | |||
tumor_bam=tumor_bam, | |||
tumor_bam_idx=tumor_bam_idx, | |||
normal_bam=normal_bam, | |||
normal_bam_idx=normal_bam_idx, | |||
ref_dir=ref_dir, | |||
fasta=fasta, | |||
sample_name=sample_name, | |||
docker=DELLYdocker, | |||
disk_size=disk_size, | |||
cluster_config=SMALLcluster_config | |||
} | |||
call bcf2vcf.bcf2vcf as bcf2vcf { | |||
input: | |||
bcf=delly.bcf, | |||
bcf_index=delly.bcf_index, | |||
docker=BCFdocker, | |||
disk_size=disk_size, | |||
cluster_config=SMALLcluster_config, | |||
sample_name=sample_name | |||
} | |||
} | |||