|
|
@@ -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}*") |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|