Bio-MLST-Check
view release on metacpan or search on metacpan
lib/Bio/MLST/Databases.pm view on Meta::CPAN
package Bio::MLST::Databases;
# ABSTRACT: List available MLST databases
$Bio::MLST::Databases::VERSION = '2.1.1706216';
use Moose;
has 'base_directory' => ( is => 'ro', isa => 'Str', required => 1 );
has 'database_names' => ( is => 'ro', isa => 'ArrayRef', lazy => 1, builder => '_builder_database_names' );
sub _builder_database_names
{
my($self) = @_;
my @only_directories;
opendir(my $dh,$self->base_directory);
my @database_names = grep { /^[^\.]/ } readdir($dh);
for my $file_or_dir_name (sort(@database_names))
{
next unless(-d ($self->base_directory.'/'.$file_or_dir_name));
push(@only_directories, $file_or_dir_name);
}
return \@only_directories;
}
sub print_db_list
{
my($self) = @_;
for my $database_name (@{$self->database_names})
{
$database_name =~ s!_! !g;
print $database_name."\n";
}
1;
}
no Moose;
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Bio::MLST::Databases - List available MLST databases
=head1 VERSION
version 2.1.1706216
=head1 SYNOPSIS
List available MLST databases
use Bio::MLST::Databases;
my $mlst_dbs = Bio::MLST::Databases->new(
base_directory => '/path/to/databases',
);
$mlst_dbs->print_db_list;
=head1 METHODS
=head2 print_db_list
( run in 0.496 second using v1.01-cache-2.11-cpan-39bf76dae61 )