2929# constants
3030
3131my $EXE = " $FindBin::RealScript " ;
32- my $VERSION = ' 1.30-dev ' ;
32+ my $VERSION = ' 1.40 ' ;
3333my $AUTHOR = ' Torsten Seemann <torsten.seemann@gmail.com>' ;
3434my $URL = " https://github.com/tseemann/nullarbor" ;
3535my @CMDLINE = ($0 , @ARGV );
4646my $cpus = max( 2, num_cpus() ); # megahit needs 2
4747my $force = 0;
4848my $run = 0;
49- # my $report = 0;
5049my $indir = ' ' ;
5150my $name = ' ' ;
5251my $accurate = 0;
5756my $check = 0;
5857my $gcode = 0; # prokka genetic code (0=auto)
5958
60- # plugins
61- my $trimmer = ' ' ;
62- my $trimmer_opt = ' ' ;
63- my $assembler = ' ' ;
64- my $assembler_opt = ' ' ;
65- my $treebuilder = ' ' ;
66- my $treebuilder_opt = ' ' ;
67- my $recomb = ' ' ;
68- my $recomb_opt = ' ' ;
69-
70- my $plugin = Nullarbor::Plugins-> discover();
71- # msg(Dumper($plugin));
72-
7359@ARGV or usage();
7460
7561GetOptions(
9379 " name=s" => \$name ,
9480 " fullanno!" => \$fullanno ,
9581 " keepfiles!" => \$keepfiles ,
96- # plugins
97- " trimmer=s" => \$trimmer ,
98- " trimmer-opt=s" => \$trimmer_opt ,
99- " assembler=s" => \$assembler ,
100- " assembler-opt=s" => \$assembler_opt ,
101- " treebuilder=s" => \$treebuilder ,
102- " treebuilder-opt=s" => \$treebuilder_opt ,
103- " recomb=s" => \$recomb ,
104- " recomb-opt=s" => \$recomb_opt ,
10582)
10683or usage();
10784
304281 DEP => [ $clipped [0] ],
305282 };
306283
307- if ($assembler ) {
308- $make {" $id /$CTG " } = {
309- DEP => [ @clipped ],
310- CMD => [
311- qq{ read1="$clipped [0]" read2="$clipped [1]" cpus="$CPUS " outdir="$id " opts="$assembler_opt " } .$plugin -> {assembler }{$assembler },
312- ],
313- };
314-
315- }
316- elsif ($accurate ) {
284+ if ($accurate ) {
317285 $make {" $id /$CTG " } = {
318286 DEP => [ @clipped ],
319287 CMD => [
320288 " rm -f -r $id /spades" ,
321289# "spades.py -t $CPUS -1 $clipped[0] -2 $clipped[1] -o $id/spades --only-assembler --careful",
322- " spades.py --tmp-dir '$TEMPDIR ' -t $CPUS -1 $clipped [0] -2 $clipped [1] -o $id /spades --only-assembler -- careful" ,
290+ " spades.py --tmp-dir '$TEMPDIR ' -t $CPUS -1 $clipped [0] -2 $clipped [1] -o $id /spades --careful" ,
323291 " mv $id /spades/scaffolds.fasta $make_target " ,
324292 " mv $id /spades/spades.log $id /spades.log" ,
325293 " rm -f -v -r $id /spades" ,
@@ -622,15 +590,6 @@ sub usage {
622590 print " --accurate Run as slow as possible for the hope of improved accuracy\n " ;
623591 print " --fullanno Don't use --fast for Prokka\n " ;
624592 print " --keepfiles Keep ALL ancillary files to annoy your sysadmin\n " ;
625- print " PLUGINS (CURRENTLY NOT WORKING)\n " ;
626- # print " --trimmer NAME Read trimmer to use ($trimmer)\n";
627- # print " --trimmer-opt STR Read trimmer options to pass ($trimmer_opt)\n";
628- print " --assembler NAME Assembler to use: " , default_string( $assembler , keys (%{$plugin -> {assembler }}) ), " \n " ;
629- print " --assembler-opt STR Extra assembler options to pass ($assembler_opt )\n " ;
630- print " --treebuilder NAME Tree-builder to use: " , default_string( $treebuilder , keys (%{$plugin -> {treebuilder }}) ), " \n " ;
631- print " --treebuilder-opt STR Extra tree-builder options to pass ($treebuilder_opt )\n " ;
632- print " --recomb NAME Recombination masker to use: " , default_string( $recomb , keys (%{$plugin -> {recomb }}) ), " \n " ;
633- print " --recomb-opt STR Extra recombination marker options to pass ($recomb_opt )\n " ;
634593 print " DOCUMENTATION\n " ;
635594 print " $URL \n " ;
636595
@@ -648,12 +607,11 @@ sub check_deps {
648607 my ($self ) = @_ ;
649608
650609 require_exe( qw' convert head cat install env nl' );
651- require_exe( qw' trimmomatic prokka roary kraken snippy mlst abricate megahit spades.py shovill nw_order nw_display FastTree snp-dists seqret' );
610+ require_exe( qw' trimmomatic prokka roary kraken snippy mlst abricate megahit spades.py nw_order nw_display FastTree snp-dists seqret' );
652611 require_exe( qw' fq fa roary2svg.pl' );
653612
654613 require_perlmod( qw' Data::Dumper Moo Bio::SeqIO File::Copy Time::Piece YAML::Tiny File::Slurp File::Copy SVG Text::CSV List::MoreUtils' );
655614
656- require_version(' shovill' , 0.8);
657615 require_version(' megahit' , 1.1);
658616 require_version(' snippy' , 3.1);
659617 require_version(' prokka' , 1.12);
0 commit comments