changeset 8:b437c0a7ca04 draft

planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/nanopolish commit 419298c744d71488d78e1dadb868a4d8b933618e
author jdv
date Mon, 12 Feb 2018 03:06:42 -0500
parents 32cb27adeb34
children f1141f6a2d65
files nanopolish_variants.pl
diffstat 1 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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);
 }