Provided by: libbio-chado-schema-perl_0.20000-3_all bug

NAME

       Bio::Chado::Schema - A standard DBIx::Class layer for the Chado database 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.

GETTING STARTED

       To learn how to use this DBIx::Class ORM layer, a good starting point is the
       DBIx::Class::Manual.

CHADO MODULES COVERED BY THIS PACKAGE

       Bio::Chado::Schema::CellLine

       Bio::Chado::Schema::Companalysis

       Bio::Chado::Schema::Composite

       Bio::Chado::Schema::Contact

       Bio::Chado::Schema::Cv

       Bio::Chado::Schema::Expression

       Bio::Chado::Schema::General

       Bio::Chado::Schema::Genetic

       Bio::Chado::Schema::Library

       Bio::Chado::Schema::Mage

       Bio::Chado::Schema::Map

       Bio::Chado::Schema::NaturalDiversity

       Bio::Chado::Schema::Organism

       Bio::Chado::Schema::Phenotype

       Bio::Chado::Schema::Phylogeny

       Bio::Chado::Schema::Project

       Bio::Chado::Schema::Pub

       Bio::Chado::Schema::Sequence

       Bio::Chado::Schema::Stock

CHADO VERSIONS

       Basically, BCS has always followed the SVN HEAD of Chado, since it's on a much faster
       release cycle than Chado itself.

       Most users will not experience incompatibilities using the most recent versions of
       Bio::Chado::Schema with older Chado installations.  However, if you encounter problems
       using Bio::Chado::Schema with an older Chado schema, you may want to try downgrading to an
       earlier version of Bio::Chado::Schema.  The following rough equivalencies hold between BCS
       and Chado versions:

         Chado 1.2   --  BCS 0.09000
         Chado 1.11  --  BCS 0.05801
         Chado 1.1   --  BCS 0.05801
         older       --  BCS 0.03100

SCHEMA OBJECT METHODS

   get_cvterm( "$cv_name:$cvterm_name" ) OR get_cvterm( $cv_name, $cvterm_name )
       Convenience method to for finding single cvterms based on the text name of the CV and the
       term.  The cvterm objects found with this method are cached in the schema object itself.
       Thus, you only use this function in the (relatively common) scenario in which you just
       need convenient access to a handful of different cvterms.

   get_cvterm_or_die
       Same as get_cvterm above, but dies with a "not found" message if the cvterm is not found.
       This is convenient when you don't want to be bothered with checking the return value of
       "get_cvterm", which for me is most of the time.

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

       Naama Menda, <nm249@cornell.edu>

       Aureliano Bombarely, <ab782@cornell.edu>

       Jonathan "Duke" Leto, <jonathan@leto.net>