From 29fbe5fb5db77f30a343b4605267ea4e2b01b02d Mon Sep 17 00:00:00 2001 From: jvolkening Date: Fri, 20 Jan 2023 13:00:02 -0600 Subject: [PATCH] remove Math::SigFigs dep --- Build.PL | 3 +-- bin/boot2frac | 20 ++++++++++---------- t/boot2frac.t | 20 ++++++++++---------- t/test_data/test.newick.out.bs500.sf3.md | 2 +- t/test_data/test.newick.out.bs600.sf4.mp | 2 +- 5 files changed, 23 insertions(+), 24 deletions(-) diff --git a/Build.PL b/Build.PL index 740ec83..765547b 100644 --- a/Build.PL +++ b/Build.PL @@ -6,7 +6,7 @@ use Module::Build; my $builder = Module::Build->new( module_name => 'b2b-utils', - dist_version => 0.015, + dist_version => 0.016, dist_abstract => 'Utilities from BASE2BIO LLC', license => 'GPL_3', dist_author => q{Jeremy Volkening }, @@ -20,7 +20,6 @@ my $builder = Module::Build->new( requires => { 'BioX::Seq' => 0, 'Bio::TreeIO' => 0, - 'Math::SigFigs' => 0, 'List::MoreUtils' => 0, 'PerlIO::gzip' => 0, }, diff --git a/bin/boot2frac b/bin/boot2frac index 8a1b529..9fc578f 100755 --- a/bin/boot2frac +++ b/bin/boot2frac @@ -6,15 +6,14 @@ use 5.012; use Bio::TreeIO; use Getopt::Long; -use Math::SigFigs; use Pod::Usage; my $fn_in; my $fn_out; my $bs; -my $mode = 'decimal'; # decimal or percent -my $sf = 4; -my $force = 0; +my $mode = 'decimal'; # decimal or percent +my $places = 4; +my $force = 0; my $NAME = 'boot2frac'; my $VERSION = '0.001'; @@ -26,7 +25,7 @@ GetOptions( 'bs=i' => \$bs, 'force' => \$force, 'mode=s' => \$mode, - 'sig_figs=i' => \$sf, + 'places=i' => \$places, 'help' => sub{ pod2usage( -verbose => 2 ) }, 'version' => sub{ print "This is $NAME v$VERSION\n" and exit }, ) or pod2usage( -msg => $err_msg, -verbose => 1 ); @@ -56,8 +55,8 @@ while (my $tree = $in->next_tree) { if ($support !~ /^\d+$/); die "Branch support value greater than supplied bootstrap count" if ($support > $bs); - my $label = $mode eq 'decimal' ? FormatSigFigs($support/$bs, $sf) - : $mode eq 'percent' ? FormatSigFigs($support/$bs*100, $sf) + my $label = $mode eq 'decimal' ? sprintf("%0.*f", $places, $support/$bs) + : $mode eq 'percent' ? sprintf("%0.*f", $places-2, $support/$bs*100) : die "Unsupported mode: $mode\n"; $node->id($label); } @@ -99,10 +98,11 @@ The number of bootstraps actually run (i.e. the denominator) The format in which to write support values (either 'decimal', e.g. '0.658', or 'percent', e.g. '65.8') (default: decimal) -=item B<--sig_figs> +=item B<--places> -The number of significant figures to use in writing support values (default: -4) +The number of decimal places to use in writing support values. Note that this +is calculated before conversion to percent, so it is more like a +quasi-significant digits format (default: 4) =item B<--help> diff --git a/t/boot2frac.t b/t/boot2frac.t index 79433c0..7eaddd9 100644 --- a/t/boot2frac.t +++ b/t/boot2frac.t @@ -22,11 +22,11 @@ $cmp = 't/test_data/test.newick.out.bs500.sf3.md'; $out = File::Temp->new(UNLINK => 1); $ret = system( $bin, - '--in' => $in, - '--out' => $out, - '--bs' => 500, - '--sig_figs' => 3, - '--mode' => 'decimal', + '--in' => $in, + '--out' => $out, + '--bs' => 500, + '--places' => 3, + '--mode' => 'decimal', '--force', ); ok( ! $ret, "test $i call succeeded" ); @@ -39,11 +39,11 @@ $cmp = 't/test_data/test.newick.out.bs600.sf4.mp'; $out = File::Temp->new(UNLINK => 1); $ret = system( $bin, - '--in' => $in, - '--out' => $out, - '--bs' => 600, - '--sig_figs' => 4, - '--mode' => 'percent', + '--in' => $in, + '--out' => $out, + '--bs' => 600, + '--places' => 4, + '--mode' => 'percent', '--force', ); ok( ! $ret, "test $i call succeeded" ); diff --git a/t/test_data/test.newick.out.bs500.sf3.md b/t/test_data/test.newick.out.bs500.sf3.md index b80ae9b..edd8db0 100644 --- a/t/test_data/test.newick.out.bs500.sf3.md +++ b/t/test_data/test.newick.out.bs500.sf3.md @@ -1 +1 @@ -(((((((((AtHA5:0.16080899,(MtHA8:0.03443625,((MtHA12:0.02826669,MtHA7:0.02709547)1.00:0.08989073,MtHA3:0.06339041)0.534:0.00701517)0.852:0.02276584)0.972:0.03197485,(OsHA7:0.08006951,OsHA5:0.25690155)0.312:0.02878130)0.112:0.01295698,((AtHA3:0.10543546,(AtHA1:0.04142886,AtHA2:0.02761315)0.988:0.03563662)0.990:0.06764772,(MtHA5:0.09200765,MtHA4:0.07789138)0.966:0.03545207)0.290:0.01796465)0.460:0.01852368,((((AtHA6:0.07194197,AtHA8:0.11257159)0.918:0.03073821,((OsHA10:0.13981792,OsHA6:0.07666544)1.00:0.11941131,(MtHA11:0.08529923,MtHA10:0.09271545)0.950:0.04893483)0.378:0.03379257)0.716:0.05655055,(AtHA9:0.11955304,MtHA13:0.10217084)0.870:0.03953478)0.530:0.02368979,OsHA4:0.20774605)0.630:0.01574769)0.978:0.05308309,((((PPHA2:0.04481490,PPHA1:0.02480662)0.918:0.01176811,PPHA3:0.04191167)1.00:0.04305698,PPHA5:0.11571686)0.602:0.01423941,PPHA4:0.07601305)1.00:0.07611264)0.590:0.01993966,((OsHA9:0.20439369,MtHA9:0.08955643)0.492:0.02900198,AtHA10:0.18014107)1.00:0.17131650)0.524:0.03247169,PPHA8:0.18494231)0.292:0.01262039,((OsHA8:0.18783906,(AtHA7:0.20676650,MtHA1:0.13094007)0.598:0.04413065)1.00:0.08733036,(((OsHA3:0.03530415,OsHA1:0.03099337)0.998:0.04250190,OsHA2:0.04918639)0.826:0.01985323,(((AtHA4:0.03968310,AtHA11:0.02879809)0.972:0.02744878,MtHA2:0.04309439)0.468:0.00792143,MtHA6:0.09287388)0.966:0.03434016)0.900:0.02639269)0.938:0.02439334)1.00:0.38093515,PPHA7:0.38745225,PPHA6:0.24048235); \ No newline at end of file +(((((((((AtHA5:0.16080899,(MtHA8:0.03443625,((MtHA12:0.02826669,MtHA7:0.02709547)1.000:0.08989073,MtHA3:0.06339041)0.534:0.00701517)0.852:0.02276584)0.972:0.03197485,(OsHA7:0.08006951,OsHA5:0.25690155)0.312:0.02878130)0.112:0.01295698,((AtHA3:0.10543546,(AtHA1:0.04142886,AtHA2:0.02761315)0.988:0.03563662)0.990:0.06764772,(MtHA5:0.09200765,MtHA4:0.07789138)0.966:0.03545207)0.290:0.01796465)0.460:0.01852368,((((AtHA6:0.07194197,AtHA8:0.11257159)0.918:0.03073821,((OsHA10:0.13981792,OsHA6:0.07666544)1.000:0.11941131,(MtHA11:0.08529923,MtHA10:0.09271545)0.950:0.04893483)0.378:0.03379257)0.716:0.05655055,(AtHA9:0.11955304,MtHA13:0.10217084)0.870:0.03953478)0.530:0.02368979,OsHA4:0.20774605)0.630:0.01574769)0.978:0.05308309,((((PPHA2:0.04481490,PPHA1:0.02480662)0.918:0.01176811,PPHA3:0.04191167)1.000:0.04305698,PPHA5:0.11571686)0.602:0.01423941,PPHA4:0.07601305)1.000:0.07611264)0.590:0.01993966,((OsHA9:0.20439369,MtHA9:0.08955643)0.492:0.02900198,AtHA10:0.18014107)1.000:0.17131650)0.524:0.03247169,PPHA8:0.18494231)0.292:0.01262039,((OsHA8:0.18783906,(AtHA7:0.20676650,MtHA1:0.13094007)0.598:0.04413065)1.000:0.08733036,(((OsHA3:0.03530415,OsHA1:0.03099337)0.998:0.04250190,OsHA2:0.04918639)0.826:0.01985323,(((AtHA4:0.03968310,AtHA11:0.02879809)0.972:0.02744878,MtHA2:0.04309439)0.468:0.00792143,MtHA6:0.09287388)0.966:0.03434016)0.900:0.02639269)0.938:0.02439334)1.000:0.38093515,PPHA7:0.38745225,PPHA6:0.24048235); \ No newline at end of file diff --git a/t/test_data/test.newick.out.bs600.sf4.mp b/t/test_data/test.newick.out.bs600.sf4.mp index 20db299..9e6eb88 100644 --- a/t/test_data/test.newick.out.bs600.sf4.mp +++ b/t/test_data/test.newick.out.bs600.sf4.mp @@ -1 +1 @@ -(((((((((AtHA5:0.16080899,(MtHA8:0.03443625,((MtHA12:0.02826669,MtHA7:0.02709547)83.33:0.08989073,MtHA3:0.06339041)44.50:0.00701517)71.00:0.02276584)81.00:0.03197485,(OsHA7:0.08006951,OsHA5:0.25690155)26.00:0.02878130)9.333:0.01295698,((AtHA3:0.10543546,(AtHA1:0.04142886,AtHA2:0.02761315)82.33:0.03563662)82.50:0.06764772,(MtHA5:0.09200765,MtHA4:0.07789138)80.50:0.03545207)24.17:0.01796465)38.33:0.01852368,((((AtHA6:0.07194197,AtHA8:0.11257159)76.50:0.03073821,((OsHA10:0.13981792,OsHA6:0.07666544)83.33:0.11941131,(MtHA11:0.08529923,MtHA10:0.09271545)79.17:0.04893483)31.50:0.03379257)59.67:0.05655055,(AtHA9:0.11955304,MtHA13:0.10217084)72.50:0.03953478)44.17:0.02368979,OsHA4:0.20774605)52.50:0.01574769)81.50:0.05308309,((((PPHA2:0.04481490,PPHA1:0.02480662)76.50:0.01176811,PPHA3:0.04191167)83.33:0.04305698,PPHA5:0.11571686)50.17:0.01423941,PPHA4:0.07601305)83.33:0.07611264)49.17:0.01993966,((OsHA9:0.20439369,MtHA9:0.08955643)41.00:0.02900198,AtHA10:0.18014107)83.33:0.17131650)43.67:0.03247169,PPHA8:0.18494231)24.33:0.01262039,((OsHA8:0.18783906,(AtHA7:0.20676650,MtHA1:0.13094007)49.83:0.04413065)83.33:0.08733036,(((OsHA3:0.03530415,OsHA1:0.03099337)83.17:0.04250190,OsHA2:0.04918639)68.83:0.01985323,(((AtHA4:0.03968310,AtHA11:0.02879809)81.00:0.02744878,MtHA2:0.04309439)39.00:0.00792143,MtHA6:0.09287388)80.50:0.03434016)75.00:0.02639269)78.17:0.02439334)83.33:0.38093515,PPHA7:0.38745225,PPHA6:0.24048235); \ No newline at end of file +(((((((((AtHA5:0.16080899,(MtHA8:0.03443625,((MtHA12:0.02826669,MtHA7:0.02709547)83.33:0.08989073,MtHA3:0.06339041)44.50:0.00701517)71.00:0.02276584)81.00:0.03197485,(OsHA7:0.08006951,OsHA5:0.25690155)26.00:0.02878130)9.33:0.01295698,((AtHA3:0.10543546,(AtHA1:0.04142886,AtHA2:0.02761315)82.33:0.03563662)82.50:0.06764772,(MtHA5:0.09200765,MtHA4:0.07789138)80.50:0.03545207)24.17:0.01796465)38.33:0.01852368,((((AtHA6:0.07194197,AtHA8:0.11257159)76.50:0.03073821,((OsHA10:0.13981792,OsHA6:0.07666544)83.33:0.11941131,(MtHA11:0.08529923,MtHA10:0.09271545)79.17:0.04893483)31.50:0.03379257)59.67:0.05655055,(AtHA9:0.11955304,MtHA13:0.10217084)72.50:0.03953478)44.17:0.02368979,OsHA4:0.20774605)52.50:0.01574769)81.50:0.05308309,((((PPHA2:0.04481490,PPHA1:0.02480662)76.50:0.01176811,PPHA3:0.04191167)83.33:0.04305698,PPHA5:0.11571686)50.17:0.01423941,PPHA4:0.07601305)83.33:0.07611264)49.17:0.01993966,((OsHA9:0.20439369,MtHA9:0.08955643)41.00:0.02900198,AtHA10:0.18014107)83.33:0.17131650)43.67:0.03247169,PPHA8:0.18494231)24.33:0.01262039,((OsHA8:0.18783906,(AtHA7:0.20676650,MtHA1:0.13094007)49.83:0.04413065)83.33:0.08733036,(((OsHA3:0.03530415,OsHA1:0.03099337)83.17:0.04250190,OsHA2:0.04918639)68.83:0.01985323,(((AtHA4:0.03968310,AtHA11:0.02879809)81.00:0.02744878,MtHA2:0.04309439)39.00:0.00792143,MtHA6:0.09287388)80.50:0.03434016)75.00:0.02639269)78.17:0.02439334)83.33:0.38093515,PPHA7:0.38745225,PPHA6:0.24048235); \ No newline at end of file