Diff of /test/docker_test.sh [000000] .. [0a8e41]

Switch to side-by-side view

--- a
+++ b/test/docker_test.sh
@@ -0,0 +1,121 @@
+#!/bin/bash
+set -e
+
+test_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+cd ${test_dir}
+mkdir -p example
+cd example
+
+if [ ! -f Homo_sapiens.GRCh37.75.dna.chromosome.22.fa ]
+then
+	if [ ! -f Homo_sapiens.GRCh37.75.dna.chromosome.22.fa.gz ]
+	then
+		docker run -v ${test_dir}:/mnt -u $UID --memory 30G  msahraeian/neusomatic:0.2.1 /bin/bash -c \
+		"cd /mnt/example/ && wget ftp://ftp.ensembl.org/pub/release-75//fasta/homo_sapiens/dna/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa.gz"
+	fi
+	docker run -v ${test_dir}:/mnt -u $UID --memory 30G  msahraeian/neusomatic:0.2.1 /bin/bash -c \
+	"cd /mnt/example/ && gunzip -f Homo_sapiens.GRCh37.75.dna.chromosome.22.fa.gz"
+	
+fi
+if [ ! -f Homo_sapiens.GRCh37.75.dna.chromosome.22.fa.fai ]
+then
+	docker run -v ${test_dir}:/mnt -u $UID --memory 30G  msahraeian/neusomatic:0.2.1 /bin/bash -c \
+	"samtools faidx /mnt/example/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa"
+fi
+rm -rf work_standalone
+
+
+
+#Stand-alone NeuSomatic test 
+docker run -v ${test_dir}:/mnt -u $UID --memory 30G  msahraeian/neusomatic:0.2.1 /bin/bash -c \
+"python /opt/neusomatic/neusomatic/python/preprocess.py \
+	--mode call \
+	--reference /mnt/example/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa \
+	--region_bed /mnt/region.bed \
+	--tumor_bam /mnt/tumor.bam \
+	--normal_bam /mnt/normal.bam \
+	--work /mnt/example/work_standalone \
+	--scan_maf 0.05 \
+	--min_mapq 10 \
+	--snp_min_af 0.05 \
+	--snp_min_bq 20 \
+	--snp_min_ao 10 \
+	--ins_min_af 0.05 \
+	--del_min_af 0.05 \
+	--num_threads 1 \
+	--scan_alignments_binary /opt/neusomatic/neusomatic/bin/scan_alignments"
+
+docker run -v ${test_dir}:/mnt -u $UID --memory 30G --shm-size 8G msahraeian/neusomatic:0.2.1 /bin/bash -c \
+"CUDA_VISIBLE_DEVICES= python /opt/neusomatic/neusomatic/python/call.py \
+		--candidates_tsv /mnt/example/work_standalone/dataset/*/candidates*.tsv \
+		--reference /mnt/example/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa \
+		--out /mnt/example/work_standalone \
+		--checkpoint /opt/neusomatic/neusomatic/models/NeuSomatic_v0.1.0_standalone_Dream3_70purity.pth \
+		--num_threads 1 \
+		--batch_size 100"
+
+docker run -v ${test_dir}:/mnt -u $UID --memory 30G  msahraeian/neusomatic:0.2.1 /bin/bash -c \
+"python /opt/neusomatic/neusomatic/python/postprocess.py \
+		--reference /mnt/example/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa \
+		--tumor_bam /mnt/tumor.bam \
+		--pred_vcf /mnt/example/work_standalone/pred.vcf \
+		--candidates_vcf /mnt/example/work_standalone/work_tumor/filtered_candidates.vcf \
+		--output_vcf /mnt/example/work_standalone/NeuSomatic_standalone.vcf \
+		--work /mnt/example/work_standalone "
+
+
+rm -rf /mnt/example/work_ensemble
+#Ensemble NeuSomatic test 
+docker run -v ${test_dir}:/mnt -u $UID --memory 30G  msahraeian/neusomatic:0.2.1 /bin/bash -c \
+"python /opt/neusomatic/neusomatic/python/preprocess.py \
+	--mode call \
+	--reference /mnt/example/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa \
+	--region_bed /mnt/region.bed \
+	--tumor_bam /mnt/tumor.bam \
+	--normal_bam /mnt/normal.bam \
+	--work /mnt/example/work_ensemble \
+	--scan_maf 0.05 \
+	--min_mapq 10 \
+	--snp_min_af 0.05 \
+	--snp_min_bq 20 \
+	--snp_min_ao 10 \
+	--ins_min_af 0.05 \
+	--del_min_af 0.05 \
+	--num_threads 1 \
+	--ensemble_tsv /mnt/ensemble.tsv \
+	--scan_alignments_binary /opt/neusomatic/neusomatic/bin/scan_alignments"
+
+docker run -v ${test_dir}:/mnt -u $UID --memory 30G --shm-size 8G msahraeian/neusomatic:0.2.1 /bin/bash -c \
+"CUDA_VISIBLE_DEVICES= python /opt/neusomatic/neusomatic/python/call.py \
+		--candidates_tsv /mnt/example/work_ensemble/dataset/*/candidates*.tsv \
+		--reference /mnt/example/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa \
+		--out /mnt/example/work_ensemble \
+		--checkpoint /opt/neusomatic/neusomatic/models/NeuSomatic_v0.1.0_ensemble_Dream3_70purity.pth \
+		--num_threads 1 \
+		--ensemble \
+		--batch_size 100"
+
+docker run -v ${test_dir}:/mnt -u $UID --memory 30G  msahraeian/neusomatic:0.2.1 /bin/bash -c \
+"python /opt/neusomatic/neusomatic/python/postprocess.py \
+		--reference /mnt/example/Homo_sapiens.GRCh37.75.dna.chromosome.22.fa \
+		--tumor_bam /mnt/tumor.bam \
+		--pred_vcf /mnt/example/work_ensemble/pred.vcf \
+		--candidates_vcf /mnt/example/work_ensemble/work_tumor/filtered_candidates.vcf \
+		--ensemble_tsv /mnt/ensemble.tsv \
+		--output_vcf /mnt/example/work_ensemble/NeuSomatic_ensemble.vcf \
+		--work /mnt/example/work_ensemble" 
+
+cd ..
+
+file1=${test_dir}/example/work_standalone/NeuSomatic_standalone.vcf
+file2=${test_dir}/NeuSomatic_standalone.vcf
+
+cmp --silent $file1 $file2 && echo "### NeuSomatic stand-alone: SUCCESS! ###" \
+|| echo "### NeuSomatic stand-alone FAILED: Files ${file1} and ${file2} Are Different! ###"
+
+
+file1=${test_dir}/example/work_ensemble/NeuSomatic_ensemble.vcf
+file2=${test_dir}/NeuSomatic_ensemble.vcf
+
+cmp --silent $file1 $file2 && echo "### NeuSomatic ensemble: SUCCESS! ###" \
+|| echo "### NeuSomatic ensemble FAILED: Files ${file1} and ${file2} Are Different! ###"