# HG changeset patch # User jdv # Date 1518422802 18000 # Node ID b437c0a7ca04e54d4829d50093b5e299309893c0 # Parent 32cb27adeb341dbb10e7f5490d707ce85c3551ea planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/nanopolish commit 419298c744d71488d78e1dadb868a4d8b933618e diff -r 32cb27adeb34 -r b437c0a7ca04 nanopolish_variants.pl --- a/nanopolish_variants.pl Mon Feb 12 00:58:10 2018 -0500 +++ b/nanopolish_variants.pl Mon Feb 12 03:06:42 2018 -0500 @@ -7,6 +7,7 @@ use Cwd qw/getcwd abs_path/; use File::Copy qw/copy/; use Getopt::Long qw/:config pass_through/; +use List::Util qw/min/; use threads; use threads::shared; use BioX::Seq::Stream; @@ -38,6 +39,14 @@ my $tmp_dir = 'tmp_dir'; mkdir $tmp_dir; +# divide available threads between actual threads and regions +# +# testing suggests minimal speed-up past 4-8 actual threads per region, so use +# remaining threads for running parallel regions +my $n_threads = min( 4, $threads ); +my $n_workers = int($threads/$n_threads); + + $fn_fast5 = abs_path($fn_fast5); # extract FAST5 files to path where they are expected @@ -82,8 +91,9 @@ my @cmd = @ARGV; unshift @cmd, 'nanopolish'; -push @cmd, '--genome', $fn_genome; -push @cmd, '--reads', $fn_link; +push @cmd, '--genome', $fn_genome; +push @cmd, '--reads', $fn_link; +push @cmd, '--threads', $n_threads; my @regions :shared; @@ -96,7 +106,7 @@ } my @workers; -for (1..$threads) { +for (1..$n_workers) { push @workers, threads->create(\&run); }