Bio-Roary
view release on metacpan or search on metacpan
lib/Bio/Roary/CommandLine/AssemblyStatistics.pm view on Meta::CPAN
undef $VERSION;
package Bio::Roary::CommandLine::AssemblyStatistics;
$Bio::Roary::CommandLine::AssemblyStatistics::VERSION = '3.13.0';
# ABSTRACT: Given a spreadsheet of gene presence and absence calculate some statistics
use Moose;
use Getopt::Long qw(GetOptionsFromArray);
use Bio::Roary::AssemblyStatistics;
extends 'Bio::Roary::CommandLine::Common';
has 'args' => ( is => 'ro', isa => 'ArrayRef', required => 1 );
has 'script_name' => ( is => 'ro', isa => 'Str', required => 1 );
has 'help' => ( is => 'rw', isa => 'Bool', default => 0 );
has 'spreadsheet' => ( is => 'rw', isa => 'Str', default => 'gene_presence_absence.csv' );
has 'job_runner' => ( is => 'rw', isa => 'Str', default => 'Local' );
has 'cpus' => ( is => 'rw', isa => 'Int', default => 1 );
has 'output_filename' => ( is => 'rw', isa => 'Str', default => 'assembly_statistics.csv' );
has 'version' => ( is => 'rw', isa => 'Bool', default => 0 );
has 'core_definition' => ( is => 'rw', isa => 'Num', default => 0.99 );
has 'verbose' => ( is => 'rw', isa => 'Bool', default => 0 );
sub BUILD {
my ($self) = @_;
my (
$spreadsheet,
$job_runner,
$cpus,
$output_filename,
$version,
$core_definition,
$verbose,
$help
);
GetOptionsFromArray(
$self->args,
'o|output_filename=s' => \$output_filename,
'j|job_runner=s' => \$job_runner,
'p|processors=i' => \$cpus,
'cd|core_definition=f' => \$core_definition,
'v|verbose' => \$verbose,
'w|version' => \$version,
'h|help' => \$help,
);
$self->version($version) if ( defined($version) );
if ( $self->version ) {
die($self->_version());
}
if ( defined($verbose) ) {
$self->verbose($verbose);
$self->logger->level(10000);
}
$self->help($help) if ( defined($help) );
( !$self->help ) or die $self->usage_text;
if(@{$self->args} == 0)
{
$self->logger->error("Error: You need to provide a gene_presence_absence.csv spreadsheet");
die $self->usage_text;
}
$self->output_filename($output_filename) if ( defined($output_filename) );
$self->job_runner($job_runner) if ( defined($job_runner) );
$self->cpus($cpus) if ( defined($cpus) );
if ( $self->cpus > 1 ) {
$self->job_runner('Parallel');
}
( run in 0.831 second using v1.01-cache-2.11-cpan-98e64b0badf )