Bio-Roary
view release on metacpan or search on metacpan
lib/Bio/Roary/CommandLine/ExtractProteomeFromGff.pm view on Meta::CPAN
undef $VERSION;
package Bio::Roary::CommandLine::ExtractProteomeFromGff;
$Bio::Roary::CommandLine::ExtractProteomeFromGff::VERSION = '3.13.0';
# ABSTRACT: Take in GFF files and output the proteome
use Moose;
use Getopt::Long qw(GetOptionsFromArray);
use Bio::Roary::ExtractProteomeFromGFF;
use File::Basename;
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 'gff_files' => ( is => 'rw', isa => 'ArrayRef' );
has 'output_suffix' => ( is => 'rw', isa => 'Str', default => 'proteome.faa' );
has '_error_message' => ( is => 'rw', isa => 'Str' );
has 'apply_unknowns_filter' => ( is => 'rw', isa => 'Bool', default => 1 );
has 'translation_table' => ( is => 'rw', isa => 'Int', default => 11 );
has 'verbose' => ( is => 'rw', isa => 'Bool', default => 0 );
has 'output_directory' => ( is => 'rw', isa => 'Str', default => '.' );
sub BUILD {
my ($self) = @_;
my ( $gff_files, $output_suffix, $apply_unknowns_filter, $help, $translation_table, $verbose, $cmd_version, $output_directory );
GetOptionsFromArray(
$self->args,
'o|output_suffix=s' => \$output_suffix,
'f|apply_unknowns_filter=i' => \$apply_unknowns_filter,
't|translation_table=i' => \$translation_table,
'v|verbose' => \$verbose,
'd|output_directory=s' => \$output_directory,
'w|version' => \$cmd_version,
'h|help' => \$help,
);
if ( defined($verbose) ) {
$self->verbose($verbose);
$self->logger->level(10000);
}
$self->help($help) if(defined($help));
( !$self->help ) or die $self->usage_text;
$self->version($cmd_version) if ( defined($cmd_version) );
if ( $self->version ) {
die($self->_version());
}
if ( @{ $self->args } == 0 ) {
$self->_error_message("Error: You need to provide a GFF file");
}
$self->output_suffix($output_suffix) if ( defined($output_suffix) ) ;
$self->apply_unknowns_filter($apply_unknowns_filter) if ( defined($apply_unknowns_filter) );
$self->translation_table($translation_table) if ( defined($translation_table) );
$self->output_directory($output_directory) if ( defined($output_directory) );
for my $filename ( @{ $self->args } ) {
if ( !-e $filename ) {
$self->_error_message("Error: Cant access file $filename");
last;
}
}
$self->gff_files( $self->args );
}
sub run {
( run in 1.164 second using v1.01-cache-2.11-cpan-98e64b0badf )