Selaa lähdekoodia

first commit

master
YaqingLiu 4 vuotta sitten
commit
433b07f077
8 muutettua tiedostoa jossa 192 lisäystä ja 0 poistoa
  1. BIN
      .DS_Store
  2. +0
    -0
      README.md
  3. +15
    -0
      defaults
  4. +20
    -0
      inputs
  5. +35
    -0
      tasks/annovar.wdl
  6. +32
    -0
      tasks/varscan.wdl
  7. +26
    -0
      tasks/vcf2maf.wdl
  8. +64
    -0
      workflow.wdl

BIN
.DS_Store Näytä tiedosto


+ 0
- 0
README.md Näytä tiedosto


+ 15
- 0
defaults Näytä tiedosto

@@ -0,0 +1,15 @@
{
"fasta": "GRCh38.d1.vd1.fa",
"ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/",
"dbsnp": "dbsnp_146.hg38.vcf",
"dbsnp_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/",
"dbmills_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/",
"db_mills": "Mills_and_1000G_gold_standard.indels.hg38.vcf",
"annovar_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/annovar:v2018.04",
"maftools_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/r-base:4.0.2",
"varscan_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/varscan2:v2.4.3",
"database": "oss://pgx-reference-data/annovar_hg38/",
"regions": "oss://pgx-reference-data/reference/wes_bedfiles/agilent_v6/SureSelect_Human_All_Exon_V6_r2.bed",
"disk_size": "200",
"cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc"
}

+ 20
- 0
inputs Näytä tiedosto

@@ -0,0 +1,20 @@
{
"{{ project_name }}.sample_id": "{{ sample_id }}",
"{{ project_name }}.normal_recaled_bam": "{{ normal_recaled_bam }}",
"{{ project_name }}.tumor_recaled_bam": "{{ tumor_recaled_bam }}",
"{{ project_name }}.normal_recaled_bam_index": "{{ normal_recaled_bam_index }}",
"{{ project_name }}.tumor_recaled_bam_index": "{{ tumor_recaled_bam_index }}",
"{{ project_name }}.fasta": "{{ fasta }}",
"{{ project_name }}.ref_dir": "{{ ref_dir }}",
"{{ project_name }}.dbsnp": "{{ dbsnp }}",
"{{ project_name }}.dbsnp_dir": "{{ dbsnp_dir }}",
"{{ project_name }}.dbmills_dir": "{{ dbmills_dir }}",
"{{ project_name }}.db_mills": "{{ db_mills }}",
"{{ project_name }}.varscan_docker": "{{ varscan_docker }}",
"{{ project_name }}.annovar_docker": "{{ annovar_docker }}",
"{{ project_name }}.maftools_docker": "{{ maftools_docker }}",
"{{ project_name }}.database": "{{ database }}",
"{{ project_name }}.regions": "{{ regions }}",
"{{ project_name }}.disk_size": "{{ disk_size }}",
"{{ project_name }}.cluster_config": "{{ cluster_config }}"
}

+ 35
- 0
tasks/annovar.wdl Näytä tiedosto

@@ -0,0 +1,35 @@
task annovar {

File varscan_snp
File varscan_indel
File database
String sample
String docker
String cluster_config
String disk_size


command <<<
set -o pipefail
set -e
nt=$(nproc)
/installations/annovar/table_annovar.pl ${varscan_snp} ${database} -buildver hg38 -out ${sample}_varscan_snp -remove -protocol refGene,ensGene,knownGene,cytoBand,genomicSuperDups,ljb26_all,dbnsfp35c,intervar_20180118,cosmic70,exac03,gnomad211_exome,clinvar_20200316 -operation g,g,g,r,r,f,f,f,f,f,f,f -nastring . -vcfinput -thread $nt
/installations/annovar/table_annovar.pl ${varscan_indel} ${database} -buildver hg38 -out ${sample}_varscan_indel -remove -protocol refGene,ensGene,knownGene,cytoBand,genomicSuperDups,ljb26_all,dbnsfp35c,intervar_20180118,cosmic70,exac03,gnomad211_exome,clinvar_20200316 -operation g,g,g,r,r,f,f,f,f,f,f,f -nastring . -vcfinput -thread $nt
>>>
runtime {
docker: docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}

output {
File avinput_varscan_snp = "${sample}_varscan_snp.avinput"
File multianno_varscan_snp_txt = "${sample}_varscan_snp.hg38_multianno.txt"
File multianno_varscan_snp = "${sample}_varscan_snp.hg38_multianno.vcf"
File avinput_varscan_indel = "${sample}_varscan_indel.avinput"
File multianno_varscan_indel_txt = "${sample}_varscan_indel.hg38_multianno.txt"
File multianno_varscan_indel = "${sample}_varscan_indel.hg38_multianno.vcf"
}
}

+ 32
- 0
tasks/varscan.wdl Näytä tiedosto

@@ -0,0 +1,32 @@
task varscan {

File ref_dir
String fasta
File normal_bam
File normal_bam_index
File tumor_bam
File tumor_bam_index
String sample
String varscan_docker
String cluster_config
String disk_size


command <<<
samtools mpileup -q 1 -f ${ref_dir}/${fasta} ${normal_bam} > normal_pileup
samtools mpileup -q 1 -f ${ref_dir}/${fasta} ${tumor_bam} > tumor_pileup
java -jar VarScan.v2.4.3.jar somatic normal_pileup tumor_pileup --mpileup 1 --min-coverage 3 --min-coverage-normal 3 --min-coverage-tumor 3 --min-var-freq 0.08 --p-value 0.10 --somatic-p-value 0.05 --output-vcf 1 --output-snp ${sample}.VarScan.TN.SNP --output-indel ${sample}.VarScan.TN.INDEL --strand-filter 1
>>>

runtime {
docker:varscan_docker
cluster: cluster_config
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}
output {
File varscan_snp = "${sample}.VarScan.TN.SNP"
File varscan_indel = "${sample}.VarScan.TN.INDEL"
}
}

+ 26
- 0
tasks/vcf2maf.wdl Näytä tiedosto

@@ -0,0 +1,26 @@
task vcf2maf {

File multianno_varscan_snp_txt
File multianno_varscan_indel_txt
String sample
String docker
String cluster_config
String disk_size

command <<<
vcf2maf ${multianno_varscan_snp_txt} ${sample}_varscan_snp.MAF
vcf2maf ${multianno_varscan_indel_txt} ${sample}_varscan_indel.MAF
>>>

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

output {
File varscan_snp_maf = "${sample}_varscan_snp.MAF"
File varscan_indel_maf = "${sample}_varscan_indel.MAF"
}
}

+ 64
- 0
workflow.wdl Näytä tiedosto

@@ -0,0 +1,64 @@
import "./tasks/varscan.wdl" as varscan
import "./tasks/annovar.wdl" as annovar
import "./tasks/vcf2maf.wdl" as vcf2maf


workflow {{ project_name }} {
String sample_id
File normal_recaled_bam
File tumor_recaled_bam
File normal_recaled_bam_index
File tumor_recaled_bam_index

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
String disk_size
String cluster_config
File database

call varscan.varscan as varscan {
input:
ref_dir=ref_dir,
fasta=fasta,
normal_bam=normal_recaled_bam,
tumor_bam=tumor_recaled_bam,
normal_bam_index=normal_recaled_bam_index,
tumor_bam_index=tumor_recaled_bam_index,
sample=sample_id,
varscan_docker=varscan_docker,
disk_size=disk_size,
cluster_config=cluster_config
}

call annovar.annovar as annovar {
input:
docker=annovar_docker,
database=database,
varscan_snp=varscan.varscan_snp,
varscan_indel=varscan.varscan_indel,
sample=sample_id,
cluster_config=cluster_config,
disk_size=disk_size
}

call vcf2maf.vcf2maf as vcf2maf {
input:
docker=maftools_docker,
multianno_varscan_snp_txt=annovar.multianno_varscan_snp_txt,
multianno_varscan_indel_txt=annovar.multianno_varscan_indel_txt,
sample=sample_id,
cluster_config=cluster_config,
disk_size=disk_size
}
}

Loading…
Peruuta
Tallenna