diff --git a/patterngenerator/makesnvpattern.pl b/patterngenerator/makesnvpattern.pl index 5dcbcbf..4383907 100755 --- a/patterngenerator/makesnvpattern.pl +++ b/patterngenerator/makesnvpattern.pl @@ -1,22 +1,26 @@ #!/usr/bin/perl ## the script assumes bowtie path is included. +sub system2{ + system(@_)==0 || die "$?"; +} + if(@ARGV<5){ print "usage: $0 bedfile genomefasta genome(bowtie)index outdir outprefix\n"; exit;} my ($bedfile,$genomefasta,$genomeindex,$outdir,$outprefix)=@ARGV; if(!-d $outdir){ system("mkdir -p $outdir"); } my ($scriptdir)=$0=~/(.+\/)[^\/]+$/; -system("${scriptdir}snvbed2patternfile.3.pl $bedfile $genomefasta > $outdir/$outprefix.txt"); -system("${scriptdir}patternfile2fasta.pl $outdir/$outprefix.txt > $outdir/$outprefix.fasta"); -system("bowtie -f -p 4 -v 0 -a $genomeindex $outdir/$outprefix.fasta > $outdir/$outprefix.bowtieout"); -system("${scriptdir}parse.pattern.bowtie.pl $outdir/$outprefix.bowtieout > $outdir/$outprefix.ntm"); -system("${scriptdir}filter_patters_based_on_ntm.pl $outdir/$outprefix.txt $outdir/$outprefix.ntm > $outdir/$outprefix.uniq.txt"); -system("${scriptdir}patternconverter $outdir/$outprefix.uniq.txt $outdir/$outprefix.pt"); +system2("${scriptdir}snvbed2patternfile.3.pl $bedfile $genomefasta > $outdir/$outprefix.txt"); +system2("${scriptdir}patternfile2fasta.pl $outdir/$outprefix.txt > $outdir/$outprefix.fasta"); +system2("bowtie -f -p 4 -v 0 -a $genomeindex $outdir/$outprefix.fasta > $outdir/$outprefix.bowtieout"); +system2("${scriptdir}parse.pattern.bowtie.pl $outdir/$outprefix.bowtieout > $outdir/$outprefix.ntm"); +system2("${scriptdir}filter_patters_based_on_ntm.pl $outdir/$outprefix.txt $outdir/$outprefix.ntm > $outdir/$outprefix.uniq.txt"); +system2("${scriptdir}patternconverter $outdir/$outprefix.uniq.txt $outdir/$outprefix.pt"); # test print("Checking pattern file...\n"); -system("${scriptdir}patterntestreader $outdir/$outprefix.pt $outdir/$outprefix.pt-txt"); -system("sort $outdir/$outprefix.pt-txt > $outdir/$outprefix.pt-txt.sorted"); -system("sort $outdir/$outprefix.uniq.txt > $outdir/$outprefix.uniq.txt.sorted"); +system2("${scriptdir}patterntestreader $outdir/$outprefix.pt $outdir/$outprefix.pt-txt"); +system2("sort $outdir/$outprefix.pt-txt > $outdir/$outprefix.pt-txt.sorted"); +system2("sort $outdir/$outprefix.uniq.txt > $outdir/$outprefix.uniq.txt.sorted"); $diff=`diff $outdir/$outprefix.pt-txt.sorted $outdir/$outprefix.uniq.txt.sorted`; if($diff!~/\S/){ print("pattern file looks good!\n"); diff --git a/tests/test.sh b/tests/test.sh index 8cb2b34..a0854ed 100644 --- a/tests/test.sh +++ b/tests/test.sh @@ -1,13 +1,11 @@ #!/bin/bash -set -e # patterngenerator test -./patterngenerator/makesnvpattern.pl tests/SNP_GRCh37_hg19_woChr_21part.bed tests/GRCh37_21part.multi.fa tests/GRCh37_21part tests out +./patterngenerator/makesnvpattern.pl tests/SNP_GRCh37_hg19_woChr_21part.bed tests/GRCh37_21part.multi.fa tests/GRCh37_21part tests out || exit $? # ngscheckmate_fastq test for the pattern file -./ngscheckmate_fastq -1 tests/test_21part.fastq tests/out.pt +./ngscheckmate_fastq -1 tests/test_21part.fastq tests/out.pt || exit $? # remove test pattern files -rm tests/out* +rm -rf tests/out* -set +e