Mercurial > repos > youngkim > ezbamqc
view ezBAMQC/src/htslib/test/test_view.pl @ 18:494b5cd02238
bash script
author | youngkim |
---|---|
date | Wed, 30 Mar 2016 13:39:05 -0400 |
parents | dfa3745e5fd8 |
children |
line wrap: on
line source
#! /usr/bin/env perl # # Copyright (C) 2013 Genome Research Ltd. # # Author: James Bonfield <jkb@sanger.ac.uk> # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. use strict; use warnings; my $err_count = 0; my $suc_count = 0; sub test { my ($cmd) = @_; print " $cmd\n"; if (system("$cmd || exit 1") != 0) { print "FAIL $!\n"; $err_count++; } else { $suc_count++; } } foreach my $sam (glob("*#*.sam")) { my ($base, $ref) = ($sam =~ /((.*)#.*)\.sam/); $ref .= ".fa"; my $bam = "$base.tmp.bam"; my $cram = "$base.tmp.cram"; print "\n=== Testing $sam, ref $ref ===\n"; # SAM -> BAM -> SAM test "./test_view -S -b $sam > $bam"; test "./test_view $bam > $bam.sam_"; test "./compare_sam.pl $sam $bam.sam_"; # SAM -> CRAM -> SAM test "./test_view -t $ref -S -C $sam > $cram"; test "./test_view -D $cram > $cram.sam_"; test "./compare_sam.pl -nomd $sam $cram.sam_"; # BAM -> CRAM -> BAM -> SAM $cram = "$bam.cram"; test "./test_view -t $ref -C $bam > $cram"; test "./test_view -b -D $cram > $cram.bam"; test "./test_view $cram.bam > $cram.bam.sam_"; test "./compare_sam.pl -nomd $sam $cram.bam.sam_"; } print "\nSuccesses $suc_count\n"; print "\nFailures $err_count\n"; exit ($err_count > 0);