ソースを参照

Update: README.md

tags/v0.1.2
YaqingLiu 4年前
コミット
bc00d0efe5
6個のファイルの変更540行の追加492行の削除
  1. +30
    -15
      README.md
  2. +1
    -0
      defaults
  3. +1
    -0
      inputs
  4. +0
    -41
      tasks/PON.wdl
  5. +72
    -0
      tasks/TNhaplotyper2.wdl
  6. +436
    -436
      workflow.wdl

+ 30
- 15
README.md ファイルの表示

@@ -1,22 +1,32 @@
# README.md
#### Introduction
This APP developed for somatic short variant discovery (SNVs + Indels).

> Author: Yaqing Liu
>
> Email: [yaqing.liu@outlook.com](mailto:yaqing.liu@outlook.com)
>
> Last Updates: 25/04/2021
Supported callers:
* TNhaplotyper2
* TNscope
* VarScan
* TNhaplotyper (This caller is only available in `v0.1.0` as it is too outdated)
Variant caller can be selected by setting `ture/false` in the submitted sample.csv.

#### Requirements
Types of data that can be received:
* TN matched WES
* WGS
The datatype is judged by whether the bed file is set (i.e. the `regions` in inputs).

- choppy
- Ali-Cloud
- Linux
**New version**
* The TNhaplotyper, also named as TNseq in `v0.1.0`, has beed substituted by TNhaplotyper2.
* The `corealigner` step has been removed.

#### Introduction
Variant calling pipeline from mapping to generating MAF files with three optional callers, i.e. TNseq, TNscope and Varscan2, for WGS and WES data.
**Please carefully check**
* the reference genome
* bed file
* the caller you want to use
* whether PoN needs to be set

#### How to run this APP

We recommend using choppy system and Aliyun OSS service. The command will look like this:

**Please carefully check the reference genome, bed file, etc.**
#### Usage
```
open-choppy-env

@@ -29,4 +39,9 @@ choppy batch YaqingLiu/variant-calling-latest samples.csv -p Project -l Label

# Query the status of all tasks in the project
choppy query -L Label | grep "status"
```
```

**Please note**
The `defaults` can be forcibly replaced by the settings in `samples.csv`.

Therefore, there is no need to contact me over this issue.

+ 1
- 0
defaults ファイルの表示

@@ -7,6 +7,7 @@
"SENTIEON_LICENSE": "192.168.0.55:8990",
"dbmills_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/",
"db_mills": "Mills_and_1000G_gold_standard.indels.hg38.vcf",
"germline_resource": "oss://pgx-reference-data/gnomAD/af-only-gnomad.v3.1.1.vcf.gz",
"sentieon_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2020.10.07",
"varscan_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/varscan2:v2.4.3",
"annovar_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/annovar:v2018.04",

+ 1
- 0
inputs ファイルの表示

@@ -12,6 +12,7 @@
"{{ project_name }}.SENTIEON_LICENSE": "{{ SENTIEON_LICENSE }}",
"{{ project_name }}.dbmills_dir": "{{ dbmills_dir }}",
"{{ project_name }}.db_mills": "{{ db_mills }}",
"{{ project_name }}.germline_resource": "{{ germline_resource }}",
"{{ project_name }}.sentieon_docker": "{{ sentieon_docker }}",
"{{ project_name }}.varscan_docker": "{{ varscan_docker }}",
"{{ project_name }}.annovar_docker": "{{ annovar_docker }}",

+ 0
- 41
tasks/PON.wdl ファイルの表示

@@ -1,41 +0,0 @@
task PON {

String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String sample

File ref_dir
String fasta
File cosmic_dir
String cosmic_vcf
File dbsnp_dir
String dbsnp

File normal_recaled_bam
File normal_recaled_bam_index
String docker
String cluster_config
String disk_size
command <<<
set -o pipefail
set -e
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)
mkdir -p /cromwell_root/tmp/cosmic/
cp ${cosmic_dir}/${cosmic_vcf} /cromwell_root/tmp/cosmic/
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/cosmic/${cosmic_vcf}
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} -i ${normal_recaled_bam} --algo TNhaplotyper --detect_pon --cosmic /cromwell_root/tmp/cosmic/${cosmic_vcf} --dbsnp ${dbsnp_dir}/${dbsnp} ${sample}_pon.vcf
>>>
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}

output {
File pon_vcf = "${sample}_pon.vcf"
}
}

+ 72
- 0
tasks/TNhaplotyper2.wdl ファイルの表示

@@ -0,0 +1,72 @@
task TNhaplotyper2 {
File ref_dir
File dbsnp_dir
String sample
String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String tumor_name
String normal_name
String docker
String cluster_config

String fasta
File germline_resource
File tumor_recaled_bam
File tumor_recaled_bam_index
File tumor_recal_table
File normal_recaled_bam
File normal_recaled_bam_index
File normal_recal_table
File TNhaplotyper2_PoN
String dbsnp
String disk_size
File regions

command <<<
set -o pipefail
set -e
export SENTIEON_LICENSE=${SENTIEON_LICENSE}
nt=$(nproc)

${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt --interval ${regions} -r ${ref_dir}/${fasta} -i ${corealigner_bam} --algo TNhaplotyper2 --tumor_sample ${tumor_name} --normal_sample ${normal_name} --dbsnp ${dbsnp_dir}/${dbsnp} ${sample}.TNhaplotyper2.TN.vcf


${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt --interval ${regions} -r ${ref_dir}/${fasta} \
-i ${tumor_recaled_bam} -q ${tumor_recal_table} \
-i ${normal_recaled_bam} -q ${normal_recal_table} \
--algo TNhaplotyper2 --tumor_sample ${tumor_name} \
--normal_sample ${normal_name} \
--germline_vcf ${germline_resource} \
--pon ${TNhaplotyper2_PoN} \
${sample}.TNhaplotyper2.TN.tmp.vcf \
--algo OrientationBias --tumor_sample ${tumor_name} \
ORIENTATION_DATA \
--algo ContaminationModel --tumor_sample ${tumor_name} \
--normal_sample ${normal_name} \
--vcf ${germline_resource} \
--tumor_segments CONTAMINATION_DATA.segments \
CONTAMINATION_DATA
sentieon driver -r REFERENCE \
--algo TNfilter --tumor_sample ${tumor_name} \
--normal_sample ${normal_name} \
-v ${sample}.TNhaplotyper2.TN.tmp.vcf \
--contamination CONTAMINATION_DATA \
--tumor_segments CONTAMINATION_DATA.segments \
--orientation_priors ORIENTATION_DATA \
${sample}.TNhaplotyper2.TN.vcf
>>>

runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}

output {
File TNhaplotyper2_vcf= "${sample}.TNhaplotyper2.TN.vcf"
File TNhaplotyper2_vcf_index = "${sample}.TNhaplotyper2.TN.vcf.idx"
}

}

+ 436
- 436
workflow.wdl ファイルの表示

@@ -6,7 +6,6 @@ import "./tasks/Realigner.wdl" as Realigner
import "./tasks/BQSR.wdl" as BQSR
import "./tasks/Haplotyper.wdl" as Haplotyper
import "./tasks/corealigner.wdl" as corealigner
import "./tasks/PON.wdl" as PON
import "./tasks/TNseq.wdl" as TNseq
import "./tasks/TNscope.wdl" as TNscope
import "./tasks/somatic.wdl" as somatic
@@ -17,467 +16,468 @@ import "./tasks/vcf2maf.wdl" as vcf2maf


workflow {{ project_name }} {
String sample_id
File tumor_fastq_1
File tumor_fastq_2
File normal_fastq_1
File normal_fastq_2
String sample_id
File tumor_fastq_1
File tumor_fastq_2
File normal_fastq_1
File normal_fastq_2

String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String sentieon_docker
String varscan_docker
String annovar_docker
String maftools_docker
File ref_dir
String fasta
File dbmills_dir
String db_mills
File dbsnp_dir
String dbsnp
File? regions
File database
String disk_size
String cluster_config
String SENTIEON_INSTALL_DIR
String SENTIEON_LICENSE
String sentieon_docker
String varscan_docker
String annovar_docker
String maftools_docker
File ref_dir
String fasta
File dbmills_dir
String db_mills
File dbsnp_dir
String dbsnp
File germline_resource
File? regions
File database
String disk_size
String cluster_config

Boolean set_pon
File? pon_vcf
File? cosmic_dir
String? cosmic_vcf
Boolean set_pon
File? pon_vcf
File? cosmic_dir
String? cosmic_vcf

Boolean germline
Boolean tnseq
Boolean tnscope
Boolean varscan
Boolean germline
Boolean tnseq
Boolean tnscope
Boolean varscan


call mapping.mapping as tumor_mapping {
input:
group=sample_id + '_tumor',
sample=sample_id + '_tumor',
fastq_1=tumor_fastq_1,
fastq_2=tumor_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call mapping.mapping as tumor_mapping {
input:
group=sample_id + '_tumor',
sample=sample_id + '_tumor',
fastq_1=tumor_fastq_1,
fastq_2=tumor_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call Metrics.Metrics as tumor_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call Metrics.Metrics as tumor_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call Dedup.Dedup as tumor_Dedup {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call Dedup.Dedup as tumor_Dedup {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=tumor_mapping.sorted_bam,
sorted_bam_index=tumor_mapping.sorted_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call deduped_Metrics.deduped_Metrics as tumor_deduped_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call deduped_Metrics.deduped_Metrics as tumor_deduped_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call Realigner.Realigner as tumor_Realigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
}
call Realigner.Realigner as tumor_Realigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=tumor_Dedup.Dedup_bam,
Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_tumor',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
}

call BQSR.BQSR as tumor_BQSR {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=tumor_Realigner.realigner_bam,
realigned_bam_index=tumor_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_tumor',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call BQSR.BQSR as tumor_BQSR {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=tumor_Realigner.realigner_bam,
realigned_bam_index=tumor_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_tumor',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call mapping.mapping as normal_mapping {
input:
group=sample_id + '_normal',
sample=sample_id + '_normal',
fastq_1=normal_fastq_1,
fastq_2=normal_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call mapping.mapping as normal_mapping {
input:
group=sample_id + '_normal',
sample=sample_id + '_normal',
fastq_1=normal_fastq_1,
fastq_2=normal_fastq_2,
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
pl="ILLUMINAL",
fasta=fasta,
ref_dir=ref_dir,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call Metrics.Metrics as normal_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call Metrics.Metrics as normal_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call Dedup.Dedup as normal_Dedup {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call Dedup.Dedup as normal_Dedup {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sorted_bam=normal_mapping.sorted_bam,
sorted_bam_index=normal_mapping.sorted_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call deduped_Metrics.deduped_Metrics as normal_deduped_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call deduped_Metrics.deduped_Metrics as normal_deduped_Metrics {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call Realigner.Realigner as normal_Realigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
}
call Realigner.Realigner as normal_Realigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
Dedup_bam=normal_Dedup.Dedup_bam,
Dedup_bam_index=normal_Dedup.Dedup_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
sample=sample_id + '_normal',
docker=sentieon_docker,
disk_size=disk_size,
regions=regions,
cluster_config=cluster_config
}

call BQSR.BQSR as normal_BQSR {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=normal_Realigner.realigner_bam,
realigned_bam_index=normal_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call BQSR.BQSR as normal_BQSR {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
realigned_bam=normal_Realigner.realigner_bam,
realigned_bam_index=normal_Realigner.realigner_bam_index,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
sample=sample_id + '_normal',
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

if (germline) {
call Haplotyper.Haplotyper as Haplotyper {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id + '_normal',
fasta=fasta,
ref_dir=ref_dir,
recaled_bam=normal_BQSR.recaled_bam,
recaled_bam_index=normal_BQSR.recaled_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
}
call corealigner.corealigner as corealigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sample=sample_id,
docker=sentieon_docker,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
tumor_recaled_bam=tumor_BQSR.recaled_bam,
tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
normal_recaled_bam=normal_BQSR.recaled_bam,
normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
disk_size=disk_size,
cluster_config=cluster_config
}
if (tnseq) {
call TNseq.TNseq as TNseq {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
corealigner_bam=corealigner.corealigner_bam,
corealigner_bam_index=corealigner.corealigner_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
set_pon=set_pon,
pon_vcf=pon_vcf,
cosmic_vcf=cosmic_vcf,
cosmic_dir=cosmic_dir,
tumor_name=sample_id + "_tumor",
normal_name=sample_id + "_normal",
docker=sentieon_docker,
sample=sample_id,
disk_size=disk_size,
cluster_config=cluster_config
}
if (germline) {
call Haplotyper.Haplotyper as Haplotyper {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
sample=sample_id + '_normal',
fasta=fasta,
ref_dir=ref_dir,
recaled_bam=normal_BQSR.recaled_bam,
recaled_bam_index=normal_BQSR.recaled_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
regions=regions,
docker=sentieon_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
}
call corealigner.corealigner as corealigner {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
sample=sample_id,
docker=sentieon_docker,
db_mills=db_mills,
dbmills_dir=dbmills_dir,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
tumor_recaled_bam=tumor_BQSR.recaled_bam,
tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
normal_recaled_bam=normal_BQSR.recaled_bam,
normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
disk_size=disk_size,
cluster_config=cluster_config
}
if (tnseq) {
call TNseq.TNseq as TNseq {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
corealigner_bam=corealigner.corealigner_bam,
corealigner_bam_index=corealigner.corealigner_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
set_pon=set_pon,
pon_vcf=pon_vcf,
cosmic_vcf=cosmic_vcf,
cosmic_dir=cosmic_dir,
tumor_name=sample_id + "_tumor",
normal_name=sample_id + "_normal",
docker=sentieon_docker,
sample=sample_id,
disk_size=disk_size,
cluster_config=cluster_config
}

call annovar.annovar as TNseq_annovar {
input:
sample=sample_id,
vcf=TNseq.TNseq_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as TNseq_annovar {
input:
sample=sample_id,
vcf=TNseq.TNseq_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}

call vcf2maf.vcf2maf as TNseq_vcf2maf {
input:
sample=sample_id,
multianno_txt=TNseq_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
}
call vcf2maf.vcf2maf as TNseq_vcf2maf {
input:
sample=sample_id,
multianno_txt=TNseq_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
}

if (tnscope) {
call TNscope.TNscope as TNscope {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
corealigner_bam=corealigner.corealigner_bam,
corealigner_bam_index=corealigner.corealigner_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
set_pon=set_pon,
pon_vcf=pon_vcf,
cosmic_vcf=cosmic_vcf,
cosmic_dir=cosmic_dir,
tumor_name=sample_id + "_tumor",
normal_name=sample_id + "_normal",
docker=sentieon_docker,
sample=sample_id,
disk_size=disk_size,
cluster_config=cluster_config
}
call annovar.annovar as TNscope_annovar {
input:
sample=sample_id,
vcf=TNscope.TNscope_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
if (tnscope) {
call TNscope.TNscope as TNscope {
input:
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
SENTIEON_LICENSE=SENTIEON_LICENSE,
fasta=fasta,
ref_dir=ref_dir,
regions=regions,
corealigner_bam=corealigner.corealigner_bam,
corealigner_bam_index=corealigner.corealigner_bam_index,
dbsnp=dbsnp,
dbsnp_dir=dbsnp_dir,
set_pon=set_pon,
pon_vcf=pon_vcf,
cosmic_vcf=cosmic_vcf,
cosmic_dir=cosmic_dir,
tumor_name=sample_id + "_tumor",
normal_name=sample_id + "_normal",
docker=sentieon_docker,
sample=sample_id,
disk_size=disk_size,
cluster_config=cluster_config
}
call annovar.annovar as TNscope_annovar {
input:
sample=sample_id,
vcf=TNscope.TNscope_vcf,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}

call vcf2maf.vcf2maf as TNscope_vcf2maf {
input:
sample=sample_id,
multianno_txt=TNscope_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
}
call vcf2maf.vcf2maf as TNscope_vcf2maf {
input:
sample=sample_id,
multianno_txt=TNscope_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
}

if (varscan) {
call somatic.somatic as somatic {
input:
sample=sample_id,
tumor_bam=tumor_BQSR.recaled_bam,
tumor_bam_index=tumor_BQSR.recaled_bam_index,
normal_bam=normal_BQSR.recaled_bam,
normal_bam_index=normal_BQSR.recaled_bam_index,
ref_dir=ref_dir,
fasta=fasta,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
if (varscan) {
call somatic.somatic as somatic {
input:
sample=sample_id,
tumor_bam=tumor_BQSR.recaled_bam,
tumor_bam_index=tumor_BQSR.recaled_bam_index,
normal_bam=normal_BQSR.recaled_bam,
normal_bam_index=normal_BQSR.recaled_bam_index,
ref_dir=ref_dir,
fasta=fasta,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call processSomatic.processSomatic as processSomatic {
input:
sample=sample_id,
varscan_snp=somatic.varscan_snp,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call processSomatic.processSomatic as processSomatic {
input:
sample=sample_id,
varscan_snp=somatic.varscan_snp,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call somaticFilter.somaticFilter as somaticFilter {
input:
sample=sample_id,
varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}
call somaticFilter.somaticFilter as somaticFilter {
input:
sample=sample_id,
varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
varscan_indel=somatic.varscan_indel,
docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call annovar.annovar as snp_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as snp_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}

call vcf2maf.vcf2maf as snp_somatic_vcf2maf {
input:
sample=sample_id,
multianno_txt=snp_somatic_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as snp_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call vcf2maf.vcf2maf as snp_somatic_vcf2maf {
input:
sample=sample_id,
multianno_txt=snp_somatic_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as snp_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_snp_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}

call vcf2maf.vcf2maf as snp_loh_vcf2maf {
input:
sample=sample_id,
multianno_txt=snp_loh_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call vcf2maf.vcf2maf as indel_somatic_vcf2maf {
input:
sample=sample_id,
multianno_txt=indel_somatic_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call vcf2maf.vcf2maf as snp_loh_vcf2maf {
input:
sample=sample_id,
multianno_txt=snp_loh_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_somatic_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_somatic_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call vcf2maf.vcf2maf as indel_somatic_vcf2maf {
input:
sample=sample_id,
multianno_txt=indel_somatic_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
call annovar.annovar as indel_loh_annovar {
input:
sample=sample_id,
vcf=somaticFilter.varscan_indel_loh_filter,
database=database,
docker=annovar_docker,
cluster_config=cluster_config,
disk_size=disk_size
}

call vcf2maf.vcf2maf as indel_loh_vcf2maf {
input:
sample=sample_id,
multianno_txt=indel_loh_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
}
call vcf2maf.vcf2maf as indel_loh_vcf2maf {
input:
sample=sample_id,
multianno_txt=indel_loh_annovar.multianno_txt,
docker=maftools_docker,
cluster_config=cluster_config,
disk_size=disk_size
}
}
}

読み込み中…
キャンセル
保存