NAME
Bio::Chado::Schema
SYNOPSIS
use Bio::Chado::Schema;
my $chado = Bio::Chado::Schema->connect( $dsn, $user, $password );
print "number of rows in feature table: ",
$chado->resultset('Sequence::Feature')->count,
"\n";
DESCRIPTION
This is a standard object-relational mapping layer for use with the GMOD Chado database schema. This layer is implemented with DBIx::Class, generated with the help of the very fine DBIx::Class::Schema::Loader module.
Chado is an open-source modular database schema for biological data. It is divided into several notional "modules", which are reflected in the namespace organization of this package. Note that modules in the Chado context refers to sets of tables, they are not modules in the Perl sense.
To learn how to use this DBIx::Class ORM layer, a good starting point is the DBIx::Class::Manual.
NAME
Bio::Chado::Schema - A standard DBIx::Class layer for the Chado database schema.
CHADO MODULES COVERED BY THIS PACKAGE
Bio::Chado::Schema::Companalysis
Bio::Chado::Schema::Expression
Bio::Chado::Schema::NaturalDiversity
CLASS METHODS
plugin_add_relationship( 'ChadoModule::SourceName', 'reltype', @args )
Sometimes application-specific plugins need to add relationships to the core BCS classes. It can't just be done normally from inside the classes of the plugins, you need to use this method.
Example: Bio::Chado::Schema::Result::MyApp::SpecialThing belongs_to the core BCS Organism::Organism, and you would like to be able to call $organism->myapp_specialthings
on organisms to get their associated SpecialThings.
package Bio::Chado::Schema::MyApp::Result::SpecialThing;
# ( do table and column definitions and so forth here )
Bio::Chado::Schema->plugin_add_relationship(
'Organism::Organism', 'has_many', (
"myapp_specialthings",
"Bio::Chado::Schema::MyApp::Result::Foo",
{ "foreign.organism_id" => "self.organism_id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
);
AUTHOR
Robert Buels, <rmb32@cornell.edu>
CONTRIBUTORS
Aureliano Bombarely, <ab782@cornell.edu>
Naama Menda, <nm249@cornell.edu>
Jonathan "Duke" Leto, <jonathan@leto.net>
COPYRIGHT & LICENSE
Copyright 2009 Boyce Thompson Institute for Plant Research
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Robert Buels <rbuels@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Robert Buels.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.