GenOO
view release on metacpan or search on metacpan
lib/GenOO/RegionCollection/Type/DBIC.pm view on Meta::CPAN
# POD documentation - main docs before the code
=head1 NAME
GenOO::RegionCollection::Type::DBIC - Class for a collection of GenOO::Region objects stored in a database.
=head1 SYNOPSIS
# Object that corresponds to a collection of GenOO::Region objects.
# To initialize
my $region_collection = GenOO::RegionCollection::DB->new(
driver => undef,
host => undef,
database => undef,
table => undef,
user => undef,
password => undef,
port => undef,
name => undef,
species => undef,
description => undef,
extra => undef,
);
=head1 DESCRIPTION
This class consumes the L<GenOO::RegionCollection> role.
An instance of this class corresponds to a collection of records consuming the L<GenOO::Region>
role.The records are stored in a database (ie MySQL, SQLite, etc) and the class offers methods
for quering them and accessing specific characteristics (eg. longest record). Internally the class
rests on DBIx::Class for the database access and for defining the appropriate result objects.
Note that the columns which correspond to the required attributes of L<GenOO::Region> must exist
in the table schema (ie. strand, rname, start, stop, copy_number)
=head1 EXAMPLES
# Get the records contained in a specific region
my @records = $region_collection->records_contained_in_region(1,'chr3',127726308,127792250);
# Get the longest record
my $longest_record = $region_collection->longest_record;
=cut
# Let the code begin...
package GenOO::RegionCollection::Type::DBIC;
$GenOO::RegionCollection::Type::DBIC::VERSION = '1.5.2';
#######################################################################
####################### Load External modules #####################
#######################################################################
use Modern::Perl;
use autodie;
use Moose;
use namespace::autoclean;
#######################################################################
######################## Load GenOO modules #######################
#######################################################################
use GenOO::Data::DB::DBIC::Species::Schema;
#######################################################################
####################### Interface attributes ######################
#######################################################################
has 'dsn' => (
isa => 'Str',
is => 'ro',
);
has 'user' => (
isa => 'Maybe[Str]',
is => 'ro'
);
has 'password' => (
isa => 'Maybe[Str]',
is => 'ro'
);
has 'attributes' => (
traits => ['Hash'],
is => 'ro',
isa => 'HashRef[Str]',
default => sub { {} },
);
has 'table' => (
isa => 'Str',
is => 'ro',
);
has 'records_class' => (
is => 'ro',
default => 'GenOO::Data::DB::DBIC::Species::Schema::SampleResultBase::v1',
);
has 'name' => (
isa => 'Str',
is => 'rw'
);
has 'species' => (
isa => 'Str',
is => 'rw'
);
has 'description' => (
isa => 'Str',
is => 'rw'
);
( run in 1.496 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )