Ver código fonte

first commit

master
biolcl 3 anos atrás
commit
8279987283
5 arquivos alterados com 85 adições e 0 exclusões
  1. +0
    -0
      README.md
  2. +5
    -0
      defaults
  3. +8
    -0
      inputs
  4. +47
    -0
      tasks/filter_vep_annovar.wdl
  5. +25
    -0
      workflow.wdl

+ 0
- 0
README.md Ver arquivo


+ 5
- 0
defaults Ver arquivo

@@ -0,0 +1,5 @@
{
"disk_size":"200",
"filter_vep_annovar_docker":"registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/filter_vep_charger:v2",
"filter_vep_annovar_cluster":"OnDemand bcs.ps.r.xlarge img-ubuntu-vpc"
}

+ 8
- 0
inputs Ver arquivo

@@ -0,0 +1,8 @@
{
"{{ project_name }}.sample_id": "{{ sample_id }}",
"{{ project_name }}.vep_vcf": "{{ vep_vcf }}",
"{{ project_name }}.annovar_txt": "{{ annovar_txt }}",
"{{ project_name }}.disk_size": "{{ disk_size }}",
"{{ project_name }}.filter_vep_annovar_docker": "{{ filter_vep_annovar_docker }}",
"{{ project_name }}.filter_vep_annovar_cluster": "{{ filter_vep_annovar_cluster }}"
}

+ 47
- 0
tasks/filter_vep_annovar.wdl Ver arquivo

@@ -0,0 +1,47 @@
task filter_vep_annovar{
String sample_id
File vep_vcf
File annovar_txt

String disk_size
String docker
String cluster

command <<<
set -o pipefail
set -e

mkdir ./output/
mkdir ./prepare/
vep_index=`echo ${vep_vcf}|awk -F "/" '{print $NF}'`
echo ${sample_id}
perl /software/convert2annovar.pl -format vcf4 ${vep_vcf} -outfile prepare/$vep_index.avinput -allsample -withfreq -include
echo "uid" > ./prepare/$vep_index.avinput_uid.txt
cut -f 1-5 prepare/$vep_index.avinput | sed 's/\t/_/g' >> prepare/$vep_index.avinput_uid.txt
sed '1,1000s/^#CHROM/CHROM/' ${vep_vcf} |grep -v "#" > prepare/$vep_index.clean.txt
paste prepare/$vep_index.avinput_uid.txt prepare/$vep_index.clean.txt > prepare/$vep_index.add_uid.txt
Rscript /software/filter.R --vep_file prepare/$vep_index.add_uid.txt --annovar_file ${annovar_txt}
python /software/filter.py --uid_list prepare/annovar_uid.txt --vep_vcf prepare/$vep_index.add_uid.txt
vep_id=`echo $vep_index|sed 's/.vcf//'`
sed '1,1000s/^#CHROM/CHROM/' ${vep_vcf} |grep "#" > output/$vep_id.filter.vcf
sed '1s/^CHROM/#CHROM/' prepare/$vep_id.filter_prepare.vcf >> output/$vep_id.filter.vcf
rm output/$vep_id.removed.vcf
>>>
runtime {
docker: docker
cluster: cluster
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}

output {
Array[File] filter_result=glob("./output/${sample_id}*")
}

}



+ 25
- 0
workflow.wdl Ver arquivo

@@ -0,0 +1,25 @@
import "./tasks/filter_vep_annovar.wdl" as filter_vep_annovar

workflow {{ project_name }} {
String sample_id
File vep_vcf
File annovar_txt

String disk_size
String filter_vep_annovar_docker
String filter_vep_annovar_cluster


call filter_vep_annovar.filter_vep_annovar as filter_vep_annovar {
input:
sample_id=sample_id,
vep_vcf=vep_vcf,
annovar_txt=annovar_txt,
disk_size=disk_size,
docker=filter_vep_annovar_docker,
cluster=filter_vep_annovar_cluster
}


}


Carregando…
Cancelar
Salvar