Bio-Chado-Schema-0.20000/0000755000175000017500000000000011775633337012743 5ustar robrobBio-Chado-Schema-0.20000/LICENSE0000644000175000017500000004351411775633337013757 0ustar robrobThis 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. Terms of the Perl programming language system itself a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- This software is Copyright (c) 2011 by Robert Buels. This is free software, licensed under: The GNU General Public License, Version 1, February 1989 GNU GENERAL PUBLIC LICENSE Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The license agreements of most software companies try to keep users at the mercy of those companies. By contrast, our General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. The General Public License applies to the Free Software Foundation's software and to any other program whose authors commit to using it. You can use it for your programs, too. When we speak of free software, we are referring to freedom, not price. Specifically, the General Public License is designed to make sure that you have the freedom to give away or sell copies of free software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications. Each licensee is addressed as "you". 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this General Public License and to the absence of any warranty; and give any other recipients of the Program a copy of this General Public License along with the Program. You may charge a fee for the physical act of transferring a copy. 2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License. d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. 3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.) Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. 4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation. 8. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to humanity, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice That's all there is to it! --- The Artistic License 1.0 --- This software is Copyright (c) 2011 by Robert Buels. This is free software, licensed under: The Artistic License 1.0 The Artistic License Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: - "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. - "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. - "Copyright Holder" is whoever is named in the copyright or copyrights for the package. - "You" is you, if you're thinking about copying or distributing this Package. - "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) - "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. 7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End Bio-Chado-Schema-0.20000/Changes0000644000175000017500000002725011775633337014244 0ustar robrob0.20000 2012-07-06 15:04:34 America/New_York * added Bio::Chado::NaturalDiversity::Reports, which has some canned reporting functions for working with natural diversity data (nmenda) * added greate_genotypeprops to Genetic::Genotype (nmenda) * added stock_phenotypes_rs, recursive_phenotypes_rs, stock_genotypes_rs, and stock_project_phenotypes to Stock::Stock (nmenda) 0.10010 2011-11-08 16:39:15 America/New_York * fix (in cleanup) errors related to schema object DESTROY function on some versions of DBIC * added create_phenotypeprop function (naama) * fix filenames of Chado-module-level POD files. For instance, Bio::Chado::Schema::Result::Sequence POD is now rightly in lib/Bio/Chado/Schema/Result/Sequence.pod 0.10000 2011-11-07 13:22:41 America/Los_Angeles * add support for phenotypeprop table from Chado svn r25232 0.09040 2011-11-04 09:31:11 America/Los_Angeles * fix a memory-leak bug present in 0.9010 through 0.9030 0.09030 2011-11-03 14:58:58 America/Los_Angeles * fix some issues with repeated sections in the POD 0.09020 2011-11-02 17:30:03 America/Los_Angeles * implemented alphabet() function for Feature rows using as a silly heuristic that works in many cases. alphabet() is needed by things like revcom() in newer versions of BioPerl. 0.09010 2011-10-24 11:25:25 America/Los_Angeles * added get_cvterm and get_cvterm_or_die convenience methods directly to the schema object, since cvterms are so pervasive in chado * added to_range to Featureloc class that makes a Bio::Range object for that location. 0.09000 2011-09-22 09:27:36 America/Los_Angeles * update for Chado 1.2, including: + add classes for new Chado 1.2 tables chadoprop (Cv::Chadoprop) genotypeprop (Genetic::Genotypeprop) + adds type to nd_protocol (NaturalDiversity::NdProtocol) + adds name column to phenotype table (Phenotype::Phenotype) + corrects misspelled name of stock_relationship_id column accessor for stock_relationship_cvterm (Stock::StockRelationshipCvterm), adds stock_relationship DBIC relation 0.08200 2011-09-19 09:35:03 America/Los_Angeles * fix inconsistencies in behavior for features with null residues and/or seqlens 0.08100 2011-03-21 16:01:00 America/Los_Angeles * add support for literal sql in property values set using create_*props helper functions * add 'features' many-to-many relation to the Synonym result class. * add 'synonyms' many-to-many relation to the Feature result class. * add new class for stock_cvtermprop table, and new is_not and rank columns for stock_cvterm 0.08002 2011-02-22 11:17:13 America/Los_Angeles * Added support for new cvprop table. * Added plugin_add_relationship class method to Bio::Chado::Schema main class, which makes it possible to do BCS plugins: sets of classes in the Bio::Chado::Schema namespace that are loaded as part of BCS. plugin_add_relationship lets plugins inject relationships into the core BCS classes. 0.07300 2010-11-28 17:19:08 PST8PDT * Add convenient featureloc length() method. * Add better support for large sequences: a subseq() method to Feature class with support for checking a 'large_residues' featureprop for sequence, and doing substring calls on that. 0.07100 2010-11-16 12:28:17 PST8PDT * Fix bug with Cvterm add_secondary_dbxref, only caught under DBIx::Class >= 0.08124 * add convenience methods for creating stock_dbxrefprops, nd_experimentprops, projectprops, and geolocationprops * add methods for working with parent and child terms of cvterms * Convert t/lib/BCSTest.pm to Bio::Chado::Schema::Test so other CPAN modules can have test suites that use an automagically-created SQLite db 0.06400 2010-10-20 20:54:37 PST8PDT * added naama's stock_dbxrefprop from upstream chado 0.06302 2010-10-20 09:58:19 PST8PDT * corrected homepage url in CPAN upload 0.06301 2010-10-19 17:49:41 PST8PDT * corrected missing DBIx::Class::Tree::NestedSet dep 0.06300 2010-10-18 17:38:29 PST8PDT * converted build system to Dist::Zilla * applied nmenda's type_id corrections from chado trunk * fix permission denied test failure caused by shipping a t/var/BCS.db file by accident 0.06200 * removed erroneous duplicate General/Project.pm module * Updated natdiv module from Chado upstream (fixed upstream by nmenda). * Added create_stockprops method to stock module (nmenda). 0.06001 * Corrected missing stuff in the manifest. 0.06000 * Added DBIx::Class::Tree::NestedSet support to for Phylonodes. * Added Natural Diversity and Project module support. 0.05801 * Fix bugs and add tests for child_features and parent_features on Sequence::Feature * Added parent_relationships and child_relationships rels to Sequence::Feature as more intuitive aliases for feature_relationship_* 0.05800 * New aliases on Sequence::Feature child_features -> featureloc_features parent_features -> featureloc_srcfeatures * Added a function for creating cvtermsynonyms ($cvterm->add_synonym) * Added a function for creating new cvtermprops ($cvterm->create_cvtermprops) * Test suite can now deploy a Chado schema to a SQLite database if BCS_TEST_DSN is not defined. This means that smokers can now run these tests without setting up any databases. -- leto 0.05703 * relaxed dependency on Carp 1.08 0.05702 * that upload was a bit TOO clean, was missing the Build.PL! 0.05701 * corrected a dirty cpan upload 0.05700 * re-dumped with latest schema loader devel version * stripped _id suffixes for a number of relationships that still had them. Hopefully the schema loader patch used for this will make it into schema loader releases. List of changed relationship names: lib/Bio/Chado/Schema/CellLine/CellLine.pm cell_line_relationship_subject_ids -> cell_line_relationship_subjects cell_line_relationship_object_ids -> cell_line_relationship_objects lib/Bio/Chado/Schema/Contact/Contact.pm contact_relationship_object_ids -> contact_relationship_objects contact_relationship_subject_ids -> contact_relationship_subjects lib/Bio/Chado/Schema/Cv/Cvterm.pm arraydesign_platformtype_ids -> arraydesign_platformtypes arraydesign_substratetype_ids -> arraydesign_substratetypes cvtermpath_type_ids -> cvtermpath_types cvtermpath_object_ids -> cvtermpath_objects cvtermpath_subject_ids -> cvtermpath_subjects cvtermprop_type_ids -> cvtermprop_types cvtermprop_cvterm_ids -> cvtermprop_cvterms cvterm_relationship_type_ids -> cvterm_relationship_types cvterm_relationship_object_ids -> cvterm_relationship_objects cvterm_relationship_subject_ids -> cvterm_relationship_subjects cvtermsynonym_type_ids -> cvtermsynonym_types cvtermsynonym_cvterm_ids -> cvtermsynonym_cvterms expression_cvterm_cvterm_ids -> expression_cvterm_cvterms expression_cvterm_cvterm_type_ids -> expression_cvterm_cvterm_types phenotype_assay_ids -> phenotype_assays phenotype_attr_ids -> phenotype_attrs phenotype_observable_ids -> phenotype_observables phenotype_cvalue_ids -> phenotype_cvalues protocolparam_unittype_ids -> protocolparam_unittypes protocolparam_datatype_ids -> protocolparam_datatypes lib/Bio/Chado/Schema/Genetic/Environment.pm phenotype_comparison_environment2_ids -> phenotype_comparison_environment2s phenotype_comparison_environment1_ids -> phenotype_comparison_environment1s lib/Bio/Chado/Schema/Genetic/Genotype.pm phenotype_comparison_genotype1_ids -> phenotype_comparison_genotype1s phenotype_comparison_genotype2_ids -> phenotype_comparison_genotype2s lib/Bio/Chado/Schema/Mage/Acquisition.pm acquisition_relationship_subject_ids -> acquisition_relationship_subjects acquisition_relationship_object_ids -> acquisition_relationship_objects lib/Bio/Chado/Schema/Mage/Biomaterial.pm biomaterial_relationship_subject_ids -> biomaterial_relationship_subjects biomaterial_relationship_object_ids -> biomaterial_relationship_objects lib/Bio/Chado/Schema/Mage/Element.pm element_relationship_object_ids -> element_relationship_objects element_relationship_subject_ids -> element_relationship_subjects lib/Bio/Chado/Schema/Mage/Elementresult.pm elementresult_relationship_subject_ids -> elementresult_relationship_subjects elementresult_relationship_object_ids -> elementresult_relationship_objects lib/Bio/Chado/Schema/Mage/Quantification.pm quantification_relationship_subject_ids -> quantification_relationship_subjects quantification_relationship_object_ids -> quantification_relationship_objects lib/Bio/Chado/Schema/Phenotype/Phenotype.pm phenotype_comparison_phenotype1_ids -> phenotype_comparison_phenotype1s phenotype_comparison_phenotype2_ids -> phenotype_comparison_phenotype2s lib/Bio/Chado/Schema/Phylogeny/Phylonode.pm phylonode_relationship_object_ids -> phylonode_relationship_objects phylonode_relationship_subject_ids -> phylonode_relationship_subjects lib/Bio/Chado/Schema/Pub/Pub.pm pub_relationship_object_ids -> pub_relationship_objects pub_relationship_subject_ids -> pub_relationship_subjects lib/Bio/Chado/Schema/Sequence/Feature.pm feature_genotype_feature_ids -> feature_genotype_features feature_genotype_chromosome_ids -> feature_genotype_chromosomes featureloc_feature_ids -> featureloc_features featureloc_srcfeature_ids -> featureloc_srcfeatures featurepos_feature_ids -> featurepos_features featurepos_map_feature_ids -> featurepos_map_features featurerange_leftendf_ids -> featurerange_leftendfs featurerange_rightstartf_ids -> featurerange_rightstartfs featurerange_rightendf_ids -> featurerange_rightendfs featurerange_leftstartf_ids -> featurerange_leftstartfs featurerange_feature_ids -> featurerange_features feature_relationship_subject_ids -> feature_relationship_subjects feature_relationship_object_ids -> feature_relationship_objects lib/Bio/Chado/Schema/Stock/Stock.pm stock_relationship_subject_ids -> stock_relationship_subjects stock_relationship_object_ids -> stock_relationship_objects * new create_with() function for creating new cvterms * more POD tweaking to improve CPAN indexing 0.05501 * tweaked per-chado-module POD for better CPAN indexing 0.05500 * much better POD, added autogenerated links from Schema.pm to per-chado-module POD files, and links to chado module pod files in Schema.pm * improved slide presentation to the version given at January 2010 GMOD meeting 0.05001 * test count bugfix 0.05000 * Added DBICSL-generated POD * Turned off DBIC's cascade_delete and cascade_copy on all relations (thanks to Siddhartha Basu for troubleshooting). Things break if these are on and you don't have every part of the schema installed. 0.04300 * Corrected a rather dirty CPAN upload, Util.pod file was in the wrong place. 0.04200 * removed Util.pm, replaced with Util.pod for documentation, moved the actual Util methods into a separate package inside Schema.pm. Thanks to Aure Bombarely. 0.04100 * added missing dependency on BioPerl 0.04000 * added new modules and relationships for the newly released cell_line module in Chado 0.03100 * added $VERSION to Bio::Chado::Schema to support CPAN indexer, bumped version by several numbers to force CPAN reindexing 0.022 * update to schema dumping script now finds many more inter-module relationships * added the new inter-module relationships found by the dumping script 0.01_03 * changed namespace to Bio::Chado instead of Chado 0.01_01 * Initial release. Bio-Chado-Schema-0.20000/README.md0000644000175000017500000000163311775633337014225 0ustar robrob# Bio::Chado::Schema - A DBIx::Class ORM layer for Chado 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. # Installation ## From CPAN and friends If you are using a distribution tarball of Bio::Chado::Schema (such as from CPAN) : perl Build.PL ./Build installdeps ./Build test ./Build install ## From a git repo If you are developer using the git repo, then Dist::Zilla needs to be used: dzil build dzil test dzil install Bio-Chado-Schema-0.20000/Makefile.PL0000644000175000017500000000305211775633337014715 0ustar robrob use strict; use warnings; use ExtUtils::MakeMaker 6.30; my %WriteMakefileArgs = ( "ABSTRACT" => "A standard DBIx::Class layer for the Chado database schema.", "AUTHOR" => "Robert Buels ", "BUILD_REQUIRES" => { "DBD::SQLite" => "1.14", "FindBin" => 0, "SQL::Translator" => "0.11005", "Test::Exception" => "0.27", "Test::More" => "0.87", "Test::Warn" => 0 }, "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => "6.30" }, "DISTNAME" => "Bio-Chado-Schema", "EXE_FILES" => [], "LICENSE" => "perl", "NAME" => "Bio::Chado::Schema", "PREREQ_PM" => { "Bio::PrimarySeq" => 0, "Bio::Range" => 0, "Bio::Root::Version" => "1.005002", "Carp" => 0, "Carp::Clan" => 0, "DBIx::Class" => 0, "DBIx::Class::Core" => 0, "DBIx::Class::ResultSet" => 0, "DBIx::Class::Schema" => 0, "DBIx::Class::Tree::NestedSet" => "0.07", "base" => 0, "strict" => 0, "warnings" => 0 }, "VERSION" => "0.20000", "test" => { "TESTS" => "t/*.t t/Cv/*.t t/Phylogeny/*.t t/Sequence/*.t t/Stock/*.t" } ); unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) { my $br = delete $WriteMakefileArgs{BUILD_REQUIRES}; my $pp = $WriteMakefileArgs{PREREQ_PM}; for my $mod ( keys %$br ) { if ( exists $pp->{$mod} ) { $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod}; } else { $pp->{$mod} = $br->{$mod}; } } } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); Bio-Chado-Schema-0.20000/README0000644000175000017500000000163311775633337013626 0ustar robrob# Bio::Chado::Schema - A DBIx::Class ORM layer for Chado 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. # Installation ## From CPAN and friends If you are using a distribution tarball of Bio::Chado::Schema (such as from CPAN) : perl Build.PL ./Build installdeps ./Build test ./Build install ## From a git repo If you are developer using the git repo, then Dist::Zilla needs to be used: dzil build dzil test dzil install Bio-Chado-Schema-0.20000/MANIFEST0000644000175000017500000003521511775633337014102 0ustar robrobChanges LICENSE MANIFEST META.json META.yml Makefile.PL README README.md dist.ini doc/slides/dbic_intro/Spork.slides doc/slides/dbic_intro/config.yaml doc/slides/dbic_intro/config/config.yaml doc/slides/dbic_intro/plugin/template/ttc/slides/template/s5/s5.html.ttc doc/slides/dbic_intro/plugin/template/ttc/slides/template/s5/slide.html.ttc doc/slides/dbic_intro/slides/css/perl_tidy_blocks.css doc/slides/dbic_intro/slides/images/cpan.jpg doc/slides/dbic_intro/slides/images/cpan_banner.png doc/slides/dbic_intro/slides/start.html doc/slides/dbic_intro/slides/template/s5/s5.html doc/slides/dbic_intro/slides/template/s5/slide.html doc/slides/dbic_intro/slides/ui/bodybg.gif doc/slides/dbic_intro/slides/ui/button.gif doc/slides/dbic_intro/slides/ui/framing.css doc/slides/dbic_intro/slides/ui/opera.css doc/slides/dbic_intro/slides/ui/pretty.css doc/slides/dbic_intro/slides/ui/print.css doc/slides/dbic_intro/slides/ui/s5-core.css doc/slides/dbic_intro/slides/ui/slide0h1.gif doc/slides/dbic_intro/slides/ui/slides.css doc/slides/dbic_intro/slides/ui/slides.js doc/slides/dbic_intro/slides/ui/toggle.gif doc/slides/dbic_intro/template/tt2/bottom.html doc/slides/dbic_intro/template/tt2/controls.js doc/slides/dbic_intro/template/tt2/index.html doc/slides/dbic_intro/template/tt2/slide.css doc/slides/dbic_intro/template/tt2/slide.html doc/slides/dbic_intro/template/tt2/start.html doc/slides/dbic_intro/template/tt2/top.html doc/slides/intro/Spork.slides doc/slides/intro/config.yaml doc/slides/intro/config/config.yaml doc/slides/intro/plugin/template/ttc/slides/template/s5/s5.html.ttc doc/slides/intro/plugin/template/ttc/slides/template/s5/slide.html.ttc doc/slides/intro/slides/css/perl_tidy_blocks.css doc/slides/intro/slides/images/cpan.jpg doc/slides/intro/slides/images/cpan_banner.png doc/slides/intro/slides/start.html doc/slides/intro/slides/template/s5/s5.html doc/slides/intro/slides/template/s5/slide.html doc/slides/intro/slides/ui/bodybg.gif doc/slides/intro/slides/ui/button.gif doc/slides/intro/slides/ui/framing.css doc/slides/intro/slides/ui/opera.css doc/slides/intro/slides/ui/pretty.css doc/slides/intro/slides/ui/print.css doc/slides/intro/slides/ui/s5-core.css doc/slides/intro/slides/ui/slide0h1.gif doc/slides/intro/slides/ui/slides.css doc/slides/intro/slides/ui/slides.js doc/slides/intro/slides/ui/toggle.gif doc/slides/intro/template/tt2/bottom.html doc/slides/intro/template/tt2/controls.js doc/slides/intro/template/tt2/index.html doc/slides/intro/template/tt2/slide.css doc/slides/intro/template/tt2/slide.html doc/slides/intro/template/tt2/start.html doc/slides/intro/template/tt2/top.html lib/Bio/Chado/NaturalDiversity/Reports.pm lib/Bio/Chado/Schema.pm lib/Bio/Chado/Schema/Result/CellLine.pod lib/Bio/Chado/Schema/Result/CellLine/CellLine.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineCvterm.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineCvtermprop.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineDbxref.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineFeature.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineLibrary.pm lib/Bio/Chado/Schema/Result/CellLine/CellLinePub.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineRelationship.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineSynonym.pm lib/Bio/Chado/Schema/Result/CellLine/CellLineprop.pm lib/Bio/Chado/Schema/Result/CellLine/CellLinepropPub.pm lib/Bio/Chado/Schema/Result/Companalysis.pod lib/Bio/Chado/Schema/Result/Companalysis/Analysis.pm lib/Bio/Chado/Schema/Result/Companalysis/Analysisfeature.pm lib/Bio/Chado/Schema/Result/Companalysis/Analysisfeatureprop.pm lib/Bio/Chado/Schema/Result/Companalysis/Analysisprop.pm lib/Bio/Chado/Schema/Result/Composite.pod lib/Bio/Chado/Schema/Result/Composite/AllFeatureNames.pm lib/Bio/Chado/Schema/Result/Composite/Dfeatureloc.pm lib/Bio/Chado/Schema/Result/Composite/FLoc.pm lib/Bio/Chado/Schema/Result/Composite/FType.pm lib/Bio/Chado/Schema/Result/Composite/FeatureContains.pm lib/Bio/Chado/Schema/Result/Composite/FeatureDifference.pm lib/Bio/Chado/Schema/Result/Composite/FeatureDisjoint.pm lib/Bio/Chado/Schema/Result/Composite/FeatureDistance.pm lib/Bio/Chado/Schema/Result/Composite/FeatureIntersection.pm lib/Bio/Chado/Schema/Result/Composite/FeatureMeets.pm lib/Bio/Chado/Schema/Result/Composite/FeatureMeetsOnSameStrand.pm lib/Bio/Chado/Schema/Result/Composite/FeatureUnion.pm lib/Bio/Chado/Schema/Result/Composite/FeaturesetMeets.pm lib/Bio/Chado/Schema/Result/Composite/FnrType.pm lib/Bio/Chado/Schema/Result/Composite/FpKey.pm lib/Bio/Chado/Schema/Result/Composite/Gff3atts.pm lib/Bio/Chado/Schema/Result/Composite/Gff3view.pm lib/Bio/Chado/Schema/Result/Composite/Gffatts.pm lib/Bio/Chado/Schema/Result/Contact.pod lib/Bio/Chado/Schema/Result/Contact/Contact.pm lib/Bio/Chado/Schema/Result/Contact/ContactRelationship.pm lib/Bio/Chado/Schema/Result/Cv.pod lib/Bio/Chado/Schema/Result/Cv/Chadoprop.pm lib/Bio/Chado/Schema/Result/Cv/CommonAncestorCvterm.pm lib/Bio/Chado/Schema/Result/Cv/CommonDescendantCvterm.pm lib/Bio/Chado/Schema/Result/Cv/Cv.pm lib/Bio/Chado/Schema/Result/Cv/CvCvtermCount.pm lib/Bio/Chado/Schema/Result/Cv/CvCvtermCountWithObs.pm lib/Bio/Chado/Schema/Result/Cv/CvLeaf.pm lib/Bio/Chado/Schema/Result/Cv/CvLinkCount.pm lib/Bio/Chado/Schema/Result/Cv/CvPathCount.pm lib/Bio/Chado/Schema/Result/Cv/CvRoot.pm lib/Bio/Chado/Schema/Result/Cv/Cvprop.pm lib/Bio/Chado/Schema/Result/Cv/Cvterm.pm lib/Bio/Chado/Schema/Result/Cv/CvtermDbxref.pm lib/Bio/Chado/Schema/Result/Cv/CvtermRelationship.pm lib/Bio/Chado/Schema/Result/Cv/Cvtermpath.pm lib/Bio/Chado/Schema/Result/Cv/Cvtermprop.pm lib/Bio/Chado/Schema/Result/Cv/Cvtermsynonym.pm lib/Bio/Chado/Schema/Result/Cv/Dbxrefprop.pm lib/Bio/Chado/Schema/Result/Cv/StatsPathsToRoot.pm lib/Bio/Chado/Schema/Result/Expression.pod lib/Bio/Chado/Schema/Result/Expression/Eimage.pm lib/Bio/Chado/Schema/Result/Expression/Expression.pm lib/Bio/Chado/Schema/Result/Expression/ExpressionCvterm.pm lib/Bio/Chado/Schema/Result/Expression/ExpressionCvtermprop.pm lib/Bio/Chado/Schema/Result/Expression/ExpressionImage.pm lib/Bio/Chado/Schema/Result/Expression/ExpressionPub.pm lib/Bio/Chado/Schema/Result/Expression/Expressionprop.pm lib/Bio/Chado/Schema/Result/Expression/FeatureExpression.pm lib/Bio/Chado/Schema/Result/Expression/FeatureExpressionprop.pm lib/Bio/Chado/Schema/Result/General.pod lib/Bio/Chado/Schema/Result/General/Db.pm lib/Bio/Chado/Schema/Result/General/DbDbxrefCount.pm lib/Bio/Chado/Schema/Result/General/Dbxref.pm lib/Bio/Chado/Schema/Result/General/Tableinfo.pm lib/Bio/Chado/Schema/Result/Genetic.pod lib/Bio/Chado/Schema/Result/Genetic/Environment.pm lib/Bio/Chado/Schema/Result/Genetic/EnvironmentCvterm.pm lib/Bio/Chado/Schema/Result/Genetic/FeatureGenotype.pm lib/Bio/Chado/Schema/Result/Genetic/Genotype.pm lib/Bio/Chado/Schema/Result/Genetic/Genotypeprop.pm lib/Bio/Chado/Schema/Result/Genetic/Phendesc.pm lib/Bio/Chado/Schema/Result/Genetic/PhenotypeComparison.pm lib/Bio/Chado/Schema/Result/Genetic/PhenotypeComparisonCvterm.pm lib/Bio/Chado/Schema/Result/Genetic/Phenstatement.pm lib/Bio/Chado/Schema/Result/Library.pod lib/Bio/Chado/Schema/Result/Library/Library.pm lib/Bio/Chado/Schema/Result/Library/LibraryCvterm.pm lib/Bio/Chado/Schema/Result/Library/LibraryDbxref.pm lib/Bio/Chado/Schema/Result/Library/LibraryFeature.pm lib/Bio/Chado/Schema/Result/Library/LibraryPub.pm lib/Bio/Chado/Schema/Result/Library/LibrarySynonym.pm lib/Bio/Chado/Schema/Result/Library/Libraryprop.pm lib/Bio/Chado/Schema/Result/Library/LibrarypropPub.pm lib/Bio/Chado/Schema/Result/Mage.pod lib/Bio/Chado/Schema/Result/Mage/Acquisition.pm lib/Bio/Chado/Schema/Result/Mage/AcquisitionRelationship.pm lib/Bio/Chado/Schema/Result/Mage/Acquisitionprop.pm lib/Bio/Chado/Schema/Result/Mage/Arraydesign.pm lib/Bio/Chado/Schema/Result/Mage/Arraydesignprop.pm lib/Bio/Chado/Schema/Result/Mage/Assay.pm lib/Bio/Chado/Schema/Result/Mage/AssayBiomaterial.pm lib/Bio/Chado/Schema/Result/Mage/AssayProject.pm lib/Bio/Chado/Schema/Result/Mage/Assayprop.pm lib/Bio/Chado/Schema/Result/Mage/Biomaterial.pm lib/Bio/Chado/Schema/Result/Mage/BiomaterialDbxref.pm lib/Bio/Chado/Schema/Result/Mage/BiomaterialRelationship.pm lib/Bio/Chado/Schema/Result/Mage/BiomaterialTreatment.pm lib/Bio/Chado/Schema/Result/Mage/Biomaterialprop.pm lib/Bio/Chado/Schema/Result/Mage/Channel.pm lib/Bio/Chado/Schema/Result/Mage/Control.pm lib/Bio/Chado/Schema/Result/Mage/Element.pm lib/Bio/Chado/Schema/Result/Mage/ElementRelationship.pm lib/Bio/Chado/Schema/Result/Mage/Elementresult.pm lib/Bio/Chado/Schema/Result/Mage/ElementresultRelationship.pm lib/Bio/Chado/Schema/Result/Mage/Magedocumentation.pm lib/Bio/Chado/Schema/Result/Mage/Mageml.pm lib/Bio/Chado/Schema/Result/Mage/Protocol.pm lib/Bio/Chado/Schema/Result/Mage/Protocolparam.pm lib/Bio/Chado/Schema/Result/Mage/Quantification.pm lib/Bio/Chado/Schema/Result/Mage/QuantificationRelationship.pm lib/Bio/Chado/Schema/Result/Mage/Quantificationprop.pm lib/Bio/Chado/Schema/Result/Mage/Study.pm lib/Bio/Chado/Schema/Result/Mage/StudyAssay.pm lib/Bio/Chado/Schema/Result/Mage/Studydesign.pm lib/Bio/Chado/Schema/Result/Mage/Studydesignprop.pm lib/Bio/Chado/Schema/Result/Mage/Studyfactor.pm lib/Bio/Chado/Schema/Result/Mage/Studyfactorvalue.pm lib/Bio/Chado/Schema/Result/Mage/Studyprop.pm lib/Bio/Chado/Schema/Result/Mage/StudypropFeature.pm lib/Bio/Chado/Schema/Result/Mage/Treatment.pm lib/Bio/Chado/Schema/Result/Map.pod lib/Bio/Chado/Schema/Result/Map/Featuremap.pm lib/Bio/Chado/Schema/Result/Map/FeaturemapPub.pm lib/Bio/Chado/Schema/Result/Map/Featurepos.pm lib/Bio/Chado/Schema/Result/Map/Featurerange.pm lib/Bio/Chado/Schema/Result/NaturalDiversity.pod lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperiment.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentContact.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentDbxref.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentGenotype.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentPhenotype.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentProject.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentProtocol.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentPub.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentStock.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentStockDbxref.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentStockprop.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentprop.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdGeolocation.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdGeolocationprop.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdProtocol.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdProtocolReagent.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdProtocolprop.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdReagent.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdReagentRelationship.pm lib/Bio/Chado/Schema/Result/NaturalDiversity/NdReagentprop.pm lib/Bio/Chado/Schema/Result/Organism.pod lib/Bio/Chado/Schema/Result/Organism/Organism.pm lib/Bio/Chado/Schema/Result/Organism/OrganismDbxref.pm lib/Bio/Chado/Schema/Result/Organism/Organismprop.pm lib/Bio/Chado/Schema/Result/Phenotype.pod lib/Bio/Chado/Schema/Result/Phenotype/FeaturePhenotype.pm lib/Bio/Chado/Schema/Result/Phenotype/Phenotype.pm lib/Bio/Chado/Schema/Result/Phenotype/PhenotypeCvterm.pm lib/Bio/Chado/Schema/Result/Phenotype/Phenotypeprop.pm lib/Bio/Chado/Schema/Result/Phylogeny.pod lib/Bio/Chado/Schema/Result/Phylogeny/Phylonode.pm lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodeDbxref.pm lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodeOrganism.pm lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodePub.pm lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodeRelationship.pm lib/Bio/Chado/Schema/Result/Phylogeny/Phylonodeprop.pm lib/Bio/Chado/Schema/Result/Phylogeny/Phylotree.pm lib/Bio/Chado/Schema/Result/Phylogeny/PhylotreePub.pm lib/Bio/Chado/Schema/Result/Project.pod lib/Bio/Chado/Schema/Result/Project/Project.pm lib/Bio/Chado/Schema/Result/Project/ProjectContact.pm lib/Bio/Chado/Schema/Result/Project/ProjectPub.pm lib/Bio/Chado/Schema/Result/Project/ProjectRelationship.pm lib/Bio/Chado/Schema/Result/Project/Projectprop.pm lib/Bio/Chado/Schema/Result/Pub.pod lib/Bio/Chado/Schema/Result/Pub/Pub.pm lib/Bio/Chado/Schema/Result/Pub/PubDbxref.pm lib/Bio/Chado/Schema/Result/Pub/PubRelationship.pm lib/Bio/Chado/Schema/Result/Pub/Pubauthor.pm lib/Bio/Chado/Schema/Result/Pub/Pubprop.pm lib/Bio/Chado/Schema/Result/Sequence.pod lib/Bio/Chado/Schema/Result/Sequence/Cvtermsynonym.pm lib/Bio/Chado/Schema/Result/Sequence/Feature.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureCvterm.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureCvtermDbxref.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureCvtermPub.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureCvtermprop.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureDbxref.pm lib/Bio/Chado/Schema/Result/Sequence/FeaturePub.pm lib/Bio/Chado/Schema/Result/Sequence/FeaturePubprop.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationship.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationshipPub.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationshipprop.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationshippropPub.pm lib/Bio/Chado/Schema/Result/Sequence/FeatureSynonym.pm lib/Bio/Chado/Schema/Result/Sequence/Featureloc.pm lib/Bio/Chado/Schema/Result/Sequence/FeaturelocPub.pm lib/Bio/Chado/Schema/Result/Sequence/Featureprop.pm lib/Bio/Chado/Schema/Result/Sequence/FeaturepropPub.pm lib/Bio/Chado/Schema/Result/Sequence/IntronCombinedView.pm lib/Bio/Chado/Schema/Result/Sequence/IntronlocView.pm lib/Bio/Chado/Schema/Result/Sequence/ProteinCodingGene.pm lib/Bio/Chado/Schema/Result/Sequence/Synonym.pm lib/Bio/Chado/Schema/Result/Sequence/TypeFeatureCount.pm lib/Bio/Chado/Schema/Result/Stock.pod lib/Bio/Chado/Schema/Result/Stock/Stock.pm lib/Bio/Chado/Schema/Result/Stock/StockCvterm.pm lib/Bio/Chado/Schema/Result/Stock/StockCvtermprop.pm lib/Bio/Chado/Schema/Result/Stock/StockDbxref.pm lib/Bio/Chado/Schema/Result/Stock/StockDbxrefprop.pm lib/Bio/Chado/Schema/Result/Stock/StockGenotype.pm lib/Bio/Chado/Schema/Result/Stock/StockPub.pm lib/Bio/Chado/Schema/Result/Stock/StockRelationship.pm lib/Bio/Chado/Schema/Result/Stock/StockRelationshipCvterm.pm lib/Bio/Chado/Schema/Result/Stock/StockRelationshipPub.pm lib/Bio/Chado/Schema/Result/Stock/Stockcollection.pm lib/Bio/Chado/Schema/Result/Stock/StockcollectionStock.pm lib/Bio/Chado/Schema/Result/Stock/Stockcollectionprop.pm lib/Bio/Chado/Schema/Result/Stock/Stockprop.pm lib/Bio/Chado/Schema/Result/Stock/StockpropPub.pm lib/Bio/Chado/Schema/Test.pm lib/Bio/Chado/Schema/Util.pm maint/bin/update_dbic_dump.pl t/001_basics.t t/010_organism.t t/Cv/010_cvterm.t t/Phylogeny/phylonode.t t/Sequence/010_feature.t t/Sequence/synonym.t t/Stock/010_stock.t t/get_cvterm.t t/lib/sqlite.sql t/plugins.t t/plugins_test/Bio/Chado/Schema/Result/MyPlugin/Foo.pm t/release-eol.t t/release-no-tabs.t t/release-pod-coverage.t t/release-pod-syntax.t Bio-Chado-Schema-0.20000/maint/0000755000175000017500000000000011775633337014053 5ustar robrobBio-Chado-Schema-0.20000/maint/bin/0000755000175000017500000000000011775633337014623 5ustar robrobBio-Chado-Schema-0.20000/maint/bin/update_dbic_dump.pl0000755000175000017500000003372311775633337020463 0ustar robrob#!/usr/bin/env perl use strict; use warnings; use Carp; use FindBin; use File::Copy; use File::Temp qw/tempdir/; use File::Spec::Functions qw/tmpdir/; use Path::Class; use Getopt::Long; use Pod::Usage; use DBI; use DBIx::Class::Schema::Loader 0.07002 qw/ make_schema_at /; use XML::Twig; use Graph::Directed; use Data::Dumper; ######### CONFIG ########## my @sql_blacklist = ( #qr!sequence/gencode/gencode.sql!, #qr!sequence/bridges/so-bridge.sql!, #qr!sequence/views/implicit-feature-views.sql!, ); my $dump_directory = dir( $FindBin::Bin )->parent->parent->subdir('lib')->stringify; ########################## ## parse and validate command-line options my $chado_schema_checkout; my $dsn; my $chado_checkout_rev; GetOptions( 'c|chado-checkout=s' => \$chado_schema_checkout, 'd|dsn=s' => \$dsn, 'r|revision' => \$chado_checkout_rev, ) or pod2usage(1); $dsn || pod2usage( -msg => 'must provide a --dsn for a suitable test database'); #check that we can connect to our db DBI->connect( $dsn, undef, undef, {RaiseError => 1} ); ## check out a new chado schema copy $chado_schema_checkout ||= check_out_fresh_chado( $chado_checkout_rev || 'HEAD' ); -d $chado_schema_checkout or die "no such dir '$chado_schema_checkout'\n"; # parse the modules definition into a dependency Graph. dies on error my $md = parse_chado_module_metadata( $chado_schema_checkout ); #my ($md->{graph},$modules_xml) = parse_chado_module_metadata( $chado_schema_checkout ); #die "$md->{graph}"; $md->{graph}->is_dag or die "cannot resolve module dependencies: $md->{graph}\n"; # check for nonexistent modules in the module metadata if( my @bad_dependencies = grep !$md->{twigs}->{$_}, $md->{graph}->vertices) { warn "dependencies on nonexistent modules/components:\n",map " $_\n", @bad_dependencies } # traverse modules in breadth-first dependency order to find the order # of loading for chado modules my @module_load_order; while( my @root_modules = grep {$md->{graph}->is_successorless_vertex($_)} $md->{graph}->vertices ) { unshift @module_load_order, @root_modules; $md->{graph}->delete_vertex($_) for @root_modules; } warn "made module load order:\n", map " $_\n",@module_load_order; #go down the modules in load order, extract a list of all the sql files to dump, in order my @source_files_load_order = map { my $mod_id = $_; my $twig = $md->{twigs}->{$mod_id}; #get the source file paths my @sources = map { $_->att('path') } $twig->descendants(q|source[@type='sql']|); #add the directories to the source file paths [ $mod_id, grep {my $s=$_; !(grep {$s =~ $_} @sql_blacklist)} map { file( $chado_schema_checkout, ($md->{modules_dir} || ()), $_ )->stringify } @sources ] } @module_load_order; # warn about any missing source files if( my @missing_sources = map { my @f = @$_; shift @f; grep !-f, @f } @source_files_load_order ) { warn "missing source files:\n", map " $_\n", @missing_sources; } warn "loading module sources:\n"; foreach my $src (@source_files_load_order) { my ($modname,@files) = @$src; warn " $modname:\n"; foreach my $f (@files) { $f =~ s/$chado_schema_checkout//; warn " $f\n"; } } # connect to our db my $dbh = DBI->connect( $dsn, undef, undef, {RaiseError => 1} ); # drop all tables from the target database { local $SIG{__WARN__} = sub { warn @_ unless $_[0] =~ /^NOTICE:\s+drop cascades to/ }; eval { $dbh->do("DROP SCHEMA $_ CASCADE") } for qw( public gencode frange genetic_code so ); }; $dbh->do('CREATE SCHEMA public'); $dbh->do('SET search_path=public'); my %db_object_module_membership; #< hash of table/view name => module name foreach my $module ( @source_files_load_order ) { my @before = list_db_objects( $dbh ); # load the module into the test database load_sql( $dbh, $module ); my @after = list_db_objects( $dbh ); # find what tables and views are new my @new = objects_diff( \@before, \@after ); s/^[^\.]+\.// for @new; warn "$module->[0]: new db objects:\n", map " $_\n",@new; # record their names in the hash of name => module name my $mod_moniker = module_moniker( $module->[0] ); foreach my $new_obj (@new) { $db_object_module_membership{$new_obj} and die "sanity check failed, found '$new_obj' as a new object for a second time??!"; $db_object_module_membership{$new_obj} = $mod_moniker; } } # do a make_schema_at, restricted to the new set of tables and views, # dumping to Bio::Chado::Schema::ModuleName::ViewOrTableName make_schema_at( 'Bio::Chado::Schema', { dump_directory => $dump_directory, moniker_map => sub { table_moniker( shift, \%db_object_module_membership ) }, overwrite_modifications => 1, skip_load_external => 1, naming => 'current', relationship_attrs => { all => { cascade_delete => 0, cascade_copy => 0, }, }, }, [$dsn,undef,undef], ); # and now generate the ModuleName.pod files, with per-module indexes # of tables generate_chado_submodule_pod( \%db_object_module_membership, $md->{module_descriptions}, $dump_directory ); # takes a module id (the id= attributes in the module metadata xml file), # returns a string ModuleMoniker sub module_moniker { return join '', map ucfirst, split /[\W_]+/, lc shift } # custom moniker-generation function does not try to inflect singular # table names to plural sub table_moniker { my ( $table, $db_object_module_membership ) = @_; my $table_moniker = join '', map ucfirst, split /[\W_]+/, $table; my $module_moniker = $db_object_module_membership->{$table} or die "could not find module membership for '$table'"; return $module_moniker.'::'.$table_moniker; } # given a dbh and a module source file record, load it into the given # dbh sub load_sql { my ($dbh, $module_record) = @_; my ($module_name,@source_files) = @$module_record; foreach my $f (@source_files) { warn "loading $f\n"; open my $s, '<', $f or die "$! opening $f\n"; local $/; my $sql = <$s>; local $dbh->{Warn} = 0; $dbh->do( $sql ); } } # given a dbh, list all of the objects in it that might be interesting # to DBIx::Class::Schema::Loader sub list_db_objects { my ($dbh) = @_; #right now, this only works with postgres my @tables_and_views = $dbh->tables( undef, 'public' ); return @tables_and_views; } # given two lists of objects, return a list of the objects that were # added in the second one sub objects_diff { my ($before,$after) = @_; my %b = map {$_ => 1} @$before; return grep !$b{$_}, @$after; } ############# SUBROUTINES ############ # check out schema/chado into a tempdir, return the name of the dir sub check_out_fresh_chado { my $chado_version = shift; my $chado_svn_path = 'https://gmod.svn.sourceforge.net/svnroot/gmod/schema/trunk/chado'; my $tempdir = tempdir(dir(tmpdir(),'update-dbic-dump-XXXXXX')->stringify, CLEANUP => 1); system "cd $tempdir && svn export -r $chado_version $chado_svn_path/modules && svn export -r $chado_version $chado_svn_path/chado-module-metadata.xml"; $? and die "svn export failed"; return "$tempdir"; } # given chado module metadata dir, parses the module metadata file and # returns a Graph of it, with nodes being schema modules and # directional edges being the dependencies between them # (directionality is: module1 --DEPENDS-ON--> module2 ) sub parse_chado_module_metadata { #my $md_filename = 'foo.xml'; my $md_filename = 'chado-module-metadata.xml'; my $metadata_file = file( shift || die, $md_filename ); -r $metadata_file or die "could not read $md_filename"; ## load it into a Graph::Directed object my $graph = Graph::Directed->new(); #parse the module metadata file my %module_twigs; my $p = XML::Twig->new(); $p->parsefile( $metadata_file->stringify ); #extract the modules subdir my ($modules_dir) = $p->descendants(q"source[@type='dir']"); $modules_dir &&= $modules_dir->att('path'); my %module_descriptions; my %comp_to_modname; #< hash of component name -> chado module id foreach my $module ($p->descendants('module')) { my $mod_id = $module->att('id') or die " element with no id\n"; my $mod_description = $module->first_child('description')->text; $mod_description =~ s/^\s*|\s*$//g; $module_descriptions{module_moniker($mod_id)} = $mod_description; $comp_to_modname{$mod_id} = $mod_id; $comp_to_modname{$_} = $mod_id foreach map $_->att('id'), $module->descendants('component'); } foreach my $module ($p->descendants('module')) { my $mod_id = $module->att('id') or die " element with no id\n"; $module_twigs{$mod_id} = $module; $graph->add_vertex($mod_id); # extract all the dependency "to" ids and add graph edges for them foreach my $dep_id ( map { $_->att('to') or die "no 'to' in dependency" } $module->descendants('dependency') ) { my $dep_mod_id = $comp_to_modname{$dep_id}; unless( $dep_mod_id ) { warn "WARNING: component/module '$dep_id' does not exist! ignoring dependency.\n"; next; } next if $dep_mod_id eq $mod_id; #< modules need not depend on themselves $graph->add_edge($dep_mod_id,$mod_id); } } return { graph => $graph, twigs => \%module_twigs, modules_dir => $modules_dir, module_descriptions => \%module_descriptions, }; } # args: $db_object_module_membership is a hashref of { table_name => chado_module }, # $module_root_dir is the string path to the dir we're dumping modules to # returns: nothing sub generate_chado_submodule_pod { my ( $db_object_module_membership, $descriptions, $module_root ) = @_; my %module_contents; while( my ($table,$module) = each %$db_object_module_membership) { push @{$module_contents{$module}}, table_moniker( $table, $db_object_module_membership ); } $_ = [ sort @$_ ] for values %module_contents; #< sort each of the table lists while (my ($module,$tables) = each %module_contents ) { _generate_chado_submodule_podfile( $module_root, { tables => $tables, module => $module, module_comment => $descriptions->{$module}, } ); } # also replace the module list in the Schema.pm file my $module_list = join "", map { "L\n\n" } sort keys %module_contents; my $schema_pm = dir( $module_root ) ->subdir('Bio') ->subdir('Chado') ->file( "Schema.pm" ); my $schema_pm_contents = $schema_pm->slurp; $schema_pm_contents =~ s/(?<=\=head1 CHADO MODULES COVERED BY THIS PACKAGE\n)([^=]+)(?=\n=)/"\n$module_list"/e; $schema_pm->openw->print($schema_pm_contents); } sub _generate_chado_submodule_podfile { my ( $dump_dir, $info ) = @_; my $file = dir( $dump_dir ) ->subdir('Bio') ->subdir('Chado') ->subdir('Schema') ->subdir('Result') ->file( "$info->{module}.pod" ); @{ $info->{tables} } or die "no tables in module $info->{module}??"; my $table_pod = join "\n\n", map { "L" } @{ $info->{tables} }; $info->{module_comment} &&= "- $info->{module_comment}"; my ($mod_moniker) = split /::/, $info->{tables}->[0]; no warnings 'uninitialized'; # keep the POD below indented by 2 spaces to hide it from the CPAN # indexer my $pod = <{module_comment} =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado $info->{module} module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. $table_pod =cut 1; EOF $pod =~ s/^ //g; $pod =~ s/(?<=\n) +//g; $file->openw->print($pod); } __END__ =head1 NAME update_dbic_dump.pl - developer-only maintenance script to sync this DBIx::Class object layer with the latest upstream version of Chado =head1 DESCRIPTION B this script is intended for use only by the Bio::Chado::Schema maintainers. This script basically: - checks out a clean chado schema copy (unless you pass --chado-checkout=) - drops all tables from the target database - parses the chado module metadata - uses DBIx::Class::Schema::Loader::make_schema_at() to update the dumped modules in lib/ with any schema changes =head1 SYNOPSIS update_dbic_dump.pl [options] Options: -r --revision= chado SVN revision to use. Default HEAD. -d --dsn= DBI dsn of an empty database to use as temp storage for loading and dumping. WILL DELETE THIS ENTIRE DATABASE. Note that the user name and password used to connect to the database also goes here. Example: -d 'dbi:Pg:dbname=cxgn;host=localhost;user=somebody;password=something' -c --chado-checkout= optional path to existing chado checkout to use. if passed, will not check out a new copy from SVN. =cut Bio-Chado-Schema-0.20000/lib/0000755000175000017500000000000011775633337013511 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/0000755000175000017500000000000011775633337014222 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/0000755000175000017500000000000011775633337015240 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/NaturalDiversity/0000755000175000017500000000000011775633337020551 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/NaturalDiversity/Reports.pm0000644000175000017500000000730411775633337022551 0ustar robrobpackage Bio::Chado::NaturalDiversity::Reports; BEGIN { $Bio::Chado::NaturalDiversity::Reports::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::NaturalDiversity::Reports::VERSION = '0.20000'; } =head1 NAME Bio::Chado::NaturalDiversity::Reports =head1 SYNOPSIS use Bio::Chado::NaturalDiversity::Reports my $sreport = Bio::Chado::NaturalDiversity::Reports->new; my $data = $sreport->phenotypes_by_trait($phenotypes); =head1 DESCRIPTION A collection of functions for formatting Chado stock related data in different data structures which can be useful for passing to different programs and software. Because the Chado stock table is the key for storing samples subjected to genotyping and phenotyping experiments, it interacts with several other Chado modules, such as NaturalDiversity for storing the experiment data, Project for storing the metadata about the experiments, Phenotype for the phenotyping values Genotype for the genotyping values. This module generates several reports for easier access to such data. Note that all data reports heavily rely on the Natural Diversity schema. The results in each report may differ based on how the experiment data is stored in the databse. There is no one correct way of loading phenotyping and genotyping data in this module, however there are some examples for 'best practice' in the GMOD Wiki (http://gmod.org/wiki/Chado_Natural_Diversity_Module) =head1 METHODS =cut use strict; use warnings; =head2 new Make a new Reports object. =cut sub new { bless {}, shift; } =head2 phenotypes_by_trait Usage: $self->phenotypes_by_trait($phenotype_rs , { %args } ) Desc: generate a report of phenotype values by trait name/accession Args: an arrayref of L ResultSets [optional] list of args to filter the report. Currently supported args are Ret: arrayref of tab delimited data =cut sub phenotypes_by_trait { my $self = shift; my $phenotypes = shift; my $phen_hashref; #hashref of hashes for the phenotype data my %cvterms ; #hash for unique cvterms my $replicate = 1; my $cvterm_name; foreach my $rs (@$phenotypes) { while ( my $r = $rs->next ) { my $observable = $r->get_column('observable'); next if !$observable; no warnings 'uninitialized'; if ($cvterm_name eq $observable) { $replicate ++ ; } else { $replicate = 1 ; } $cvterm_name = $observable; my $accession = $r->get_column('accession'); my $db_name = $r->get_column('db_name'); my $project = $r->get_column('project_description') ; my $hash_key = $project . "|" . $replicate; $phen_hashref->{$hash_key}{accession} = $db_name . ":" . $accession ; $phen_hashref->{$hash_key}{$observable} = $r->get_column('value'); $phen_hashref->{$hash_key}{stock_id} = $r->get_column('stock_id'); $cvterms{$observable} = $db_name . ":" . $accession ; } } my @data; my $d = "uniquename\tstock_id\t"; foreach my $term_name (sort { $cvterms{$a} cmp $cvterms{$b} } keys %cvterms ) {# sort ontology terms my $ontology_id = $cvterms{$term_name}; $d .= $ontology_id . "|" . $term_name . "\t" ; } foreach my $key ( sort keys %$phen_hashref ) { #print the unique key (row header) # print some more columns with metadata # print the value by cvterm name $d .= "\n" . $key . "\t" . $phen_hashref->{$key}{stock_id} . "\t" ; foreach my $term_name ( sort { $cvterms{$a} cmp $cvterms{$b} } keys %cvterms ) { $d .= $phen_hashref->{$key}{$term_name} . "\t" ; } } return $d; } ### 1;# ### Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema.pm0000644000175000017500000001347411775633337017007 0ustar robrobpackage Bio::Chado::Schema; BEGIN { $Bio::Chado::Schema::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Schema'; __PACKAGE__->load_namespaces; # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JJ2AbsZoAN4cnM4vrYOxKA use Carp::Clan qr/^Bio::Chado::Schema/; use Bio::Chado::Schema::Util; =head1 NAME Bio::Chado::Schema - A standard DBIx::Class layer for the Chado database schema. =head1 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"; =head1 DESCRIPTION This is a standard object-relational mapping layer for use with the GMOD Chado database schema. This layer is implemented with L, generated with the help of the very fine L 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. =head1 GETTING STARTED To learn how to use this DBIx::Class ORM layer, a good starting point is the L. =head1 CHADO MODULES COVERED BY THIS PACKAGE L L L L L L L L L L L L L L L L L L L =head1 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 =head1 SCHEMA OBJECT METHODS =head2 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. =cut sub get_cvterm { my ( $self, $cv_name, $term_name ) = @_; croak "must provide at least one argument!" unless @_ > 1; unless( $term_name ) { ($cv_name, $term_name) = split /:/, $cv_name, 2; } return $self->{_bio_chado_schema_cvterm_cache}{$cv_name}{$term_name} ||= $self->resultset('Cv::Cv') ->search({ 'me.name' => $cv_name }) ->search_related('cvterms', { 'cvterms.name' => $term_name }) ->single; } =head2 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 C, which for me is most of the time. =cut sub get_cvterm_or_die { shift->get_cvterm( @_ ) or croak "cvterm @_ not found"; } =head1 CLASS METHODS =head2 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 C<$organism-Emyapp_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 }, ); ); =cut { my @after_load; $_->() for @after_load; #< note that this executes after load_classes above sub plugin_add_relationship { my ( $class, $target_moniker, $reltype, @args ) = @_; push @after_load, sub { no strict 'refs'; my $target_class = $class->class( $target_moniker ); $target_class->$reltype( @args ); __PACKAGE__->register_class( $target_moniker => $target_class ); }; } } sub DESTROY { my $self = shift; # need to delete our cvterm cache to avoid memory leaks delete $self->{_bio_chado_schema_cvterm_cache}; $self->SUPER::DESTROY( @_ ) if $self->can( 'SUPER::DESTROY' ); } =head1 AUTHOR Robert Buels, =head1 CONTRIBUTORS Naama Menda, Aureliano Bombarely, Jonathan "Duke" Leto, =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/0000755000175000017500000000000011775633337016440 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Test.pm0000644000175000017500000000750011775633337017717 0ustar robrobpackage Bio::Chado::Schema::Test; BEGIN { $Bio::Chado::Schema::Test::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Test::VERSION = '0.20000'; } use strict; use warnings; use Carp::Clan qr/^Bio::Chado::Schema/; use Bio::Chado::Schema; =head1 NAME Bio::Chado::Schema::Test - Library to be used by Bio::Chado::Schema test scripts. =head1 SYNOPSIS use lib qw(t/lib); use Bio::Chado::Schema::Test; use Test::More; my $schema = Bio::Chado::Schema::Test->init_schema(); =head1 DESCRIPTION This module provides the basic utilities to write tests against Bio::Chado::Schema. =head1 METHODS =head2 init_schema my $schema = Bio::Chado::Schema::Test->init_schema( deploy => 1, populate => 1, storage_type => '::DBI::Replicated', storage_type_args => { balancer_type=>'DBIx::Class::Storage::DBI::Replicated::Balancer::Random' }, ); This method removes the test SQLite database in t/var/BCS.db and then creates a new, empty database. This method will call deploy_schema() by default, unless the deploy flag is set to 0. This method will call populate_schema() if the populate argument is set to a true value. =cut =head2 has_custom_dsn Returns true if the BCS_TEST_DSN environment variable is set. =cut sub has_custom_dsn { return $ENV{"BCS_TEST_DSN"} ? 1 : 0; } sub _sqlite_dbfilename { return "t/var/BCS.db"; } sub _sqlite_dbname { my $self = shift; my %args = @_; return $self->_sqlite_dbfilename; # if $args{sqlite_use_file} or $ENV{"BCS_SQLITE_USE_FILE"}; return ":memory:"; } sub _database { my $self = shift; my %args = @_; my $db_file = $self->_sqlite_dbname(%args); #warn "Removing $db_file"; #unlink($db_file) if -e $db_file; #unlink($db_file . "-journal") if -e $db_file . "-journal"; mkdir("t/var") unless -d "t/var"; my $dsn = $ENV{"BCS_TEST_DSN"} || "dbi:SQLite:${db_file}"; my $dbuser = $ENV{"BCS_TEST_DBUSER"} || ''; my $dbpass = $ENV{"BCS_TEST_DBPASS"} || ''; my @connect_info = ($dsn, $dbuser, $dbpass, { AutoCommit => 1, %args }); return @connect_info; } sub init_schema { my $self = shift; my %args = @_; my $should_deploy = $ENV{"BCS_TEST_DSN"} ? 0 : 1 ; my $schema; if ($args{compose_connection}) { $schema = Bio::Chado::Schema->compose_connection( 'Bio::Chado::Schema::Test', $self->_database(%args) ); } else { $schema = Bio::Chado::Schema->compose_namespace('Bio::Chado::Schema::Test'); } if ($args{storage_type}) { $schema->storage_type($args{storage_type}); } $schema = $schema->connect($self->_database(%args)); $schema->storage->on_connect_do(['PRAGMA synchronous = OFF']) unless $self->has_custom_dsn; unless ( -e _sqlite_dbfilename() ) { __PACKAGE__->deploy_schema( $schema, $args{deploy_args} ) if $should_deploy; __PACKAGE__->populate_schema( $schema ) if $args{populate}; } return $schema; } =head2 deploy_schema Bio::Chado::Schema::Test->deploy_schema( $schema ); This method does one of two things to the schema. It can either call the experimental $schema->deploy() if the BCSTEST_SQLT_DEPLOY environment variable is set, otherwise the default is to read in the t/lib/sqlite.sql file and execute the SQL within. Either way you end up with a fresh set of tables for testing. =cut sub deploy_schema { my $self = shift; my $schema = shift; my $args = shift || {}; $schema->deploy($args); return; } =head2 populate_schema Bio::Chado::Schema::Test->populate_schema( $schema ); After you deploy your schema you can use this method to populate the tables with test data. =cut sub populate_schema { my $self = shift; my $schema = shift; # $schema->populate('Genre', [ # [qw/genreid name/], # [qw/1 emo/], # ]); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Util.pm0000644000175000017500000002246111775633337017720 0ustar robrobpackage Bio::Chado::Schema::Util; BEGIN { $Bio::Chado::Schema::Util::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Util::VERSION = '0.20000'; } use strict; use Carp::Clan qr/^Bio::Chado::Schema/; sub create_properties { my ($class, %args) = @_; #check for required args $args{prop_relation_name} or confess "must provide $_ arg" for qw/ row prop_relation_name properties options/; my $self = delete $args{row}; my $props = delete $args{properties}; my $opts = delete $args{options}; my $prop_relation_name = delete $args{prop_relation_name}; %args and confess "invalid option(s): ".join(', ', sort keys %args); # normalize the props to hashrefs foreach (values %$props) { $_ = { value => $_ } unless ref eq 'HASH'; } # process opts $opts ||= {}; defined $opts->{cv_name} or confess 'must provide a cv_name in options'; $opts->{db_name} = 'null' unless defined $opts->{db_name}; $opts->{dbxref_accession_prefix} = 'autocreated:' unless defined $opts->{dbxref_accession_prefix}; # cannot support literal-sql values (i.e. SQL function calls) # without allow_duplicate_values being set my $have_literal_sql = 0; for my $propname ( keys %$props ) { my $val = $props->{$propname}{value}; if( ref $val eq 'SCALAR' ) { $have_literal_sql = 1; unless( $opts->{allow_duplicate_values} ) { croak "SQL-literal value '$$val' requested for '$propname' property, but allow_duplicate_values not set. Cannot check for duplicates"; } } } my $schema = $self->result_source->schema; my $prop_cv = do { my $cvrs = $schema->resultset('Cv::Cv'); my $find_or_create = $opts->{autocreate} ? 'find_or_create' : 'find'; $cvrs->$find_or_create({ name => $opts->{cv_name}}, { key => 'cv_c1' }) or croak "cv '$opts->{cv_name}' not found and autocreate option not passed, cannot continue"; }; my $prop_db; #< set as needed below # find/create cvterms and dbxrefs for each of our featureprops, # and remember them in %propterms my %propterms; foreach my $propname (keys %$props) { my $existing_cvterm = $propterms{$propname} = $prop_cv->find_related('cvterms', { name => $propname, is_obsolete => 0, }, { key => 'cvterm_c1' }, ); # if there is no existing cvterm for this in the prop table, # and we have the autocreate flag set true, then create a # cvterm, dbxref, and db for it if necessary unless( $existing_cvterm ) { $opts->{autocreate} or croak "cvterm not found for property '$propname', and autocreate option not passed, cannot continue"; # look up the db object if we don't already have it, now # that we know we need it $prop_db ||= $self->result_source->schema ->resultset('General::Db') ->find_or_create( { name => $opts->{db_name} }, { key => 'db_c1' } ); # find or create the dbxref for this cvterm we are about # to create my $dbx_acc = $opts->{dbxref_accession_prefix}.$propname; my $dbxref = $prop_db->search_related( 'dbxrefs', { accession => $dbx_acc }, { order_by => { -desc => ['version'] } } ) ->first || $prop_db->create_related( 'dbxrefs', { accession => $dbx_acc, version => 1, }); # look up any definition we might have been given for this # propname, so we can insert it if given my $def = $opts->{definitions}->{$propname}; $propterms{$propname} = $prop_cv->create_related('cvterms', { name => $propname, is_obsolete => 0, dbxref_id => $dbxref->dbxref_id, $def ? (definition => $def) : (), } ); } } my %props; while( my ($propname,$propval) = each %$props ) { my $data = $propval; $data->{type_id} = $propterms{$propname}->cvterm_id; # decide whether to skip creating this prop my $skip_creation = $opts->{allow_duplicate_values} ? 0 : $self->search_related( $prop_relation_name, { type_id => $data->{type_id}, value => $data->{value}, }) ->count; unless( $skip_creation ) { #if rank is defined if ($opts->{rank} && defined $opts->{rank} ) { my ($existing_prop) = $self->search_related( $prop_relation_name, { type_id =>$data->{type_id}, rank => $opts->{rank} } ); if( defined $existing_prop ) { warn "Property " . $existing_prop->value() . " already exists with rank " . $opts->{rank} . ". skipping! \n" } $data->{rank} = $opts->{rank}; } else { # find highest rank for props of this type my $max_rank= $self->search_related( $prop_relation_name, { type_id => $data->{type_id}, } )->get_column('rank') ->max; $data->{rank} = defined $max_rank ? $max_rank + 1 : 0; } $props{$propname} = $self->find_or_create_related( $prop_relation_name, $data ); } } if( $have_literal_sql ) { $_->discard_changes for values %props; } return \%props; } 1; __END__ =head1 NAME Bio::Chado::Schema::Util - utility functions shared by Bio::Chado::Schema objects =head1 SYNOPSIS sub create_organismprops { my ($self, $props, $opts) = @_; # process opts $opts ||= {}; $opts->{cv_name} = 'organism_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_props ( properties => $props, options => $opts, row => $self, prop_relation_name => 'organismprops', ); } =head1 DESCRIPTION Helper functions used by several schema classes. Important Note: This package is located in the Schema.pm file as secondary package and it haven't a file for itself. Nevertheless, the use will be the same. =head1 PACKAGE METHODS =head2 create_properties Usage: *::Util->create_properties( row => $self, properties => { baz => 2, foo => 'bar' }, options => { cv_name => autocreate => 0, ...}, prop_relation_name => 'organismprops', ); Desc : Chado has a number of prop tables with a similar structure. This utility function is used by a number of modules to create properties in these kinds of tables. Args : row => the DBIC row object to create properties for, prop_relation_name => the DBIC relation name for the properties table to operate on, e.g. 'featureprops', properties => hashref of { propname => value, ...}, options => options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given featureprop name. Default false. cv_name => cv.name to use for the given featureprops. Defaults to 'feature_property', db_name => db.name to use for autocreated dbxrefs, default 'null', allow_duplicate_values => default false. If true, allow duplicate instances of the same cvterm and value in the properties of the feature. Duplicate values will have different ranks. dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms } Ret : hashref of { propname => new row object in property table } =cut =head1 AUTHOR Robert Buels, Naama Menda, =cut Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/0000755000175000017500000000000011775633337017716 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression.pod0000644000175000017500000000175711775633337022573 0ustar robrobpackage Bio::Chado::Schema::Result::Expression; =head1 NAME Bio::Chado::Schema::Result::Expression - transcript or protein expression data =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Expression module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic.pod0000644000175000017500000000167611775633337022012 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic; =head1 NAME Bio::Chado::Schema::Result::Genetic - Genotypes and mutant alleles =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Genetic module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phenotype.pod0000644000175000017500000000131311775633337022373 0ustar robrobpackage Bio::Chado::Schema::Result::Phenotype; =head1 NAME Bio::Chado::Schema::Result::Phenotype - Entity-attribute-value phenotypic character descriptions =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Phenotype module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/0000755000175000017500000000000011775633337021001 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/Stock.pm0000644000175000017500000003745611775633337022441 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::Stock; BEGIN { $Bio::Chado::Schema::Result::Stock::Stock::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::Stock::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::Stock =head1 DESCRIPTION Any stock can be globally identified by the combination of organism, uniquename and stock type. A stock is the physical entities, either living or preserved, held by collections. Stocks belong to a collection; they have IDs, type, organism, description and may have a genotype. =cut __PACKAGE__->table("stock"); =head1 ACCESSORS =head2 stock_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_stock_id_seq' =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 The dbxref_id is an optional primary stable identifier for this stock. Secondary indentifiers and external dbxrefs go in table: stock_dbxref. =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 The organism_id is the organism to which the stock belongs. This column should only be left blank if the organism cannot be determined. =head2 name data_type: 'varchar' is_nullable: 1 size: 255 The name is a human-readable local name for a stock. =head2 uniquename data_type: 'text' is_nullable: 0 =head2 description data_type: 'text' is_nullable: 1 The description is the genetic description provided in the stock list. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The type_id foreign key links to a controlled vocabulary of stock types. The would include living stock, genomic DNA, preserved specimen. Secondary cvterms for stocks would go in stock_cvterm. =head2 is_obsolete data_type: 'boolean' default_value: false is_nullable: 0 =cut __PACKAGE__->add_columns( "stock_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_stock_id_seq", }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "uniquename", { data_type => "text", is_nullable => 0 }, "description", { data_type => "text", is_nullable => 1 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_obsolete", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_id"); __PACKAGE__->add_unique_constraint("stock_c1", ["organism_id", "uniquename", "type_id"]); =head1 RELATIONS =head2 nd_experiment_stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_stocks", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock", { "foreign.stock_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stockcollection_stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockcollection_stocks", "Bio::Chado::Schema::Result::Stock::StockcollectionStock", { "foreign.stock_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_cvterms", "Bio::Chado::Schema::Result::Stock::StockCvterm", { "foreign.stock_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_dbxrefs", "Bio::Chado::Schema::Result::Stock::StockDbxref", { "foreign.stock_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_genotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_genotypes", "Bio::Chado::Schema::Result::Stock::StockGenotype", { "foreign.stock_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stockprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockprops", "Bio::Chado::Schema::Result::Stock::Stockprop", { "foreign.stock_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_pubs", "Bio::Chado::Schema::Result::Stock::StockPub", { "foreign.stock_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationship_subjects", "Bio::Chado::Schema::Result::Stock::StockRelationship", { "foreign.subject_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationship_objects", "Bio::Chado::Schema::Result::Stock::StockRelationship", { "foreign.object_id" => "self.stock_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:v+GluxMkFEC508znwinNsA =head2 create_stockprops Usage: $set->create_stockprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create stock properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given stockprop name. Default false. cv_name => cv.name to use for the given stockprops. Defaults to 'stock_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same stock and value in the properties of the stock. Duplicate values will have different ranks. } Ret : hashref of { propname => new stockprop object } =cut sub create_stockprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'stock_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'stockprops', ); } ############ STOCK CUSTOM RESULTSET PACKAGE ############################# __PACKAGE__->resultset_class('Bio::Chado::Schema::Result::Stock::Stock::ResultSet'); package Bio::Chado::Schema::Result::Stock::Stock::ResultSet; BEGIN { $Bio::Chado::Schema::Result::Stock::Stock::ResultSet::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::Stock::ResultSet::VERSION = '0.20000'; } use base qw/ DBIx::Class::ResultSet /; use Carp; =head1 ADDITIONAL METHODS =head2 stock_phenotypes_rs Usage: $schema->resultset("Stock::Stock")->stock_phenotypes_rs($stock_rs); Desc: retrieve a resultset for stock(s) with phenotyping experiments with the following values mapped to [column name] stock_id [stock_id] phenotype.value [value] observable.name [observable] (the cvterm name for the phenotype.observable field) observable_cvterm_id [observable_id] observable.definition [definition] unit_name (from phenotype_cvterm) cv_name (the cv_name for the phenotype_cvterm) type_name (the cvterm name for the phenotype_cvterm) method_name (a phenotypeprop value) dbxref.accession [accession] of the observable cvterm db.name of the observable cvterm [db_name] (useful for constructing the ontology ID of the observable) project.description [project_description] (useful for grouping phenotype values by projects) Args: a L resultset Ret: a resultset with the above columns. Access the data with e.g. $rs->get_column('stock_id') =cut sub stock_phenotypes_rs { my $self = shift; my $stock = shift; my $rs = $stock->result_source->schema->resultset("Stock::Stock")->search_rs( { 'observable.name' => { '!=', undef } , 'me.stock_id' => { '-in' => $stock->get_column('stock_id')->as_query }, } , { join => [ { nd_experiment_stocks => { nd_experiment => { nd_experiment_phenotypes => { phenotype => { observable => { dbxref => 'db' }, phenotypeprops => 'type', phenotype_cvterms => { cvterm => 'cv' } }, }, nd_experiment_projects => 'project', }, } } , ], select => [ qw/ me.stock_id phenotype.value observable.name observable.cvterm_id observable.definition phenotypeprops.value type.name dbxref.accession db.name project.description cv.name cvterm.name / ], as => [ qw/ stock_id value observable observable_id definition method_name type_name accession db_name project_description cv_name unit_name / ], distinct => 1, order_by => [ 'project.description' , 'observable.name' ], } ); return $rs; } =head2 recursive_phenotypes_rs Usage: $schema->resultset("Stock::Stock")->recursive_phenotypes_rs($stock_rs, \@results) Desc: Retrieve recursively phenotypes of stock objects and their subjects Args: Stock resultSet and an arrayref with the results Ret: listref of stock_phenotypes_rs (see function stock_phenotypes_rs for columns fetched) =cut sub recursive_phenotypes_rs { my $self = shift ; my $stock_rs = shift; my $results = shift; my $rs = $self->stock_phenotypes_rs($stock_rs); push @$results, $rs ; my $subjects = $stock_rs->result_source->schema->resultset("Stock::Stock")->search( { 'me.stock_id' => { '-in' => [ map { $_->subject_id } $stock_rs->search_related('stock_relationship_objects')->all ] } } ); if ($subjects->count ) { $self->recursive_phenotypes_rs($subjects, $results); } return $results; } =head2 stock_genotypes_rs Usage: $schema->resultset("Stock::Stock")->stock_genotypes_rs($stock_rs); Desc: retrieve a resultset for stock(s) with genotyping experiments with the following values mapped to [column name] stock_id [stock_id] genotype.name [name] genotype.uniquname [uniquename] genotype.description [description] genotype.type.name [type_name] (the cvterm name for the genotype type) propvalue [propvalue] (a genotypeprop value) Args: a L resultset Ret: a resultset with the above columns. Access the data with e.g. $rs->get_column('stock_id') =cut sub stock_genotypes_rs { my $self = shift; my $stock = shift; my $rs = $stock->result_source->schema->resultset("Stock::Stock")->search_rs( { 'genotype.uniquename' => { '!=', undef } , 'me.stock_id' => { '-in' => $stock->get_column('stock_id')->as_query }, } , { join => [ { nd_experiment_stocks => { nd_experiment => { nd_experiment_genotypes => { genotype => { genotypeprops => 'type', }, 'type', }, }, } } , ], select => [ qw/ stock_id genotype.name genotype.uniquename genotype.description type.name genotypeprops.value / ], as => [ qw/ stock_id name uniquename description type_name propvalue / ], distinct => 1, order_by => [], } ); return $rs; } =head2 stock_project_phenotypes Usage: $schema->resultset("Stock::Stock")->stock_project_phenotypes($stock_rs); Desc: retrieve a list of phenotype resultsets by project name Args: a L object or a stock resultset Ret: hashref key = project descriptions, values = hash ref of {phenotypes} = phenotype resultset {project} = L object =cut sub stock_project_phenotypes { my $self = shift; my $stock = shift; my %phenotypes; my $project_rs = $stock->search_related('nd_experiment_stocks') ->search_related('nd_experiment') ->search_related('nd_experiment_projects') ->search_related('project' , {} , { distinct =>1 } ); while (my $project = $project_rs->next) { my $experiment_rs = $stock->search_related('nd_experiment_stocks') ->search_related('nd_experiment' , { 'project.project_id' => $project->project_id }, { prefetch => { 'nd_experiment_projects' => 'project' } }, ); $phenotypes{ $project->description }->{project} = $project; my $nd_exp_phen_rs = $experiment_rs->search_related('nd_experiment_phenotypes'); my $phenotype_rs = $nd_exp_phen_rs->search_related('phenotype') if $nd_exp_phen_rs; $phenotypes{ $project->description }->{phenotypes} = $phenotype_rs; } return \%phenotypes; } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockDbxrefprop.pm0000644000175000017500000000617711775633337024471 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockDbxrefprop; BEGIN { $Bio::Chado::Schema::Result::Stock::StockDbxrefprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockDbxrefprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockDbxrefprop =head1 DESCRIPTION A stock_dbxref can have any number of slot-value property tags attached to it. This is useful for storing properties related to dbxref annotations of stocks, such as evidence codes, and references, and metadata, such as create/modify dates. This is an alternative to hardcoding a list of columns in the relational schema, and is completely extensible. There is a unique constraint, stock_dbxrefprop_c1, for the combination of stock_dbxref_id, rank, and type_id. Multivalued property-value pairs must be differentiated by rank. =cut __PACKAGE__->table("stock_dbxrefprop"); =head1 ACCESSORS =head2 stock_dbxrefprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_dbxrefprop_stock_dbxrefprop_id_seq' =head2 stock_dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "stock_dbxrefprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_dbxrefprop_stock_dbxrefprop_id_seq", }, "stock_dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_dbxrefprop_id"); __PACKAGE__->add_unique_constraint("stock_dbxrefprop_c1", ["stock_dbxref_id", "type_id", "rank"]); =head1 RELATIONS =head2 stock_dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock_dbxref", "Bio::Chado::Schema::Result::Stock::StockDbxref", { stock_dbxref_id => "stock_dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fWNuOG73Ns+Z3Ypu/ULzCA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/Stockcollection.pm0000644000175000017500000000700511775633337024500 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::Stockcollection; BEGIN { $Bio::Chado::Schema::Result::Stock::Stockcollection::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::Stockcollection::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::Stockcollection =head1 DESCRIPTION The lab or stock center distributing the stocks in their collection. =cut __PACKAGE__->table("stockcollection"); =head1 ACCESSORS =head2 stockcollection_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stockcollection_stockcollection_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 type_id is the collection type cv. =head2 contact_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 contact_id links to the contact information for the collection. =head2 name data_type: 'varchar' is_nullable: 1 size: 255 name is the collection. =head2 uniquename data_type: 'text' is_nullable: 0 uniqename is the value of the collection cv. =cut __PACKAGE__->add_columns( "stockcollection_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stockcollection_stockcollection_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "contact_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "uniquename", { data_type => "text", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stockcollection_id"); __PACKAGE__->add_unique_constraint("stockcollection_c1", ["uniquename", "type_id"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 contact Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "contact", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "contact_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stockcollectionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockcollectionprops", "Bio::Chado::Schema::Result::Stock::Stockcollectionprop", { "foreign.stockcollection_id" => "self.stockcollection_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stockcollection_stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockcollection_stocks", "Bio::Chado::Schema::Result::Stock::StockcollectionStock", { "foreign.stockcollection_id" => "self.stockcollection_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+3eqKa0SQPhsJx2sglJqNw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockPub.pm0000644000175000017500000000442611775633337023077 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockPub; BEGIN { $Bio::Chado::Schema::Result::Stock::StockPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockPub =head1 DESCRIPTION Provenance. Linking table between stocks and, for example, a stocklist computer file. =cut __PACKAGE__->table("stock_pub"); =head1 ACCESSORS =head2 stock_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_pub_stock_pub_id_seq' =head2 stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "stock_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_pub_stock_pub_id_seq", }, "stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_pub_id"); __PACKAGE__->add_unique_constraint("stock_pub_c1", ["stock_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KzGfKwkV/CeJ7EJaWwfMPw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/Stockprop.pm0000644000175000017500000000615411775633337023331 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::Stockprop; BEGIN { $Bio::Chado::Schema::Result::Stock::Stockprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::Stockprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::Stockprop =head1 DESCRIPTION A stock can have any number of slot-value property tags attached to it. This is an alternative to hardcoding a list of columns in the relational schema, and is completely extensible. There is a unique constraint, stockprop_c1, for the combination of stock_id, rank, and type_id. Multivalued property-value pairs must be differentiated by rank. =cut __PACKAGE__->table("stockprop"); =head1 ACCESSORS =head2 stockprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stockprop_stockprop_id_seq' =head2 stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "stockprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stockprop_stockprop_id_seq", }, "stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stockprop_id"); __PACKAGE__->add_unique_constraint("stockprop_c1", ["stock_id", "type_id", "rank"]); =head1 RELATIONS =head2 stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stockprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockprop_pubs", "Bio::Chado::Schema::Result::Stock::StockpropPub", { "foreign.stockprop_id" => "self.stockprop_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tV364gNBK4x9CztFRhI4Mg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockRelationship.pm0000644000175000017500000001072511775633337025011 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockRelationship; BEGIN { $Bio::Chado::Schema::Result::Stock::StockRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockRelationship =cut __PACKAGE__->table("stock_relationship"); =head1 ACCESSORS =head2 stock_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_relationship_stock_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 stock_relationship.subject_id is the subject of the subj-predicate-obj sentence. This is typically the substock. =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 stock_relationship.object_id is the object of the subj-predicate-obj sentence. This is typically the container stock. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 stock_relationship.type_id is relationship type between subject and object. This is a cvterm, typically from the OBO relationship ontology, although other relationship types are allowed. =head2 value data_type: 'text' is_nullable: 1 stock_relationship.value is for additional notes or comments. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 stock_relationship.rank is the ordering of subject stocks with respect to the object stock may be important where rank is used to order these; starts from zero. =cut __PACKAGE__->add_columns( "stock_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_relationship_stock_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_relationship_id"); __PACKAGE__->add_unique_constraint( "stock_relationship_c1", ["subject_id", "object_id", "type_id", "rank"], ); =head1 RELATIONS =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock_relationship_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationship_cvterms", "Bio::Chado::Schema::Result::Stock::StockRelationshipCvterm", { "foreign.stock_relationship_id" => "self.stock_relationship_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_relationship_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationship_pubs", "Bio::Chado::Schema::Result::Stock::StockRelationshipPub", { "foreign.stock_relationship_id" => "self.stock_relationship_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ClokyNSMEKjwcU78vbfKPg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockCvtermprop.pm0000644000175000017500000000671611775633337024516 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockCvtermprop; BEGIN { $Bio::Chado::Schema::Result::Stock::StockCvtermprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockCvtermprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockCvtermprop =head1 DESCRIPTION Extensible properties for stock to cvterm associations. Examples: GO evidence codes; qualifiers; metadata such as the date on which the entry was curated and the source of the association. See the stockprop table for meanings of type_id, value and rank. =cut __PACKAGE__->table("stock_cvtermprop"); =head1 ACCESSORS =head2 stock_cvtermprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_cvtermprop_stock_cvtermprop_id_seq' =head2 stock_cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property/slot is a cvterm. The meaning of the property is defined in that cvterm. cvterms may come from the OBO evidence code cv. =head2 value data_type: 'text' is_nullable: 1 The value of the property, represented as text. Numeric values are converted to their text representation. This is less efficient than using native database types, but is easier to query. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any stock_cvterm can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used. =cut __PACKAGE__->add_columns( "stock_cvtermprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_cvtermprop_stock_cvtermprop_id_seq", }, "stock_cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_cvtermprop_id"); __PACKAGE__->add_unique_constraint("stock_cvtermprop_c1", ["stock_cvterm_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock_cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock_cvterm", "Bio::Chado::Schema::Result::Stock::StockCvterm", { stock_cvterm_id => "stock_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:14:45 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kstVVbKhfvzBPTEuTgYoIg # You can replace this text with custom code or comments, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockcollectionStock.pm0000644000175000017500000000506711775633337025512 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockcollectionStock; BEGIN { $Bio::Chado::Schema::Result::Stock::StockcollectionStock::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockcollectionStock::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockcollectionStock =head1 DESCRIPTION stockcollection_stock links a stock collection to the stocks which are contained in the collection. =cut __PACKAGE__->table("stockcollection_stock"); =head1 ACCESSORS =head2 stockcollection_stock_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stockcollection_stock_stockcollection_stock_id_seq' =head2 stockcollection_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "stockcollection_stock_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stockcollection_stock_stockcollection_stock_id_seq", }, "stockcollection_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stockcollection_stock_id"); __PACKAGE__->add_unique_constraint( "stockcollection_stock_c1", ["stockcollection_id", "stock_id"], ); =head1 RELATIONS =head2 stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stockcollection Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stockcollection", "Bio::Chado::Schema::Result::Stock::Stockcollection", { stockcollection_id => "stockcollection_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lQLmoIqkMDUkgrc13pY6Mg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockpropPub.pm0000644000175000017500000000455311775633337024001 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockpropPub; BEGIN { $Bio::Chado::Schema::Result::Stock::StockpropPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockpropPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockpropPub =head1 DESCRIPTION Provenance. Any stockprop assignment can optionally be supported by a publication. =cut __PACKAGE__->table("stockprop_pub"); =head1 ACCESSORS =head2 stockprop_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stockprop_pub_stockprop_pub_id_seq' =head2 stockprop_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "stockprop_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stockprop_pub_stockprop_pub_id_seq", }, "stockprop_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stockprop_pub_id"); __PACKAGE__->add_unique_constraint("stockprop_pub_c1", ["stockprop_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stockprop Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stockprop", "Bio::Chado::Schema::Result::Stock::Stockprop", { stockprop_id => "stockprop_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dh5YZG1YoLxhdHNYL9w74w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockRelationshipCvterm.pm0000644000175000017500000000641711775633337026175 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockRelationshipCvterm; BEGIN { $Bio::Chado::Schema::Result::Stock::StockRelationshipCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockRelationshipCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockRelationshipCvterm =head1 DESCRIPTION For germplasm maintenance and pedigree data, stock_relationship. type_id will record cvterms such as "is a female parent of", "a parent for mutation", "is a group_id of", "is a source_id of", etc The cvterms for higher categories such as "generative", "derivative" or "maintenance" can be stored in table stock_relationship_cvterm =cut __PACKAGE__->table("stock_relationship_cvterm"); =head1 ACCESSORS =head2 stock_relationship_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_relationship_cvterm_stock_relationship_cvterm_id_seq' =head2 stock_relationship_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =cut __PACKAGE__->add_columns( "stock_relationship_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_relationship_cvterm_stock_relationship_cvterm_id_seq", }, "stock_relationship_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, ); __PACKAGE__->set_primary_key("stock_relationship_cvterm_id"); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock_relationship Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock_relationship", "Bio::Chado::Schema::Result::Stock::StockRelationship", { stock_relationship_id => "stock_relationship_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:hj9EypW2m0TmbYJV1YSivA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockGenotype.pm0000644000175000017500000000472011775633337024140 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockGenotype; BEGIN { $Bio::Chado::Schema::Result::Stock::StockGenotype::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockGenotype::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockGenotype =head1 DESCRIPTION Simple table linking a stock to a genotype. Features with genotypes can be linked to stocks thru feature_genotype -> genotype -> stock_genotype -> stock. =cut __PACKAGE__->table("stock_genotype"); =head1 ACCESSORS =head2 stock_genotype_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_genotype_stock_genotype_id_seq' =head2 stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 genotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "stock_genotype_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_genotype_stock_genotype_id_seq", }, "stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "genotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_genotype_id"); __PACKAGE__->add_unique_constraint("stock_genotype_c1", ["stock_id", "genotype_id"]); =head1 RELATIONS =head2 genotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xynyklraCIIY7ImKiwaksw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockRelationshipPub.pm0000644000175000017500000000507211775633337025457 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockRelationshipPub; BEGIN { $Bio::Chado::Schema::Result::Stock::StockRelationshipPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockRelationshipPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockRelationshipPub =head1 DESCRIPTION Provenance. Attach optional evidence to a stock_relationship in the form of a publication. =cut __PACKAGE__->table("stock_relationship_pub"); =head1 ACCESSORS =head2 stock_relationship_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_relationship_pub_stock_relationship_pub_id_seq' =head2 stock_relationship_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "stock_relationship_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_relationship_pub_stock_relationship_pub_id_seq", }, "stock_relationship_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_relationship_pub_id"); __PACKAGE__->add_unique_constraint( "stock_relationship_pub_c1", ["stock_relationship_id", "pub_id"], ); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock_relationship Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock_relationship", "Bio::Chado::Schema::Result::Stock::StockRelationship", { stock_relationship_id => "stock_relationship_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZF13PkZILl5vVQX8kBtgHA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockCvterm.pm0000644000175000017500000001254511775633337023612 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockCvterm; BEGIN { $Bio::Chado::Schema::Result::Stock::StockCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockCvterm =head1 DESCRIPTION stock_cvterm links a stock to cvterms. This is for secondary cvterms; primary cvterms should use stock.type_id. =cut __PACKAGE__->table("stock_cvterm"); =head1 ACCESSORS =head2 stock_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_cvterm_stock_cvterm_id_seq' =head2 stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_not data_type: 'boolean' default_value: false is_nullable: 0 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "stock_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_cvterm_stock_cvterm_id_seq", }, "stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_not", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_cvterm_id"); __PACKAGE__->add_unique_constraint( "stock_cvterm_c1", ["stock_id", "cvterm_id", "pub_id", "rank"], ); =head1 RELATIONS =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_cvtermprops", "Bio::Chado::Schema::Result::Stock::StockCvtermprop", { "foreign.stock_cvterm_id" => "self.stock_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:14:45 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lOiXJCZBCZBxj+MAZdMnQw =head2 create_stock_cvtermprops Usage: $set->create_stock_cvtermprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create stock_cvterm properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given stock_cvtermprop name. Default false. cv_name => cv.name to use for the given stock_cvtermprops. Defaults to 'stock_cvterm_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same stock_cvterm and value in the properties of the stock_cvterm. Duplicate values will have different ranks. } Ret : hashref of { propname => new stock_cvtermprop object } =cut sub create_stock_cvtermprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'stock_cvterm_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'stock_cvtermprops', ); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/StockDbxref.pm0000644000175000017500000001151011775633337023553 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::StockDbxref; BEGIN { $Bio::Chado::Schema::Result::Stock::StockDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::StockDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::StockDbxref =head1 DESCRIPTION stock_dbxref links a stock to dbxrefs. This is for secondary identifiers; primary identifiers should use stock.dbxref_id. =cut __PACKAGE__->table("stock_dbxref"); =head1 ACCESSORS =head2 stock_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stock_dbxref_stock_dbxref_id_seq' =head2 stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_current data_type: 'boolean' default_value: true is_nullable: 0 The is_current boolean indicates whether the linked dbxref is the current -official- dbxref for the linked stock. =cut __PACKAGE__->add_columns( "stock_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stock_dbxref_stock_dbxref_id_seq", }, "stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"true", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stock_dbxref_id"); __PACKAGE__->add_unique_constraint("stock_dbxref_c1", ["stock_id", "dbxref_id"]); =head1 RELATIONS =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock_dbxrefprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_dbxrefprops", "Bio::Chado::Schema::Result::Stock::StockDbxrefprop", { "foreign.stock_dbxref_id" => "self.stock_dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pxnrDZQWD/fcN3ciUtGbNA =head2 create_stock_dbxrefprops Usage: $set->create_stock_dbxrefprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create stock_dbxref properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given stock_dbxrefprop name. Default false. cv_name => cv.name to use for the given stock_dbxrefprops. Defaults to 'stock_dbxref_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same stock_dbxref and value in the properties of the stock_dbxref. Duplicate values will have different ranks. } Ret : hashref of { propname => new stock_dbxrefprop object } =cut sub create_stock_dbxrefprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'stock_dbxref_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'stock_dbxrefprops', ); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock/Stockcollectionprop.pm0000644000175000017500000000561611775633337025407 0ustar robrobpackage Bio::Chado::Schema::Result::Stock::Stockcollectionprop; BEGIN { $Bio::Chado::Schema::Result::Stock::Stockcollectionprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Stock::Stockcollectionprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Stock::Stockcollectionprop =head1 DESCRIPTION The table stockcollectionprop contains the value of the stock collection such as website/email URLs; the value of the stock collection order URLs. =cut __PACKAGE__->table("stockcollectionprop"); =head1 ACCESSORS =head2 stockcollectionprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'stockcollectionprop_stockcollectionprop_id_seq' =head2 stockcollection_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The cv for the type_id is "stockcollection property type". =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "stockcollectionprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "stockcollectionprop_stockcollectionprop_id_seq", }, "stockcollection_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("stockcollectionprop_id"); __PACKAGE__->add_unique_constraint( "stockcollectionprop_c1", ["stockcollection_id", "type_id", "rank"], ); =head1 RELATIONS =head2 stockcollection Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stockcollection", "Bio::Chado::Schema::Result::Stock::Stockcollection", { stockcollection_id => "stockcollection_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ee4TAKRvLikp5Jtcm6ZcfA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Project/0000755000175000017500000000000011775633337021324 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Project/Project.pm0000644000175000017500000001320711775633337023273 0ustar robrobpackage Bio::Chado::Schema::Result::Project::Project; BEGIN { $Bio::Chado::Schema::Result::Project::Project::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Project::Project::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Project::Project - Standard Chado flexible property table for projects. =cut __PACKAGE__->table("project"); =head1 ACCESSORS =head2 project_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'project_project_id_seq' =head2 name data_type: 'varchar' is_nullable: 0 size: 255 =head2 description data_type: 'varchar' is_nullable: 0 size: 255 =cut __PACKAGE__->add_columns( "project_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "project_project_id_seq", }, "name", { data_type => "varchar", is_nullable => 0, size => 255 }, "description", { data_type => "varchar", is_nullable => 0, size => 255 }, ); __PACKAGE__->set_primary_key("project_id"); __PACKAGE__->add_unique_constraint("project_c1", ["name"]); =head1 RELATIONS =head2 assay_projects Type: has_many Related object: L =cut __PACKAGE__->has_many( "assay_projects", "Bio::Chado::Schema::Result::Mage::AssayProject", { "foreign.project_id" => "self.project_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_projects Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_projects", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProject", { "foreign.project_id" => "self.project_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 project_contacts Type: has_many Related object: L =cut __PACKAGE__->has_many( "project_contacts", "Bio::Chado::Schema::Result::Project::ProjectContact", { "foreign.project_id" => "self.project_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 projectprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "projectprops", "Bio::Chado::Schema::Result::Project::Projectprop", { "foreign.project_id" => "self.project_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 project_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "project_pubs", "Bio::Chado::Schema::Result::Project::ProjectPub", { "foreign.project_id" => "self.project_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 project_relationship_subject_projects Type: has_many Related object: L =cut __PACKAGE__->has_many( "project_relationship_subject_projects", "Bio::Chado::Schema::Result::Project::ProjectRelationship", { "foreign.subject_project_id" => "self.project_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 project_relationship_object_projects Type: has_many Related object: L =cut __PACKAGE__->has_many( "project_relationship_object_projects", "Bio::Chado::Schema::Result::Project::ProjectRelationship", { "foreign.object_project_id" => "self.project_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2012-07-06 11:44:28 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Xm+QPuYjkvnrESy2qIgGaA =head2 create_projectprops Usage: $set->create_projectprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create project properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given projectprop name. Default false. cv_name => cv.name to use for the given projectprops. Defaults to 'project_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same cvterm and value in the properties of the project. Duplicate values will have different ranks. } Ret : hashref of { propname => new projectprop object } =cut sub create_projectprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'project_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'projectprops', ); } # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Project/ProjectRelationship.pm0000644000175000017500000000632311775633337025656 0ustar robrobpackage Bio::Chado::Schema::Result::Project::ProjectRelationship; BEGIN { $Bio::Chado::Schema::Result::Project::ProjectRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Project::ProjectRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Project::ProjectRelationship =head1 DESCRIPTION Linking table for relating projects to each other. For example, a given project could be composed of several smaller subprojects =cut __PACKAGE__->table("project_relationship"); =head1 ACCESSORS =head2 project_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'project_relationship_project_relationship_id_seq' =head2 subject_project_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_project_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The cvterm type of the relationship being stated, such as "part of". =cut __PACKAGE__->add_columns( "project_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "project_relationship_project_relationship_id_seq", }, "subject_project_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_project_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("project_relationship_id"); __PACKAGE__->add_unique_constraint( "project_relationship_c1", ["subject_project_id", "object_project_id", "type_id"], ); =head1 RELATIONS =head2 subject_project Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject_project", "Bio::Chado::Schema::Result::Project::Project", { project_id => "subject_project_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object_project Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object_project", "Bio::Chado::Schema::Result::Project::Project", { project_id => "object_project_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2012-07-06 11:44:28 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:srUsY6kGrK8qbGBQccUr0Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Project/ProjectPub.pm0000644000175000017500000000443611775633337023746 0ustar robrobpackage Bio::Chado::Schema::Result::Project::ProjectPub; BEGIN { $Bio::Chado::Schema::Result::Project::ProjectPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Project::ProjectPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Project::ProjectPub - Linking table for associating projects and publications. =cut __PACKAGE__->table("project_pub"); =head1 ACCESSORS =head2 project_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'project_pub_project_pub_id_seq' =head2 project_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "project_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "project_pub_project_pub_id_seq", }, "project_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("project_pub_id"); __PACKAGE__->add_unique_constraint("project_pub_c1", ["project_id", "pub_id"]); =head1 RELATIONS =head2 project Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "project", "Bio::Chado::Schema::Result::Project::Project", { project_id => "project_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2012-07-06 11:44:28 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6QUO6Y/AQVy7NgJ9KEvJUQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Project/Projectprop.pm0000644000175000017500000000477711775633337024210 0ustar robrobpackage Bio::Chado::Schema::Result::Project::Projectprop; BEGIN { $Bio::Chado::Schema::Result::Project::Projectprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Project::Projectprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Project::Projectprop =cut __PACKAGE__->table("projectprop"); =head1 ACCESSORS =head2 projectprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'projectprop_projectprop_id_seq' =head2 project_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "projectprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "projectprop_projectprop_id_seq", }, "project_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("projectprop_id"); __PACKAGE__->add_unique_constraint("projectprop_c1", ["project_id", "type_id", "rank"]); =head1 RELATIONS =head2 project Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "project", "Bio::Chado::Schema::Result::Project::Project", { project_id => "project_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6T1wDqDa7gV6WgivKxw3Rg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Project/ProjectContact.pm0000644000175000017500000000457211775633337024614 0ustar robrobpackage Bio::Chado::Schema::Result::Project::ProjectContact; BEGIN { $Bio::Chado::Schema::Result::Project::ProjectContact::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Project::ProjectContact::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Project::ProjectContact - Linking table for associating projects and contacts. =cut __PACKAGE__->table("project_contact"); =head1 ACCESSORS =head2 project_contact_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'project_contact_project_contact_id_seq' =head2 project_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 contact_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "project_contact_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "project_contact_project_contact_id_seq", }, "project_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "contact_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("project_contact_id"); __PACKAGE__->add_unique_constraint("project_contact_c1", ["project_id", "contact_id"]); =head1 RELATIONS =head2 project Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "project", "Bio::Chado::Schema::Result::Project::Project", { project_id => "project_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 contact Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "contact", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "contact_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2012-07-06 11:44:28 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:YB1GZ0y1aOcXf5xRM0ueGg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phenotype/0000755000175000017500000000000011775633337021671 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phenotype/PhenotypeCvterm.pm0000644000175000017500000000477211775633337025375 0ustar robrobpackage Bio::Chado::Schema::Result::Phenotype::PhenotypeCvterm; BEGIN { $Bio::Chado::Schema::Result::Phenotype::PhenotypeCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phenotype::PhenotypeCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phenotype::PhenotypeCvterm =cut __PACKAGE__->table("phenotype_cvterm"); =head1 ACCESSORS =head2 phenotype_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phenotype_cvterm_phenotype_cvterm_id_seq' =head2 phenotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "phenotype_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phenotype_cvterm_phenotype_cvterm_id_seq", }, "phenotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phenotype_cvterm_id"); __PACKAGE__->add_unique_constraint("phenotype_cvterm_c1", ["phenotype_id", "cvterm_id", "rank"]); =head1 RELATIONS =head2 phenotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { phenotype_id => "phenotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DYDAW5kO6axboVAHzjVk7g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phenotype/Phenotypeprop.pm0000644000175000017500000000567111775633337025114 0ustar robrobpackage Bio::Chado::Schema::Result::Phenotype::Phenotypeprop; BEGIN { $Bio::Chado::Schema::Result::Phenotype::Phenotypeprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phenotype::Phenotypeprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phenotype::Phenotypeprop =head1 DESCRIPTION A phenotype can have any number of slot-value property tags attached to it. This is an alternative to hardcoding a list of columns in the relational schema, and is completely extensible. There is a unique constraint, phenotypeprop_c1, for the combination of phenotype_id, rank, and type_id. Multivalued property-value pairs must be differentiated by rank. =cut __PACKAGE__->table("phenotypeprop"); =head1 ACCESSORS =head2 phenotypeprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phenotypeprop_phenotypeprop_id_seq' =head2 phenotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "phenotypeprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phenotypeprop_phenotypeprop_id_seq", }, "phenotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phenotypeprop_id"); __PACKAGE__->add_unique_constraint("phenotypeprop_c1", ["phenotype_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phenotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { phenotype_id => "phenotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-11-07 13:19:16 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:NDHb+iWsyTXU8gPq4qaqLw # You can replace this text with custom code or comments, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phenotype/FeaturePhenotype.pm0000644000175000017500000000457511775633337025531 0ustar robrobpackage Bio::Chado::Schema::Result::Phenotype::FeaturePhenotype; BEGIN { $Bio::Chado::Schema::Result::Phenotype::FeaturePhenotype::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phenotype::FeaturePhenotype::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phenotype::FeaturePhenotype =cut __PACKAGE__->table("feature_phenotype"); =head1 ACCESSORS =head2 feature_phenotype_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_phenotype_feature_phenotype_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 phenotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_phenotype_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_phenotype_feature_phenotype_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "phenotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_phenotype_id"); __PACKAGE__->add_unique_constraint("feature_phenotype_c1", ["feature_id", "phenotype_id"]); =head1 RELATIONS =head2 phenotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { phenotype_id => "phenotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:XBgUUH3vXS5RRgLHCEnYKA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phenotype/Phenotype.pm0000644000175000017500000002050711775633337024206 0ustar robrobpackage Bio::Chado::Schema::Result::Phenotype::Phenotype; BEGIN { $Bio::Chado::Schema::Result::Phenotype::Phenotype::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phenotype::Phenotype::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phenotype::Phenotype =head1 DESCRIPTION A phenotypic statement, or a single atomic phenotypic observation, is a controlled sentence describing observable effects of non-wild type function. E.g. Obs=eye, attribute=color, cvalue=red. =cut __PACKAGE__->table("phenotype"); =head1 ACCESSORS =head2 phenotype_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phenotype_phenotype_id_seq' =head2 uniquename data_type: 'text' is_nullable: 0 =head2 name data_type: 'text' is_nullable: 1 =head2 observable_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 The entity: e.g. anatomy_part, biological_process. =head2 attr_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 Phenotypic attribute (quality, property, attribute, character) - drawn from PATO. =head2 value data_type: 'text' is_nullable: 1 Value of attribute - unconstrained free text. Used only if cvalue_id is not appropriate. =head2 cvalue_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 Phenotype attribute value (state). =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 Evidence type. =cut __PACKAGE__->add_columns( "phenotype_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phenotype_phenotype_id_seq", }, "uniquename", { data_type => "text", is_nullable => 0 }, "name", { data_type => "text", is_nullable => 1 }, "observable_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "attr_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "value", { data_type => "text", is_nullable => 1 }, "cvalue_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, ); __PACKAGE__->set_primary_key("phenotype_id"); __PACKAGE__->add_unique_constraint("phenotype_c1", ["uniquename"]); =head1 RELATIONS =head2 feature_phenotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_phenotypes", "Bio::Chado::Schema::Result::Phenotype::FeaturePhenotype", { "foreign.phenotype_id" => "self.phenotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_phenotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_phenotypes", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPhenotype", { "foreign.phenotype_id" => "self.phenotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 attr Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "attr", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "attr_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 observable Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "observable", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "observable_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvalue Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvalue", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvalue_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phenotype_comparison_phenotype1s Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_phenotype1s", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.phenotype1_id" => "self.phenotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparison_phenotype2s Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_phenotype2s", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.phenotype2_id" => "self.phenotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_cvterms", "Bio::Chado::Schema::Result::Phenotype::PhenotypeCvterm", { "foreign.phenotype_id" => "self.phenotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotypeprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotypeprops", "Bio::Chado::Schema::Result::Phenotype::Phenotypeprop", { "foreign.phenotype_id" => "self.phenotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenstatements Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenstatements", "Bio::Chado::Schema::Result::Genetic::Phenstatement", { "foreign.phenotype_id" => "self.phenotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-11-07 13:19:16 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Doe95PQkanrP5pONEXNZ0w =head2 create_phenotypeprops Usage: $set->create_phenotypeprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create phenotype properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given phenotypeprop name. Default false. cv_name => cv.name to use for the given phenotypeprops. Defaults to 'phenotype_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same phenotype and value in the properties of the phenotype. Duplicate values will have different ranks. } Ret : hashref of { propname => new phenotypeprop object } =cut sub create_phenotypeprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'phenotype_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'phenotypeprops', ); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv.pod0000644000175000017500000000253311775633337020775 0ustar robrobpackage Bio::Chado::Schema::Result::Cv; =head1 NAME Bio::Chado::Schema::Result::Cv - Controlled vocabularies and ontologies =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Cv module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L L L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/0000755000175000017500000000000011775633337020567 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Protocol.pm0000644000175000017500000001221311775633337022725 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Protocol; BEGIN { $Bio::Chado::Schema::Result::Mage::Protocol::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Protocol::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Protocol - Procedural notes on how data was prepared and processed. =cut __PACKAGE__->table("protocol"); =head1 ACCESSORS =head2 protocol_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'protocol_protocol_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 name data_type: 'text' is_nullable: 0 =head2 uri data_type: 'text' is_nullable: 1 =head2 protocoldescription data_type: 'text' is_nullable: 1 =head2 hardwaredescription data_type: 'text' is_nullable: 1 =head2 softwaredescription data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "protocol_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "protocol_protocol_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "text", is_nullable => 0 }, "uri", { data_type => "text", is_nullable => 1 }, "protocoldescription", { data_type => "text", is_nullable => 1 }, "hardwaredescription", { data_type => "text", is_nullable => 1 }, "softwaredescription", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("protocol_id"); __PACKAGE__->add_unique_constraint("protocol_c1", ["name"]); =head1 RELATIONS =head2 acquisitions Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisitions", "Bio::Chado::Schema::Result::Mage::Acquisition", { "foreign.protocol_id" => "self.protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 arraydesigns Type: has_many Related object: L =cut __PACKAGE__->has_many( "arraydesigns", "Bio::Chado::Schema::Result::Mage::Arraydesign", { "foreign.protocol_id" => "self.protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assays Type: has_many Related object: L =cut __PACKAGE__->has_many( "assays", "Bio::Chado::Schema::Result::Mage::Assay", { "foreign.protocol_id" => "self.protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 protocolparams Type: has_many Related object: L =cut __PACKAGE__->has_many( "protocolparams", "Bio::Chado::Schema::Result::Mage::Protocolparam", { "foreign.protocol_id" => "self.protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantifications Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantifications", "Bio::Chado::Schema::Result::Mage::Quantification", { "foreign.protocol_id" => "self.protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 treatments Type: has_many Related object: L =cut __PACKAGE__->has_many( "treatments", "Bio::Chado::Schema::Result::Mage::Treatment", { "foreign.protocol_id" => "self.protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:OYitJJLN+EI4VnlqDp7gsw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Quantificationprop.pm0000644000175000017500000000536111775633337025011 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Quantificationprop; BEGIN { $Bio::Chado::Schema::Result::Mage::Quantificationprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Quantificationprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Quantificationprop =head1 DESCRIPTION Extra quantification properties that are not accounted for in quantification. =cut __PACKAGE__->table("quantificationprop"); =head1 ACCESSORS =head2 quantificationprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'quantificationprop_quantificationprop_id_seq' =head2 quantification_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "quantificationprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "quantificationprop_quantificationprop_id_seq", }, "quantification_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("quantificationprop_id"); __PACKAGE__->add_unique_constraint( "quantificationprop_c1", ["quantification_id", "type_id", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 quantification Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "quantification", "Bio::Chado::Schema::Result::Mage::Quantification", { quantification_id => "quantification_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:57aFjvRWcKByAMvprHJRVw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Arraydesign.pm0000644000175000017500000001514711775633337023405 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Arraydesign; BEGIN { $Bio::Chado::Schema::Result::Mage::Arraydesign::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Arraydesign::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Arraydesign =head1 DESCRIPTION General properties about an array. An array is a template used to generate physical slides, etc. It contains layout information, as well as global array properties, such as material (glass, nylon) and spot dimensions (in rows/columns). =cut __PACKAGE__->table("arraydesign"); =head1 ACCESSORS =head2 arraydesign_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'arraydesign_arraydesign_id_seq' =head2 manufacturer_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 platformtype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 substratetype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 name data_type: 'text' is_nullable: 0 =head2 version data_type: 'text' is_nullable: 1 =head2 description data_type: 'text' is_nullable: 1 =head2 array_dimensions data_type: 'text' is_nullable: 1 =head2 element_dimensions data_type: 'text' is_nullable: 1 =head2 num_of_elements data_type: 'integer' is_nullable: 1 =head2 num_array_columns data_type: 'integer' is_nullable: 1 =head2 num_array_rows data_type: 'integer' is_nullable: 1 =head2 num_grid_columns data_type: 'integer' is_nullable: 1 =head2 num_grid_rows data_type: 'integer' is_nullable: 1 =head2 num_sub_columns data_type: 'integer' is_nullable: 1 =head2 num_sub_rows data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "arraydesign_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "arraydesign_arraydesign_id_seq", }, "manufacturer_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "platformtype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "substratetype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "text", is_nullable => 0 }, "version", { data_type => "text", is_nullable => 1 }, "description", { data_type => "text", is_nullable => 1 }, "array_dimensions", { data_type => "text", is_nullable => 1 }, "element_dimensions", { data_type => "text", is_nullable => 1 }, "num_of_elements", { data_type => "integer", is_nullable => 1 }, "num_array_columns", { data_type => "integer", is_nullable => 1 }, "num_array_rows", { data_type => "integer", is_nullable => 1 }, "num_grid_columns", { data_type => "integer", is_nullable => 1 }, "num_grid_rows", { data_type => "integer", is_nullable => 1 }, "num_sub_columns", { data_type => "integer", is_nullable => 1 }, "num_sub_rows", { data_type => "integer", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("arraydesign_id"); __PACKAGE__->add_unique_constraint("arraydesign_c1", ["name"]); =head1 RELATIONS =head2 manufacturer Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "manufacturer", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "manufacturer_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 platformtype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "platformtype", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "platformtype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 substratetype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "substratetype", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "substratetype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "protocol", "Bio::Chado::Schema::Result::Mage::Protocol", { protocol_id => "protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 arraydesignprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "arraydesignprops", "Bio::Chado::Schema::Result::Mage::Arraydesignprop", { "foreign.arraydesign_id" => "self.arraydesign_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assays Type: has_many Related object: L =cut __PACKAGE__->has_many( "assays", "Bio::Chado::Schema::Result::Mage::Assay", { "foreign.arraydesign_id" => "self.arraydesign_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 elements Type: has_many Related object: L =cut __PACKAGE__->has_many( "elements", "Bio::Chado::Schema::Result::Mage::Element", { "foreign.arraydesign_id" => "self.arraydesign_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Z4fvwUd2hITlQ99cgAWNng # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Acquisitionprop.pm0000644000175000017500000000516511775633337024325 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Acquisitionprop; BEGIN { $Bio::Chado::Schema::Result::Mage::Acquisitionprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Acquisitionprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Acquisitionprop - Parameters associated with image acquisition. =cut __PACKAGE__->table("acquisitionprop"); =head1 ACCESSORS =head2 acquisitionprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'acquisitionprop_acquisitionprop_id_seq' =head2 acquisition_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "acquisitionprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "acquisitionprop_acquisitionprop_id_seq", }, "acquisition_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("acquisitionprop_id"); __PACKAGE__->add_unique_constraint("acquisitionprop_c1", ["acquisition_id", "type_id", "rank"]); =head1 RELATIONS =head2 acquisition Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "acquisition", "Bio::Chado::Schema::Result::Mage::Acquisition", { acquisition_id => "acquisition_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UbJcGjXJtGZGlcqmnqqKiA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Assay.pm0000644000175000017500000001454711775633337022220 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Assay; BEGIN { $Bio::Chado::Schema::Result::Mage::Assay::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Assay::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Assay =head1 DESCRIPTION An assay consists of a physical instance of an array, combined with the conditions used to create the array (protocols, technician information). The assay can be thought of as a hybridization. =cut __PACKAGE__->table("assay"); =head1 ACCESSORS =head2 assay_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'assay_assay_id_seq' =head2 arraydesign_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 assaydate data_type: 'timestamp' default_value: current_timestamp is_nullable: 1 original: {default_value => \"now()"} =head2 arrayidentifier data_type: 'text' is_nullable: 1 =head2 arraybatchidentifier data_type: 'text' is_nullable: 1 =head2 operator_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 name data_type: 'text' is_nullable: 1 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "assay_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "assay_assay_id_seq", }, "arraydesign_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "assaydate", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 1, original => { default_value => \"now()" }, }, "arrayidentifier", { data_type => "text", is_nullable => 1 }, "arraybatchidentifier", { data_type => "text", is_nullable => 1 }, "operator_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "text", is_nullable => 1 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("assay_id"); __PACKAGE__->add_unique_constraint("assay_c1", ["name"]); =head1 RELATIONS =head2 acquisitions Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisitions", "Bio::Chado::Schema::Result::Mage::Acquisition", { "foreign.assay_id" => "self.assay_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 operator Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "operator", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "operator_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "protocol", "Bio::Chado::Schema::Result::Mage::Protocol", { protocol_id => "protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 arraydesign Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "arraydesign", "Bio::Chado::Schema::Result::Mage::Arraydesign", { arraydesign_id => "arraydesign_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 assay_biomaterials Type: has_many Related object: L =cut __PACKAGE__->has_many( "assay_biomaterials", "Bio::Chado::Schema::Result::Mage::AssayBiomaterial", { "foreign.assay_id" => "self.assay_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assay_projects Type: has_many Related object: L =cut __PACKAGE__->has_many( "assay_projects", "Bio::Chado::Schema::Result::Mage::AssayProject", { "foreign.assay_id" => "self.assay_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assayprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "assayprops", "Bio::Chado::Schema::Result::Mage::Assayprop", { "foreign.assay_id" => "self.assay_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 controls Type: has_many Related object: L =cut __PACKAGE__->has_many( "controls", "Bio::Chado::Schema::Result::Mage::Control", { "foreign.assay_id" => "self.assay_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 study_assays Type: has_many Related object: L =cut __PACKAGE__->has_many( "study_assays", "Bio::Chado::Schema::Result::Mage::StudyAssay", { "foreign.assay_id" => "self.assay_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studyfactorvalues Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyfactorvalues", "Bio::Chado::Schema::Result::Mage::Studyfactorvalue", { "foreign.assay_id" => "self.assay_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tNB0k+0FwL4Nqs2ui/ahrQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/StudyAssay.pm0000644000175000017500000000432311775633337023240 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::StudyAssay; BEGIN { $Bio::Chado::Schema::Result::Mage::StudyAssay::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::StudyAssay::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::StudyAssay =cut __PACKAGE__->table("study_assay"); =head1 ACCESSORS =head2 study_assay_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'study_assay_study_assay_id_seq' =head2 study_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "study_assay_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "study_assay_study_assay_id_seq", }, "study_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("study_assay_id"); __PACKAGE__->add_unique_constraint("study_assay_c1", ["study_id", "assay_id"]); =head1 RELATIONS =head2 study Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "study", "Bio::Chado::Schema::Result::Mage::Study", { study_id => "study_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Mage::Assay", { assay_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+vL3u4ik5HFr9TRrzQ14XQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Mageml.pm0000644000175000017500000000335611775633337022336 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Mageml; BEGIN { $Bio::Chado::Schema::Result::Mage::Mageml::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Mageml::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Mageml =head1 DESCRIPTION This table is for storing extra bits of MAGEml in a denormalized form. More normalization would require many more tables. =cut __PACKAGE__->table("mageml"); =head1 ACCESSORS =head2 mageml_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'mageml_mageml_id_seq' =head2 mage_package data_type: 'text' is_nullable: 0 =head2 mage_ml data_type: 'text' is_nullable: 0 =cut __PACKAGE__->add_columns( "mageml_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "mageml_mageml_id_seq", }, "mage_package", { data_type => "text", is_nullable => 0 }, "mage_ml", { data_type => "text", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("mageml_id"); =head1 RELATIONS =head2 magedocumentations Type: has_many Related object: L =cut __PACKAGE__->has_many( "magedocumentations", "Bio::Chado::Schema::Result::Mage::Magedocumentation", { "foreign.mageml_id" => "self.mageml_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:a2Jy7AB2R2qN1xWoB8Fjiw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Biomaterialprop.pm0000644000175000017500000000524211775633337024261 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Biomaterialprop; BEGIN { $Bio::Chado::Schema::Result::Mage::Biomaterialprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Biomaterialprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Biomaterialprop =head1 DESCRIPTION Extra biomaterial properties that are not accounted for in biomaterial. =cut __PACKAGE__->table("biomaterialprop"); =head1 ACCESSORS =head2 biomaterialprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'biomaterialprop_biomaterialprop_id_seq' =head2 biomaterial_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "biomaterialprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "biomaterialprop_biomaterialprop_id_seq", }, "biomaterial_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("biomaterialprop_id"); __PACKAGE__->add_unique_constraint("biomaterialprop_c1", ["biomaterial_id", "type_id", "rank"]); =head1 RELATIONS =head2 biomaterial Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "biomaterial", "Bio::Chado::Schema::Result::Mage::Biomaterial", { biomaterial_id => "biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:rNP1nkHB/G7lvlcwf4hzJA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Quantification.pm0000644000175000017500000001304311775633337024104 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Quantification; BEGIN { $Bio::Chado::Schema::Result::Mage::Quantification::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Quantification::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Quantification =head1 DESCRIPTION Quantification is the transformation of an image acquisition to numeric data. This typically involves statistical procedures. =cut __PACKAGE__->table("quantification"); =head1 ACCESSORS =head2 quantification_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'quantification_quantification_id_seq' =head2 acquisition_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 operator_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 analysis_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 quantificationdate data_type: 'timestamp' default_value: current_timestamp is_nullable: 1 original: {default_value => \"now()"} =head2 name data_type: 'text' is_nullable: 1 =head2 uri data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "quantification_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "quantification_quantification_id_seq", }, "acquisition_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "operator_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "analysis_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "quantificationdate", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 1, original => { default_value => \"now()" }, }, "name", { data_type => "text", is_nullable => 1 }, "uri", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("quantification_id"); __PACKAGE__->add_unique_constraint("quantification_c1", ["name", "analysis_id"]); =head1 RELATIONS =head2 elementresults Type: has_many Related object: L =cut __PACKAGE__->has_many( "elementresults", "Bio::Chado::Schema::Result::Mage::Elementresult", { "foreign.quantification_id" => "self.quantification_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 operator Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "operator", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "operator_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 analysis Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "analysis", "Bio::Chado::Schema::Result::Companalysis::Analysis", { analysis_id => "analysis_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "protocol", "Bio::Chado::Schema::Result::Mage::Protocol", { protocol_id => "protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 acquisition Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "acquisition", "Bio::Chado::Schema::Result::Mage::Acquisition", { acquisition_id => "acquisition_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 quantificationprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantificationprops", "Bio::Chado::Schema::Result::Mage::Quantificationprop", { "foreign.quantification_id" => "self.quantification_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantification_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantification_relationship_subjects", "Bio::Chado::Schema::Result::Mage::QuantificationRelationship", { "foreign.subject_id" => "self.quantification_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantification_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantification_relationship_objects", "Bio::Chado::Schema::Result::Mage::QuantificationRelationship", { "foreign.object_id" => "self.quantification_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:92+PlSTTq5w4uByxrfU3oA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Studyfactorvalue.pm0000644000175000017500000000515411775633337024476 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Studyfactorvalue; BEGIN { $Bio::Chado::Schema::Result::Mage::Studyfactorvalue::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Studyfactorvalue::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Studyfactorvalue =cut __PACKAGE__->table("studyfactorvalue"); =head1 ACCESSORS =head2 studyfactorvalue_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'studyfactorvalue_studyfactorvalue_id_seq' =head2 studyfactor_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 factorvalue data_type: 'text' is_nullable: 1 =head2 name data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "studyfactorvalue_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "studyfactorvalue_studyfactorvalue_id_seq", }, "studyfactor_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "factorvalue", { data_type => "text", is_nullable => 1 }, "name", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("studyfactorvalue_id"); =head1 RELATIONS =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Mage::Assay", { assay_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 studyfactor Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "studyfactor", "Bio::Chado::Schema::Result::Mage::Studyfactor", { studyfactor_id => "studyfactor_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:SEoB74WoJbcRCF6oQlQWYA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/BiomaterialDbxref.pm0000644000175000017500000000456311775633337024520 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::BiomaterialDbxref; BEGIN { $Bio::Chado::Schema::Result::Mage::BiomaterialDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::BiomaterialDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::BiomaterialDbxref =cut __PACKAGE__->table("biomaterial_dbxref"); =head1 ACCESSORS =head2 biomaterial_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'biomaterial_dbxref_biomaterial_dbxref_id_seq' =head2 biomaterial_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "biomaterial_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "biomaterial_dbxref_biomaterial_dbxref_id_seq", }, "biomaterial_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("biomaterial_dbxref_id"); __PACKAGE__->add_unique_constraint("biomaterial_dbxref_c1", ["biomaterial_id", "dbxref_id"]); =head1 RELATIONS =head2 biomaterial Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "biomaterial", "Bio::Chado::Schema::Result::Mage::Biomaterial", { biomaterial_id => "biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IV0HPBVaUplQTyLeE7g+Tg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Acquisition.pm0000644000175000017500000001150211775633337023414 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Acquisition; BEGIN { $Bio::Chado::Schema::Result::Mage::Acquisition::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Acquisition::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Acquisition =head1 DESCRIPTION This represents the scanning of hybridized material. The output of this process is typically a digital image of an array. =cut __PACKAGE__->table("acquisition"); =head1 ACCESSORS =head2 acquisition_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'acquisition_acquisition_id_seq' =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 channel_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 acquisitiondate data_type: 'timestamp' default_value: current_timestamp is_nullable: 1 original: {default_value => \"now()"} =head2 name data_type: 'text' is_nullable: 1 =head2 uri data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "acquisition_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "acquisition_acquisition_id_seq", }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "channel_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "acquisitiondate", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 1, original => { default_value => \"now()" }, }, "name", { data_type => "text", is_nullable => 1 }, "uri", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("acquisition_id"); __PACKAGE__->add_unique_constraint("acquisition_c1", ["name"]); =head1 RELATIONS =head2 protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "protocol", "Bio::Chado::Schema::Result::Mage::Protocol", { protocol_id => "protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Mage::Assay", { assay_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 channel Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "channel", "Bio::Chado::Schema::Result::Mage::Channel", { channel_id => "channel_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 acquisitionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisitionprops", "Bio::Chado::Schema::Result::Mage::Acquisitionprop", { "foreign.acquisition_id" => "self.acquisition_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 acquisition_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisition_relationship_subjects", "Bio::Chado::Schema::Result::Mage::AcquisitionRelationship", { "foreign.subject_id" => "self.acquisition_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 acquisition_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisition_relationship_objects", "Bio::Chado::Schema::Result::Mage::AcquisitionRelationship", { "foreign.object_id" => "self.acquisition_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantifications Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantifications", "Bio::Chado::Schema::Result::Mage::Quantification", { "foreign.acquisition_id" => "self.acquisition_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wSZSVJSO4MuPvrYhuZD0/g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/BiomaterialRelationship.pm0000644000175000017500000000613211775633337025741 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::BiomaterialRelationship; BEGIN { $Bio::Chado::Schema::Result::Mage::BiomaterialRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::BiomaterialRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::BiomaterialRelationship =head1 DESCRIPTION Relate biomaterials to one another. This is a way to track a series of treatments or material splits/merges, for instance. =cut __PACKAGE__->table("biomaterial_relationship"); =head1 ACCESSORS =head2 biomaterial_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'biomaterial_relationship_biomaterial_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "biomaterial_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "biomaterial_relationship_biomaterial_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("biomaterial_relationship_id"); __PACKAGE__->add_unique_constraint( "biomaterial_relationship_c1", ["subject_id", "object_id", "type_id"], ); =head1 RELATIONS =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Mage::Biomaterial", { biomaterial_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Mage::Biomaterial", { biomaterial_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:qsN36Ia/mniZTEyqDXkTcg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Biomaterial.pm0000644000175000017500000001336011775633337023360 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Biomaterial; BEGIN { $Bio::Chado::Schema::Result::Mage::Biomaterial::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Biomaterial::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Biomaterial =head1 DESCRIPTION A biomaterial represents the MAGE concept of BioSource, BioSample, and LabeledExtract. It is essentially some biological material (tissue, cells, serum) that may have been processed. Processed biomaterials should be traceable back to raw biomaterials via the biomaterialrelationship table. =cut __PACKAGE__->table("biomaterial"); =head1 ACCESSORS =head2 biomaterial_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'biomaterial_biomaterial_id_seq' =head2 taxon_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 biosourceprovider_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 name data_type: 'text' is_nullable: 1 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "biomaterial_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "biomaterial_biomaterial_id_seq", }, "taxon_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "biosourceprovider_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "text", is_nullable => 1 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("biomaterial_id"); __PACKAGE__->add_unique_constraint("biomaterial_c1", ["name"]); =head1 RELATIONS =head2 assay_biomaterials Type: has_many Related object: L =cut __PACKAGE__->has_many( "assay_biomaterials", "Bio::Chado::Schema::Result::Mage::AssayBiomaterial", { "foreign.biomaterial_id" => "self.biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 taxon Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "taxon", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "taxon_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 biosourceprovider Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "biosourceprovider", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "biosourceprovider_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 biomaterial_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_dbxrefs", "Bio::Chado::Schema::Result::Mage::BiomaterialDbxref", { "foreign.biomaterial_id" => "self.biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterialprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterialprops", "Bio::Chado::Schema::Result::Mage::Biomaterialprop", { "foreign.biomaterial_id" => "self.biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterial_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_relationship_subjects", "Bio::Chado::Schema::Result::Mage::BiomaterialRelationship", { "foreign.subject_id" => "self.biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterial_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_relationship_objects", "Bio::Chado::Schema::Result::Mage::BiomaterialRelationship", { "foreign.object_id" => "self.biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterial_treatments Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_treatments", "Bio::Chado::Schema::Result::Mage::BiomaterialTreatment", { "foreign.biomaterial_id" => "self.biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 treatments Type: has_many Related object: L =cut __PACKAGE__->has_many( "treatments", "Bio::Chado::Schema::Result::Mage::Treatment", { "foreign.biomaterial_id" => "self.biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/VQ8SGvWjdco22wrum1JHg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/ElementresultRelationship.pm0000644000175000017500000000667111775633337026351 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::ElementresultRelationship; BEGIN { $Bio::Chado::Schema::Result::Mage::ElementresultRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::ElementresultRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::ElementresultRelationship =head1 DESCRIPTION Sometimes we want to combine measurements from multiple elements to get a composite value. Affymetrix combines many probes to form a probeset measurement, for instance. =cut __PACKAGE__->table("elementresult_relationship"); =head1 ACCESSORS =head2 elementresult_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'elementresult_relationship_elementresult_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "elementresult_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "elementresult_relationship_elementresult_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("elementresult_relationship_id"); __PACKAGE__->add_unique_constraint( "elementresult_relationship_c1", ["subject_id", "object_id", "type_id", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Mage::Elementresult", { elementresult_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Mage::Elementresult", { elementresult_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KVtd45bMt+frtCeu65O6sw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/QuantificationRelationship.pm0000644000175000017500000000621111775633337026465 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::QuantificationRelationship; BEGIN { $Bio::Chado::Schema::Result::Mage::QuantificationRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::QuantificationRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::QuantificationRelationship =head1 DESCRIPTION There may be multiple rounds of quantification, this allows us to keep an audit trail of what values went where. =cut __PACKAGE__->table("quantification_relationship"); =head1 ACCESSORS =head2 quantification_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'quantification_relationship_quantification_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "quantification_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "quantification_relationship_quantification_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("quantification_relationship_id"); __PACKAGE__->add_unique_constraint( "quantification_relationship_c1", ["subject_id", "object_id", "type_id"], ); =head1 RELATIONS =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Mage::Quantification", { quantification_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Mage::Quantification", { quantification_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lMjhMSLrSfzRub2YWp5xkg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Elementresult.pm0000644000175000017500000000664611775633337023771 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Elementresult; BEGIN { $Bio::Chado::Schema::Result::Mage::Elementresult::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Elementresult::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Elementresult =head1 DESCRIPTION An element on an array produces a measurement when hybridized to a biomaterial (traceable through quantification_id). This is the base data from which tables that actually contain data inherit. =cut __PACKAGE__->table("elementresult"); =head1 ACCESSORS =head2 elementresult_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'elementresult_elementresult_id_seq' =head2 element_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 quantification_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 signal data_type: 'double precision' is_nullable: 0 =cut __PACKAGE__->add_columns( "elementresult_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "elementresult_elementresult_id_seq", }, "element_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "quantification_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "signal", { data_type => "double precision", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("elementresult_id"); __PACKAGE__->add_unique_constraint("elementresult_c1", ["element_id", "quantification_id"]); =head1 RELATIONS =head2 element Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "element", "Bio::Chado::Schema::Result::Mage::Element", { element_id => "element_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 quantification Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "quantification", "Bio::Chado::Schema::Result::Mage::Quantification", { quantification_id => "quantification_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 elementresult_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "elementresult_relationship_subjects", "Bio::Chado::Schema::Result::Mage::ElementresultRelationship", { "foreign.subject_id" => "self.elementresult_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 elementresult_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "elementresult_relationship_objects", "Bio::Chado::Schema::Result::Mage::ElementresultRelationship", { "foreign.object_id" => "self.elementresult_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Wi6GbvbN4ZZh1yF349Jgjw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Control.pm0000644000175000017500000000614411775633337022552 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Control; BEGIN { $Bio::Chado::Schema::Result::Mage::Control::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Control::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Control =cut __PACKAGE__->table("control"); =head1 ACCESSORS =head2 control_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'control_control_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 tableinfo_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 row_id data_type: 'integer' is_nullable: 0 =head2 name data_type: 'text' is_nullable: 1 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "control_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "control_control_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "tableinfo_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "row_id", { data_type => "integer", is_nullable => 0 }, "name", { data_type => "text", is_nullable => 1 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("control_id"); =head1 RELATIONS =head2 tableinfo Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "tableinfo", "Bio::Chado::Schema::Result::General::Tableinfo", { tableinfo_id => "tableinfo_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Mage::Assay", { assay_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Hti13etOogiDm5vxbrnEPA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Assayprop.pm0000644000175000017500000000477711775633337023125 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Assayprop; BEGIN { $Bio::Chado::Schema::Result::Mage::Assayprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Assayprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Assayprop - Extra assay properties that are not accounted for in assay. =cut __PACKAGE__->table("assayprop"); =head1 ACCESSORS =head2 assayprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'assayprop_assayprop_id_seq' =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "assayprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "assayprop_assayprop_id_seq", }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("assayprop_id"); __PACKAGE__->add_unique_constraint("assayprop_c1", ["assay_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Mage::Assay", { assay_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:LcQ9LBDCMB78qBpDwfjAgw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/AssayProject.pm0000644000175000017500000000444011775633337023536 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::AssayProject; BEGIN { $Bio::Chado::Schema::Result::Mage::AssayProject::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::AssayProject::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::AssayProject - Link assays to projects. =cut __PACKAGE__->table("assay_project"); =head1 ACCESSORS =head2 assay_project_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'assay_project_assay_project_id_seq' =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 project_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "assay_project_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "assay_project_assay_project_id_seq", }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "project_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("assay_project_id"); __PACKAGE__->add_unique_constraint("assay_project_c1", ["assay_id", "project_id"]); =head1 RELATIONS =head2 project Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "project", "Bio::Chado::Schema::Result::Project::Project", { project_id => "project_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Mage::Assay", { assay_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:biZL5hZlp1mXOWiz86g1Uw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/ElementRelationship.pm0000644000175000017500000000650711775633337025110 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::ElementRelationship; BEGIN { $Bio::Chado::Schema::Result::Mage::ElementRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::ElementRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::ElementRelationship =head1 DESCRIPTION Sometimes we want to combine measurements from multiple elements to get a composite value. Affymetrix combines many probes to form a probeset measurement, for instance. =cut __PACKAGE__->table("element_relationship"); =head1 ACCESSORS =head2 element_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'element_relationship_element_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "element_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "element_relationship_element_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("element_relationship_id"); __PACKAGE__->add_unique_constraint( "element_relationship_c1", ["subject_id", "object_id", "type_id", "rank"], ); =head1 RELATIONS =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Mage::Element", { element_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Mage::Element", { element_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TtBwkTrjFbucakg3Kou7MQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Protocolparam.pm0000644000175000017500000000644711775633337023762 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Protocolparam; BEGIN { $Bio::Chado::Schema::Result::Mage::Protocolparam::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Protocolparam::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Protocolparam =head1 DESCRIPTION Parameters related to a protocol. For example, if the protocol is a soak, this might include attributes of bath temperature and duration. =cut __PACKAGE__->table("protocolparam"); =head1 ACCESSORS =head2 protocolparam_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'protocolparam_protocolparam_id_seq' =head2 protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 name data_type: 'text' is_nullable: 0 =head2 datatype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 unittype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "protocolparam_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "protocolparam_protocolparam_id_seq", }, "protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "name", { data_type => "text", is_nullable => 0 }, "datatype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "unittype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("protocolparam_id"); =head1 RELATIONS =head2 unittype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "unittype", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "unittype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "protocol", "Bio::Chado::Schema::Result::Mage::Protocol", { protocol_id => "protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 datatype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "datatype", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "datatype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:XUN/C0TOU8idi8i3hGBeMg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/AssayBiomaterial.pm0000644000175000017500000000636511775633337024370 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::AssayBiomaterial; BEGIN { $Bio::Chado::Schema::Result::Mage::AssayBiomaterial::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::AssayBiomaterial::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::AssayBiomaterial =head1 DESCRIPTION A biomaterial can be hybridized many times (technical replicates), or combined with other biomaterials in a single hybridization (for two-channel arrays). =cut __PACKAGE__->table("assay_biomaterial"); =head1 ACCESSORS =head2 assay_biomaterial_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'assay_biomaterial_assay_biomaterial_id_seq' =head2 assay_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 biomaterial_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 channel_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "assay_biomaterial_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "assay_biomaterial_assay_biomaterial_id_seq", }, "assay_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "biomaterial_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "channel_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("assay_biomaterial_id"); __PACKAGE__->add_unique_constraint( "assay_biomaterial_c1", ["assay_id", "biomaterial_id", "channel_id", "rank"], ); =head1 RELATIONS =head2 channel Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "channel", "Bio::Chado::Schema::Result::Mage::Channel", { channel_id => "channel_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 biomaterial Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "biomaterial", "Bio::Chado::Schema::Result::Mage::Biomaterial", { biomaterial_id => "biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 assay Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "assay", "Bio::Chado::Schema::Result::Mage::Assay", { assay_id => "assay_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:V5KzD1yg2bW1f7BT247qZw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Treatment.pm0000644000175000017500000000666711775633337023107 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Treatment; BEGIN { $Bio::Chado::Schema::Result::Mage::Treatment::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Treatment::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Treatment =head1 DESCRIPTION A biomaterial may undergo multiple treatments. Examples of treatments: apoxia, fluorophore and biotin labeling. =cut __PACKAGE__->table("treatment"); =head1 ACCESSORS =head2 treatment_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'treatment_treatment_id_seq' =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =head2 biomaterial_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 name data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "treatment_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "treatment_treatment_id_seq", }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, "biomaterial_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("treatment_id"); =head1 RELATIONS =head2 biomaterial_treatments Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_treatments", "Bio::Chado::Schema::Result::Mage::BiomaterialTreatment", { "foreign.treatment_id" => "self.treatment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "protocol", "Bio::Chado::Schema::Result::Mage::Protocol", { protocol_id => "protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 biomaterial Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "biomaterial", "Bio::Chado::Schema::Result::Mage::Biomaterial", { biomaterial_id => "biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:WPwU6fqrHkdVhvYZc69hsQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Channel.pm0000644000175000017500000000415011775633337022475 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Channel; BEGIN { $Bio::Chado::Schema::Result::Mage::Channel::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Channel::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Channel =head1 DESCRIPTION Different array platforms can record signals from one or more channels (cDNA arrays typically use two CCD, but Affymetrix uses only one). =cut __PACKAGE__->table("channel"); =head1 ACCESSORS =head2 channel_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'channel_channel_id_seq' =head2 name data_type: 'text' is_nullable: 0 =head2 definition data_type: 'text' is_nullable: 0 =cut __PACKAGE__->add_columns( "channel_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "channel_channel_id_seq", }, "name", { data_type => "text", is_nullable => 0 }, "definition", { data_type => "text", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("channel_id"); __PACKAGE__->add_unique_constraint("channel_c1", ["name"]); =head1 RELATIONS =head2 acquisitions Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisitions", "Bio::Chado::Schema::Result::Mage::Acquisition", { "foreign.channel_id" => "self.channel_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assay_biomaterials Type: has_many Related object: L =cut __PACKAGE__->has_many( "assay_biomaterials", "Bio::Chado::Schema::Result::Mage::AssayBiomaterial", { "foreign.channel_id" => "self.channel_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0kdfxPCxnjzP0qF2xiblGA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Magedocumentation.pm0000644000175000017500000000475711775633337024605 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Magedocumentation; BEGIN { $Bio::Chado::Schema::Result::Mage::Magedocumentation::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Magedocumentation::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Magedocumentation =cut __PACKAGE__->table("magedocumentation"); =head1 ACCESSORS =head2 magedocumentation_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'magedocumentation_magedocumentation_id_seq' =head2 mageml_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 tableinfo_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 row_id data_type: 'integer' is_nullable: 0 =head2 mageidentifier data_type: 'text' is_nullable: 0 =cut __PACKAGE__->add_columns( "magedocumentation_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "magedocumentation_magedocumentation_id_seq", }, "mageml_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "tableinfo_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "row_id", { data_type => "integer", is_nullable => 0 }, "mageidentifier", { data_type => "text", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("magedocumentation_id"); =head1 RELATIONS =head2 tableinfo Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "tableinfo", "Bio::Chado::Schema::Result::General::Tableinfo", { tableinfo_id => "tableinfo_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 mageml Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "mageml", "Bio::Chado::Schema::Result::Mage::Mageml", { mageml_id => "mageml_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:r/wg2bcJGssYhjqBBPBmAg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Studydesign.pm0000644000175000017500000000455311775633337023436 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Studydesign; BEGIN { $Bio::Chado::Schema::Result::Mage::Studydesign::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Studydesign::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Studydesign =cut __PACKAGE__->table("studydesign"); =head1 ACCESSORS =head2 studydesign_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'studydesign_studydesign_id_seq' =head2 study_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "studydesign_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "studydesign_studydesign_id_seq", }, "study_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("studydesign_id"); =head1 RELATIONS =head2 study Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "study", "Bio::Chado::Schema::Result::Mage::Study", { study_id => "study_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 studydesignprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "studydesignprops", "Bio::Chado::Schema::Result::Mage::Studydesignprop", { "foreign.studydesign_id" => "self.studydesign_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studyfactors Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyfactors", "Bio::Chado::Schema::Result::Mage::Studyfactor", { "foreign.studydesign_id" => "self.studydesign_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vD7ojU0ZWCDAyP+EZDi8Mw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/AcquisitionRelationship.pm0000644000175000017500000000656511775633337026013 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::AcquisitionRelationship; BEGIN { $Bio::Chado::Schema::Result::Mage::AcquisitionRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::AcquisitionRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::AcquisitionRelationship =head1 DESCRIPTION Multiple monochrome images may be merged to form a multi-color image. Red-green images of 2-channel hybridizations are an example of this. =cut __PACKAGE__->table("acquisition_relationship"); =head1 ACCESSORS =head2 acquisition_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'acquisition_relationship_acquisition_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "acquisition_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "acquisition_relationship_acquisition_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("acquisition_relationship_id"); __PACKAGE__->add_unique_constraint( "acquisition_relationship_c1", ["subject_id", "object_id", "type_id", "rank"], ); =head1 RELATIONS =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Mage::Acquisition", { acquisition_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Mage::Acquisition", { acquisition_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Fyt8rB1hmx0/OIaSPOMfoQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Arraydesignprop.pm0000644000175000017500000000524311775633337024302 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Arraydesignprop; BEGIN { $Bio::Chado::Schema::Result::Mage::Arraydesignprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Arraydesignprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Arraydesignprop =head1 DESCRIPTION Extra array design properties that are not accounted for in arraydesign. =cut __PACKAGE__->table("arraydesignprop"); =head1 ACCESSORS =head2 arraydesignprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'arraydesignprop_arraydesignprop_id_seq' =head2 arraydesign_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "arraydesignprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "arraydesignprop_arraydesignprop_id_seq", }, "arraydesign_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("arraydesignprop_id"); __PACKAGE__->add_unique_constraint("arraydesignprop_c1", ["arraydesign_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 arraydesign Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "arraydesign", "Bio::Chado::Schema::Result::Mage::Arraydesign", { arraydesign_id => "arraydesign_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:E+g6JCplV4TJzIZJENmkNQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/StudypropFeature.pm0000644000175000017500000000563011775633337024456 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::StudypropFeature; BEGIN { $Bio::Chado::Schema::Result::Mage::StudypropFeature::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::StudypropFeature::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::StudypropFeature =cut __PACKAGE__->table("studyprop_feature"); =head1 ACCESSORS =head2 studyprop_feature_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'studyprop_feature_studyprop_feature_id_seq' =head2 studyprop_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =cut __PACKAGE__->add_columns( "studyprop_feature_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "studyprop_feature_studyprop_feature_id_seq", }, "studyprop_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, ); __PACKAGE__->set_primary_key("studyprop_feature_id"); __PACKAGE__->add_unique_constraint( "studyprop_feature_studyprop_id_key", ["studyprop_id", "feature_id"], ); =head1 RELATIONS =head2 studyprop Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "studyprop", "Bio::Chado::Schema::Result::Mage::Studyprop", { studyprop_id => "studyprop_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2KkGjfzCBXVFGheJUG8e5g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/BiomaterialTreatment.pm0000644000175000017500000000661011775633337025244 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::BiomaterialTreatment; BEGIN { $Bio::Chado::Schema::Result::Mage::BiomaterialTreatment::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::BiomaterialTreatment::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::BiomaterialTreatment =head1 DESCRIPTION Link biomaterials to treatments. Treatments have an order of operations (rank), and associated measurements (unittype_id, value). =cut __PACKAGE__->table("biomaterial_treatment"); =head1 ACCESSORS =head2 biomaterial_treatment_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'biomaterial_treatment_biomaterial_treatment_id_seq' =head2 biomaterial_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 treatment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 unittype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 value data_type: 'real' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "biomaterial_treatment_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "biomaterial_treatment_biomaterial_treatment_id_seq", }, "biomaterial_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "treatment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "unittype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "value", { data_type => "real", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("biomaterial_treatment_id"); __PACKAGE__->add_unique_constraint( "biomaterial_treatment_c1", ["biomaterial_id", "treatment_id"], ); =head1 RELATIONS =head2 biomaterial Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "biomaterial", "Bio::Chado::Schema::Result::Mage::Biomaterial", { biomaterial_id => "biomaterial_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 unittype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "unittype", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "unittype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 treatment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "treatment", "Bio::Chado::Schema::Result::Mage::Treatment", { treatment_id => "treatment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:WtmDzrC052GEBuugTw29Jg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Studyfactor.pm0000644000175000017500000000537111775633337023442 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Studyfactor; BEGIN { $Bio::Chado::Schema::Result::Mage::Studyfactor::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Studyfactor::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Studyfactor =cut __PACKAGE__->table("studyfactor"); =head1 ACCESSORS =head2 studyfactor_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'studyfactor_studyfactor_id_seq' =head2 studydesign_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 name data_type: 'text' is_nullable: 0 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "studyfactor_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "studyfactor_studyfactor_id_seq", }, "studydesign_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "text", is_nullable => 0 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("studyfactor_id"); =head1 RELATIONS =head2 studydesign Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "studydesign", "Bio::Chado::Schema::Result::Mage::Studydesign", { studydesign_id => "studydesign_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 studyfactorvalues Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyfactorvalues", "Bio::Chado::Schema::Result::Mage::Studyfactorvalue", { "foreign.studyfactor_id" => "self.studyfactor_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:a1EHaIeoPwwbkSk+7s1Yaw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Element.pm0000644000175000017500000001072211775633337022520 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Element; BEGIN { $Bio::Chado::Schema::Result::Mage::Element::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Element::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Element =head1 DESCRIPTION Represents a feature of the array. This is typically a region of the array coated or bound to DNA. =cut __PACKAGE__->table("element"); =head1 ACCESSORS =head2 element_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'element_element_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 arraydesign_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =cut __PACKAGE__->add_columns( "element_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "element_element_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "arraydesign_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, ); __PACKAGE__->set_primary_key("element_id"); __PACKAGE__->add_unique_constraint("element_c1", ["feature_id", "arraydesign_id"]); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 arraydesign Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "arraydesign", "Bio::Chado::Schema::Result::Mage::Arraydesign", { arraydesign_id => "arraydesign_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 element_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "element_relationship_objects", "Bio::Chado::Schema::Result::Mage::ElementRelationship", { "foreign.object_id" => "self.element_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 element_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "element_relationship_subjects", "Bio::Chado::Schema::Result::Mage::ElementRelationship", { "foreign.subject_id" => "self.element_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 elementresults Type: has_many Related object: L =cut __PACKAGE__->has_many( "elementresults", "Bio::Chado::Schema::Result::Mage::Elementresult", { "foreign.element_id" => "self.element_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:RRDh549Rn1su0y6fYGzk5Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Studyprop.pm0000644000175000017500000000542111775633337023140 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Studyprop; BEGIN { $Bio::Chado::Schema::Result::Mage::Studyprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Studyprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Studyprop =cut __PACKAGE__->table("studyprop"); =head1 ACCESSORS =head2 studyprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'studyprop_studyprop_id_seq' =head2 study_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "studyprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "studyprop_studyprop_id_seq", }, "study_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("studyprop_id"); __PACKAGE__->add_unique_constraint("studyprop_study_id_key", ["study_id", "type_id", "rank"]); =head1 RELATIONS =head2 study Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "study", "Bio::Chado::Schema::Result::Mage::Study", { study_id => "study_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 studyprop_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyprop_features", "Bio::Chado::Schema::Result::Mage::StudypropFeature", { "foreign.studyprop_id" => "self.studyprop_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:8BUQNoIxUdmOMfLpML4LLg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Studydesignprop.pm0000644000175000017500000000510511775633337024331 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Studydesignprop; BEGIN { $Bio::Chado::Schema::Result::Mage::Studydesignprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Studydesignprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Studydesignprop =cut __PACKAGE__->table("studydesignprop"); =head1 ACCESSORS =head2 studydesignprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'studydesignprop_studydesignprop_id_seq' =head2 studydesign_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "studydesignprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "studydesignprop_studydesignprop_id_seq", }, "studydesign_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("studydesignprop_id"); __PACKAGE__->add_unique_constraint("studydesignprop_c1", ["studydesign_id", "type_id", "rank"]); =head1 RELATIONS =head2 studydesign Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "studydesign", "Bio::Chado::Schema::Result::Mage::Studydesign", { studydesign_id => "studydesign_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0jpS1qvxTjdVM4xfgrVhhw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage/Study.pm0000644000175000017500000000744311775633337022245 0ustar robrobpackage Bio::Chado::Schema::Result::Mage::Study; BEGIN { $Bio::Chado::Schema::Result::Mage::Study::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Mage::Study::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Mage::Study =cut __PACKAGE__->table("study"); =head1 ACCESSORS =head2 study_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'study_study_id_seq' =head2 contact_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 name data_type: 'text' is_nullable: 0 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "study_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "study_study_id_seq", }, "contact_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "text", is_nullable => 0 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("study_id"); __PACKAGE__->add_unique_constraint("study_c1", ["name"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 contact Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "contact", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "contact_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 study_assays Type: has_many Related object: L =cut __PACKAGE__->has_many( "study_assays", "Bio::Chado::Schema::Result::Mage::StudyAssay", { "foreign.study_id" => "self.study_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studydesigns Type: has_many Related object: L =cut __PACKAGE__->has_many( "studydesigns", "Bio::Chado::Schema::Result::Mage::Studydesign", { "foreign.study_id" => "self.study_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studyprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyprops", "Bio::Chado::Schema::Result::Mage::Studyprop", { "foreign.study_id" => "self.study_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1/uRifsAOWcNMkt9cb9FdA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/0000755000175000017500000000000011775633337021405 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLinepropPub.pm0000644000175000017500000000454711775633337025014 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLinepropPub; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLinepropPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLinepropPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLinepropPub =cut __PACKAGE__->table("cell_lineprop_pub"); =head1 ACCESSORS =head2 cell_lineprop_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_lineprop_pub_cell_lineprop_pub_id_seq' =head2 cell_lineprop_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_lineprop_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_lineprop_pub_cell_lineprop_pub_id_seq", }, "cell_lineprop_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_lineprop_pub_id"); __PACKAGE__->add_unique_constraint("cell_lineprop_pub_c1", ["cell_lineprop_id", "pub_id"]); =head1 RELATIONS =head2 cell_lineprop Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_lineprop", "Bio::Chado::Schema::Result::CellLine::CellLineprop", { cell_lineprop_id => "cell_lineprop_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:w1sepj/CYEKGjTKbcNTy2w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineprop.pm0000644000175000017500000000557711775633337024351 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineprop; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineprop =cut __PACKAGE__->table("cell_lineprop"); =head1 ACCESSORS =head2 cell_lineprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_lineprop_cell_lineprop_id_seq' =head2 cell_line_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_lineprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_lineprop_cell_lineprop_id_seq", }, "cell_line_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_lineprop_id"); __PACKAGE__->add_unique_constraint("cell_lineprop_c1", ["cell_line_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cell_line Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "cell_line_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cell_lineprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_lineprop_pubs", "Bio::Chado::Schema::Result::CellLine::CellLinepropPub", { "foreign.cell_lineprop_id" => "self.cell_lineprop_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:bKL5wr85MK/d8GZlFMECvg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineCvtermprop.pm0000644000175000017500000000530611775633337025520 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineCvtermprop; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineCvtermprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineCvtermprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineCvtermprop =cut __PACKAGE__->table("cell_line_cvtermprop"); =head1 ACCESSORS =head2 cell_line_cvtermprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_cvtermprop_cell_line_cvtermprop_id_seq' =head2 cell_line_cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_cvtermprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_cvtermprop_cell_line_cvtermprop_id_seq", }, "cell_line_cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_cvtermprop_id"); __PACKAGE__->add_unique_constraint( "cell_line_cvtermprop_c1", ["cell_line_cvterm_id", "type_id", "rank"], ); =head1 RELATIONS =head2 cell_line_cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line_cvterm", "Bio::Chado::Schema::Result::CellLine::CellLineCvterm", { cell_line_cvterm_id => "cell_line_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:crPOjTxliBbzZzhehbKAOA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineDbxref.pm0000644000175000017500000000500511775633337024565 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineDbxref; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineDbxref =cut __PACKAGE__->table("cell_line_dbxref"); =head1 ACCESSORS =head2 cell_line_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_dbxref_cell_line_dbxref_id_seq' =head2 cell_line_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_current data_type: 'boolean' default_value: true is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_dbxref_cell_line_dbxref_id_seq", }, "cell_line_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"true", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_dbxref_id"); __PACKAGE__->add_unique_constraint("cell_line_dbxref_c1", ["cell_line_id", "dbxref_id"]); =head1 RELATIONS =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cell_line Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "cell_line_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:dBaB9GQQInCRyE+r3Sr2Nw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineFeature.pm0000644000175000017500000000557411775633337024761 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineFeature; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineFeature::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineFeature::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineFeature =cut __PACKAGE__->table("cell_line_feature"); =head1 ACCESSORS =head2 cell_line_feature_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_feature_cell_line_feature_id_seq' =head2 cell_line_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_feature_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_feature_cell_line_feature_id_seq", }, "cell_line_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_feature_id"); __PACKAGE__->add_unique_constraint( "cell_line_feature_c1", ["cell_line_id", "feature_id", "pub_id"], ); =head1 RELATIONS =head2 cell_line Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "cell_line_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oZ3+vL22TbE/KwKiHItWqA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineLibrary.pm0000644000175000017500000000557211775633337024770 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineLibrary; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineLibrary::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineLibrary::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineLibrary =cut __PACKAGE__->table("cell_line_library"); =head1 ACCESSORS =head2 cell_line_library_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_library_cell_line_library_id_seq' =head2 cell_line_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 library_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_library_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_library_cell_line_library_id_seq", }, "cell_line_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "library_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_library_id"); __PACKAGE__->add_unique_constraint( "cell_line_library_c1", ["cell_line_id", "library_id", "pub_id"], ); =head1 RELATIONS =head2 cell_line Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "cell_line_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 library Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "library", "Bio::Chado::Schema::Result::Library::Library", { library_id => "library_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uADZaTvzqKXBDSYPhvVDJQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLine.pm0000644000175000017500000001312511775633337023434 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLine; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLine::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLine::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLine =cut __PACKAGE__->table("cell_line"); =head1 ACCESSORS =head2 cell_line_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_cell_line_id_seq' =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 uniquename data_type: 'varchar' is_nullable: 0 size: 255 =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 timeaccessioned data_type: 'timestamp' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} =head2 timelastmodified data_type: 'timestamp' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} =cut __PACKAGE__->add_columns( "cell_line_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_cell_line_id_seq", }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "uniquename", { data_type => "varchar", is_nullable => 0, size => 255 }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "timeaccessioned", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, "timelastmodified", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, ); __PACKAGE__->set_primary_key("cell_line_id"); __PACKAGE__->add_unique_constraint("cell_line_c1", ["uniquename", "organism_id"]); =head1 RELATIONS =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cell_line_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_cvterms", "Bio::Chado::Schema::Result::CellLine::CellLineCvterm", { "foreign.cell_line_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_dbxrefs", "Bio::Chado::Schema::Result::CellLine::CellLineDbxref", { "foreign.cell_line_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_features", "Bio::Chado::Schema::Result::CellLine::CellLineFeature", { "foreign.cell_line_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_libraries Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_libraries", "Bio::Chado::Schema::Result::CellLine::CellLineLibrary", { "foreign.cell_line_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_lineprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_lineprops", "Bio::Chado::Schema::Result::CellLine::CellLineprop", { "foreign.cell_line_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_pubs", "Bio::Chado::Schema::Result::CellLine::CellLinePub", { "foreign.cell_line_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_relationship_subjects", "Bio::Chado::Schema::Result::CellLine::CellLineRelationship", { "foreign.subject_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_relationship_objects", "Bio::Chado::Schema::Result::CellLine::CellLineRelationship", { "foreign.object_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_synonyms", "Bio::Chado::Schema::Result::CellLine::CellLineSynonym", { "foreign.cell_line_id" => "self.cell_line_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:3hBZ6qxRjDZSFL0gDlrfhA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineCvterm.pm0000644000175000017500000000653711775633337024626 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineCvterm; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineCvterm =cut __PACKAGE__->table("cell_line_cvterm"); =head1 ACCESSORS =head2 cell_line_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_cvterm_cell_line_cvterm_id_seq' =head2 cell_line_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_cvterm_cell_line_cvterm_id_seq", }, "cell_line_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_cvterm_id"); __PACKAGE__->add_unique_constraint( "cell_line_cvterm_c1", ["cell_line_id", "cvterm_id", "pub_id", "rank"], ); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cell_line Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "cell_line_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cell_line_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_cvtermprops", "Bio::Chado::Schema::Result::CellLine::CellLineCvtermprop", { "foreign.cell_line_cvterm_id" => "self.cell_line_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kZg/ltnvnaPkOeWCuGCX8g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineSynonym.pm0000644000175000017500000000633211775633337025033 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineSynonym; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineSynonym::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineSynonym::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineSynonym =cut __PACKAGE__->table("cell_line_synonym"); =head1 ACCESSORS =head2 cell_line_synonym_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_synonym_cell_line_synonym_id_seq' =head2 cell_line_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 synonym_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_current data_type: 'boolean' default_value: false is_nullable: 0 =head2 is_internal data_type: 'boolean' default_value: false is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_synonym_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_synonym_cell_line_synonym_id_seq", }, "cell_line_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "synonym_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "is_internal", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_synonym_id"); __PACKAGE__->add_unique_constraint( "cell_line_synonym_c1", ["synonym_id", "cell_line_id", "pub_id"], ); =head1 RELATIONS =head2 synonym Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "synonym", "Bio::Chado::Schema::Result::Sequence::Synonym", { synonym_id => "synonym_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cell_line Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "cell_line_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2ZA98OhhDkZM4pVj6oXMkw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLinePub.pm0000644000175000017500000000441711775633337024107 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLinePub; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLinePub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLinePub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLinePub =cut __PACKAGE__->table("cell_line_pub"); =head1 ACCESSORS =head2 cell_line_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_pub_cell_line_pub_id_seq' =head2 cell_line_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_pub_cell_line_pub_id_seq", }, "cell_line_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_pub_id"); __PACKAGE__->add_unique_constraint("cell_line_pub_c1", ["cell_line_id", "pub_id"]); =head1 RELATIONS =head2 cell_line Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cell_line", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "cell_line_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:eMX6xT4ZVnxa/h1if9w/qQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine/CellLineRelationship.pm0000644000175000017500000000567411775633337026030 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine::CellLineRelationship; BEGIN { $Bio::Chado::Schema::Result::CellLine::CellLineRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::CellLine::CellLineRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::CellLine::CellLineRelationship =cut __PACKAGE__->table("cell_line_relationship"); =head1 ACCESSORS =head2 cell_line_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cell_line_relationship_cell_line_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "cell_line_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cell_line_relationship_cell_line_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cell_line_relationship_id"); __PACKAGE__->add_unique_constraint( "cell_line_relationship_c1", ["subject_id", "object_id", "type_id"], ); =head1 RELATIONS =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::CellLine::CellLine", { cell_line_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2gUS69an42v0emltuxxccw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/0000755000175000017500000000000011775633337023227 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentContact.pm0000644000175000017500000000462311775633337027510 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentContact; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentContact::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentContact::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentContact =cut __PACKAGE__->table("nd_experiment_contact"); =head1 ACCESSORS =head2 nd_experiment_contact_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_contact_nd_experiment_contact_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 contact_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_contact_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_contact_nd_experiment_contact_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "contact_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_contact_id"); =head1 RELATIONS =head2 contact Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "contact", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "contact_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:AqRqUNFOFfsbWMSeRrAIaA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentStockprop.pm0000644000175000017500000000623211775633337030077 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockprop; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockprop =head1 DESCRIPTION Property/value associations for experiment_stocks. This table can store the properties such as treatment =cut __PACKAGE__->table("nd_experiment_stockprop"); =head1 ACCESSORS =head2 nd_experiment_stockprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_stockprop_nd_experiment_stockprop_id_seq' =head2 nd_experiment_stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The experiment_stock to which the property applies. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property as a reference to a controlled vocabulary term. =head2 value data_type: 'text' is_nullable: 1 The value of the property. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 The rank of the property value, if the property has an array of values. =cut __PACKAGE__->add_columns( "nd_experiment_stockprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_stockprop_nd_experiment_stockprop_id_seq", }, "nd_experiment_stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_stockprop_id"); __PACKAGE__->add_unique_constraint( "nd_experiment_stockprop_c1", ["nd_experiment_stock_id", "type_id", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment_stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment_stock", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock", { nd_experiment_stock_id => "nd_experiment_stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:eN9VG/OU31AabGa+MWvv5w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentProtocol.pm0000644000175000017500000000501311775633337027710 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProtocol; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProtocol::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProtocol::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProtocol - Linking table: experiments to the protocols they involve. =cut __PACKAGE__->table("nd_experiment_protocol"); =head1 ACCESSORS =head2 nd_experiment_protocol_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_protocol_nd_experiment_protocol_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 nd_protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_protocol_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_protocol_nd_experiment_protocol_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "nd_protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_protocol_id"); =head1 RELATIONS =head2 nd_protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_protocol", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol", { nd_protocol_id => "nd_protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:8or+vt1PXyzYWtOmvC/QNg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentStockDbxref.pm0000644000175000017500000000505711775633337030335 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockDbxref; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockDbxref - Cross-reference experiment_stock to accessions, images, etc =cut __PACKAGE__->table("nd_experiment_stock_dbxref"); =head1 ACCESSORS =head2 nd_experiment_stock_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_stock_dbxref_nd_experiment_stock_dbxref_id_seq' =head2 nd_experiment_stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_stock_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_stock_dbxref_nd_experiment_stock_dbxref_id_seq", }, "nd_experiment_stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_stock_dbxref_id"); =head1 RELATIONS =head2 nd_experiment_stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment_stock", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock", { nd_experiment_stock_id => "nd_experiment_stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tRph0dUDfv4ZevFBgPDBTw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdProtocolprop.pm0000644000175000017500000000561711775633337026562 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolprop; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolprop - Property/value associations for protocol. =cut __PACKAGE__->table("nd_protocolprop"); =head1 ACCESSORS =head2 nd_protocolprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_protocolprop_nd_protocolprop_id_seq' =head2 nd_protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The protocol to which the property applies. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property as a reference to a controlled vocabulary term. =head2 value data_type: 'text' is_nullable: 1 The value of the property. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 The rank of the property value, if the property has an array of values. =cut __PACKAGE__->add_columns( "nd_protocolprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_protocolprop_nd_protocolprop_id_seq", }, "nd_protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_protocolprop_id"); __PACKAGE__->add_unique_constraint("nd_protocolprop_c1", ["nd_protocol_id", "type_id", "rank"]); =head1 RELATIONS =head2 nd_protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_protocol", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol", { nd_protocol_id => "nd_protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Y2ptHXBsPiEcHfrNrGUCTA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdProtocolReagent.pm0000644000175000017500000000561211775633337027162 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolReagent; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolReagent::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolReagent::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolReagent =cut __PACKAGE__->table("nd_protocol_reagent"); =head1 ACCESSORS =head2 nd_protocol_reagent_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_protocol_reagent_nd_protocol_reagent_id_seq' =head2 nd_protocol_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 reagent_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_protocol_reagent_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_protocol_reagent_nd_protocol_reagent_id_seq", }, "nd_protocol_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "reagent_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_protocol_reagent_id"); =head1 RELATIONS =head2 nd_protocol Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_protocol", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol", { nd_protocol_id => "nd_protocol_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 reagent Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "reagent", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagent", { nd_reagent_id => "reagent_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:XRNPt3GMf5ZZ52xyoCITjg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentprop.pm0000644000175000017500000000527211775633337027076 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentprop; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentprop =cut __PACKAGE__->table("nd_experimentprop"); =head1 ACCESSORS =head2 nd_experimentprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experimentprop_nd_experimentprop_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experimentprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experimentprop_nd_experimentprop_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experimentprop_id"); __PACKAGE__->add_unique_constraint( "nd_experimentprop_c1", ["nd_experiment_id", "type_id", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ag74g+VBM1WmF6TcBNsRBA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdProtocol.pm0000644000175000017500000000602211775633337025650 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol =head1 DESCRIPTION A protocol can be anything that is done as part of the experiment. =cut __PACKAGE__->table("nd_protocol"); =head1 ACCESSORS =head2 nd_protocol_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_protocol_nd_protocol_id_seq' =head2 name data_type: 'varchar' is_nullable: 0 size: 255 The protocol name. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_protocol_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_protocol_nd_protocol_id_seq", }, "name", { data_type => "varchar", is_nullable => 0, size => 255 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_protocol_id"); __PACKAGE__->add_unique_constraint("nd_protocol_name_key", ["name"]); =head1 RELATIONS =head2 nd_experiment_protocols Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_protocols", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProtocol", { "foreign.nd_protocol_id" => "self.nd_protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_protocolprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_protocolprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolprop", { "foreign.nd_protocol_id" => "self.nd_protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_protocol_reagents Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_protocol_reagents", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolReagent", { "foreign.nd_protocol_id" => "self.nd_protocol_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/s5ivY/IbdQpirevdhAGuw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdReagentRelationship.pm0000644000175000017500000000750611775633337030026 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdReagentRelationship; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdReagentRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdReagentRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdReagentRelationship =head1 DESCRIPTION Relationships between reagents. Some reagents form a group. i.e., they are used all together or not at all. Examples are adapter/linker/enzyme experiment reagents. =cut __PACKAGE__->table("nd_reagent_relationship"); =head1 ACCESSORS =head2 nd_reagent_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_reagent_relationship_nd_reagent_relationship_id_seq' =head2 subject_reagent_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The subject reagent in the relationship. In parent/child terminology, the subject is the child. For example, in "linkerA 3prime-overhang-linker enzymeA" linkerA is the subject, 3prime-overhand-linker is the type, and enzymeA is the object. =head2 object_reagent_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The object reagent in the relationship. In parent/child terminology, the object is the parent. For example, in "linkerA 3prime-overhang-linker enzymeA" linkerA is the subject, 3prime-overhand-linker is the type, and enzymeA is the object. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The type (or predicate) of the relationship. For example, in "linkerA 3prime-overhang-linker enzymeA" linkerA is the subject, 3prime-overhand-linker is the type, and enzymeA is the object. =cut __PACKAGE__->add_columns( "nd_reagent_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_reagent_relationship_nd_reagent_relationship_id_seq", }, "subject_reagent_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_reagent_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_reagent_relationship_id"); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject_reagent Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject_reagent", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagent", { nd_reagent_id => "subject_reagent_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object_reagent Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object_reagent", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagent", { nd_reagent_id => "object_reagent_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:I+jy84SjM8ko34ZISwtW2Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentProject.pm0000644000175000017500000000462311775633337027523 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProject; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProject::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProject::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProject =cut __PACKAGE__->table("nd_experiment_project"); =head1 ACCESSORS =head2 nd_experiment_project_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_project_nd_experiment_project_id_seq' =head2 project_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_project_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_project_nd_experiment_project_id_seq", }, "project_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_project_id"); =head1 RELATIONS =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 project Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "project", "Bio::Chado::Schema::Result::Project::Project", { project_id => "project_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0xJpn3Lcya5YwOwupAJSpg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentPhenotype.pm0000644000175000017500000000546611775633337030076 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPhenotype; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPhenotype::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPhenotype::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPhenotype =head1 DESCRIPTION Linking table: experiments to the phenotypes they produce. There is a one-to-one relationship between an experiment and a phenotype since each phenotype record should point to one experiment. Add a new experiment_id for each phenotype record. =cut __PACKAGE__->table("nd_experiment_phenotype"); =head1 ACCESSORS =head2 nd_experiment_phenotype_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_phenotype_nd_experiment_phenotype_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 phenotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_phenotype_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_phenotype_nd_experiment_phenotype_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "phenotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_phenotype_id"); __PACKAGE__->add_unique_constraint( "nd_experiment_phenotype_c1", ["nd_experiment_id", "phenotype_id"], ); =head1 RELATIONS =head2 phenotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { phenotype_id => "phenotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/qqjm+693ZbJfe7mbEX6fQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdGeolocation.pm0000644000175000017500000001254211775633337026316 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocation; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocation::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocation::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocation =head1 DESCRIPTION The geo-referencable location of the stock. NOTE: This entity is subject to change as a more general and possibly more OpenGIS-compliant geolocation module may be introduced into Chado. =cut __PACKAGE__->table("nd_geolocation"); =head1 ACCESSORS =head2 nd_geolocation_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_geolocation_nd_geolocation_id_seq' =head2 description data_type: 'varchar' is_nullable: 1 size: 255 A textual representation of the location, if this is the original georeference. Optional if the original georeference is available in lat/long coordinates. =head2 latitude data_type: 'real' is_nullable: 1 The decimal latitude coordinate of the georeference, using positive and negative sign to indicate N and S, respectively. =head2 longitude data_type: 'real' is_nullable: 1 The decimal longitude coordinate of the georeference, using positive and negative sign to indicate E and W, respectively. =head2 geodetic_datum data_type: 'varchar' is_nullable: 1 size: 32 The geodetic system on which the geo-reference coordinates are based. For geo-references measured between 1984 and 2010, this will typically be WGS84. =head2 altitude data_type: 'real' is_nullable: 1 The altitude (elevation) of the location in meters. If the altitude is only known as a range, this is the average, and altitude_dev will hold half of the width of the range. =cut __PACKAGE__->add_columns( "nd_geolocation_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_geolocation_nd_geolocation_id_seq", }, "description", { data_type => "varchar", is_nullable => 1, size => 255 }, "latitude", { data_type => "real", is_nullable => 1 }, "longitude", { data_type => "real", is_nullable => 1 }, "geodetic_datum", { data_type => "varchar", is_nullable => 1, size => 32 }, "altitude", { data_type => "real", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("nd_geolocation_id"); =head1 RELATIONS =head2 nd_experiments Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiments", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { "foreign.nd_geolocation_id" => "self.nd_geolocation_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_geolocationprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_geolocationprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocationprop", { "foreign.nd_geolocation_id" => "self.nd_geolocation_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ON4sQF043ybOTaJjiUnQcA =head2 create_geolocationprops Usage: $set->create_geolocationprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create geolocation properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given geolocationprop name. Default false. cv_name => cv.name to use for the given geolocationprops. Defaults to 'geolocation_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same geolocation and value in the properties of the geolocation. Duplicate values will have different ranks. } Ret : hashref of { propname => new geolocationprop object } =cut sub create_geolocationprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'geolocation_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'nd_geolocationprops', ); } # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentGenotype.pm0000644000175000017500000000543011775633337027704 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentGenotype; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentGenotype::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentGenotype::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentGenotype =head1 DESCRIPTION Linking table: experiments to the genotypes they produce. There is a one-to-one relationship between an experiment and a genotype since each genotype record should point to one experiment. Add a new experiment_id for each genotype record. =cut __PACKAGE__->table("nd_experiment_genotype"); =head1 ACCESSORS =head2 nd_experiment_genotype_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_genotype_nd_experiment_genotype_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 genotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_genotype_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_genotype_nd_experiment_genotype_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "genotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_genotype_id"); __PACKAGE__->add_unique_constraint( "nd_experiment_genotype_c1", ["nd_experiment_id", "genotype_id"], ); =head1 RELATIONS =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2fxA/XdhyBQDLxE4mosPwQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentDbxref.pm0000644000175000017500000000466711775633337027337 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentDbxref; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentDbxref - Cross-reference experiment to accessions, images, etc =cut __PACKAGE__->table("nd_experiment_dbxref"); =head1 ACCESSORS =head2 nd_experiment_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_dbxref_nd_experiment_dbxref_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_dbxref_nd_experiment_dbxref_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_dbxref_id"); =head1 RELATIONS =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ld1l9qsf11t3LQL0kwmORA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdGeolocationprop.pm0000644000175000017500000000600711775633337027216 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocationprop; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocationprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocationprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocationprop =head1 DESCRIPTION Property/value associations for geolocations. This table can store the properties such as location and environment =cut __PACKAGE__->table("nd_geolocationprop"); =head1 ACCESSORS =head2 nd_geolocationprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_geolocationprop_nd_geolocationprop_id_seq' =head2 nd_geolocation_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property as a reference to a controlled vocabulary term. =head2 value data_type: 'text' is_nullable: 1 The value of the property. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 The rank of the property value, if the property has an array of values. =cut __PACKAGE__->add_columns( "nd_geolocationprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_geolocationprop_nd_geolocationprop_id_seq", }, "nd_geolocation_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_geolocationprop_id"); __PACKAGE__->add_unique_constraint( "nd_geolocationprop_c1", ["nd_geolocation_id", "type_id", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_geolocation Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_geolocation", "Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocation", { nd_geolocation_id => "nd_geolocation_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lkWxiu/JpcQtkdEj/OVkhQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdReagentprop.pm0000644000175000017500000000516111775633337026340 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdReagentprop; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdReagentprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdReagentprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdReagentprop =cut __PACKAGE__->table("nd_reagentprop"); =head1 ACCESSORS =head2 nd_reagentprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_reagentprop_nd_reagentprop_id_seq' =head2 nd_reagent_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_reagentprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_reagentprop_nd_reagentprop_id_seq", }, "nd_reagent_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_reagentprop_id"); __PACKAGE__->add_unique_constraint("nd_reagentprop_c1", ["nd_reagent_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_reagent Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_reagent", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagent", { nd_reagent_id => "nd_reagent_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:flxma2G8iHyMGeyBYseviQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdReagent.pm0000644000175000017500000000755711775633337025452 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdReagent; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdReagent::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdReagent::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdReagent =head1 DESCRIPTION A reagent such as a primer, an enzyme, an adapter oligo, a linker oligo. Reagents are used in genotyping experiments, or in any other kind of experiment. =cut __PACKAGE__->table("nd_reagent"); =head1 ACCESSORS =head2 nd_reagent_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_reagent_nd_reagent_id_seq' =head2 name data_type: 'varchar' is_nullable: 0 size: 80 The name of the reagent. The name should be unique for a given type. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The type of the reagent, for example linker oligomer, or forward primer. =head2 feature_id data_type: 'integer' is_nullable: 1 If the reagent is a primer, the feature that it corresponds to. More generally, the corresponding feature for any reagent that has a sequence that maps to another sequence. =cut __PACKAGE__->add_columns( "nd_reagent_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_reagent_nd_reagent_id_seq", }, "name", { data_type => "varchar", is_nullable => 0, size => 80 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "feature_id", { data_type => "integer", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("nd_reagent_id"); =head1 RELATIONS =head2 nd_protocol_reagents Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_protocol_reagents", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolReagent", { "foreign.reagent_id" => "self.nd_reagent_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_reagentprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_reagentprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagentprop", { "foreign.nd_reagent_id" => "self.nd_reagent_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_reagent_relationship_subject_reagents Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_reagent_relationship_subject_reagents", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagentRelationship", { "foreign.subject_reagent_id" => "self.nd_reagent_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_reagent_relationship_object_reagents Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_reagent_relationship_object_reagents", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagentRelationship", { "foreign.object_reagent_id" => "self.nd_reagent_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:PMHkXnl3T1E1JzdmDsWTOw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentPub.pm0000644000175000017500000000470411775633337026643 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPub; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPub - Linking nd_experiment(s) to publication(s) =cut __PACKAGE__->table("nd_experiment_pub"); =head1 ACCESSORS =head2 nd_experiment_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_pub_nd_experiment_pub_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_pub_nd_experiment_pub_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_pub_id"); __PACKAGE__->add_unique_constraint("nd_experiment_pub_c1", ["nd_experiment_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Hub7u5wym+9KHGRY7IM+vg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperimentStock.pm0000644000175000017500000000746511775633337027207 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock =head1 DESCRIPTION Part of a stock or a clone of a stock that is used in an experiment =cut __PACKAGE__->table("nd_experiment_stock"); =head1 ACCESSORS =head2 nd_experiment_stock_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_stock_nd_experiment_stock_id_seq' =head2 nd_experiment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 stock_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 stock used in the extraction or the corresponding stock for the clone =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_stock_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_stock_nd_experiment_stock_id_seq", }, "nd_experiment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "stock_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_stock_id"); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 stock Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "stock", "Bio::Chado::Schema::Result::Stock::Stock", { stock_id => "stock_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_experiment", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { nd_experiment_id => "nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment_stock_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_stock_dbxrefs", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockDbxref", { "foreign.nd_experiment_stock_id" => "self.nd_experiment_stock_id", }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_stockprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_stockprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockprop", { "foreign.nd_experiment_stock_id" => "self.nd_experiment_stock_id", }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:A5rjtFxP/735qGsASzZs6w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity/NdExperiment.pm0000644000175000017500000001656111775633337026200 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment; BEGIN { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment =cut __PACKAGE__->table("nd_experiment"); =head1 ACCESSORS =head2 nd_experiment_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'nd_experiment_nd_experiment_id_seq' =head2 nd_geolocation_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "nd_experiment_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "nd_experiment_nd_experiment_id_seq", }, "nd_geolocation_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("nd_experiment_id"); =head1 RELATIONS =head2 nd_geolocation Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "nd_geolocation", "Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocation", { nd_geolocation_id => "nd_geolocation_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 nd_experiment_contacts Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_contacts", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentContact", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_dbxrefs", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentDbxref", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_genotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_genotypes", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentGenotype", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_phenotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_phenotypes", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPhenotype", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_projects Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_projects", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProject", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experimentprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experimentprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentprop", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_protocols Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_protocols", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentProtocol", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_pubs", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPub", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_stocks", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock", { "foreign.nd_experiment_id" => "self.nd_experiment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:rdopd+NuS4NVDr0dVrREnQ =head2 create_nd_experimentprops Usage: $set->create_nd_experimentprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create experiment properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given experimentprop name. Default false. cv_name => cv.name to use for the given experimentprops. Defaults to 'nd_experiment_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same experiment and types in the properties of the experiment. Duplicate types will have different ranks. } Ret : hashref of { propname => new experimentprop object } =cut sub create_nd_experimentprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'nd_experiment_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'nd_experimentprops', ); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny.pod0000644000175000017500000000203211775633337022375 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny; =head1 NAME Bio::Chado::Schema::Result::Phylogeny - For representing phylogenetic trees; the trees represent the phylogeny of some some kind of sequence feature (mainly proteins) or actual organism taxonomy trees =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Phylogeny module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/NaturalDiversity.pod0000644000175000017500000000360011775633337023732 0ustar robrobpackage Bio::Chado::Schema::Result::NaturalDiversity; =head1 NAME Bio::Chado::Schema::Result::NaturalDiversity - Natural diversity module for dealing with populations, samples, genotypes, phenotypes and results of other assays. =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado NaturalDiversity module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L L L L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/0000755000175000017500000000000011775633337021274 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/Genotypeprop.pm0000644000175000017500000000503611775633337024331 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::Genotypeprop; BEGIN { $Bio::Chado::Schema::Result::Genetic::Genotypeprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::Genotypeprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::Genotypeprop =cut __PACKAGE__->table("genotypeprop"); =head1 ACCESSORS =head2 genotypeprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'genotypeprop_genotypeprop_id_seq' =head2 genotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "genotypeprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "genotypeprop_genotypeprop_id_seq", }, "genotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("genotypeprop_id"); __PACKAGE__->add_unique_constraint("genotypeprop_c1", ["genotype_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cPJB/P4r7Oe6ZzCs4KR48w # You can replace this text with custom code or comments, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/Environment.pm0000644000175000017500000000623311775633337024142 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::Environment; BEGIN { $Bio::Chado::Schema::Result::Genetic::Environment::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::Environment::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::Environment - The environmental component of a phenotype description. =cut __PACKAGE__->table("environment"); =head1 ACCESSORS =head2 environment_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'environment_environment_id_seq' =head2 uniquename data_type: 'text' is_nullable: 0 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "environment_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "environment_environment_id_seq", }, "uniquename", { data_type => "text", is_nullable => 0 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("environment_id"); __PACKAGE__->add_unique_constraint("environment_c1", ["uniquename"]); =head1 RELATIONS =head2 environment_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "environment_cvterms", "Bio::Chado::Schema::Result::Genetic::EnvironmentCvterm", { "foreign.environment_id" => "self.environment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phendescs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phendescs", "Bio::Chado::Schema::Result::Genetic::Phendesc", { "foreign.environment_id" => "self.environment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparison_environment2s Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_environment2s", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.environment2_id" => "self.environment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparison_environment1s Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_environment1s", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.environment1_id" => "self.environment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenstatements Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenstatements", "Bio::Chado::Schema::Result::Genetic::Phenstatement", { "foreign.environment_id" => "self.environment_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cQ92ZxqRaNYVs+kOW/RmSg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/EnvironmentCvterm.pm0000644000175000017500000000457311775633337025330 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::EnvironmentCvterm; BEGIN { $Bio::Chado::Schema::Result::Genetic::EnvironmentCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::EnvironmentCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::EnvironmentCvterm =cut __PACKAGE__->table("environment_cvterm"); =head1 ACCESSORS =head2 environment_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'environment_cvterm_environment_cvterm_id_seq' =head2 environment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "environment_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "environment_cvterm_environment_cvterm_id_seq", }, "environment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("environment_cvterm_id"); __PACKAGE__->add_unique_constraint("environment_cvterm_c1", ["environment_id", "cvterm_id"]); =head1 RELATIONS =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 environment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "environment", "Bio::Chado::Schema::Result::Genetic::Environment", { environment_id => "environment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/J4m9onF5LNgxWUAtvYkYg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/Genotype.pm0000644000175000017500000001535211775633337023432 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::Genotype; BEGIN { $Bio::Chado::Schema::Result::Genetic::Genotype::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::Genotype::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::Genotype =head1 DESCRIPTION Genetic context. A genotype is defined by a collection of features, mutations, balancers, deficiencies, haplotype blocks, or engineered constructs. =cut __PACKAGE__->table("genotype"); =head1 ACCESSORS =head2 genotype_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'genotype_genotype_id_seq' =head2 name data_type: 'text' is_nullable: 1 Optional alternative name for a genotype, for display purposes. =head2 uniquename data_type: 'text' is_nullable: 0 The unique name for a genotype; typically derived from the features making up the genotype. =head2 description data_type: 'varchar' is_nullable: 1 size: 255 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "genotype_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "genotype_genotype_id_seq", }, "name", { data_type => "text", is_nullable => 1 }, "uniquename", { data_type => "text", is_nullable => 0 }, "description", { data_type => "varchar", is_nullable => 1, size => 255 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("genotype_id"); __PACKAGE__->add_unique_constraint("genotype_c1", ["uniquename"]); =head1 RELATIONS =head2 feature_genotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_genotypes", "Bio::Chado::Schema::Result::Genetic::FeatureGenotype", { "foreign.genotype_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotypeprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "genotypeprops", "Bio::Chado::Schema::Result::Genetic::Genotypeprop", { "foreign.genotype_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_genotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_genotypes", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentGenotype", { "foreign.genotype_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phendescs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phendescs", "Bio::Chado::Schema::Result::Genetic::Phendesc", { "foreign.genotype_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparison_genotype1s Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_genotype1s", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.genotype1_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparison_genotype2s Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_genotype2s", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.genotype2_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenstatements Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenstatements", "Bio::Chado::Schema::Result::Genetic::Phenstatement", { "foreign.genotype_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_genotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_genotypes", "Bio::Chado::Schema::Result::Stock::StockGenotype", { "foreign.genotype_id" => "self.genotype_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pl/UQ6kAn7WVHaoTZUrPWg =head2 create_genotypeprops Usage: $set->create_genotypeprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create genotype properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given genotypeprop name. Default false. cv_name => cv.name to use for the given genotypeprops. Defaults to 'genotype_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same genotype and value in the properties of the genotype. Duplicate values will have different ranks. } Ret : hashref of { propname => new genotypeprop object } =cut sub create_genotypeprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'genotype_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'genotypeprops', ); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/Phendesc.pm0000644000175000017500000000704211775633337023366 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::Phendesc; BEGIN { $Bio::Chado::Schema::Result::Genetic::Phendesc::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::Phendesc::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::Phendesc =head1 DESCRIPTION A summary of a _set_ of phenotypic statements for any one gcontext made in any one publication. =cut __PACKAGE__->table("phendesc"); =head1 ACCESSORS =head2 phendesc_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phendesc_phendesc_id_seq' =head2 genotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 environment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 description data_type: 'text' is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phendesc_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phendesc_phendesc_id_seq", }, "genotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "environment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "description", { data_type => "text", is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phendesc_id"); __PACKAGE__->add_unique_constraint( "phendesc_c1", ["genotype_id", "environment_id", "type_id", "pub_id"], ); =head1 RELATIONS =head2 environment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "environment", "Bio::Chado::Schema::Result::Genetic::Environment", { environment_id => "environment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cLfvsOaIoqU3dxBj+57aDw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/FeatureGenotype.pm0000644000175000017500000001005711775633337024743 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::FeatureGenotype; BEGIN { $Bio::Chado::Schema::Result::Genetic::FeatureGenotype::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::FeatureGenotype::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::FeatureGenotype =cut __PACKAGE__->table("feature_genotype"); =head1 ACCESSORS =head2 feature_genotype_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_genotype_feature_genotype_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 genotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 chromosome_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 A feature of SO type "chromosome". =head2 rank data_type: 'integer' is_nullable: 0 rank can be used for n-ploid organisms or to preserve order. =head2 cgroup data_type: 'integer' is_nullable: 0 Spatially distinguishable group. group can be used for distinguishing the chromosomal groups, for example (RNAi products and so on can be treated as different groups, as they do not fall on a particular chromosome). =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_genotype_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_genotype_feature_genotype_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "genotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "chromosome_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "rank", { data_type => "integer", is_nullable => 0 }, "cgroup", { data_type => "integer", is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_genotype_id"); __PACKAGE__->add_unique_constraint( "feature_genotype_c1", [ "feature_id", "genotype_id", "cvterm_id", "chromosome_id", "rank", "cgroup", ], ); =head1 RELATIONS =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 chromosome Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "chromosome", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "chromosome_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gmrMMxo1beaPJKMPPovAmg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/Phenstatement.pm0000644000175000017500000001032411775633337024451 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::Phenstatement; BEGIN { $Bio::Chado::Schema::Result::Genetic::Phenstatement::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::Phenstatement::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::Phenstatement =head1 DESCRIPTION Phenotypes are things like "larval lethal". Phenstatements are things like "dpp-1 is recessive larval lethal". So essentially phenstatement is a linking table expressing the relationship between genotype, environment, and phenotype. =cut __PACKAGE__->table("phenstatement"); =head1 ACCESSORS =head2 phenstatement_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phenstatement_phenstatement_id_seq' =head2 genotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 environment_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 phenotype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phenstatement_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phenstatement_phenstatement_id_seq", }, "genotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "environment_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "phenotype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phenstatement_id"); __PACKAGE__->add_unique_constraint( "phenstatement_c1", [ "genotype_id", "phenotype_id", "environment_id", "type_id", "pub_id", ], ); =head1 RELATIONS =head2 phenotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { phenotype_id => "phenotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 environment Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "environment", "Bio::Chado::Schema::Result::Genetic::Environment", { environment_id => "environment_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IU5IGB7RlGdeWYK5m8QKgA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/PhenotypeComparison.pm0000644000175000017500000001457211775633337025651 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::PhenotypeComparison; BEGIN { $Bio::Chado::Schema::Result::Genetic::PhenotypeComparison::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::PhenotypeComparison::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::PhenotypeComparison =head1 DESCRIPTION Comparison of phenotypes e.g., genotype1/environment1/phenotype1 "non-suppressible" with respect to genotype2/environment2/phenotype2. =cut __PACKAGE__->table("phenotype_comparison"); =head1 ACCESSORS =head2 phenotype_comparison_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phenotype_comparison_phenotype_comparison_id_seq' =head2 genotype1_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 environment1_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 genotype2_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 environment2_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 phenotype1_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 phenotype2_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phenotype_comparison_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phenotype_comparison_phenotype_comparison_id_seq", }, "genotype1_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "environment1_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "genotype2_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "environment2_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "phenotype1_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "phenotype2_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phenotype_comparison_id"); __PACKAGE__->add_unique_constraint( "phenotype_comparison_c1", [ "genotype1_id", "environment1_id", "genotype2_id", "environment2_id", "phenotype1_id", "pub_id", ], ); =head1 RELATIONS =head2 environment2 Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "environment2", "Bio::Chado::Schema::Result::Genetic::Environment", { environment_id => "environment2_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotype1 Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype1", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype1_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phenotype1 Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype1", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { phenotype_id => "phenotype1_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 environment1 Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "environment1", "Bio::Chado::Schema::Result::Genetic::Environment", { environment_id => "environment1_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phenotype2 Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype2", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { phenotype_id => "phenotype2_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 genotype2 Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "genotype2", "Bio::Chado::Schema::Result::Genetic::Genotype", { genotype_id => "genotype2_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phenotype_comparison_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_cvterms", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparisonCvterm", { "foreign.phenotype_comparison_id" => "self.phenotype_comparison_id", }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:euaz4GjE5GnXPi2DVp5DtA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Genetic/PhenotypeComparisonCvterm.pm0000644000175000017500000000632311775633337027025 0ustar robrobpackage Bio::Chado::Schema::Result::Genetic::PhenotypeComparisonCvterm; BEGIN { $Bio::Chado::Schema::Result::Genetic::PhenotypeComparisonCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Genetic::PhenotypeComparisonCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Genetic::PhenotypeComparisonCvterm =cut __PACKAGE__->table("phenotype_comparison_cvterm"); =head1 ACCESSORS =head2 phenotype_comparison_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phenotype_comparison_cvterm_phenotype_comparison_cvterm_id_seq' =head2 phenotype_comparison_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "phenotype_comparison_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phenotype_comparison_cvterm_phenotype_comparison_cvterm_id_seq", }, "phenotype_comparison_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phenotype_comparison_cvterm_id"); __PACKAGE__->add_unique_constraint( "phenotype_comparison_cvterm_c1", ["phenotype_comparison_id", "cvterm_id"], ); =head1 RELATIONS =head2 phenotype_comparison Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phenotype_comparison", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { phenotype_comparison_id => "phenotype_comparison_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:e96hpVTjUpaL99nveU7PHg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Contact/0000755000175000017500000000000011775633337021311 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Contact/ContactRelationship.pm0000644000175000017500000000643111775633337025630 0ustar robrobpackage Bio::Chado::Schema::Result::Contact::ContactRelationship; BEGIN { $Bio::Chado::Schema::Result::Contact::ContactRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Contact::ContactRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Contact::ContactRelationship - Model relationships between contacts =cut __PACKAGE__->table("contact_relationship"); =head1 ACCESSORS =head2 contact_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'contact_relationship_contact_relationship_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 Relationship type between subject and object. This is a cvterm, typically from the OBO relationship ontology, although other relationship types are allowed. =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The subject of the subj-predicate-obj sentence. In a DAG, this corresponds to the child node. =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The object of the subj-predicate-obj sentence. In a DAG, this corresponds to the parent node. =cut __PACKAGE__->add_columns( "contact_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "contact_relationship_contact_relationship_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("contact_relationship_id"); __PACKAGE__->add_unique_constraint( "contact_relationship_c1", ["subject_id", "object_id", "type_id"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Contact::Contact", { contact_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Iy0whmkxLpn38W7f4lZ8cw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Contact/Contact.pm0000644000175000017500000001226011775633337023243 0ustar robrobpackage Bio::Chado::Schema::Result::Contact::Contact; BEGIN { $Bio::Chado::Schema::Result::Contact::Contact::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Contact::Contact::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Contact::Contact - Model persons, institutes, groups, organizations, etc. =cut __PACKAGE__->table("contact"); =head1 ACCESSORS =head2 contact_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'contact_contact_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 What type of contact is this? E.g. "person", "lab". =head2 name data_type: 'varchar' is_nullable: 0 size: 255 =head2 description data_type: 'varchar' is_nullable: 1 size: 255 =cut __PACKAGE__->add_columns( "contact_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "contact_contact_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 0, size => 255 }, "description", { data_type => "varchar", is_nullable => 1, size => 255 }, ); __PACKAGE__->set_primary_key("contact_id"); __PACKAGE__->add_unique_constraint("contact_c1", ["name"]); =head1 RELATIONS =head2 arraydesigns Type: has_many Related object: L =cut __PACKAGE__->has_many( "arraydesigns", "Bio::Chado::Schema::Result::Mage::Arraydesign", { "foreign.manufacturer_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assays Type: has_many Related object: L =cut __PACKAGE__->has_many( "assays", "Bio::Chado::Schema::Result::Mage::Assay", { "foreign.operator_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterials Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterials", "Bio::Chado::Schema::Result::Mage::Biomaterial", { "foreign.biosourceprovider_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 contact_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "contact_relationship_objects", "Bio::Chado::Schema::Result::Contact::ContactRelationship", { "foreign.object_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 contact_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "contact_relationship_subjects", "Bio::Chado::Schema::Result::Contact::ContactRelationship", { "foreign.subject_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_contacts Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_contacts", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentContact", { "foreign.contact_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 project_contacts Type: has_many Related object: L =cut __PACKAGE__->has_many( "project_contacts", "Bio::Chado::Schema::Result::Project::ProjectContact", { "foreign.contact_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantifications Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantifications", "Bio::Chado::Schema::Result::Mage::Quantification", { "foreign.operator_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stockcollections Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockcollections", "Bio::Chado::Schema::Result::Stock::Stockcollection", { "foreign.contact_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studies Type: has_many Related object: L =cut __PACKAGE__->has_many( "studies", "Bio::Chado::Schema::Result::Mage::Study", { "foreign.contact_id" => "self.contact_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7KIOnPWNyVs/NPhRJ3bFYg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Organism/0000755000175000017500000000000011775633337021475 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Organism/Organism.pm0000644000175000017500000001657711775633337023632 0ustar robrobpackage Bio::Chado::Schema::Result::Organism::Organism; BEGIN { $Bio::Chado::Schema::Result::Organism::Organism::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Organism::Organism::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Organism::Organism =head1 DESCRIPTION The organismal taxonomic classification. Note that phylogenies are represented using the phylogeny module, and taxonomies can be represented using the cvterm module or the phylogeny module. =cut __PACKAGE__->table("organism"); =head1 ACCESSORS =head2 organism_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'organism_organism_id_seq' =head2 abbreviation data_type: 'varchar' is_nullable: 1 size: 255 =head2 genus data_type: 'varchar' is_nullable: 0 size: 255 =head2 species data_type: 'varchar' is_nullable: 0 size: 255 A type of organism is always uniquely identified by genus and species. When mapping from the NCBI taxonomy names.dmp file, this column must be used where it is present, as the common_name column is not always unique (e.g. environmental samples). If a particular strain or subspecies is to be represented, this is appended onto the species name. Follows standard NCBI taxonomy pattern. =head2 common_name data_type: 'varchar' is_nullable: 1 size: 255 =head2 comment data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "organism_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "organism_organism_id_seq", }, "abbreviation", { data_type => "varchar", is_nullable => 1, size => 255 }, "genus", { data_type => "varchar", is_nullable => 0, size => 255 }, "species", { data_type => "varchar", is_nullable => 0, size => 255 }, "common_name", { data_type => "varchar", is_nullable => 1, size => 255 }, "comment", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("organism_id"); __PACKAGE__->add_unique_constraint("organism_c1", ["genus", "species"]); =head1 RELATIONS =head2 biomaterials Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterials", "Bio::Chado::Schema::Result::Mage::Biomaterial", { "foreign.taxon_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_lines Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_lines", "Bio::Chado::Schema::Result::CellLine::CellLine", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 features Type: has_many Related object: L =cut __PACKAGE__->has_many( "features", "Bio::Chado::Schema::Result::Sequence::Feature", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 libraries Type: has_many Related object: L =cut __PACKAGE__->has_many( "libraries", "Bio::Chado::Schema::Result::Library::Library", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 organism_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "organism_dbxrefs", "Bio::Chado::Schema::Result::Organism::OrganismDbxref", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 organismprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "organismprops", "Bio::Chado::Schema::Result::Organism::Organismprop", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparisons Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparisons", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_organisms Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_organisms", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeOrganism", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "stocks", "Bio::Chado::Schema::Result::Stock::Stock", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/CHPcA8KHLuOon9UfLVglQ =head1 MANY-TO-MANY RELATIONSHIPS =head2 phylonodes Type: many_to_many Returns a list of phylonodes associated with this organism. Related object: L =cut __PACKAGE__->many_to_many ( 'phylonodes', 'phylonode_organisms' => 'phylonode', ); =head2 dbxrefs Type: many_to_many Returns a list of dbxrefs associated with the organism. Related object: L =cut __PACKAGE__->many_to_many ( 'dbxrefs', 'organism_dbxrefs' => 'dbxref', ); =head1 ADDITIONAL METHODS use Carp; =head2 create_organismprops Usage: $set->create_organismprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create organism properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given featureprop name. Default false. cv_name => cv.name to use for the given organismprops. Defaults to 'organism_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms allow_duplicate_values => default false. If true, allow duplicate instances of the same cvterm and value in the properties of the feature. Duplicate values will have different ranks. } Ret : hashref of { propname => new organismprop object } =cut sub create_organismprops { my ($self, $props, $opts) = @_; # process opts $opts ||= {}; $opts->{cv_name} = 'organism_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'organismprops', ); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Organism/OrganismDbxref.pm0000644000175000017500000000451111775633337024746 0ustar robrobpackage Bio::Chado::Schema::Result::Organism::OrganismDbxref; BEGIN { $Bio::Chado::Schema::Result::Organism::OrganismDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Organism::OrganismDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Organism::OrganismDbxref =cut __PACKAGE__->table("organism_dbxref"); =head1 ACCESSORS =head2 organism_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'organism_dbxref_organism_dbxref_id_seq' =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "organism_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "organism_dbxref_organism_dbxref_id_seq", }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("organism_dbxref_id"); __PACKAGE__->add_unique_constraint("organism_dbxref_c1", ["organism_id", "dbxref_id"]); =head1 RELATIONS =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JSQo0nqJhB2GsPR1wEor1A # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Organism/Organismprop.pm0000644000175000017500000000512211775633337024513 0ustar robrobpackage Bio::Chado::Schema::Result::Organism::Organismprop; BEGIN { $Bio::Chado::Schema::Result::Organism::Organismprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Organism::Organismprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Organism::Organismprop - Tag-value properties - follows standard chado model. =cut __PACKAGE__->table("organismprop"); =head1 ACCESSORS =head2 organismprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'organismprop_organismprop_id_seq' =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "organismprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "organismprop_organismprop_id_seq", }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("organismprop_id"); __PACKAGE__->add_unique_constraint("organismprop_c1", ["organism_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Cw12gdY121FULUeWiPL2ew # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite.pod0000644000175000017500000000300711775633337022364 0ustar robrobpackage Bio::Chado::Schema::Result::Composite; =head1 NAME Bio::Chado::Schema::Result::Composite - A collection of bridge codes that have multiple dependancies so they don't happily go where is most obvious =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Composite module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/0000755000175000017500000000000011775633337020266 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Cvprop.pm0000644000175000017500000000572611775633337022107 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Cvprop; BEGIN { $Bio::Chado::Schema::Result::Cv::Cvprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Cvprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Cvprop =head1 DESCRIPTION Additional extensible properties can be attached to a cv using this table. A notable example would be the cv version =cut __PACKAGE__->table("cvprop"); =head1 ACCESSORS =head2 cvprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cvprop_cvprop_id_seq' =head2 cv_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property or slot is a cvterm. The meaning of the property is defined in that cvterm. =head2 value data_type: 'text' is_nullable: 1 The value of the property, represented as text. Numeric values are converted to their text representation. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any cv can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used. =cut __PACKAGE__->add_columns( "cvprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cvprop_cvprop_id_seq", }, "cv_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cvprop_id"); __PACKAGE__->add_unique_constraint("cvprop_c1", ["cv_id", "type_id", "rank"]); =head1 RELATIONS =head2 cv Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cv", "Bio::Chado::Schema::Result::Cv::Cv", { cv_id => "cv_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:5/S/D70kzeWASdFB1q2sBQ # You can replace this text with custom code or comments, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvLinkCount.pm0000644000175000017500000000302311775633337023021 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvLinkCount; BEGIN { $Bio::Chado::Schema::Result::Cv::CvLinkCount::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvLinkCount::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvLinkCount =head1 DESCRIPTION per-cv summary of number of links (cvterm_relationships) broken down by relationship_type. num_links is the total # of links of the specified type in which the subject_id of the link is in the named cv =cut __PACKAGE__->table("cv_link_count"); =head1 ACCESSORS =head2 cv_name data_type: 'varchar' is_nullable: 1 size: 255 =head2 relation_name data_type: 'varchar' is_nullable: 1 size: 1024 =head2 relation_cv_name data_type: 'varchar' is_nullable: 1 size: 255 =head2 num_links data_type: 'bigint' is_nullable: 1 =cut __PACKAGE__->add_columns( "cv_name", { data_type => "varchar", is_nullable => 1, size => 255 }, "relation_name", { data_type => "varchar", is_nullable => 1, size => 1024 }, "relation_cv_name", { data_type => "varchar", is_nullable => 1, size => 255 }, "num_links", { data_type => "bigint", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6f8rJ5IMu723zbTPJt0JdQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvtermRelationship.pm0000644000175000017500000000751511775633337024456 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvtermRelationship; BEGIN { $Bio::Chado::Schema::Result::Cv::CvtermRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvtermRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvtermRelationship =head1 DESCRIPTION A relationship linking two cvterms. Each cvterm_relationship constitutes an edge in the graph defined by the collection of cvterms and cvterm_relationships. The meaning of the cvterm_relationship depends on the definition of the cvterm R refered to by type_id. However, in general the definitions are such that the statement "all SUBJs REL some OBJ" is true. The cvterm_relationship statement is about the subject, not the object. For example "insect wing part_of thorax". =cut __PACKAGE__->table("cvterm_relationship"); =head1 ACCESSORS =head2 cvterm_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cvterm_relationship_cvterm_relationship_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The nature of the relationship between subject and object. Note that relations are also housed in the cvterm table, typically from the OBO relationship ontology, although other relationship types are allowed. =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The subject of the subj-predicate-obj sentence. The cvterm_relationship is about the subject. In a graph, this typically corresponds to the child node. =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The object of the subj-predicate-obj sentence. The cvterm_relationship refers to the object. In a graph, this typically corresponds to the parent node. =cut __PACKAGE__->add_columns( "cvterm_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cvterm_relationship_cvterm_relationship_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cvterm_relationship_id"); __PACKAGE__->add_unique_constraint( "cvterm_relationship_c1", ["subject_id", "object_id", "type_id"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lcPHP3VbVNwBdAGgnG+7hg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Cvterm.pm0000644000175000017500000015436411775633337022101 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Cvterm; BEGIN { $Bio::Chado::Schema::Result::Cv::Cvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Cvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Cvterm =head1 DESCRIPTION A term, class, universal or type within an ontology or controlled vocabulary. This table is also used for relations and properties. cvterms constitute nodes in the graph defined by the collection of cvterms and cvterm_relationships. =cut __PACKAGE__->table("cvterm"); =head1 ACCESSORS =head2 cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cvterm_cvterm_id_seq' =head2 cv_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The cv or ontology or namespace to which this cvterm belongs. =head2 name data_type: 'varchar' is_nullable: 0 size: 1024 A concise human-readable name or label for the cvterm. Uniquely identifies a cvterm within a cv. =head2 definition data_type: 'text' is_nullable: 1 A human-readable text definition. =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 Primary identifier dbxref - The unique global OBO identifier for this cvterm. Note that a cvterm may have multiple secondary dbxrefs - see also table: cvterm_dbxref. =head2 is_obsolete data_type: 'integer' default_value: 0 is_nullable: 0 Boolean 0=false,1=true; see GO documentation for details of obsoletion. Note that two terms with different primary dbxrefs may exist if one is obsolete. =head2 is_relationshiptype data_type: 'integer' default_value: 0 is_nullable: 0 Boolean 0=false,1=true relations or relationship types (also known as Typedefs in OBO format, or as properties or slots) form a cv/ontology in themselves. We use this flag to indicate whether this cvterm is an actual term/class/universal or a relation. Relations may be drawn from the OBO Relations ontology, but are not exclusively drawn from there. =cut __PACKAGE__->add_columns( "cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cvterm_cvterm_id_seq", }, "cv_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "name", { data_type => "varchar", is_nullable => 0, size => 1024 }, "definition", { data_type => "text", is_nullable => 1 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_obsolete", { data_type => "integer", default_value => 0, is_nullable => 0 }, "is_relationshiptype", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cvterm_id"); __PACKAGE__->add_unique_constraint("cvterm_c2", ["dbxref_id"]); __PACKAGE__->add_unique_constraint("cvterm_c1", ["name", "cv_id", "is_obsolete"]); =head1 RELATIONS =head2 acquisitionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisitionprops", "Bio::Chado::Schema::Result::Mage::Acquisitionprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 acquisition_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "acquisition_relationships", "Bio::Chado::Schema::Result::Mage::AcquisitionRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 analysisfeatureprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "analysisfeatureprops", "Bio::Chado::Schema::Result::Companalysis::Analysisfeatureprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 analysisprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "analysisprops", "Bio::Chado::Schema::Result::Companalysis::Analysisprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 arraydesign_platformtypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "arraydesign_platformtypes", "Bio::Chado::Schema::Result::Mage::Arraydesign", { "foreign.platformtype_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 arraydesign_substratetypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "arraydesign_substratetypes", "Bio::Chado::Schema::Result::Mage::Arraydesign", { "foreign.substratetype_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 arraydesignprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "arraydesignprops", "Bio::Chado::Schema::Result::Mage::Arraydesignprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assayprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "assayprops", "Bio::Chado::Schema::Result::Mage::Assayprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterialprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterialprops", "Bio::Chado::Schema::Result::Mage::Biomaterialprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterial_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_relationships", "Bio::Chado::Schema::Result::Mage::BiomaterialRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterial_treatments Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_treatments", "Bio::Chado::Schema::Result::Mage::BiomaterialTreatment", { "foreign.unittype_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_cvterms", "Bio::Chado::Schema::Result::CellLine::CellLineCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_cvtermprops", "Bio::Chado::Schema::Result::CellLine::CellLineCvtermprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_lineprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_lineprops", "Bio::Chado::Schema::Result::CellLine::CellLineprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_relationships", "Bio::Chado::Schema::Result::CellLine::CellLineRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 chadoprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "chadoprops", "Bio::Chado::Schema::Result::Cv::Chadoprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 contacts Type: has_many Related object: L =cut __PACKAGE__->has_many( "contacts", "Bio::Chado::Schema::Result::Contact::Contact", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 contact_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "contact_relationships", "Bio::Chado::Schema::Result::Contact::ContactRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 controls Type: has_many Related object: L =cut __PACKAGE__->has_many( "controls", "Bio::Chado::Schema::Result::Mage::Control", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvprops", "Bio::Chado::Schema::Result::Cv::Cvprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cv Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cv", "Bio::Chado::Schema::Result::Cv::Cv", { cv_id => "cv_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvterm_dbxrefs", "Bio::Chado::Schema::Result::Cv::CvtermDbxref", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermpath_types Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermpath_types", "Bio::Chado::Schema::Result::Cv::Cvtermpath", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermpath_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermpath_objects", "Bio::Chado::Schema::Result::Cv::Cvtermpath", { "foreign.object_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermpath_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermpath_subjects", "Bio::Chado::Schema::Result::Cv::Cvtermpath", { "foreign.subject_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermprop_types Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermprop_types", "Bio::Chado::Schema::Result::Cv::Cvtermprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermprops", "Bio::Chado::Schema::Result::Cv::Cvtermprop", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvterm_relationship_types Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvterm_relationship_types", "Bio::Chado::Schema::Result::Cv::CvtermRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvterm_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvterm_relationship_objects", "Bio::Chado::Schema::Result::Cv::CvtermRelationship", { "foreign.object_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvterm_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvterm_relationship_subjects", "Bio::Chado::Schema::Result::Cv::CvtermRelationship", { "foreign.subject_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermsynonym_types Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermsynonym_types", "Bio::Chado::Schema::Result::Cv::Cvtermsynonym", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermsynonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermsynonyms", "Bio::Chado::Schema::Result::Cv::Cvtermsynonym", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 dbxrefprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "dbxrefprops", "Bio::Chado::Schema::Result::Cv::Dbxrefprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 elements Type: has_many Related object: L =cut __PACKAGE__->has_many( "elements", "Bio::Chado::Schema::Result::Mage::Element", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 element_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "element_relationships", "Bio::Chado::Schema::Result::Mage::ElementRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 elementresult_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "elementresult_relationships", "Bio::Chado::Schema::Result::Mage::ElementresultRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 environment_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "environment_cvterms", "Bio::Chado::Schema::Result::Genetic::EnvironmentCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expression_cvterm_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_cvterm_cvterms", "Bio::Chado::Schema::Result::Expression::ExpressionCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expression_cvterm_cvterm_types Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_cvterm_cvterm_types", "Bio::Chado::Schema::Result::Expression::ExpressionCvterm", { "foreign.cvterm_type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expression_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_cvtermprops", "Bio::Chado::Schema::Result::Expression::ExpressionCvtermprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expressionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "expressionprops", "Bio::Chado::Schema::Result::Expression::Expressionprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 features Type: has_many Related object: L =cut __PACKAGE__->has_many( "features", "Bio::Chado::Schema::Result::Sequence::Feature", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvterms", "Bio::Chado::Schema::Result::Sequence::FeatureCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvtermprops", "Bio::Chado::Schema::Result::Sequence::FeatureCvtermprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_expressionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_expressionprops", "Bio::Chado::Schema::Result::Expression::FeatureExpressionprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_genotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_genotypes", "Bio::Chado::Schema::Result::Genetic::FeatureGenotype", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featuremaps Type: has_many Related object: L =cut __PACKAGE__->has_many( "featuremaps", "Bio::Chado::Schema::Result::Map::Featuremap", { "foreign.unittype_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featureprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureprops", "Bio::Chado::Schema::Result::Sequence::Featureprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_pubprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_pubprops", "Bio::Chado::Schema::Result::Sequence::FeaturePubprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationships", "Bio::Chado::Schema::Result::Sequence::FeatureRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_relationshipprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationshipprops", "Bio::Chado::Schema::Result::Sequence::FeatureRelationshipprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 genotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "genotypes", "Bio::Chado::Schema::Result::Genetic::Genotype", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 genotypeprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "genotypeprops", "Bio::Chado::Schema::Result::Genetic::Genotypeprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 libraries Type: has_many Related object: L =cut __PACKAGE__->has_many( "libraries", "Bio::Chado::Schema::Result::Library::Library", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_cvterms", "Bio::Chado::Schema::Result::Library::LibraryCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 libraryprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "libraryprops", "Bio::Chado::Schema::Result::Library::Libraryprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiments Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiments", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperiment", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experimentprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experimentprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_stocks", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStock", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_stockprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_stockprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_geolocationprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_geolocationprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdGeolocationprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_protocols Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_protocols", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocol", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_protocolprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_protocolprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_protocol_reagents Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_protocol_reagents", "Bio::Chado::Schema::Result::NaturalDiversity::NdProtocolReagent", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_reagents Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_reagents", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagent", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_reagentprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_reagentprops", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagentprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_reagent_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_reagent_relationships", "Bio::Chado::Schema::Result::NaturalDiversity::NdReagentRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 organismprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "organismprops", "Bio::Chado::Schema::Result::Organism::Organismprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phendescs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phendescs", "Bio::Chado::Schema::Result::Genetic::Phendesc", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_assays Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_assays", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { "foreign.assay_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_attrs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_attrs", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { "foreign.attr_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_observables Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_observables", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { "foreign.observable_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_cvalues Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_cvalues", "Bio::Chado::Schema::Result::Phenotype::Phenotype", { "foreign.cvalue_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparison_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_cvterms", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparisonCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_cvterms", "Bio::Chado::Schema::Result::Phenotype::PhenotypeCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotypeprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotypeprops", "Bio::Chado::Schema::Result::Phenotype::Phenotypeprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenstatements Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenstatements", "Bio::Chado::Schema::Result::Genetic::Phenstatement", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonodes Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonodes", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonodeprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonodeprops", "Bio::Chado::Schema::Result::Phylogeny::Phylonodeprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_relationships", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylotrees Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylotrees", "Bio::Chado::Schema::Result::Phylogeny::Phylotree", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 projectprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "projectprops", "Bio::Chado::Schema::Result::Project::Projectprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 project_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "project_relationships", "Bio::Chado::Schema::Result::Project::ProjectRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 protocols Type: has_many Related object: L =cut __PACKAGE__->has_many( "protocols", "Bio::Chado::Schema::Result::Mage::Protocol", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 protocolparam_unittypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "protocolparam_unittypes", "Bio::Chado::Schema::Result::Mage::Protocolparam", { "foreign.unittype_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 protocolparam_datatypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "protocolparam_datatypes", "Bio::Chado::Schema::Result::Mage::Protocolparam", { "foreign.datatype_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "pubs", "Bio::Chado::Schema::Result::Pub::Pub", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pubprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "pubprops", "Bio::Chado::Schema::Result::Pub::Pubprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pub_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "pub_relationships", "Bio::Chado::Schema::Result::Pub::PubRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantificationprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantificationprops", "Bio::Chado::Schema::Result::Mage::Quantificationprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantification_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantification_relationships", "Bio::Chado::Schema::Result::Mage::QuantificationRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "stocks", "Bio::Chado::Schema::Result::Stock::Stock", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stockcollections Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockcollections", "Bio::Chado::Schema::Result::Stock::Stockcollection", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stockcollectionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockcollectionprops", "Bio::Chado::Schema::Result::Stock::Stockcollectionprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_cvterms", "Bio::Chado::Schema::Result::Stock::StockCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_cvtermprops", "Bio::Chado::Schema::Result::Stock::StockCvtermprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_dbxrefprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_dbxrefprops", "Bio::Chado::Schema::Result::Stock::StockDbxrefprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stockprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockprops", "Bio::Chado::Schema::Result::Stock::Stockprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationships", "Bio::Chado::Schema::Result::Stock::StockRelationship", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_relationship_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationship_cvterms", "Bio::Chado::Schema::Result::Stock::StockRelationshipCvterm", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studydesignprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "studydesignprops", "Bio::Chado::Schema::Result::Mage::Studydesignprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studyfactors Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyfactors", "Bio::Chado::Schema::Result::Mage::Studyfactor", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studyprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyprops", "Bio::Chado::Schema::Result::Mage::Studyprop", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studyprop_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyprop_features", "Bio::Chado::Schema::Result::Mage::StudypropFeature", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "synonyms", "Bio::Chado::Schema::Result::Sequence::Synonym", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 treatments Type: has_many Related object: L =cut __PACKAGE__->has_many( "treatments", "Bio::Chado::Schema::Result::Mage::Treatment", { "foreign.type_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-11-07 13:19:16 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cPH9EGtsJO7PK5U3UZ9LvA use Carp; =head1 ADDITIONAL RELATIONS =head2 cvtermprops Type: has_many Related object: L This C relation is a convenient synonym for the autogenerated L above, since most often you want the properties for the cvterm itself. If you really do want the Cvtermprop rows that have this cvterm as their B, use C, listed above. =cut __PACKAGE__->has_many( "cvtermprops", "Bio::Chado::Schema::Result::Cv::Cvtermprop", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermsynonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermsynonyms", "Bio::Chado::Schema::Result::Cv::Cvtermsynonym", { "foreign.cvterm_id" => "self.cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head1 ADDITIONAL METHODS =head2 add_synonym Usage: $self->add_synonym($synonym , { type => 'exact' , autocreate => 1} ); Desc: adds the synonym $new_synonym to this cvterm If the synonym $new_synonym already exists, nothing is added. Args: a synonym name and options hashref as: { synonym_type => [e.g. exact, narrow, broad, related], autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given synonym name. Default false. cv_name => cv.name to use for the given synonym type. Defaults to 'synonym_type', db_name => db.name to use for autocreated dbxrefs, default 'null', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms } Ret: a Cvtermsynonym object =cut sub add_synonym { my ($self, $synonym, $opts) = @_; my $schema = $self->result_source->schema; $opts ||= {}; $opts->{cv_name} = 'synonym_type' unless defined $opts->{cv_name}; $opts->{db_name} = 'null' unless defined $opts->{db_name}; $opts->{dbxref_accession_prefix} = 'autocreated:' unless defined $opts->{dbxref_accession_prefix}; my $data; $data->{synonym} = $synonym; if (defined $opts->{synonym_type} ) { my $synonym_type= $opts->{synonym_type} ; my $synonym_db; #< set as needed below my $synonym_cv = do { my $cvrs = $schema->resultset('Cv::Cv'); my $find_or_create = $opts->{autocreate} ? 'find_or_create' : 'find'; $cvrs->$find_or_create({ name => $opts->{cv_name}}, { key => 'cv_c1' }) or croak "cv '$opts->{cv_name}' not found and autocreate option not passed, cannot continue"; }; # find/create cvterm and dbxref for the synonym, my $existing_cvterm = $synonym_cv->find_related('cvterms', { name => $synonym_type, is_obsolete => 0, }, { key => 'cvterm_c1' }, ); # if there is no existing cvterm for this synonym type, and we # have the autocreate flag set true, then create a cvterm, # dbxref, and db for it if necessary unless( $existing_cvterm ) { $opts->{autocreate} or croak "cvterm not found for cvterm synonym type '$synonym_type', and autocreate option not passed, cannot continue"; # look up the db object if we don't already have it, now # that we know we need it $synonym_db ||= $self->result_source->schema ->resultset('General::Db') ->find_or_create( { name => $opts->{db_name} }, { key => 'db_c1' } ); # find or create the dbxref for this cvterm we are about # to create my $dbx_acc = $synonym_type; my $dbxref = $synonym_db->find_or_create_related('dbxrefs',{ accession => $dbx_acc }) || $synonym_db->create_related('dbxrefs',{ accession => $dbx_acc, version => 1, }); # look up any definition we might have been given for this # propname, so we can insert it if given my $def = $opts->{definition}; my $synonym_type_cvterm= $synonym_cv->create_related('cvterms', { name => $synonym_type, is_obsolete => 0, dbxref_id => $dbxref->dbxref_id, $def ? (definition => $def) : (), } ); $data->{type_id} = $synonym_type_cvterm->cvterm_id(); } else { $data->{type_id} = $existing_cvterm->cvterm_id(); } } my ($cvtermsynonym)= $self->search_related('cvtermsynonyms', { type_id => $data->{type_id} })-> search({ 'lower(synonym)' => {like => lc($synonym) } } ); #search({ 'lower(synonym)' => { like => 'blah'}}) #my $rs = $c->model("DB::Dbentry")->$search({ #'lower('.$key.')' => $q }, #search({ \'lower(synonym)' => { like => 'blah'}}) $cvtermsynonym= $self->create_related('cvtermsynonyms' , $data) unless defined $cvtermsynonym; return $cvtermsynonym; } =head2 delete_synonym Usage: $self->delete_synonym($synonym) Desc: delete synonym $synonym from cvterm object Ret: nothing Args: $synonym Side Effects: Will delete all cvtermsynonyms with synonym=$synonym. Case insensitive =cut sub delete_synonym { my $self=shift; my $synonym=shift; my $schema = $self->result_source->schema; $self->result_source ->schema ->resultset("Cv::Cvtermsynonym") ->search( { cvterm_id => $self->get_column('cvterm_id'), synonym => { 'like' , lc($synonym) } }) ->delete(); } =head2 get_secondary_dbxrefs Usage: $self->get_secondary_dbxrefs() Desc: find all secondary accessions associated with the cvterm These are stored in cvterm_dbxref table as dbxref_ids Ret: a list of accessions (e.g. GO:0000123) Args: none Side Effects: none =cut sub get_secondary_dbxrefs { my $self=shift; my $schema = $self->result_source->schema; my @list; my @s = $self->search_related('cvterm_dbxrefs' , { is_for_definition => 0} ); foreach (@s) { my $accession = $_->dbxref->accession; my $db_name = $_->dbxref->db->name; push @list, $db_name . ":" . $accession; } return @list; } =head2 add_secondary_dbxref Usage: $self->add_secondary_dbxref(accession, 1) Desc: add an alternative id to cvterm. Stores in cvterm_dbxref Ret: a CvtermDbxref object Args: an alternative id (i.e. "GO:0001234"). A second arg will store a is_for_definition=1 (default = 0) Side Effects: stores a new dbxref if accession is not found in dbxref table =cut sub add_secondary_dbxref { my ($self, $accession, $def)=@_; $def = 0 if !$def; my $schema = $self->result_source->schema; my ($db_name, $acc) = split (/:/, $accession); if (!$db_name || !$acc) { croak "Accession must be of the form :. You passed '$accession'" ; } my $db = $schema->resultset("General::Db")->find_or_create( { name => $db_name }, { key => 'db_c1' } ); my $dbxref = $db->search_related('dbxrefs', { accession => $acc })->first || $db->create_related('dbxrefs', { accession => $acc }); my $cvterm_dbxref = $schema->resultset("Cv::CvtermDbxref")->search( { dbxref_id => $dbxref->get_column('dbxref_id'), cvterm_id => $self->get_column('cvterm_id') } )->first(); if ($cvterm_dbxref) { $cvterm_dbxref->update( { is_for_definition => $def } ) if $def; }else { $cvterm_dbxref = $schema->resultset("Cv::CvtermDbxref")->create( { dbxref_id => $dbxref->get_column('dbxref_id'), cvterm_id => $self->get_column('cvterm_id'), is_for_definition => $def, } ); } return $cvterm_dbxref; } =head2 delete_secondary_dbxref Usage: $self->delete_secondary_dbxref($accession) Desc: delete a cvterm_dbxref from the database Ret: nothing Args: full accession (db_name:dbxref_accession e.g. PO:0001234) Side Effects: =cut sub delete_secondary_dbxref { my $self=shift; my $accession=shift; my $schema = $self->result_source->schema; my ($db_name, $acc) = split (/:/, $accession); if (!$db_name || !$accession) { croak "Did not pass a legal accession! ($accession)" ; } my ($cvterm_dbxref) = $schema->resultset("General::Db")->search( { name => $db_name } )-> search_related('dbxrefs' , { accession => $acc } )-> search_related('cvterm_dbxrefs', { cvterm_id => $self->get_column('cvterm_id') } ); if ($cvterm_dbxref) { $cvterm_dbxref->delete() ; } } =head2 create_cvtermprops Usage: $set->create_cvtermprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create cvterm properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given cvtermprop name. Default false. cv_name => cv.name to use for the given cvtermprops. Defaults to 'cvterm_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same cvterm and value in the properties of the cvterm. Duplicate values will have different ranks. } Ret : hashref of { propname => new cvtermprop object } =cut sub create_cvtermprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'cvterm_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'cvtermprops', ); } =head2 root Usage: $self->root Desc: find the root cvterm Ret: Cvterm object Args: none NOTE: This method requires that your C table is populated. =cut sub root { my $self = shift; my $root = $self->search_related('cvtermpath_subjects', {} , { order_by => { -desc => 'pathdistance'}, rows => 1, } ) ->single ->find_related('object' , {}); return $root; } =head2 children Usage: $self->children Desc: find the direct children of the cvterm Ret: L resultset of the fetched child terms (this can be used in your program to find the relationship type id of each child term) Args: none =cut sub children { shift->search_related('cvterm_relationship_objects'); } =head2 direct_children Usage: $self->direct_children Desc: find only the direct children of your term Ret: L Args: none Side Effects: none NOTE: This method requires that your C table is populated. =cut sub direct_children { my $self = shift; return $self->search_related ( 'cvtermpath_subjects', { pathdistance => { '<' => 0 }, } )->search_related('object'); } #the same using cvtermpath # return $self->search_related('cvtermpath_objects' , undef , { #pathdistance => 1 , } #); =head2 recursive_children Usage: $self->recursive_children Desc: find all the descendants of the cvterm (children, children of children, and so on) Ret: a DBIC resultset of L Args: none Side Effects: none NOTE: This method requires that your C table is populated. =cut sub recursive_children { my $self = shift; return $self->search_related( 'cvtermpath_objects', { pathdistance => { '>' => 0 }, } )->search_related('subject'); } =head2 parents Usage: my $self->parents Desc: Find the direct parents of the cvterm Ret: L resultset of the parent terms Args: none Side Effects: none =cut sub parents { shift->search_related('cvterm_relationship_subjects'); } =head2 direct_parents Usage: $self->direct_parents Desc: get only the direct parents of the cvterm (from the cvtermpath) Ret: L Args: none Side Effects: none NOTE: This method requires that your C table is populated. =cut sub direct_parents { my $self = shift; return $self->search_related( 'cvtermpath_objects', { pathdistance => { '<' => 0 } , } )->search_related( 'subject'); } =head2 recursive_parents Usage: $self->recursive_parents Desc: find all the ancestors of the cvterm (parents, parents of parents, and so on) Ret: L resultset Args: none Side Effects: none NOTE: This method requires that your C table is populated. =cut sub recursive_parents { my $self = shift; return $self->search_related( 'cvtermpath_subjects', { pathdistance => { '>' => 0 } , } )->search_related( 'object'); } ############ CVTERM CUSTOM RESULTSET PACKAGE ############################# __PACKAGE__->resultset_class('Bio::Chado::Schema::Result::Cv::Cvterm::ResultSet'); package Bio::Chado::Schema::Result::Cv::Cvterm::ResultSet; BEGIN { $Bio::Chado::Schema::Result::Cv::Cvterm::ResultSet::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Cvterm::ResultSet::VERSION = '0.20000'; } use base qw/ DBIx::Class::ResultSet /; use Carp; =head2 create_with Usage: $schema->resultset('Cv::Cvterm')->create_with( { name => 'cvterm name', cv => $cv || 'cv name', db => $db || 'db name', dbxref => $dbx || 'accession', }); Desc: convenience method to create a cvterm, linking it to the CV and DB that you name or provide. For any cv, db, or dbxref that you call only by name, does a find_or_create() using that name. Ret : a new Cvterm row Args: hashref of: { name => 'cvterm name', cv => 'cv name' or L row, db => 'db name' or L row, dbxref => 'accession' or L row, } =cut sub create_with { my ($self, $opts) = @_; $opts or croak 'must provide a hashref of values to create_with'; $opts->{name} or croak 'must provide a name for the new cvterm'; # cv and db default to 'null' $opts->{cv} = 'null' unless defined $opts->{cv}; $opts->{db} = 'null' unless defined $opts->{db}; # dbxref defaults to autocreated: $opts->{dbxref} = 'autocreated:'.$opts->{name} unless defined $opts->{dbxref}; # if cv, dbxref, or db are row objects, make sure that they are # actually stored in the db, since we need to make foreign key # relationships to them $_->insert_or_update for grep ref, @{$opts}{qw| cv dbxref db |}; my $schema = $self->result_source->schema; # use, find, or create the given cv my $cv = ref $opts->{cv} ? $opts->{cv} : $schema->resultset('Cv::Cv') ->find_or_create({ name => $opts->{cv} }); # return our cvterm if it exists already if( my $cvterm = $cv->find_related( 'cvterms', { name => $opts->{name}, is_obsolete => '0', }) ) { return $cvterm; } # now figure out which dbxref to use (creating the dbxref and db if necessary) my $dbx = _find_dbxref( $schema, $opts->{dbxref}, $opts->{db} ); # and finally make a cvterm to go with the cv and dbxref we found return $cv->create_related( 'cvterms', { name => $opts->{name}, dbxref_id => $dbx->dbxref_id, } ); } sub _find_dbxref { my ( $schema, $dbx, $db ) = @_; # if we have a dbxref object to begin with, use it return $dbx if ref $dbx; ### otherwise, need to find the db unless( ref $db ) { # convert db name string into object if necessary $db = $schema->resultset('General::Db') ->find_or_create({ name => $db }); } #now find or create the dbxref from the db return $db->find_or_create_related('dbxrefs', { accession => $dbx }, ); } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/StatsPathsToRoot.pm0000644000175000017500000000323411775633337024073 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::StatsPathsToRoot; BEGIN { $Bio::Chado::Schema::Result::Cv::StatsPathsToRoot::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::StatsPathsToRoot::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::StatsPathsToRoot =head1 DESCRIPTION per-cvterm statistics on its placement in the DAG relative to the root. There may be multiple paths from any term to the root. This gives the total number of paths, and the average minimum and maximum distances. Here distance is defined by cvtermpath.pathdistance =cut __PACKAGE__->table("stats_paths_to_root"); =head1 ACCESSORS =head2 cvterm_id data_type: 'integer' is_nullable: 1 =head2 total_paths data_type: 'bigint' is_nullable: 1 =head2 avg_distance data_type: 'numeric' is_nullable: 1 =head2 min_distance data_type: 'integer' is_nullable: 1 =head2 max_distance data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "cvterm_id", { data_type => "integer", is_nullable => 1 }, "total_paths", { data_type => "bigint", is_nullable => 1 }, "avg_distance", { data_type => "numeric", is_nullable => 1 }, "min_distance", { data_type => "integer", is_nullable => 1 }, "max_distance", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fSYGZt0z2S/O8jRP/WecZQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Cvtermsynonym.pm0000644000175000017500000000536311775633337023530 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Cvtermsynonym; BEGIN { $Bio::Chado::Schema::Result::Cv::Cvtermsynonym::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Cvtermsynonym::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Cvtermsynonym =head1 DESCRIPTION A cvterm actually represents a distinct class or concept. A concept can be refered to by different phrases or names. In addition to the primary name (cvterm.name) there can be a number of alternative aliases or synonyms. For example, "T cell" as a synonym for "T lymphocyte". =cut __PACKAGE__->table("cvtermsynonym"); =head1 ACCESSORS =head2 cvtermsynonym_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cvtermsynonym_cvtermsynonym_id_seq' =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 synonym data_type: 'varchar' is_nullable: 0 size: 1024 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 A synonym can be exact, narrower, or broader than. =cut __PACKAGE__->add_columns( "cvtermsynonym_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cvtermsynonym_cvtermsynonym_id_seq", }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "synonym", { data_type => "varchar", is_nullable => 0, size => 1024 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, ); __PACKAGE__->set_primary_key("cvtermsynonym_id"); __PACKAGE__->add_unique_constraint("cvtermsynonym_c1", ["cvterm_id", "synonym"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EBWaHSWHseA98nFNK/dThg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Cvtermpath.pm0000644000175000017500000001000411775633337022734 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Cvtermpath; BEGIN { $Bio::Chado::Schema::Result::Cv::Cvtermpath::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Cvtermpath::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Cvtermpath =head1 DESCRIPTION The reflexive transitive closure of the cvterm_relationship relation. =cut __PACKAGE__->table("cvtermpath"); =head1 ACCESSORS =head2 cvtermpath_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cvtermpath_cvtermpath_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 The relationship type that this is a closure over. If null, then this is a closure over ALL relationship types. If non-null, then this references a relationship cvterm - note that the closure will apply to both this relationship AND the OBO_REL:is_a (subclass) relationship. =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cv_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 Closures will mostly be within one cv. If the closure of a relationship traverses a cv, then this refers to the cv of the object_id cvterm. =head2 pathdistance data_type: 'integer' is_nullable: 1 The number of steps required to get from the subject cvterm to the object cvterm, counting from zero (reflexive relationship). =cut __PACKAGE__->add_columns( "cvtermpath_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cvtermpath_cvtermpath_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cv_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pathdistance", { data_type => "integer", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("cvtermpath_id"); __PACKAGE__->add_unique_constraint( "cvtermpath_c1", ["subject_id", "object_id", "type_id", "pathdistance"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cv Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cv", "Bio::Chado::Schema::Result::Cv::Cv", { cv_id => "cv_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:LIl0GlpFa7htKB72YF8f5w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Cv.pm0000644000175000017500000000504411775633337021177 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Cv; BEGIN { $Bio::Chado::Schema::Result::Cv::Cv::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Cv::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Cv =head1 DESCRIPTION A controlled vocabulary or ontology. A cv is composed of cvterms (AKA terms, classes, types, universals - relations and properties are also stored in cvterm) and the relationships between them. =cut __PACKAGE__->table("cv"); =head1 ACCESSORS =head2 cv_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cv_cv_id_seq' =head2 name data_type: 'varchar' is_nullable: 0 size: 255 The name of the ontology. This corresponds to the obo-format -namespace-. cv names uniquely identify the cv. In OBO file format, the cv.name is known as the namespace. =head2 definition data_type: 'text' is_nullable: 1 A text description of the criteria for membership of this ontology. =cut __PACKAGE__->add_columns( "cv_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cv_cv_id_seq", }, "name", { data_type => "varchar", is_nullable => 0, size => 255 }, "definition", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("cv_id"); __PACKAGE__->add_unique_constraint("cv_c1", ["name"]); =head1 RELATIONS =head2 cvprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvprops", "Bio::Chado::Schema::Result::Cv::Cvprop", { "foreign.cv_id" => "self.cv_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvterms", "Bio::Chado::Schema::Result::Cv::Cvterm", { "foreign.cv_id" => "self.cv_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvtermpaths Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvtermpaths", "Bio::Chado::Schema::Result::Cv::Cvtermpath", { "foreign.cv_id" => "self.cv_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:23TTY2CmFJAGprWQlkYWcQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvCvtermCount.pm0000644000175000017500000000206711775633337023373 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvCvtermCount; BEGIN { $Bio::Chado::Schema::Result::Cv::CvCvtermCount::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvCvtermCount::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvCvtermCount - per-cv terms counts (excludes obsoletes) =cut __PACKAGE__->table("cv_cvterm_count"); =head1 ACCESSORS =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 num_terms_excl_obs data_type: 'bigint' is_nullable: 1 =cut __PACKAGE__->add_columns( "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "num_terms_excl_obs", { data_type => "bigint", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:iQX7yPDCJrOuoRHiE0loaQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvRoot.pm0000644000175000017500000000223211775633337022037 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvRoot; BEGIN { $Bio::Chado::Schema::Result::Cv::CvRoot::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvRoot::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvRoot =head1 DESCRIPTION the roots of a cv are the set of terms which have no parents (terms that are not the subject of a relation). Most cvs will have a single root, some may have >1. All will have at least 1 =cut __PACKAGE__->table("cv_root"); =head1 ACCESSORS =head2 cv_id data_type: 'integer' is_nullable: 1 =head2 root_cvterm_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "cv_id", { data_type => "integer", is_nullable => 1 }, "root_cvterm_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EiqneVQVi2o9lzD5ckDOPw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvLeaf.pm0000644000175000017500000000214611775633337021767 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvLeaf; BEGIN { $Bio::Chado::Schema::Result::Cv::CvLeaf::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvLeaf::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvLeaf =head1 DESCRIPTION the leaves of a cv are the set of terms which have no children (terms that are not the object of a relation). All cvs will have at least 1 leaf =cut __PACKAGE__->table("cv_leaf"); =head1 ACCESSORS =head2 cv_id data_type: 'integer' is_nullable: 1 =head2 cvterm_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "cv_id", { data_type => "integer", is_nullable => 1 }, "cvterm_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9ZC3mPTVFGKpMtwF5gkx7A # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Dbxrefprop.pm0000644000175000017500000000530311775633337022740 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Dbxrefprop; BEGIN { $Bio::Chado::Schema::Result::Cv::Dbxrefprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Dbxrefprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Dbxrefprop =head1 DESCRIPTION Metadata about a dbxref. Note that this is not defined in the dbxref module, as it depends on the cvterm table. This table has a structure analagous to cvtermprop. =cut __PACKAGE__->table("dbxrefprop"); =head1 ACCESSORS =head2 dbxrefprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'dbxrefprop_dbxrefprop_id_seq' =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' default_value: (empty string) is_nullable: 0 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "dbxrefprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "dbxrefprop_dbxrefprop_id_seq", }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", default_value => "", is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("dbxrefprop_id"); __PACKAGE__->add_unique_constraint("dbxrefprop_c1", ["dbxref_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7wF5gI3DwsAEmU6dfNx3Hw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Chadoprop.pm0000644000175000017500000000503611775633337022547 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Chadoprop; BEGIN { $Bio::Chado::Schema::Result::Cv::Chadoprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Chadoprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Chadoprop =head1 DESCRIPTION This table is different from other prop tables in the database, as it is for storing information about the database itself, like schema version =cut __PACKAGE__->table("chadoprop"); =head1 ACCESSORS =head2 chadoprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'chadoprop_chadoprop_id_seq' =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property or slot is a cvterm. The meaning of the property is defined in that cvterm. =head2 value data_type: 'text' is_nullable: 1 The value of the property, represented as text. Numeric values are converted to their text representation. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any cv can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used. =cut __PACKAGE__->add_columns( "chadoprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "chadoprop_chadoprop_id_seq", }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("chadoprop_id"); __PACKAGE__->add_unique_constraint("chadoprop_c1", ["type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-09-22 08:45:24 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Zh5iGr+9B0FCmXj6pNcyTA # You can replace this text with custom code or comments, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/Cvtermprop.pm0000644000175000017500000000621111775633337022765 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::Cvtermprop; BEGIN { $Bio::Chado::Schema::Result::Cv::Cvtermprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::Cvtermprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::Cvtermprop =head1 DESCRIPTION Additional extensible properties can be attached to a cvterm using this table. Corresponds to -AnnotationProperty- in W3C OWL format. =cut __PACKAGE__->table("cvtermprop"); =head1 ACCESSORS =head2 cvtermprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cvtermprop_cvtermprop_id_seq' =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property or slot is a cvterm. The meaning of the property is defined in that cvterm. =head2 value data_type: 'text' default_value: (empty string) is_nullable: 0 The value of the property, represented as text. Numeric values are converted to their text representation. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any cvterm can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used. =cut __PACKAGE__->add_columns( "cvtermprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cvtermprop_cvtermprop_id_seq", }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", default_value => "", is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cvtermprop_id"); __PACKAGE__->add_unique_constraint( "cvtermprop_cvterm_id_key", ["cvterm_id", "type_id", "value", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vMgNqm47sN68nXTS0aRj2g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvPathCount.pm0000644000175000017500000000305311775633337023023 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvPathCount; BEGIN { $Bio::Chado::Schema::Result::Cv::CvPathCount::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvPathCount::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvPathCount =head1 DESCRIPTION per-cv summary of number of paths (cvtermpaths) broken down by relationship_type. num_paths is the total # of paths of the specified type in which the subject_id of the path is in the named cv. See also: cv_distinct_relations =cut __PACKAGE__->table("cv_path_count"); =head1 ACCESSORS =head2 cv_name data_type: 'varchar' is_nullable: 1 size: 255 =head2 relation_name data_type: 'varchar' is_nullable: 1 size: 1024 =head2 relation_cv_name data_type: 'varchar' is_nullable: 1 size: 255 =head2 num_paths data_type: 'bigint' is_nullable: 1 =cut __PACKAGE__->add_columns( "cv_name", { data_type => "varchar", is_nullable => 1, size => 255 }, "relation_name", { data_type => "varchar", is_nullable => 1, size => 1024 }, "relation_cv_name", { data_type => "varchar", is_nullable => 1, size => 255 }, "num_paths", { data_type => "bigint", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TPlEH4vL0GI5Yb0miKxS4Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CommonAncestorCvterm.pm0000644000175000017500000000337511775633337024744 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CommonAncestorCvterm; BEGIN { $Bio::Chado::Schema::Result::Cv::CommonAncestorCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CommonAncestorCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CommonAncestorCvterm =head1 DESCRIPTION The common ancestor of any two terms is the intersection of both terms ancestors. Two terms can have multiple common ancestors. Use total_pathdistance to get the least common ancestor =cut __PACKAGE__->table("common_ancestor_cvterm"); =head1 ACCESSORS =head2 cvterm1_id data_type: 'integer' is_nullable: 1 =head2 cvterm2_id data_type: 'integer' is_nullable: 1 =head2 ancestor_cvterm_id data_type: 'integer' is_nullable: 1 =head2 pathdistance1 data_type: 'integer' is_nullable: 1 =head2 pathdistance2 data_type: 'integer' is_nullable: 1 =head2 total_pathdistance data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "cvterm1_id", { data_type => "integer", is_nullable => 1 }, "cvterm2_id", { data_type => "integer", is_nullable => 1 }, "ancestor_cvterm_id", { data_type => "integer", is_nullable => 1 }, "pathdistance1", { data_type => "integer", is_nullable => 1 }, "pathdistance2", { data_type => "integer", is_nullable => 1 }, "total_pathdistance", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:I/RmAnp5GzYYhc0N7zoRMA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvCvtermCountWithObs.pm0000644000175000017500000000213411775633337024666 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvCvtermCountWithObs; BEGIN { $Bio::Chado::Schema::Result::Cv::CvCvtermCountWithObs::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvCvtermCountWithObs::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvCvtermCountWithObs - per-cv terms counts (includes obsoletes) =cut __PACKAGE__->table("cv_cvterm_count_with_obs"); =head1 ACCESSORS =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 num_terms_incl_obs data_type: 'bigint' is_nullable: 1 =cut __PACKAGE__->add_columns( "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "num_terms_incl_obs", { data_type => "bigint", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Bt6fdcyW+3A2xzd6Rt5bvQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CommonDescendantCvterm.pm0000644000175000017500000000341511775633337025231 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CommonDescendantCvterm; BEGIN { $Bio::Chado::Schema::Result::Cv::CommonDescendantCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CommonDescendantCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CommonDescendantCvterm =head1 DESCRIPTION The common descendant of any two terms is the intersection of both terms descendants. Two terms can have multiple common descendants. Use total_pathdistance to get the least common ancestor =cut __PACKAGE__->table("common_descendant_cvterm"); =head1 ACCESSORS =head2 cvterm1_id data_type: 'integer' is_nullable: 1 =head2 cvterm2_id data_type: 'integer' is_nullable: 1 =head2 ancestor_cvterm_id data_type: 'integer' is_nullable: 1 =head2 pathdistance1 data_type: 'integer' is_nullable: 1 =head2 pathdistance2 data_type: 'integer' is_nullable: 1 =head2 total_pathdistance data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "cvterm1_id", { data_type => "integer", is_nullable => 1 }, "cvterm2_id", { data_type => "integer", is_nullable => 1 }, "ancestor_cvterm_id", { data_type => "integer", is_nullable => 1 }, "pathdistance1", { data_type => "integer", is_nullable => 1 }, "pathdistance2", { data_type => "integer", is_nullable => 1 }, "total_pathdistance", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:p7fHtjjCUe9DSOACO+T7Yg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Cv/CvtermDbxref.pm0000644000175000017500000000704111775633337023221 0ustar robrobpackage Bio::Chado::Schema::Result::Cv::CvtermDbxref; BEGIN { $Bio::Chado::Schema::Result::Cv::CvtermDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Cv::CvtermDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Cv::CvtermDbxref =head1 DESCRIPTION In addition to the primary identifier (cvterm.dbxref_id) a cvterm can have zero or more secondary identifiers/dbxrefs, which may refer to records in external databases. The exact semantics of cvterm_dbxref are not fixed. For example: the dbxref could be a pubmed ID that is pertinent to the cvterm, or it could be an equivalent or similar term in another ontology. For example, GO cvterms are typically linked to InterPro IDs, even though the nature of the relationship between them is largely one of statistical association. The dbxref may be have data records attached in the same database instance, or it could be a "hanging" dbxref pointing to some external database. NOTE: If the desired objective is to link two cvterms together, and the nature of the relation is known and holds for all instances of the subject cvterm then consider instead using cvterm_relationship together with a well-defined relation. =cut __PACKAGE__->table("cvterm_dbxref"); =head1 ACCESSORS =head2 cvterm_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'cvterm_dbxref_cvterm_dbxref_id_seq' =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_for_definition data_type: 'integer' default_value: 0 is_nullable: 0 A cvterm.definition should be supported by one or more references. If this column is true, the dbxref is not for a term in an external database - it is a dbxref for provenance information for the definition. =cut __PACKAGE__->add_columns( "cvterm_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "cvterm_dbxref_cvterm_dbxref_id_seq", }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_for_definition", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("cvterm_dbxref_id"); __PACKAGE__->add_unique_constraint("cvterm_dbxref_c1", ["cvterm_id", "dbxref_id"]); =head1 RELATIONS =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tnzyKdGKsHmaJUobXwNC1g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/0000755000175000017500000000000011775633337021466 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/Featureprop.pm0000644000175000017500000001000411775633337024313 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::Featureprop; BEGIN { $Bio::Chado::Schema::Result::Sequence::Featureprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::Featureprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::Featureprop =head1 DESCRIPTION A feature can have any number of slot-value property tags attached to it. This is an alternative to hardcoding a list of columns in the relational schema, and is completely extensible. =cut __PACKAGE__->table("featureprop"); =head1 ACCESSORS =head2 featureprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featureprop_featureprop_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property/slot is a cvterm. The meaning of the property is defined in that cvterm. Certain property types will only apply to certain feature types (e.g. the anticodon property will only apply to tRNA features) ; the types here come from the sequence feature property ontology. =head2 value data_type: 'text' is_nullable: 1 The value of the property, represented as text. Numeric values are converted to their text representation. This is less efficient than using native database types, but is easier to query. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any feature can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used =cut __PACKAGE__->add_columns( "featureprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featureprop_featureprop_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("featureprop_id"); __PACKAGE__->add_unique_constraint("featureprop_c1", ["feature_id", "type_id", "rank"]); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 featureprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureprop_pubs", "Bio::Chado::Schema::Result::Sequence::FeaturepropPub", { "foreign.featureprop_id" => "self.featureprop_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uEjPjCmGofVPDR40/Weuow =head1 ADDITIONAL RELATIONSHIPS =head2 cvterm Alias for type ( type_id foreign key into cvterm table) =cut __PACKAGE__->belongs_to ( 'cvterm', 'Bio::Chado::Schema::Result::Cv::Cvterm', { 'foreign.cvterm_id' => 'self.type_id' }, ); # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeaturepropPub.pm0000644000175000017500000000465311775633337024777 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeaturepropPub; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeaturepropPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeaturepropPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeaturepropPub =head1 DESCRIPTION Provenance. Any featureprop assignment can optionally be supported by a publication. =cut __PACKAGE__->table("featureprop_pub"); =head1 ACCESSORS =head2 featureprop_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featureprop_pub_featureprop_pub_id_seq' =head2 featureprop_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "featureprop_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featureprop_pub_featureprop_pub_id_seq", }, "featureprop_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("featureprop_pub_id"); __PACKAGE__->add_unique_constraint("featureprop_pub_c1", ["featureprop_id", "pub_id"]); =head1 RELATIONS =head2 featureprop Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "featureprop", "Bio::Chado::Schema::Result::Sequence::Featureprop", { featureprop_id => "featureprop_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lIld4L/XIy5j55iMX+nodA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureCvtermPub.pm0000644000175000017500000000526411775633337025256 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureCvtermPub; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureCvtermPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureCvtermPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureCvtermPub =head1 DESCRIPTION Secondary pubs for an association. Each feature_cvterm association is supported by a single primary publication. Additional secondary pubs can be added using this linking table (in a GO gene association file, these corresponding to any IDs after the pipe symbol in the publications column. =cut __PACKAGE__->table("feature_cvterm_pub"); =head1 ACCESSORS =head2 feature_cvterm_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_cvterm_pub_feature_cvterm_pub_id_seq' =head2 feature_cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_cvterm_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_cvterm_pub_feature_cvterm_pub_id_seq", }, "feature_cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_cvterm_pub_id"); __PACKAGE__->add_unique_constraint("feature_cvterm_pub_c1", ["feature_cvterm_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_cvterm", "Bio::Chado::Schema::Result::Sequence::FeatureCvterm", { feature_cvterm_id => "feature_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:szIO0dnE/oS2G0vctKTcMw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/IntronCombinedView.pm0000644000175000017500000000336211775633337025575 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::IntronCombinedView; BEGIN { $Bio::Chado::Schema::Result::Sequence::IntronCombinedView::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::IntronCombinedView::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::IntronCombinedView =cut __PACKAGE__->table("intron_combined_view"); =head1 ACCESSORS =head2 exon1_id data_type: 'integer' is_nullable: 1 =head2 exon2_id data_type: 'integer' is_nullable: 1 =head2 fmin data_type: 'integer' is_nullable: 1 =head2 fmax data_type: 'integer' is_nullable: 1 =head2 strand data_type: 'smallint' is_nullable: 1 =head2 srcfeature_id data_type: 'integer' is_nullable: 1 =head2 intron_rank data_type: 'integer' is_nullable: 1 =head2 transcript_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "exon1_id", { data_type => "integer", is_nullable => 1 }, "exon2_id", { data_type => "integer", is_nullable => 1 }, "fmin", { data_type => "integer", is_nullable => 1 }, "fmax", { data_type => "integer", is_nullable => 1 }, "strand", { data_type => "smallint", is_nullable => 1 }, "srcfeature_id", { data_type => "integer", is_nullable => 1 }, "intron_rank", { data_type => "integer", is_nullable => 1 }, "transcript_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:d1Njr8yX2iTl9QBKHEc9XQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/Cvtermsynonym.pm0000644000175000017500000000254411775633337024726 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::Cvtermsynonym; BEGIN { $Bio::Chado::Schema::Result::Sequence::Cvtermsynonym::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::Cvtermsynonym::VERSION = '0.20000'; } use strict; use warnings; use base 'DBIx::Class'; __PACKAGE__->load_components("Core"); __PACKAGE__->table("cvtermsynonym"); __PACKAGE__->add_columns( "cvtermsynonym_id", { data_type => "integer", default_value => "nextval('cvtermsynonym_cvtermsynonym_id_seq'::regclass)", is_auto_increment => 1, is_nullable => 0, size => 4, }, "cvterm_id", { data_type => "integer", default_value => undef, is_foreign_key => 1, is_nullable => 0, size => 4, }, "synonym", { data_type => "character varying", default_value => undef, is_nullable => 0, size => 1024, }, "type_id", { data_type => "integer", default_value => undef, is_foreign_key => 1, is_nullable => 1, size => 4, }, ); __PACKAGE__->set_primary_key("cvtermsynonym_id"); __PACKAGE__->add_unique_constraint("cvtermsynonym_c1", ["cvterm_id", "synonym"]); # Created by DBIx::Class::Schema::Loader v0.04999_07 @ 2009-08-16 09:31:28 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:u0y+66oKiMPqn2BMOzIk1A # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/Synonym.pm0000644000175000017500000000670611775633337023511 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::Synonym; BEGIN { $Bio::Chado::Schema::Result::Sequence::Synonym::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::Synonym::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::Synonym =head1 DESCRIPTION A synonym for a feature. One feature can have multiple synonyms, and the same synonym can apply to multiple features. =cut __PACKAGE__->table("synonym"); =head1 ACCESSORS =head2 synonym_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'synonym_synonym_id_seq' =head2 name data_type: 'varchar' is_nullable: 0 size: 255 The synonym itself. Should be human-readable machine-searchable ascii text. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 Types would be symbol and fullname for now. =head2 synonym_sgml data_type: 'varchar' is_nullable: 0 size: 255 The fully specified synonym, with any non-ascii characters encoded in SGML. =cut __PACKAGE__->add_columns( "synonym_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "synonym_synonym_id_seq", }, "name", { data_type => "varchar", is_nullable => 0, size => 255 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "synonym_sgml", { data_type => "varchar", is_nullable => 0, size => 255 }, ); __PACKAGE__->set_primary_key("synonym_id"); __PACKAGE__->add_unique_constraint("synonym_c1", ["name", "type_id"]); =head1 RELATIONS =head2 cell_line_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_synonyms", "Bio::Chado::Schema::Result::CellLine::CellLineSynonym", { "foreign.synonym_id" => "self.synonym_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_synonyms", "Bio::Chado::Schema::Result::Sequence::FeatureSynonym", { "foreign.synonym_id" => "self.synonym_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_synonyms", "Bio::Chado::Schema::Result::Library::LibrarySynonym", { "foreign.synonym_id" => "self.synonym_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ajt425W/w/2TgCUWIsvTAw =head1 MANY-TO-MANY RELATIONSHIPS =head2 features Type: many_to_many Related object: Bio::Chado::Schema::Result::Sequence::Feature =cut __PACKAGE__->many_to_many ( 'features', 'feature_synonyms' => 'feature', ); # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureSynonym.pm0000644000175000017500000000771611775633337025027 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureSynonym; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureSynonym::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureSynonym::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureSynonym - Linking table between feature and synonym. =cut __PACKAGE__->table("feature_synonym"); =head1 ACCESSORS =head2 feature_synonym_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_synonym_feature_synonym_id_seq' =head2 synonym_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The pub_id link is for relating the usage of a given synonym to the publication in which it was used. =head2 is_current data_type: 'boolean' default_value: false is_nullable: 0 The is_current boolean indicates whether the linked synonym is the current -official- symbol for the linked feature. =head2 is_internal data_type: 'boolean' default_value: false is_nullable: 0 Typically a synonym exists so that somebody querying the db with an obsolete name can find the object theyre looking for (under its current name. If the synonym has been used publicly and deliberately (e.g. in a paper), it may also be listed in reports as a synonym. If the synonym was not used deliberately (e.g. there was a typo which went public), then the is_internal boolean may be set to -true- so that it is known that the synonym is -internal- and should be queryable but should not be listed in reports as a valid synonym. =cut __PACKAGE__->add_columns( "feature_synonym_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_synonym_feature_synonym_id_seq", }, "synonym_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "is_internal", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_synonym_id"); __PACKAGE__->add_unique_constraint("feature_synonym_c1", ["synonym_id", "feature_id", "pub_id"]); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 synonym Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "synonym", "Bio::Chado::Schema::Result::Sequence::Synonym", { synonym_id => "synonym_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1RaPS0gSnuoWDiQjnIwB/w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/ProteinCodingGene.pm0000644000175000017500000000462511775633337025376 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::ProteinCodingGene; BEGIN { $Bio::Chado::Schema::Result::Sequence::ProteinCodingGene::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::ProteinCodingGene::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::ProteinCodingGene =cut __PACKAGE__->table("protein_coding_gene"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 dbxref_id data_type: 'integer' is_nullable: 1 =head2 organism_id data_type: 'integer' is_nullable: 1 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 uniquename data_type: 'text' is_nullable: 1 =head2 residues data_type: 'text' is_nullable: 1 =head2 seqlen data_type: 'integer' is_nullable: 1 =head2 md5checksum data_type: 'char' is_nullable: 1 size: 32 =head2 type_id data_type: 'integer' is_nullable: 1 =head2 is_analysis data_type: 'boolean' is_nullable: 1 =head2 is_obsolete data_type: 'boolean' is_nullable: 1 =head2 timeaccessioned data_type: 'timestamp' is_nullable: 1 =head2 timelastmodified data_type: 'timestamp' is_nullable: 1 =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "dbxref_id", { data_type => "integer", is_nullable => 1 }, "organism_id", { data_type => "integer", is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "uniquename", { data_type => "text", is_nullable => 1 }, "residues", { data_type => "text", is_nullable => 1 }, "seqlen", { data_type => "integer", is_nullable => 1 }, "md5checksum", { data_type => "char", is_nullable => 1, size => 32 }, "type_id", { data_type => "integer", is_nullable => 1 }, "is_analysis", { data_type => "boolean", is_nullable => 1 }, "is_obsolete", { data_type => "boolean", is_nullable => 1 }, "timeaccessioned", { data_type => "timestamp", is_nullable => 1 }, "timelastmodified", { data_type => "timestamp", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2LC9ZsSCSp/U2xNTkXWN2Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/IntronlocView.pm0000644000175000017500000000273011775633337024630 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::IntronlocView; BEGIN { $Bio::Chado::Schema::Result::Sequence::IntronlocView::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::IntronlocView::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::IntronlocView =cut __PACKAGE__->table("intronloc_view"); =head1 ACCESSORS =head2 exon1_id data_type: 'integer' is_nullable: 1 =head2 exon2_id data_type: 'integer' is_nullable: 1 =head2 fmin data_type: 'integer' is_nullable: 1 =head2 fmax data_type: 'integer' is_nullable: 1 =head2 strand data_type: 'smallint' is_nullable: 1 =head2 srcfeature_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "exon1_id", { data_type => "integer", is_nullable => 1 }, "exon2_id", { data_type => "integer", is_nullable => 1 }, "fmin", { data_type => "integer", is_nullable => 1 }, "fmax", { data_type => "integer", is_nullable => 1 }, "strand", { data_type => "smallint", is_nullable => 1 }, "srcfeature_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DvfS+33MUu1j0OEtUg1zEw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeaturePubprop.pm0000644000175000017500000000520611775633337024772 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeaturePubprop; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeaturePubprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeaturePubprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeaturePubprop - Property or attribute of a feature_pub link. =cut __PACKAGE__->table("feature_pubprop"); =head1 ACCESSORS =head2 feature_pubprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_pubprop_feature_pubprop_id_seq' =head2 feature_pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_pubprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_pubprop_feature_pubprop_id_seq", }, "feature_pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_pubprop_id"); __PACKAGE__->add_unique_constraint("feature_pubprop_c1", ["feature_pub_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_pub", "Bio::Chado::Schema::Result::Sequence::FeaturePub", { feature_pub_id => "feature_pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Ll+HP6Q5Ob/l16+0ZtNUQQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationshipPub.pm0000644000175000017500000000517211775633337026455 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureRelationshipPub; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureRelationshipPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureRelationshipPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureRelationshipPub =head1 DESCRIPTION Provenance. Attach optional evidence to a feature_relationship in the form of a publication. =cut __PACKAGE__->table("feature_relationship_pub"); =head1 ACCESSORS =head2 feature_relationship_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_relationship_pub_feature_relationship_pub_id_seq' =head2 feature_relationship_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_relationship_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_relationship_pub_feature_relationship_pub_id_seq", }, "feature_relationship_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_relationship_pub_id"); __PACKAGE__->add_unique_constraint( "feature_relationship_pub_c1", ["feature_relationship_id", "pub_id"], ); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_relationship Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_relationship", "Bio::Chado::Schema::Result::Sequence::FeatureRelationship", { feature_relationship_id => "feature_relationship_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xvcH0v4k9TD5wECYXQaqgw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureCvterm.pm0000644000175000017500000001130411775633337024577 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureCvterm; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureCvterm =head1 DESCRIPTION Associate a term from a cv with a feature, for example, GO annotation. =cut __PACKAGE__->table("feature_cvterm"); =head1 ACCESSORS =head2 feature_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_cvterm_feature_cvterm_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 Provenance for the annotation. Each annotation should have a single primary publication (which may be of the appropriate type for computational analyses) where more details can be found. Additional provenance dbxrefs can be attached using feature_cvterm_dbxref. =head2 is_not data_type: 'boolean' default_value: false is_nullable: 0 If this is set to true, then this annotation is interpreted as a NEGATIVE annotation - i.e. the feature does NOT have the specified function, process, component, part, etc. See GO docs for more details. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_cvterm_feature_cvterm_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_not", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_cvterm_id"); __PACKAGE__->add_unique_constraint( "feature_cvterm_c1", ["feature_id", "cvterm_id", "pub_id", "rank"], ); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_cvterm_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvterm_dbxrefs", "Bio::Chado::Schema::Result::Sequence::FeatureCvtermDbxref", { "foreign.feature_cvterm_id" => "self.feature_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvtermprops", "Bio::Chado::Schema::Result::Sequence::FeatureCvtermprop", { "foreign.feature_cvterm_id" => "self.feature_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_cvterm_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvterm_pubs", "Bio::Chado::Schema::Result::Sequence::FeatureCvtermPub", { "foreign.feature_cvterm_id" => "self.feature_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IqSwB2Dg1C4TQu+BLEk5uQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeaturelocPub.pm0000644000175000017500000000464011775633337024570 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeaturelocPub; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeaturelocPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeaturelocPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeaturelocPub =head1 DESCRIPTION Provenance of featureloc. Linking table between featurelocs and publications that mention them. =cut __PACKAGE__->table("featureloc_pub"); =head1 ACCESSORS =head2 featureloc_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featureloc_pub_featureloc_pub_id_seq' =head2 featureloc_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "featureloc_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featureloc_pub_featureloc_pub_id_seq", }, "featureloc_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("featureloc_pub_id"); __PACKAGE__->add_unique_constraint("featureloc_pub_c1", ["featureloc_id", "pub_id"]); =head1 RELATIONS =head2 featureloc Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "featureloc", "Bio::Chado::Schema::Result::Sequence::Featureloc", { featureloc_id => "featureloc_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TUf4ba98En/50nckHR/R8w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureCvtermDbxref.pm0000644000175000017500000000566111775633337025743 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureCvtermDbxref; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureCvtermDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureCvtermDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureCvtermDbxref =head1 DESCRIPTION Additional dbxrefs for an association. Rows in the feature_cvterm table may be backed up by dbxrefs. For example, a feature_cvterm association that was inferred via a protein-protein interaction may be backed by by refering to the dbxref for the alternate protein. Corresponds to the WITH column in a GO gene association file (but can also be used for other analagous associations). See http://www.geneontology.org/doc/GO.annotation.shtml#file for more details. =cut __PACKAGE__->table("feature_cvterm_dbxref"); =head1 ACCESSORS =head2 feature_cvterm_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_cvterm_dbxref_feature_cvterm_dbxref_id_seq' =head2 feature_cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_cvterm_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_cvterm_dbxref_feature_cvterm_dbxref_id_seq", }, "feature_cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_cvterm_dbxref_id"); __PACKAGE__->add_unique_constraint( "feature_cvterm_dbxref_c1", ["feature_cvterm_id", "dbxref_id"], ); =head1 RELATIONS =head2 feature_cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_cvterm", "Bio::Chado::Schema::Result::Sequence::FeatureCvterm", { feature_cvterm_id => "feature_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:k85jubfMDMgH6FQeLQAPPw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureCvtermprop.pm0000644000175000017500000000702011775633337025500 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureCvtermprop; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureCvtermprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureCvtermprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureCvtermprop =head1 DESCRIPTION Extensible properties for feature to cvterm associations. Examples: GO evidence codes; qualifiers; metadata such as the date on which the entry was curated and the source of the association. See the featureprop table for meanings of type_id, value and rank. =cut __PACKAGE__->table("feature_cvtermprop"); =head1 ACCESSORS =head2 feature_cvtermprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_cvtermprop_feature_cvtermprop_id_seq' =head2 feature_cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property/slot is a cvterm. The meaning of the property is defined in that cvterm. cvterms may come from the OBO evidence code cv. =head2 value data_type: 'text' is_nullable: 1 The value of the property, represented as text. Numeric values are converted to their text representation. This is less efficient than using native database types, but is easier to query. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any feature_cvterm can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used. =cut __PACKAGE__->add_columns( "feature_cvtermprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_cvtermprop_feature_cvtermprop_id_seq", }, "feature_cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_cvtermprop_id"); __PACKAGE__->add_unique_constraint( "feature_cvtermprop_c1", ["feature_cvterm_id", "type_id", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_cvterm", "Bio::Chado::Schema::Result::Sequence::FeatureCvterm", { feature_cvterm_id => "feature_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:z6Lu6SMX+p2zFciHmVMWAg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationshipprop.pm0000644000175000017500000001023611775633337026704 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureRelationshipprop; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureRelationshipprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureRelationshipprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureRelationshipprop =head1 DESCRIPTION Extensible properties for feature_relationships. Analagous structure to featureprop. This table is largely optional and not used with a high frequency. Typical scenarios may be if one wishes to attach additional data to a feature_relationship - for example to say that the feature_relationship is only true in certain contexts. =cut __PACKAGE__->table("feature_relationshipprop"); =head1 ACCESSORS =head2 feature_relationshipprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_relationshipprop_feature_relationshipprop_id_seq' =head2 feature_relationship_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property/slot is a cvterm. The meaning of the property is defined in that cvterm. Currently there is no standard ontology for feature_relationship property types. =head2 value data_type: 'text' is_nullable: 1 The value of the property, represented as text. Numeric values are converted to their text representation. This is less efficient than using native database types, but is easier to query. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any feature_relationship can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used. =cut __PACKAGE__->add_columns( "feature_relationshipprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_relationshipprop_feature_relationshipprop_id_seq", }, "feature_relationship_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_relationshipprop_id"); __PACKAGE__->add_unique_constraint( "feature_relationshipprop_c1", ["feature_relationship_id", "type_id", "rank"], ); =head1 RELATIONS =head2 feature_relationship Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_relationship", "Bio::Chado::Schema::Result::Sequence::FeatureRelationship", { feature_relationship_id => "feature_relationship_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_relationshipprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationshipprop_pubs", "Bio::Chado::Schema::Result::Sequence::FeatureRelationshippropPub", { "foreign.feature_relationshipprop_id" => "self.feature_relationshipprop_id", }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Q0uHPBZuacktT1EfOoLsTg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureDbxref.pm0000644000175000017500000000536011775633337024556 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureDbxref; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureDbxref =head1 DESCRIPTION Links a feature to dbxrefs. This is for secondary identifiers; primary identifiers should use feature.dbxref_id. =cut __PACKAGE__->table("feature_dbxref"); =head1 ACCESSORS =head2 feature_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_dbxref_feature_dbxref_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_current data_type: 'boolean' default_value: true is_nullable: 0 True if this secondary dbxref is the most up to date accession in the corresponding db. Retired accessions should set this field to false =cut __PACKAGE__->add_columns( "feature_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_dbxref_feature_dbxref_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"true", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_dbxref_id"); __PACKAGE__->add_unique_constraint("feature_dbxref_c1", ["feature_id", "dbxref_id"]); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/iX3o+nsM4BBn5DA/M5Wtw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/Feature.pm0000644000175000017500000006262611775633337023433 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::Feature; BEGIN { $Bio::Chado::Schema::Result::Sequence::Feature::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::Feature::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::Feature =head1 DESCRIPTION A feature is a biological sequence or a section of a biological sequence, or a collection of such sections. Examples include genes, exons, transcripts, regulatory regions, polypeptides, protein domains, chromosome sequences, sequence variations, cross-genome match regions such as hits and HSPs and so on; see the Sequence Ontology for more. The combination of organism_id, uniquename and type_id should be unique. =cut __PACKAGE__->table("feature"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_feature_id_seq' =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 An optional primary public stable identifier for this feature. Secondary identifiers and external dbxrefs go in the table feature_dbxref. =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The organism to which this feature belongs. This column is mandatory. =head2 name data_type: 'varchar' is_nullable: 1 size: 255 The optional human-readable common name for a feature, for display purposes. =head2 uniquename data_type: 'text' is_nullable: 0 The unique name for a feature; may not be necessarily be particularly human-readable, although this is preferred. This name must be unique for this type of feature within this organism. =head2 residues data_type: 'text' is_nullable: 1 A sequence of alphabetic characters representing biological residues (nucleic acids, amino acids). This column does not need to be manifested for all features; it is optional for features such as exons where the residues can be derived from the featureloc. It is recommended that the value for this column be manifested for features which may may non-contiguous sublocations (e.g. transcripts), since derivation at query time is non-trivial. For expressed sequence, the DNA sequence should be used rather than the RNA sequence. The default storage method for the residues column is EXTERNAL, which will store it uncompressed to make substring operations faster. =head2 seqlen data_type: 'integer' is_nullable: 1 The length of the residue feature. See column:residues. This column is partially redundant with the residues column, and also with featureloc. This column is required because the location may be unknown and the residue sequence may not be manifested, yet it may be desirable to store and query the length of the feature. The seqlen should always be manifested where the length of the sequence is known. =head2 md5checksum data_type: 'char' is_nullable: 1 size: 32 The 32-character checksum of the sequence, calculated using the MD5 algorithm. This is practically guaranteed to be unique for any feature. This column thus acts as a unique identifier on the mathematical sequence. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 A required reference to a table:cvterm giving the feature type. This will typically be a Sequence Ontology identifier. This column is thus used to subclass the feature table. =head2 is_analysis data_type: 'boolean' default_value: false is_nullable: 0 Boolean indicating whether this feature is annotated or the result of an automated analysis. Analysis results also use the companalysis module. Note that the dividing line between analysis and annotation may be fuzzy, this should be determined on a per-project basis in a consistent manner. One requirement is that there should only be one non-analysis version of each wild-type gene feature in a genome, whereas the same gene feature can be predicted multiple times in different analyses. =head2 is_obsolete data_type: 'boolean' default_value: false is_nullable: 0 Boolean indicating whether this feature has been obsoleted. Some chado instances may choose to simply remove the feature altogether, others may choose to keep an obsolete row in the table. =head2 timeaccessioned data_type: 'timestamp' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} For handling object accession or modification timestamps (as opposed to database auditing data, handled elsewhere). The expectation is that these fields would be available to software interacting with chado. =head2 timelastmodified data_type: 'timestamp' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} For handling object accession or modification timestamps (as opposed to database auditing data, handled elsewhere). The expectation is that these fields would be available to software interacting with chado. =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_feature_id_seq", }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "uniquename", { data_type => "text", is_nullable => 0 }, "residues", { data_type => "text", is_nullable => 1 }, "seqlen", { data_type => "integer", is_nullable => 1 }, "md5checksum", { data_type => "char", is_nullable => 1, size => 32 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_analysis", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "is_obsolete", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "timeaccessioned", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, "timelastmodified", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, ); __PACKAGE__->set_primary_key("feature_id"); __PACKAGE__->add_unique_constraint("feature_c1", ["organism_id", "uniquename", "type_id"]); =head1 RELATIONS =head2 analysisfeatures Type: has_many Related object: L =cut __PACKAGE__->has_many( "analysisfeatures", "Bio::Chado::Schema::Result::Companalysis::Analysisfeature", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_features", "Bio::Chado::Schema::Result::CellLine::CellLineFeature", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 elements Type: has_many Related object: L =cut __PACKAGE__->has_many( "elements", "Bio::Chado::Schema::Result::Mage::Element", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvterms", "Bio::Chado::Schema::Result::Sequence::FeatureCvterm", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_dbxrefs", "Bio::Chado::Schema::Result::Sequence::FeatureDbxref", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_expressions Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_expressions", "Bio::Chado::Schema::Result::Expression::FeatureExpression", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_genotype_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_genotype_features", "Bio::Chado::Schema::Result::Genetic::FeatureGenotype", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_genotype_chromosomes Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_genotype_chromosomes", "Bio::Chado::Schema::Result::Genetic::FeatureGenotype", { "foreign.chromosome_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featureloc_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureloc_features", "Bio::Chado::Schema::Result::Sequence::Featureloc", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featureloc_srcfeatures Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureloc_srcfeatures", "Bio::Chado::Schema::Result::Sequence::Featureloc", { "foreign.srcfeature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_phenotypes Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_phenotypes", "Bio::Chado::Schema::Result::Phenotype::FeaturePhenotype", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurepos_feature Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurepos_feature", "Bio::Chado::Schema::Result::Map::Featurepos", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurepos_map_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurepos_map_features", "Bio::Chado::Schema::Result::Map::Featurepos", { "foreign.map_feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featureprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureprops", "Bio::Chado::Schema::Result::Sequence::Featureprop", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_pubs", "Bio::Chado::Schema::Result::Sequence::FeaturePub", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurerange_leftendfs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurerange_leftendfs", "Bio::Chado::Schema::Result::Map::Featurerange", { "foreign.leftendf_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurerange_rightstartfs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurerange_rightstartfs", "Bio::Chado::Schema::Result::Map::Featurerange", { "foreign.rightstartf_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurerange_rightendfs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurerange_rightendfs", "Bio::Chado::Schema::Result::Map::Featurerange", { "foreign.rightendf_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurerange_leftstartfs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurerange_leftstartfs", "Bio::Chado::Schema::Result::Map::Featurerange", { "foreign.leftstartf_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurerange_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurerange_features", "Bio::Chado::Schema::Result::Map::Featurerange", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationship_subjects", "Bio::Chado::Schema::Result::Sequence::FeatureRelationship", { "foreign.subject_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationship_objects", "Bio::Chado::Schema::Result::Sequence::FeatureRelationship", { "foreign.object_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_synonyms", "Bio::Chado::Schema::Result::Sequence::FeatureSynonym", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_features", "Bio::Chado::Schema::Result::Library::LibraryFeature", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonodes Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonodes", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studyprop_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "studyprop_features", "Bio::Chado::Schema::Result::Mage::StudypropFeature", { "foreign.feature_id" => "self.feature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ukRpMw0mYqMzolhgkw+xnw use Carp; =head1 ADDITIONAL RELATIONSHIPS =head2 parent_relationships Type: has_to_many Returns a list of parent relationships. Related object: Bio::Chado::Schema::Result::Sequence::FeatureRelationship =cut { no warnings 'once'; *parent_relationships = \&feature_relationship_objects; } =head2 child_relationships Type: has_to_many Returns a list of child relationships. Related object: Bio::Chado::Schema::Result::Sequence::FeatureRelationship =cut { no warnings 'once'; *child_relationships = \&feature_relationship_subjects; } =head2 primary_dbxref Alias for dbxref =cut __PACKAGE__->belongs_to ( 'primary_dbxref', 'Bio::Chado::Schema::Result::General::Dbxref', { 'foreign.dbxref_id' => 'self.dbxref_id' }, ); =head1 MANY-TO-MANY RELATIONSHIPS =head2 parent_features Type: many_to_many Returns a list of parent features (i.e. features that are the B of feature_relationship rows in which this feature is the B). Related object: Bio::Chado::Schema::Result::Sequence::Feature =cut __PACKAGE__->many_to_many ( 'parent_features', 'feature_relationship_subjects' => 'object', ); =head2 child_features Type: many_to_many Returns a list of child features (i.e. features that are the B of feature_relationship rows in which this feature is the B). Related object: Bio::Chado::Schema::Result::Sequence::Feature =cut __PACKAGE__->many_to_many ( 'child_features', 'feature_relationship_objects' => 'subject', ); =head2 synonyms Type: many_to_many Related object: L =cut __PACKAGE__->many_to_many ( 'synonyms', 'feature_synonyms' => 'synonym', ); =head2 dbxrefs_mm Type: many_to_many Related object: L (i.e. dbxref table) L (feature_dbxref table) =cut __PACKAGE__->many_to_many ( 'dbxrefs_mm', 'feature_dbxrefs' => 'dbxref', ); =head2 secondary_dbxrefs Alias for dbxrefs_mm =cut __PACKAGE__->many_to_many ( 'secondary_dbxrefs', 'feature_dbxrefs' => 'dbxref', ); =head1 ADDITIONAL METHODS =head2 create_featureprops Usage: $set->create_featureprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create feature properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given featureprop name. Default false. cv_name => cv.name to use for the given featureprops. Defaults to 'feature_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms allow_duplicate_values => default false. If true, allow duplicate instances of the same cvterm and value in the properties of the feature. Duplicate values will have different ranks. } Ret : hashref of { propname => new featureprop object } =cut sub create_featureprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'feature_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'featureprops', ); } =head2 search_featureprops Status : public Usage : $feat->search_featureprops( 'description' ) # OR $feat->search_featureprops({ name => 'description'}) Returns : DBIx::Class::ResultSet like other search() methods Args : single string to match cvterm name, or hashref of search criteria. This is passed to $chado->resultset('Cv::Cvterm') ->search({ your criteria }) Convenience method to search featureprops for a feature that match to Cvterms having the given criterion hash =cut sub search_featureprops { my ( $self, $cvt_criteria ) = @_; $cvt_criteria = { name => $cvt_criteria } unless ref $cvt_criteria; $self->result_source->schema ->resultset('Cv::Cvterm') ->search( $cvt_criteria ) ->search_related('featureprops', { feature_id => $self->feature_id }, ); } =head1 L METHODS The methods below are intended to provide some compatibility with BioPerl's L interface, so that a feature may be used as a sequence. Note that L only provides identifier, accession, and sequence information, no subfeatures, ranges, or the like. Support for BioPerl's more complete L interface, which includes those things, still needs to be implemented. If you are interested in helping with this, please contact GMOD! =cut use base qw/ Bio::PrimarySeq /; =head2 id, primary_id, display_id These are aliases for name(), which just returns the contents of the feature.name field =cut { no warnings 'once'; *display_id = \&name; *id = \&name; *primary_id = \&name; } =head2 seq Alias for $feature->residues() =cut { no warnings 'once'; *seq = \&residues; } =head2 subseq( $start, $end ) Same as Bio::PrimarySeq subseq method, with one important exception. If the residues column is not set (null) for this feature, it checks for a featureprop of type C (irrespective of the type's CV membership), and uses its value as the sequence if it is present. So, you can store large (i.e. megabase or greater) sequences in a C featureprop, and use this C method to fetch pieces of them, with the sequences never being entirely stored in memory or transferred in total from the database server to the app server. This is implemented behind the scenes by using SQL substring operations on the featureprop's value. =cut sub subseq { my $self = shift; # use the normal subseq if normal residues if( $self->residues ) { local $self->{seq} = $self->residues; #< stupid hack for Bio::PrimarySeq's subseq to work return $self->SUPER::subseq( @_ ); } my ( $start, $end ) = @_; croak "must provide start, end to subseq" unless $start; croak "subseq() on large_residues only supports ( start, end ) calling style" if ref $start || ! defined $end; my $length = $end - $start + 1; return unless $length > 0; return $self->result_source ->schema ->resultset('Cv::Cvterm') ->search({ name => 'large_residues' }) ->search_related( 'featureprops', { feature_id => $self->feature_id } ) ->search( undef, { select => { substr => [ 'featureprops.value', $start, $length ] }, as => 'mysubstring', } ) ->get_column('mysubstring') ->single; } =head2 trunc Same as subseq above, but return a sequence object rather than a bare string. =cut sub trunc { my $self = shift; return Bio::PrimarySeq->new( -id => $self->name, -seq => $self->subseq( @_ ), ); } =head2 accession, accession_number Usage: say $feature->accession_number Desc : get an "."-style string. gets this from either the primary dbxref, or the first secondary_dbxref found Args : none Ret : string of the form "accession.version" formed from the accession and version fields of either the primary or secondary dbxrefs =cut sub accession_number { my $self= shift; my $pd = $self->primary_dbxref || $self->secondary_dbxrefs->first or return; my $acc = $pd->accession; my $v = $pd->version; $v = $v ? ".$v" : ''; return $acc.$v; } { no warnings 'once'; *accession = \&accession_number; } =head2 length No arguments, returns the seqlen(), or length( $feature->residues ) if that is not defined. =cut sub length { my $self = shift; my $l = $self->seqlen; return $l if defined $l; no warnings 'uninitialized'; return CORE::length( $self->residues ); } =head2 desc, description No arguments, returns the value of the first 'description' featureprop found for this feature. =cut { no warnings 'once'; *description = \&desc; } sub desc { my $self = shift; my $desc_fp = $self->search_featureprops({ name => ['description','Note','note','Description'] }) ->first; return unless $desc_fp; return $desc_fp->value; } =head2 alphabet Returns "protein" if the feature's type name is "polypeptide". Otherwise, returns "dna". This is not very correct, but works in most of the use cases we've seen so far. =cut sub alphabet { # yes, this is pretty lame. should traverse up the relationships # using cvtermpath or cvterm_relationship. patches welcome. my $type_name = shift->type->name; return $type_name eq 'polypeptide' ? 'protein' : 'dna'; } # signal to BioPerl that this sequence can't be cloned sub can_call_new { 0 } 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationshippropPub.pm0000644000175000017500000000521111775633337027350 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureRelationshippropPub; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureRelationshippropPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureRelationshippropPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureRelationshippropPub - Provenance for feature_relationshipprop. =cut __PACKAGE__->table("feature_relationshipprop_pub"); =head1 ACCESSORS =head2 feature_relationshipprop_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_relationshipprop_pub_feature_relationshipprop_pub_i_seq' =head2 feature_relationshipprop_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_relationshipprop_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_relationshipprop_pub_feature_relationshipprop_pub_i_seq", }, "feature_relationshipprop_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_relationshipprop_pub_id"); __PACKAGE__->add_unique_constraint( "feature_relationshipprop_pub_c1", ["feature_relationshipprop_id", "pub_id"], ); =head1 RELATIONS =head2 feature_relationshipprop Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_relationshipprop", "Bio::Chado::Schema::Result::Sequence::FeatureRelationshipprop", { feature_relationshipprop_id => "feature_relationshipprop_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Vhu1YCyqz7M9bCiBZg8ZMg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/Featureloc.pm0000644000175000017500000002400111775633337024112 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::Featureloc; BEGIN { $Bio::Chado::Schema::Result::Sequence::Featureloc::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::Featureloc::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::Featureloc =head1 DESCRIPTION The location of a feature relative to another feature. Important: interbase coordinates are used. This is vital as it allows us to represent zero-length features e.g. splice sites, insertion points without an awkward fuzzy system. Features typically have exactly ONE location, but this need not be the case. Some features may not be localized (e.g. a gene that has been characterized genetically but no sequence or molecular information is available). Note on multiple locations: Each feature can have 0 or more locations. Multiple locations do NOT indicate non-contiguous locations (if a feature such as a transcript has a non-contiguous location, then the subfeatures such as exons should always be manifested). Instead, multiple featurelocs for a feature designate alternate locations or grouped locations; for instance, a feature designating a blast hit or hsp will have two locations, one on the query feature, one on the subject feature. Features representing sequence variation could have alternate locations instantiated on a feature on the mutant strain. The column:rank is used to differentiate these different locations. Reflexive locations should never be stored - this is for -proper- (i.e. non-self) locations only; nothing should be located relative to itself. =cut __PACKAGE__->table("featureloc"); =head1 ACCESSORS =head2 featureloc_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featureloc_featureloc_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The feature that is being located. Any feature can have zero or more featurelocs. =head2 srcfeature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 The source feature which this location is relative to. Every location is relative to another feature (however, this column is nullable, because the srcfeature may not be known). All locations are -proper- that is, nothing should be located relative to itself. No cycles are allowed in the featureloc graph. =head2 fmin data_type: 'integer' is_nullable: 1 The leftmost/minimal boundary in the linear range represented by the featureloc. Sometimes (e.g. in Bioperl) this is called -start- although this is confusing because it does not necessarily represent the 5-prime coordinate. Important: This is space-based (interbase) coordinates, counting from zero. To convert this to the leftmost position in a base-oriented system (eg GFF, Bioperl), add 1 to fmin. =head2 is_fmin_partial data_type: 'boolean' default_value: false is_nullable: 0 This is typically false, but may be true if the value for column:fmin is inaccurate or the leftmost part of the range is unknown/unbounded. =head2 fmax data_type: 'integer' is_nullable: 1 The rightmost/maximal boundary in the linear range represented by the featureloc. Sometimes (e.g. in bioperl) this is called -end- although this is confusing because it does not necessarily represent the 3-prime coordinate. Important: This is space-based (interbase) coordinates, counting from zero. No conversion is required to go from fmax to the rightmost coordinate in a base-oriented system that counts from 1 (e.g. GFF, Bioperl). =head2 is_fmax_partial data_type: 'boolean' default_value: false is_nullable: 0 This is typically false, but may be true if the value for column:fmax is inaccurate or the rightmost part of the range is unknown/unbounded. =head2 strand data_type: 'smallint' is_nullable: 1 The orientation/directionality of the location. Should be 0, -1 or +1. =head2 phase data_type: 'integer' is_nullable: 1 Phase of translation with respect to srcfeature_id. Values are 0, 1, 2. It may not be possible to manifest this column for some features such as exons, because the phase is dependant on the spliceform (the same exon can appear in multiple spliceforms). This column is mostly useful for predicted exons and CDSs. =head2 residue_info data_type: 'text' is_nullable: 1 Alternative residues, when these differ from feature.residues. For instance, a SNP feature located on a wild and mutant protein would have different alternative residues. for alignment/similarity features, the alternative residues is used to represent the alignment string (CIGAR format). Note on variation features; even if we do not want to instantiate a mutant chromosome/contig feature, we can still represent a SNP etc with 2 locations, one (rank 0) on the genome, the other (rank 1) would have most fields null, except for alternative residues. =head2 locgroup data_type: 'integer' default_value: 0 is_nullable: 0 This is used to manifest redundant, derivable extra locations for a feature. The default locgroup=0 is used for the DIRECT location of a feature. Important: most Chado users may never use featurelocs WITH logroup > 0. Transitively derived locations are indicated with locgroup > 0. For example, the position of an exon on a BAC and in global chromosome coordinates. This column is used to differentiate these groupings of locations. The default locgroup 0 is used for the main or primary location, from which the others can be derived via coordinate transformations. Another example of redundant locations is storing ORF coordinates relative to both transcript and genome. Redundant locations open the possibility of the database getting into inconsistent states; this schema gives us the flexibility of both warehouse instantiations with redundant locations (easier for querying) and management instantiations with no redundant locations. An example of using both locgroup and rank: imagine a feature indicating a conserved region between the chromosomes of two different species. We may want to keep redundant locations on both contigs and chromosomes. We would thus have 4 locations for the single conserved region feature - two distinct locgroups (contig level and chromosome level) and two distinct ranks (for the two species). =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Used when a feature has >1 location, otherwise the default rank 0 is used. Some features (e.g. blast hits and HSPs) have two locations - one on the query and one on the subject. Rank is used to differentiate these. Rank=0 is always used for the query, Rank=1 for the subject. For multiple alignments, assignment of rank is arbitrary. Rank is also used for sequence_variant features, such as SNPs. Rank=0 indicates the wildtype (or baseline) feature, Rank=1 indicates the mutant (or compared) feature. =cut __PACKAGE__->add_columns( "featureloc_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featureloc_featureloc_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "srcfeature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "fmin", { data_type => "integer", is_nullable => 1 }, "is_fmin_partial", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "fmax", { data_type => "integer", is_nullable => 1 }, "is_fmax_partial", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, "strand", { data_type => "smallint", is_nullable => 1 }, "phase", { data_type => "integer", is_nullable => 1 }, "residue_info", { data_type => "text", is_nullable => 1 }, "locgroup", { data_type => "integer", default_value => 0, is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("featureloc_id"); __PACKAGE__->add_unique_constraint("featureloc_c1", ["feature_id", "locgroup", "rank"]); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 srcfeature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "srcfeature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "srcfeature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 featureloc_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureloc_pubs", "Bio::Chado::Schema::Result::Sequence::FeaturelocPub", { "foreign.featureloc_id" => "self.featureloc_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:XvZlFe2W64Rj4c6rbmCM0Q =head2 length Read-only. Number of bases spanned by this featureloc. Equal to C (since coords are interbase). =cut sub length { my $self = shift; no warnings 'uninitialized'; return undef unless defined($self->fmax) && defined($self->fmin); return $self->fmax - $self->fmin; } =head1 ADDITIONAL METHODS =head2 to_range Make a L object containing the information in this featureloc. Note that this converts to BioPerl-style one-based coordinates. =cut sub to_range { my ( $self ) = @_; require Bio::Range; return Bio::Range->new( -start => $self->fmin + 1, -end => $self->fmax, -strand => $self->strand, ); } # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeaturePub.pm0000644000175000017500000000522711775633337024074 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeaturePub; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeaturePub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeaturePub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeaturePub =head1 DESCRIPTION Provenance. Linking table between features and publications that mention them. =cut __PACKAGE__->table("feature_pub"); =head1 ACCESSORS =head2 feature_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_pub_feature_pub_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_pub_feature_pub_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_pub_id"); __PACKAGE__->add_unique_constraint("feature_pub_c1", ["feature_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_pubprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_pubprops", "Bio::Chado::Schema::Result::Sequence::FeaturePubprop", { "foreign.feature_pub_id" => "self.feature_pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7A7j93/0eVROZ4Xr6euLxw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/TypeFeatureCount.pm0000644000175000017500000000211311775633337025267 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::TypeFeatureCount; BEGIN { $Bio::Chado::Schema::Result::Sequence::TypeFeatureCount::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::TypeFeatureCount::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::TypeFeatureCount - per-feature-type feature counts =cut __PACKAGE__->table("type_feature_count"); =head1 ACCESSORS =head2 type data_type: 'varchar' is_nullable: 1 size: 1024 =head2 num_features data_type: 'bigint' is_nullable: 1 =cut __PACKAGE__->add_columns( "type", { data_type => "varchar", is_nullable => 1, size => 1024 }, "num_features", { data_type => "bigint", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:QkdqPltX2VVoNXroihBiWw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence/FeatureRelationship.pm0000644000175000017500000001230411775633337026001 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence::FeatureRelationship; BEGIN { $Bio::Chado::Schema::Result::Sequence::FeatureRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Sequence::FeatureRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Sequence::FeatureRelationship =head1 DESCRIPTION Features can be arranged in graphs, e.g. "exon part_of transcript part_of gene"; If type is thought of as a verb, the each arc or edge makes a statement [Subject Verb Object]. The object can also be thought of as parent (containing feature), and subject as child (contained feature or subfeature). We include the relationship rank/order, because even though most of the time we can order things implicitly by sequence coordinates, we can not always do this - e.g. transpliced genes. It is also useful for quickly getting implicit introns. =cut __PACKAGE__->table("feature_relationship"); =head1 ACCESSORS =head2 feature_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_relationship_feature_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The subject of the subj-predicate-obj sentence. This is typically the subfeature. =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The object of the subj-predicate-obj sentence. This is typically the container feature. =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 Relationship type between subject and object. This is a cvterm, typically from the OBO relationship ontology, although other relationship types are allowed. The most common relationship type is OBO_REL:part_of. Valid relationship types are constrained by the Sequence Ontology. =head2 value data_type: 'text' is_nullable: 1 Additional notes or comments. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 The ordering of subject features with respect to the object feature may be important (for example, exon ordering on a transcript - not always derivable if you take trans spliced genes into consideration). Rank is used to order these; starts from zero. =cut __PACKAGE__->add_columns( "feature_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_relationship_feature_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_relationship_id"); __PACKAGE__->add_unique_constraint( "feature_relationship_c1", ["subject_id", "object_id", "type_id", "rank"], ); =head1 RELATIONS =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_relationshipprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationshipprops", "Bio::Chado::Schema::Result::Sequence::FeatureRelationshipprop", { "foreign.feature_relationship_id" => "self.feature_relationship_id", }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_relationship_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationship_pubs", "Bio::Chado::Schema::Result::Sequence::FeatureRelationshipPub", { "foreign.feature_relationship_id" => "self.feature_relationship_id", }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:NyvyWCI4DfPZrKeQuyx1CQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/0000755000175000017500000000000011775633337021660 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureContains.pm0000644000175000017500000000217211775633337025312 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureContains; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureContains::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureContains::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureContains =head1 DESCRIPTION subject intervals contains (or is same as) object interval. transitive,reflexive =cut __PACKAGE__->table("feature_contains"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:uy6t8UinCMDI6QI5ejVGFA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureDisjoint.pm0000644000175000017500000000207111775633337025315 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureDisjoint; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureDisjoint::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureDisjoint::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureDisjoint - featurelocs do not meet. symmetric =cut __PACKAGE__->table("feature_disjoint"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:RxptYFlJ/XPJ5O1LwH/F8A # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeaturesetMeets.pm0000644000175000017500000000202411775633337025321 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeaturesetMeets; BEGIN { $Bio::Chado::Schema::Result::Composite::FeaturesetMeets::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeaturesetMeets::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeaturesetMeets =cut __PACKAGE__->table("featureset_meets"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:sw3Oehoa0xECD1PASvbr4g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/AllFeatureNames.pm0000644000175000017500000000224211775633337025226 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::AllFeatureNames; BEGIN { $Bio::Chado::Schema::Result::Composite::AllFeatureNames::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::AllFeatureNames::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::AllFeatureNames =cut __PACKAGE__->table("all_feature_names"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 organism_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "organism_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+LtyxBf83iW9yyQtvUXgiQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureIntersection.pm0000644000175000017500000000336311775633337026205 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureIntersection; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureIntersection::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureIntersection::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureIntersection =head1 DESCRIPTION set-intersection on interval defined by featureloc. featurelocs must meet =cut __PACKAGE__->table("feature_intersection"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =head2 srcfeature_id data_type: 'integer' is_nullable: 1 =head2 subject_strand data_type: 'smallint' is_nullable: 1 =head2 object_strand data_type: 'smallint' is_nullable: 1 =head2 fmin data_type: 'integer' is_nullable: 1 =head2 fmax data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, "srcfeature_id", { data_type => "integer", is_nullable => 1 }, "subject_strand", { data_type => "smallint", is_nullable => 1 }, "object_strand", { data_type => "smallint", is_nullable => 1 }, "fmin", { data_type => "integer", is_nullable => 1 }, "fmax", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nGvqNNwpStdqlKjNMqIJiQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/Gffatts.pm0000644000175000017500000000226011775633337023614 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::Gffatts; BEGIN { $Bio::Chado::Schema::Result::Composite::Gffatts::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::Gffatts::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::Gffatts =cut __PACKAGE__->table("gffatts"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 type data_type: 'text' is_nullable: 1 =head2 attribute data_type: 'text' is_nullable: 1 original: {data_type => "varchar"} =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "type", { data_type => "text", is_nullable => 1 }, "attribute", { data_type => "text", is_nullable => 1, original => { data_type => "varchar" }, }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FhOwMfzcV2VRUtgA79+Ing # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/Dfeatureloc.pm0000644000175000017500000000427711775633337024465 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::Dfeatureloc; BEGIN { $Bio::Chado::Schema::Result::Composite::Dfeatureloc::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::Dfeatureloc::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::Dfeatureloc =cut __PACKAGE__->table("dfeatureloc"); =head1 ACCESSORS =head2 featureloc_id data_type: 'integer' is_nullable: 1 =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 srcfeature_id data_type: 'integer' is_nullable: 1 =head2 nbeg data_type: 'integer' is_nullable: 1 =head2 is_nbeg_partial data_type: 'boolean' is_nullable: 1 =head2 nend data_type: 'integer' is_nullable: 1 =head2 is_nend_partial data_type: 'boolean' is_nullable: 1 =head2 strand data_type: 'smallint' is_nullable: 1 =head2 phase data_type: 'integer' is_nullable: 1 =head2 residue_info data_type: 'text' is_nullable: 1 =head2 locgroup data_type: 'integer' is_nullable: 1 =head2 rank data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "featureloc_id", { data_type => "integer", is_nullable => 1 }, "feature_id", { data_type => "integer", is_nullable => 1 }, "srcfeature_id", { data_type => "integer", is_nullable => 1 }, "nbeg", { data_type => "integer", is_nullable => 1 }, "is_nbeg_partial", { data_type => "boolean", is_nullable => 1 }, "nend", { data_type => "integer", is_nullable => 1 }, "is_nend_partial", { data_type => "boolean", is_nullable => 1 }, "strand", { data_type => "smallint", is_nullable => 1 }, "phase", { data_type => "integer", is_nullable => 1 }, "residue_info", { data_type => "text", is_nullable => 1 }, "locgroup", { data_type => "integer", is_nullable => 1 }, "rank", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DqPOKM/oD300AzeNQouY+w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FLoc.pm0000644000175000017500000000267411775633337023052 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FLoc; BEGIN { $Bio::Chado::Schema::Result::Composite::FLoc::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FLoc::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FLoc =cut __PACKAGE__->table("f_loc"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 dbxref_id data_type: 'integer' is_nullable: 1 =head2 nbeg data_type: 'integer' is_nullable: 1 =head2 nend data_type: 'integer' is_nullable: 1 =head2 strand data_type: 'smallint' is_nullable: 1 =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "dbxref_id", { data_type => "integer", is_nullable => 1 }, "nbeg", { data_type => "integer", is_nullable => 1 }, "nend", { data_type => "integer", is_nullable => 1 }, "strand", { data_type => "smallint", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1Kr0g1/QsR2mPepYWS1Wsw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureMeetsOnSameStrand.pm0000644000175000017500000000225311775633337027070 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureMeetsOnSameStrand; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureMeetsOnSameStrand::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureMeetsOnSameStrand::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureMeetsOnSameStrand =head1 DESCRIPTION as feature_meets, but featurelocs must be on the same strand. symmetric,reflexive =cut __PACKAGE__->table("feature_meets_on_same_strand"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:mXhBG0V+qJdjyKORH6/zjg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureDifference.pm0000644000175000017500000000311211775633337025561 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureDifference; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureDifference::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureDifference::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureDifference =head1 DESCRIPTION size of gap between two features. must be abutting or disjoint =cut __PACKAGE__->table("feature_difference"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =head2 srcfeature_id data_type: 'smallint' is_nullable: 1 =head2 fmin data_type: 'integer' is_nullable: 1 =head2 fmax data_type: 'integer' is_nullable: 1 =head2 strand data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, "srcfeature_id", { data_type => "smallint", is_nullable => 1 }, "fmin", { data_type => "integer", is_nullable => 1 }, "fmax", { data_type => "integer", is_nullable => 1 }, "strand", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:von7OX3oW2gOagRhr00NKQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureUnion.pm0000644000175000017500000000331111775633337024620 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureUnion; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureUnion::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureUnion::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureUnion =head1 DESCRIPTION set-union on interval defined by featureloc. featurelocs must meet =cut __PACKAGE__->table("feature_union"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =head2 srcfeature_id data_type: 'integer' is_nullable: 1 =head2 subject_strand data_type: 'smallint' is_nullable: 1 =head2 object_strand data_type: 'smallint' is_nullable: 1 =head2 fmin data_type: 'integer' is_nullable: 1 =head2 fmax data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, "srcfeature_id", { data_type => "integer", is_nullable => 1 }, "subject_strand", { data_type => "smallint", is_nullable => 1 }, "object_strand", { data_type => "smallint", is_nullable => 1 }, "fmin", { data_type => "integer", is_nullable => 1 }, "fmax", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UYhA7VAUmHlLMUMa04impA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/Gff3atts.pm0000644000175000017500000000226511775633337023704 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::Gff3atts; BEGIN { $Bio::Chado::Schema::Result::Composite::Gff3atts::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::Gff3atts::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::Gff3atts =cut __PACKAGE__->table("gff3atts"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 type data_type: 'text' is_nullable: 1 =head2 attribute data_type: 'text' is_nullable: 1 original: {data_type => "varchar"} =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "type", { data_type => "text", is_nullable => 1 }, "attribute", { data_type => "text", is_nullable => 1, original => { data_type => "varchar" }, }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:l2P0Rak4ePF4zfo19COJuA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureDistance.pm0000644000175000017500000000303011775633337025260 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureDistance; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureDistance::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureDistance::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureDistance =cut __PACKAGE__->table("feature_distance"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =head2 srcfeature_id data_type: 'integer' is_nullable: 1 =head2 subject_strand data_type: 'smallint' is_nullable: 1 =head2 object_strand data_type: 'smallint' is_nullable: 1 =head2 distance data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, "srcfeature_id", { data_type => "integer", is_nullable => 1 }, "subject_strand", { data_type => "smallint", is_nullable => 1 }, "object_strand", { data_type => "smallint", is_nullable => 1 }, "distance", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:B7D1QJBulNpKNTv6dtneow # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/Gff3view.pm0000644000175000017500000000427211775633337023703 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::Gff3view; BEGIN { $Bio::Chado::Schema::Result::Composite::Gff3view::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::Gff3view::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::Gff3view =cut __PACKAGE__->table("gff3view"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 ref data_type: 'varchar' is_nullable: 1 size: 255 =head2 source data_type: 'varchar' is_nullable: 1 size: 255 =head2 type data_type: 'varchar' is_nullable: 1 size: 1024 =head2 fstart data_type: 'integer' is_nullable: 1 =head2 fend data_type: 'integer' is_nullable: 1 =head2 score data_type: 'text' is_nullable: 1 =head2 strand data_type: 'text' is_nullable: 1 =head2 phase data_type: 'text' is_nullable: 1 =head2 seqlen data_type: 'integer' is_nullable: 1 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 organism_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "ref", { data_type => "varchar", is_nullable => 1, size => 255 }, "source", { data_type => "varchar", is_nullable => 1, size => 255 }, "type", { data_type => "varchar", is_nullable => 1, size => 1024 }, "fstart", { data_type => "integer", is_nullable => 1 }, "fend", { data_type => "integer", is_nullable => 1 }, "score", { data_type => "text", is_nullable => 1 }, "strand", { data_type => "text", is_nullable => 1 }, "phase", { data_type => "text", is_nullable => 1 }, "seqlen", { data_type => "integer", is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "organism_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:gtyVWR2RHrLWuWOIDDzGWA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FnrType.pm0000644000175000017500000000400111775633337023600 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FnrType; BEGIN { $Bio::Chado::Schema::Result::Composite::FnrType::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FnrType::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FnrType =cut __PACKAGE__->table("fnr_type"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 dbxref_id data_type: 'integer' is_nullable: 1 =head2 type data_type: 'varchar' is_nullable: 1 size: 1024 =head2 residues data_type: 'text' is_nullable: 1 =head2 seqlen data_type: 'integer' is_nullable: 1 =head2 md5checksum data_type: 'char' is_nullable: 1 size: 32 =head2 type_id data_type: 'integer' is_nullable: 1 =head2 timeaccessioned data_type: 'timestamp' is_nullable: 1 =head2 timelastmodified data_type: 'timestamp' is_nullable: 1 =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "dbxref_id", { data_type => "integer", is_nullable => 1 }, "type", { data_type => "varchar", is_nullable => 1, size => 1024 }, "residues", { data_type => "text", is_nullable => 1 }, "seqlen", { data_type => "integer", is_nullable => 1 }, "md5checksum", { data_type => "char", is_nullable => 1, size => 32 }, "type_id", { data_type => "integer", is_nullable => 1 }, "timeaccessioned", { data_type => "timestamp", is_nullable => 1 }, "timelastmodified", { data_type => "timestamp", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9uUsY7DcIb7RRXkKVitr4w # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FeatureMeets.pm0000644000175000017500000000217211775633337024611 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FeatureMeets; BEGIN { $Bio::Chado::Schema::Result::Composite::FeatureMeets::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FeatureMeets::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FeatureMeets =head1 DESCRIPTION intervals have at least one interbase point in common (ie overlap OR abut). symmetric,reflexive =cut __PACKAGE__->table("feature_meets"); =head1 ACCESSORS =head2 subject_id data_type: 'integer' is_nullable: 1 =head2 object_id data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "subject_id", { data_type => "integer", is_nullable => 1 }, "object_id", { data_type => "integer", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:JJsKhgXt1yGQwzfX6Q24iA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FType.pm0000644000175000017500000000376711775633337023262 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FType; BEGIN { $Bio::Chado::Schema::Result::Composite::FType::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FType::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FType =cut __PACKAGE__->table("f_type"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 dbxref_id data_type: 'integer' is_nullable: 1 =head2 type data_type: 'varchar' is_nullable: 1 size: 1024 =head2 residues data_type: 'text' is_nullable: 1 =head2 seqlen data_type: 'integer' is_nullable: 1 =head2 md5checksum data_type: 'char' is_nullable: 1 size: 32 =head2 type_id data_type: 'integer' is_nullable: 1 =head2 timeaccessioned data_type: 'timestamp' is_nullable: 1 =head2 timelastmodified data_type: 'timestamp' is_nullable: 1 =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "dbxref_id", { data_type => "integer", is_nullable => 1 }, "type", { data_type => "varchar", is_nullable => 1, size => 1024 }, "residues", { data_type => "text", is_nullable => 1 }, "seqlen", { data_type => "integer", is_nullable => 1 }, "md5checksum", { data_type => "char", is_nullable => 1, size => 32 }, "type_id", { data_type => "integer", is_nullable => 1 }, "timeaccessioned", { data_type => "timestamp", is_nullable => 1 }, "timelastmodified", { data_type => "timestamp", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:mo2lkRPoVd+W2VgnuETZlQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Composite/FpKey.pm0000644000175000017500000000213711775633337023237 0ustar robrobpackage Bio::Chado::Schema::Result::Composite::FpKey; BEGIN { $Bio::Chado::Schema::Result::Composite::FpKey::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Composite::FpKey::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Composite::FpKey =cut __PACKAGE__->table("fp_key"); =head1 ACCESSORS =head2 feature_id data_type: 'integer' is_nullable: 1 =head2 pkey data_type: 'varchar' is_nullable: 1 size: 1024 =head2 value data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "feature_id", { data_type => "integer", is_nullable => 1 }, "pkey", { data_type => "varchar", is_nullable => 1, size => 1024 }, "value", { data_type => "text", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:m983SWAQ0+59Om4pCwFhQA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Pub/0000755000175000017500000000000011775633337020444 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Pub/Pub.pm0000644000175000017500000004356111775633337021541 0ustar robrobpackage Bio::Chado::Schema::Result::Pub::Pub; BEGIN { $Bio::Chado::Schema::Result::Pub::Pub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Pub::Pub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Pub::Pub =head1 DESCRIPTION A documented provenance artefact - publications, documents, personal communication. =cut __PACKAGE__->table("pub"); =head1 ACCESSORS =head2 pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'pub_pub_id_seq' =head2 title data_type: 'text' is_nullable: 1 Descriptive general heading. =head2 volumetitle data_type: 'text' is_nullable: 1 Title of part if one of a series. =head2 volume data_type: 'varchar' is_nullable: 1 size: 255 =head2 series_name data_type: 'varchar' is_nullable: 1 size: 255 Full name of (journal) series. =head2 issue data_type: 'varchar' is_nullable: 1 size: 255 =head2 pyear data_type: 'varchar' is_nullable: 1 size: 255 =head2 pages data_type: 'varchar' is_nullable: 1 size: 255 Page number range[s], e.g. 457--459, viii + 664pp, lv--lvii. =head2 miniref data_type: 'varchar' is_nullable: 1 size: 255 =head2 uniquename data_type: 'text' is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The type of the publication (book, journal, poem, graffiti, etc). Uses pub cv. =head2 is_obsolete data_type: 'boolean' default_value: false is_nullable: 1 =head2 publisher data_type: 'varchar' is_nullable: 1 size: 255 =head2 pubplace data_type: 'varchar' is_nullable: 1 size: 255 =cut __PACKAGE__->add_columns( "pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "pub_pub_id_seq", }, "title", { data_type => "text", is_nullable => 1 }, "volumetitle", { data_type => "text", is_nullable => 1 }, "volume", { data_type => "varchar", is_nullable => 1, size => 255 }, "series_name", { data_type => "varchar", is_nullable => 1, size => 255 }, "issue", { data_type => "varchar", is_nullable => 1, size => 255 }, "pyear", { data_type => "varchar", is_nullable => 1, size => 255 }, "pages", { data_type => "varchar", is_nullable => 1, size => 255 }, "miniref", { data_type => "varchar", is_nullable => 1, size => 255 }, "uniquename", { data_type => "text", is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_obsolete", { data_type => "boolean", default_value => \"false", is_nullable => 1 }, "publisher", { data_type => "varchar", is_nullable => 1, size => 255 }, "pubplace", { data_type => "varchar", is_nullable => 1, size => 255 }, ); __PACKAGE__->set_primary_key("pub_id"); __PACKAGE__->add_unique_constraint("pub_c1", ["uniquename"]); =head1 RELATIONS =head2 cell_line_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_cvterms", "Bio::Chado::Schema::Result::CellLine::CellLineCvterm", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_features", "Bio::Chado::Schema::Result::CellLine::CellLineFeature", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_libraries Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_libraries", "Bio::Chado::Schema::Result::CellLine::CellLineLibrary", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_lineprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_lineprop_pubs", "Bio::Chado::Schema::Result::CellLine::CellLinepropPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_pubs", "Bio::Chado::Schema::Result::CellLine::CellLinePub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_synonyms", "Bio::Chado::Schema::Result::CellLine::CellLineSynonym", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expression_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_pubs", "Bio::Chado::Schema::Result::Expression::ExpressionPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvterms", "Bio::Chado::Schema::Result::Sequence::FeatureCvterm", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_cvterm_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvterm_pubs", "Bio::Chado::Schema::Result::Sequence::FeatureCvtermPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_expressions Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_expressions", "Bio::Chado::Schema::Result::Expression::FeatureExpression", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featureloc_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureloc_pubs", "Bio::Chado::Schema::Result::Sequence::FeaturelocPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featuremap_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featuremap_pubs", "Bio::Chado::Schema::Result::Map::FeaturemapPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featureprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureprop_pubs", "Bio::Chado::Schema::Result::Sequence::FeaturepropPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_pubs", "Bio::Chado::Schema::Result::Sequence::FeaturePub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_relationshipprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationshipprop_pubs", "Bio::Chado::Schema::Result::Sequence::FeatureRelationshippropPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_relationship_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_relationship_pubs", "Bio::Chado::Schema::Result::Sequence::FeatureRelationshipPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_synonyms", "Bio::Chado::Schema::Result::Sequence::FeatureSynonym", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_cvterms", "Bio::Chado::Schema::Result::Library::LibraryCvterm", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 libraryprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "libraryprop_pubs", "Bio::Chado::Schema::Result::Library::LibrarypropPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_pubs", "Bio::Chado::Schema::Result::Library::LibraryPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_synonyms", "Bio::Chado::Schema::Result::Library::LibrarySynonym", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_pubs", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phendescs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phendescs", "Bio::Chado::Schema::Result::Genetic::Phendesc", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparisons Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparisons", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparison", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenotype_comparison_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenotype_comparison_cvterms", "Bio::Chado::Schema::Result::Genetic::PhenotypeComparisonCvterm", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phenstatements Type: has_many Related object: L =cut __PACKAGE__->has_many( "phenstatements", "Bio::Chado::Schema::Result::Genetic::Phenstatement", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_pubs", "Bio::Chado::Schema::Result::Phylogeny::PhylonodePub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylotree_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylotree_pubs", "Bio::Chado::Schema::Result::Phylogeny::PhylotreePub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 project_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "project_pubs", "Bio::Chado::Schema::Result::Project::ProjectPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 protocols Type: has_many Related object: L =cut __PACKAGE__->has_many( "protocols", "Bio::Chado::Schema::Result::Mage::Protocol", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pubauthors Type: has_many Related object: L =cut __PACKAGE__->has_many( "pubauthors", "Bio::Chado::Schema::Result::Pub::Pubauthor", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pub_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "pub_dbxrefs", "Bio::Chado::Schema::Result::Pub::PubDbxref", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pubprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "pubprops", "Bio::Chado::Schema::Result::Pub::Pubprop", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pub_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "pub_relationship_objects", "Bio::Chado::Schema::Result::Pub::PubRelationship", { "foreign.object_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pub_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "pub_relationship_subjects", "Bio::Chado::Schema::Result::Pub::PubRelationship", { "foreign.subject_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_cvterms", "Bio::Chado::Schema::Result::Stock::StockCvterm", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stockprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stockprop_pubs", "Bio::Chado::Schema::Result::Stock::StockpropPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_pubs", "Bio::Chado::Schema::Result::Stock::StockPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_relationship_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationship_cvterms", "Bio::Chado::Schema::Result::Stock::StockRelationshipCvterm", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_relationship_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_relationship_pubs", "Bio::Chado::Schema::Result::Stock::StockRelationshipPub", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studies Type: has_many Related object: L =cut __PACKAGE__->has_many( "studies", "Bio::Chado::Schema::Result::Mage::Study", { "foreign.pub_id" => "self.pub_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:IREmDNM5PFZA6eqAwr7Pqg =head2 create_pubprops Usage: $set->create_pubprops({ baz => 2, foo => 'bar' }); Desc : convenience method to create pubprop properties using cvterms from the ontology with the given name Args : hashref of { propname => value, ...}, options hashref as: { autocreate => 0, (optional) boolean, if passed, automatically create cv, cvterm, and dbxref rows if one cannot be found for the given pubprop name. Default false. cv_name => cv.name to use for the given pubprops. Defaults to 'pub_property', db_name => db.name to use for autocreated dbxrefs, default 'null', dbxref_accession_prefix => optional, default 'autocreated:', definitions => optional hashref of: { cvterm_name => definition, } to load into the cvterm table when autocreating cvterms rank => force numeric rank. Be careful not to pass ranks that already exist for the property type. The function will die in such case. allow_duplicate_values => default false. If true, allow duplicate instances of the same cvterm and value in the properties of the pubprop. Duplicate values will have different ranks. } Ret : hashref of { propname => new pubprop object } =cut sub create_pubprops { my ($self, $props, $opts) = @_; # process opts $opts->{cv_name} = 'pub_property' unless defined $opts->{cv_name}; return Bio::Chado::Schema::Util->create_properties ( properties => $props, options => $opts, row => $self, prop_relation_name => 'pubprops', ); } # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Pub/PubDbxref.pm0000644000175000017500000000472711775633337022675 0ustar robrobpackage Bio::Chado::Schema::Result::Pub::PubDbxref; BEGIN { $Bio::Chado::Schema::Result::Pub::PubDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Pub::PubDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Pub::PubDbxref =head1 DESCRIPTION Handle links to repositories, e.g. Pubmed, Biosis, zoorec, OCLC, Medline, ISSN, coden... =cut __PACKAGE__->table("pub_dbxref"); =head1 ACCESSORS =head2 pub_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'pub_dbxref_pub_dbxref_id_seq' =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_current data_type: 'boolean' default_value: true is_nullable: 0 =cut __PACKAGE__->add_columns( "pub_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "pub_dbxref_pub_dbxref_id_seq", }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"true", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("pub_dbxref_id"); __PACKAGE__->add_unique_constraint("pub_dbxref_c1", ["pub_id", "dbxref_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+gy9totu4V7fbEoofs6XQQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Pub/PubRelationship.pm0000644000175000017500000000602411775633337024114 0ustar robrobpackage Bio::Chado::Schema::Result::Pub::PubRelationship; BEGIN { $Bio::Chado::Schema::Result::Pub::PubRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Pub::PubRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Pub::PubRelationship =head1 DESCRIPTION Handle relationships between publications, e.g. when one publication makes others obsolete, when one publication contains errata with respect to other publication(s), or when one publication also appears in another pub. =cut __PACKAGE__->table("pub_relationship"); =head1 ACCESSORS =head2 pub_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'pub_relationship_pub_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "pub_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "pub_relationship_pub_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("pub_relationship_id"); __PACKAGE__->add_unique_constraint("pub_relationship_c1", ["subject_id", "object_id", "type_id"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:NxczDRevB78l/UhBS2e47Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Pub/Pubprop.pm0000644000175000017500000000467511775633337022445 0ustar robrobpackage Bio::Chado::Schema::Result::Pub::Pubprop; BEGIN { $Bio::Chado::Schema::Result::Pub::Pubprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Pub::Pubprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Pub::Pubprop =head1 DESCRIPTION Property-value pairs for a pub. Follows standard chado pattern. =cut __PACKAGE__->table("pubprop"); =head1 ACCESSORS =head2 pubprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'pubprop_pubprop_id_seq' =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 0 =head2 rank data_type: 'integer' is_nullable: 1 =cut __PACKAGE__->add_columns( "pubprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "pubprop_pubprop_id_seq", }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 0 }, "rank", { data_type => "integer", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("pubprop_id"); __PACKAGE__->add_unique_constraint("pubprop_c1", ["pub_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:g5Q0V9NeXfSTgkYfeQa8mQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Pub/Pubauthor.pm0000644000175000017500000000544111775633337022757 0ustar robrobpackage Bio::Chado::Schema::Result::Pub::Pubauthor; BEGIN { $Bio::Chado::Schema::Result::Pub::Pubauthor::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Pub::Pubauthor::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Pub::Pubauthor =head1 DESCRIPTION An author for a publication. Note the denormalisation (hence lack of _ in table name) - this is deliberate as it is in general too hard to assign IDs to authors. =cut __PACKAGE__->table("pubauthor"); =head1 ACCESSORS =head2 pubauthor_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'pubauthor_pubauthor_id_seq' =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rank data_type: 'integer' is_nullable: 0 Order of author in author list for this pub - order is important. =head2 editor data_type: 'boolean' default_value: false is_nullable: 1 Indicates whether the author is an editor for linked publication. Note: this is a boolean field but does not follow the normal chado convention for naming booleans. =head2 surname data_type: 'varchar' is_nullable: 0 size: 100 =head2 givennames data_type: 'varchar' is_nullable: 1 size: 100 First name, initials =head2 suffix data_type: 'varchar' is_nullable: 1 size: 100 Jr., Sr., etc =cut __PACKAGE__->add_columns( "pubauthor_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "pubauthor_pubauthor_id_seq", }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rank", { data_type => "integer", is_nullable => 0 }, "editor", { data_type => "boolean", default_value => \"false", is_nullable => 1 }, "surname", { data_type => "varchar", is_nullable => 0, size => 100 }, "givennames", { data_type => "varchar", is_nullable => 1, size => 100 }, "suffix", { data_type => "varchar", is_nullable => 1, size => 100 }, ); __PACKAGE__->set_primary_key("pubauthor_id"); __PACKAGE__->add_unique_constraint("pubauthor_c1", ["pub_id", "rank"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:VjWjIT569rVLbnuwk7M7XA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Companalysis/0000755000175000017500000000000011775633337022360 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Companalysis/Analysisfeatureprop.pm0000644000175000017500000000526611775633337026767 0ustar robrobpackage Bio::Chado::Schema::Result::Companalysis::Analysisfeatureprop; BEGIN { $Bio::Chado::Schema::Result::Companalysis::Analysisfeatureprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Companalysis::Analysisfeatureprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Companalysis::Analysisfeatureprop =cut __PACKAGE__->table("analysisfeatureprop"); =head1 ACCESSORS =head2 analysisfeatureprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'analysisfeatureprop_analysisfeatureprop_id_seq' =head2 analysisfeature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' is_nullable: 0 =cut __PACKAGE__->add_columns( "analysisfeatureprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "analysisfeatureprop_analysisfeatureprop_id_seq", }, "analysisfeature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("analysisfeatureprop_id"); __PACKAGE__->add_unique_constraint( "analysisfeature_id_type_id_rank", ["analysisfeature_id", "type_id", "rank"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 analysisfeature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "analysisfeature", "Bio::Chado::Schema::Result::Companalysis::Analysisfeature", { analysisfeature_id => "analysisfeature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ZefDx4TA4lpDiQTejlBTFg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Companalysis/Analysisprop.pm0000644000175000017500000000506311775633337025406 0ustar robrobpackage Bio::Chado::Schema::Result::Companalysis::Analysisprop; BEGIN { $Bio::Chado::Schema::Result::Companalysis::Analysisprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Companalysis::Analysisprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Companalysis::Analysisprop =cut __PACKAGE__->table("analysisprop"); =head1 ACCESSORS =head2 analysisprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'analysisprop_analysisprop_id_seq' =head2 analysis_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "analysisprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "analysisprop_analysisprop_id_seq", }, "analysis_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("analysisprop_id"); __PACKAGE__->add_unique_constraint("analysisprop_c1", ["analysis_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 analysis Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "analysis", "Bio::Chado::Schema::Result::Companalysis::Analysis", { analysis_id => "analysis_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DnU96ejpJKb2w/UBXxLe6Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Companalysis/Analysisfeature.pm0000644000175000017500000001213711775633337026061 0ustar robrobpackage Bio::Chado::Schema::Result::Companalysis::Analysisfeature; BEGIN { $Bio::Chado::Schema::Result::Companalysis::Analysisfeature::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Companalysis::Analysisfeature::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Companalysis::Analysisfeature =head1 DESCRIPTION Computational analyses generate features (e.g. Genscan generates transcripts and exons; sim4 alignments generate similarity/match features). analysisfeatures are stored using the feature table from the sequence module. The analysisfeature table is used to decorate these features, with analysis specific attributes. A feature is an analysisfeature if and only if there is a corresponding entry in the analysisfeature table. analysisfeatures will have two or more featureloc entries, with rank indicating query/subject =cut __PACKAGE__->table("analysisfeature"); =head1 ACCESSORS =head2 analysisfeature_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'analysisfeature_analysisfeature_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 analysis_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rawscore data_type: 'double precision' is_nullable: 1 This is the native score generated by the program; for example, the bitscore generated by blast, sim4 or genscan scores. One should not assume that high is necessarily better than low. =head2 normscore data_type: 'double precision' is_nullable: 1 This is the rawscore but semi-normalized. Complete normalization to allow comparison of features generated by different programs would be nice but too difficult. Instead the normalization should strive to enforce the following semantics: * normscores are floating point numbers >= 0, * high normscores are better than low one. For most programs, it would be sufficient to make the normscore the same as this rawscore, providing these semantics are satisfied. =head2 significance data_type: 'double precision' is_nullable: 1 This is some kind of expectation or probability metric, representing the probability that the analysis would appear randomly given the model. As such, any program or person querying this table can assume the following semantics: * 0 <= significance <= n, where n is a positive number, theoretically unbounded but unlikely to be more than 10 * low numbers are better than high numbers. =head2 identity data_type: 'double precision' is_nullable: 1 Percent identity between the locations compared. Note that these 4 metrics do not cover the full range of scores possible; it would be undesirable to list every score possible, as this should be kept extensible. instead, for non-standard scores, use the analysisprop table. =cut __PACKAGE__->add_columns( "analysisfeature_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "analysisfeature_analysisfeature_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "analysis_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rawscore", { data_type => "double precision", is_nullable => 1 }, "normscore", { data_type => "double precision", is_nullable => 1 }, "significance", { data_type => "double precision", is_nullable => 1 }, "identity", { data_type => "double precision", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("analysisfeature_id"); __PACKAGE__->add_unique_constraint("analysisfeature_c1", ["feature_id", "analysis_id"]); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 analysis Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "analysis", "Bio::Chado::Schema::Result::Companalysis::Analysis", { analysis_id => "analysis_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 analysisfeatureprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "analysisfeatureprops", "Bio::Chado::Schema::Result::Companalysis::Analysisfeatureprop", { "foreign.analysisfeature_id" => "self.analysisfeature_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7SsoB6zDC9mxvavrk0DtTA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Companalysis/Analysis.pm0000644000175000017500000001147211775633337024506 0ustar robrobpackage Bio::Chado::Schema::Result::Companalysis::Analysis; BEGIN { $Bio::Chado::Schema::Result::Companalysis::Analysis::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Companalysis::Analysis::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Companalysis::Analysis =head1 DESCRIPTION An analysis is a particular type of a computational analysis; it may be a blast of one sequence against another, or an all by all blast, or a different kind of analysis altogether. It is a single unit of computation. =cut __PACKAGE__->table("analysis"); =head1 ACCESSORS =head2 analysis_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'analysis_analysis_id_seq' =head2 name data_type: 'varchar' is_nullable: 1 size: 255 A way of grouping analyses. This should be a handy short identifier that can help people find an analysis they want. For instance "tRNAscan", "cDNA", "FlyPep", "SwissProt", and it should not be assumed to be unique. For instance, there may be lots of separate analyses done against a cDNA database. =head2 description data_type: 'text' is_nullable: 1 =head2 program data_type: 'varchar' is_nullable: 0 size: 255 Program name, e.g. blastx, blastp, sim4, genscan. =head2 programversion data_type: 'varchar' is_nullable: 0 size: 255 Version description, e.g. TBLASTX 2.0MP-WashU [09-Nov-2000]. =head2 algorithm data_type: 'varchar' is_nullable: 1 size: 255 Algorithm name, e.g. blast. =head2 sourcename data_type: 'varchar' is_nullable: 1 size: 255 Source name, e.g. cDNA, SwissProt. =head2 sourceversion data_type: 'varchar' is_nullable: 1 size: 255 =head2 sourceuri data_type: 'text' is_nullable: 1 This is an optional, permanent URL or URI for the source of the analysis. The idea is that someone could recreate the analysis directly by going to this URI and fetching the source data (e.g. the blast database, or the training model). =head2 timeexecuted data_type: 'timestamp' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} =cut __PACKAGE__->add_columns( "analysis_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "analysis_analysis_id_seq", }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "description", { data_type => "text", is_nullable => 1 }, "program", { data_type => "varchar", is_nullable => 0, size => 255 }, "programversion", { data_type => "varchar", is_nullable => 0, size => 255 }, "algorithm", { data_type => "varchar", is_nullable => 1, size => 255 }, "sourcename", { data_type => "varchar", is_nullable => 1, size => 255 }, "sourceversion", { data_type => "varchar", is_nullable => 1, size => 255 }, "sourceuri", { data_type => "text", is_nullable => 1 }, "timeexecuted", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, ); __PACKAGE__->set_primary_key("analysis_id"); __PACKAGE__->add_unique_constraint("analysis_c1", ["program", "programversion", "sourcename"]); =head1 RELATIONS =head2 analysisfeatures Type: has_many Related object: L =cut __PACKAGE__->has_many( "analysisfeatures", "Bio::Chado::Schema::Result::Companalysis::Analysisfeature", { "foreign.analysis_id" => "self.analysis_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 analysisprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "analysisprops", "Bio::Chado::Schema::Result::Companalysis::Analysisprop", { "foreign.analysis_id" => "self.analysis_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylotrees Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylotrees", "Bio::Chado::Schema::Result::Phylogeny::Phylotree", { "foreign.analysis_id" => "self.analysis_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 quantifications Type: has_many Related object: L =cut __PACKAGE__->has_many( "quantifications", "Bio::Chado::Schema::Result::Mage::Quantification", { "foreign.analysis_id" => "self.analysis_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:XYC5XhRez+x6ytnUB7nVOw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Map.pod0000644000175000017500000000123711775633337021142 0ustar robrobpackage Bio::Chado::Schema::Result::Map; =head1 NAME Bio::Chado::Schema::Result::Map - Non-sequence maps: genetic, radiation hybrid, cytogenetic, etc =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Map module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Sequence.pod0000644000175000017500000000335211775633337022175 0ustar robrobpackage Bio::Chado::Schema::Result::Sequence; =head1 NAME Bio::Chado::Schema::Result::Sequence - Sequence and sequence features, their localization and properties =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Sequence module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L L L L L L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/0000755000175000017500000000000011775633337021674 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/Phylotree.pm0000644000175000017500000001012311775633337024202 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::Phylotree; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::Phylotree::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::Phylotree::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::Phylotree - Global anchor for phylogenetic tree. =cut __PACKAGE__->table("phylotree"); =head1 ACCESSORS =head2 phylotree_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylotree_phylotree_id_seq' =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 Type: protein, nucleotide, taxonomy, for example. The type should be any SO type, or "taxonomy". =head2 analysis_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 comment data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "phylotree_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylotree_phylotree_id_seq", }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "analysis_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "comment", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("phylotree_id"); =head1 RELATIONS =head2 phylonodes Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonodes", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { "foreign.phylotree_id" => "self.phylotree_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_relationships Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_relationships", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship", { "foreign.phylotree_id" => "self.phylotree_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 analysis Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "analysis", "Bio::Chado::Schema::Result::Companalysis::Analysis", { analysis_id => "analysis_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phylotree_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylotree_pubs", "Bio::Chado::Schema::Result::Phylogeny::PhylotreePub", { "foreign.phylotree_id" => "self.phylotree_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:XkHgu1GpnhW/vPbRRGM3VA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodeOrganism.pm0000644000175000017500000000536111775633337025700 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::PhylonodeOrganism; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::PhylonodeOrganism::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::PhylonodeOrganism::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::PhylonodeOrganism =head1 DESCRIPTION This linking table should only be used for nodes in taxonomy trees; it provides a mapping between the node and an organism. One node can have zero or one organisms, one organism can have zero or more nodes (although typically it should only have one in the standard NCBI taxonomy tree). =cut __PACKAGE__->table("phylonode_organism"); =head1 ACCESSORS =head2 phylonode_organism_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylonode_organism_phylonode_organism_id_seq' =head2 phylonode_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 One phylonode cannot refer to >1 organism. =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phylonode_organism_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylonode_organism_phylonode_organism_id_seq", }, "phylonode_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phylonode_organism_id"); __PACKAGE__->add_unique_constraint("phylonode_organism_phylonode_id_key", ["phylonode_id"]); =head1 RELATIONS =head2 phylonode Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phylonode", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { phylonode_id => "phylonode_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9+K+tdAa3FZn8QK19S5zrQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/Phylonodeprop.pm0000644000175000017500000000547111775633337025103 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::Phylonodeprop; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::Phylonodeprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::Phylonodeprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::Phylonodeprop =cut __PACKAGE__->table("phylonodeprop"); =head1 ACCESSORS =head2 phylonodeprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylonodeprop_phylonodeprop_id_seq' =head2 phylonode_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 type_id could designate phylonode hierarchy relationships, for example: species taxonomy (kingdom, order, family, genus, species), "ortholog/paralog", "fold/superfold", etc. =head2 value data_type: 'text' default_value: (empty string) is_nullable: 0 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "phylonodeprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylonodeprop_phylonodeprop_id_seq", }, "phylonode_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", default_value => "", is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phylonodeprop_id"); __PACKAGE__->add_unique_constraint( "phylonodeprop_phylonode_id_key", ["phylonode_id", "type_id", "value", "rank"], ); =head1 RELATIONS =head2 phylonode Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phylonode", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { phylonode_id => "phylonode_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:mZFk+xMziCYB7ZR+xDs2Lg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodeRelationship.pm0000644000175000017500000000752511775633337026566 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship =head1 DESCRIPTION This is for relationships that are not strictly hierarchical; for example, horizontal gene transfer. Most phylogenetic trees are strictly hierarchical, nevertheless it is here for completeness. =cut __PACKAGE__->table("phylonode_relationship"); =head1 ACCESSORS =head2 phylonode_relationship_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylonode_relationship_phylonode_relationship_id_seq' =head2 subject_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 object_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rank data_type: 'integer' is_nullable: 1 =head2 phylotree_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phylonode_relationship_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylonode_relationship_phylonode_relationship_id_seq", }, "subject_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "object_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rank", { data_type => "integer", is_nullable => 1 }, "phylotree_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phylonode_relationship_id"); __PACKAGE__->add_unique_constraint( "phylonode_relationship_subject_id_key", ["subject_id", "object_id", "type_id"], ); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phylotree Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phylotree", "Bio::Chado::Schema::Result::Phylogeny::Phylotree", { phylotree_id => "phylotree_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 object Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "object", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { phylonode_id => "object_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 subject Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "subject", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { phylonode_id => "subject_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:T9lEldiYI3WTFhInG95Tyw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodePub.pm0000644000175000017500000000445111775633337024646 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::PhylonodePub; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::PhylonodePub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::PhylonodePub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::PhylonodePub =cut __PACKAGE__->table("phylonode_pub"); =head1 ACCESSORS =head2 phylonode_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylonode_pub_phylonode_pub_id_seq' =head2 phylonode_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phylonode_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylonode_pub_phylonode_pub_id_seq", }, "phylonode_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phylonode_pub_id"); __PACKAGE__->add_unique_constraint("phylonode_pub_phylonode_id_key", ["phylonode_id", "pub_id"]); =head1 RELATIONS =head2 phylonode Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phylonode", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { phylonode_id => "phylonode_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ReQ/gLlSuUSQ3jLFYTi5Iw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/Phylonode.pm0000644000175000017500000001756211775633337024206 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::Phylonode; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::Phylonode::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::Phylonode::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::Phylonode =head1 DESCRIPTION This is the most pervasive element in the phylogeny module, cataloging the "phylonodes" of tree graphs. Edges are implied by the parent_phylonode_id reflexive closure. For all nodes in a nested set implementation the left and right index will be *between* the parents left and right indexes. =cut __PACKAGE__->table("phylonode"); =head1 ACCESSORS =head2 phylonode_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylonode_phylonode_id_seq' =head2 phylotree_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 parent_phylonode_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 Root phylonode can have null parent_phylonode_id value. =head2 left_idx data_type: 'integer' is_nullable: 0 =head2 right_idx data_type: 'integer' is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 Type: e.g. root, interior, leaf. =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 Phylonodes can have optional features attached to them e.g. a protein or nucleotide sequence usually attached to a leaf of the phylotree for non-leaf nodes, the feature may be a feature that is an instance of SO:match; this feature is the alignment of all leaf features beneath it. =head2 label data_type: 'varchar' is_nullable: 1 size: 255 =head2 distance data_type: 'double precision' is_nullable: 1 =cut __PACKAGE__->add_columns( "phylonode_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylonode_phylonode_id_seq", }, "phylotree_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "parent_phylonode_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "left_idx", { data_type => "integer", is_nullable => 0 }, "right_idx", { data_type => "integer", is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "label", { data_type => "varchar", is_nullable => 1, size => 255 }, "distance", { data_type => "double precision", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("phylonode_id"); __PACKAGE__->add_unique_constraint("phylonode_phylotree_id_key1", ["phylotree_id", "right_idx"]); __PACKAGE__->add_unique_constraint("phylonode_phylotree_id_key", ["phylotree_id", "left_idx"]); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 parent_phylonode Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "parent_phylonode", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { phylonode_id => "parent_phylonode_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phylonodes Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonodes", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { "foreign.parent_phylonode_id" => "self.phylonode_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylotree Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phylotree", "Bio::Chado::Schema::Result::Phylogeny::Phylotree", { phylotree_id => "phylotree_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phylonode_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_dbxrefs", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeDbxref", { "foreign.phylonode_id" => "self.phylonode_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_organism Type: might_have Related object: L =cut __PACKAGE__->might_have( "phylonode_organism", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeOrganism", { "foreign.phylonode_id" => "self.phylonode_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonodeprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonodeprops", "Bio::Chado::Schema::Result::Phylogeny::Phylonodeprop", { "foreign.phylonode_id" => "self.phylonode_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_pubs", "Bio::Chado::Schema::Result::Phylogeny::PhylonodePub", { "foreign.phylonode_id" => "self.phylonode_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_relationship_objects Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_relationship_objects", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship", { "foreign.object_id" => "self.phylonode_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_relationship_subjects Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_relationship_subjects", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeRelationship", { "foreign.subject_id" => "self.phylonode_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lDVljDfIraP9A4Fx0agxbw =head1 NESTEDSET OPERATIONS Phylonodes support L operations for working with this tree-structured data. See L for details. B As of L 0.07, an important caveat of these operations is that they cannot be chained with other resultsets. This shortcoming is being addressed at the level of L and L modules. =cut __PACKAGE__->load_components(qw( Tree::NestedSet )); __PACKAGE__->tree_columns({qw{ root_column phylotree_id left_column left_idx right_column right_idx level_column distance }}); # distance is not usually reliable, so use a null parent ID to # determine whether something is a root node sub is_root { ! defined shift->parent_id } # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/PhylotreePub.pm0000644000175000017500000000464111775633337024661 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::PhylotreePub; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::PhylotreePub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::PhylotreePub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::PhylotreePub =head1 DESCRIPTION Tracks citations global to the tree e.g. multiple sequence alignment supporting tree construction. =cut __PACKAGE__->table("phylotree_pub"); =head1 ACCESSORS =head2 phylotree_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylotree_pub_phylotree_pub_id_seq' =head2 phylotree_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phylotree_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylotree_pub_phylotree_pub_id_seq", }, "phylotree_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phylotree_pub_id"); __PACKAGE__->add_unique_constraint("phylotree_pub_phylotree_id_key", ["phylotree_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 phylotree Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phylotree", "Bio::Chado::Schema::Result::Phylogeny::Phylotree", { phylotree_id => "phylotree_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:rxacq3W1aTezUJ2L0Navgg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Phylogeny/PhylonodeDbxref.pm0000644000175000017500000000506411775633337025333 0ustar robrobpackage Bio::Chado::Schema::Result::Phylogeny::PhylonodeDbxref; BEGIN { $Bio::Chado::Schema::Result::Phylogeny::PhylonodeDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Phylogeny::PhylonodeDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Phylogeny::PhylonodeDbxref =head1 DESCRIPTION For example, for orthology, paralogy group identifiers; could also be used for NCBI taxonomy; for sequences, refer to phylonode_feature, feature associated dbxrefs. =cut __PACKAGE__->table("phylonode_dbxref"); =head1 ACCESSORS =head2 phylonode_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'phylonode_dbxref_phylonode_dbxref_id_seq' =head2 phylonode_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "phylonode_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "phylonode_dbxref_phylonode_dbxref_id_seq", }, "phylonode_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("phylonode_dbxref_id"); __PACKAGE__->add_unique_constraint( "phylonode_dbxref_phylonode_id_key", ["phylonode_id", "dbxref_id"], ); =head1 RELATIONS =head2 phylonode Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "phylonode", "Bio::Chado::Schema::Result::Phylogeny::Phylonode", { phylonode_id => "phylonode_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0dvIN4NxK3Ee8559ojEHCg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Companalysis.pod0000644000175000017500000000143011775633337023062 0ustar robrobpackage Bio::Chado::Schema::Result::Companalysis; =head1 NAME Bio::Chado::Schema::Result::Companalysis - Augments sequence module with descriptions of computational analyses and features resulting from those analyses =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Companalysis module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Stock.pod0000644000175000017500000000235511775633337021512 0ustar robrobpackage Bio::Chado::Schema::Result::Stock; =head1 NAME Bio::Chado::Schema::Result::Stock - For tracking stock collections =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Stock module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Contact.pod0000644000175000017500000000111311775633337022011 0ustar robrobpackage Bio::Chado::Schema::Result::Contact; =head1 NAME Bio::Chado::Schema::Result::Contact - model persons, institutes, groups, organizations, etc =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Contact module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Map/0000755000175000017500000000000011775633337020433 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Map/Featurerange.pm0000644000175000017500000001166411775633337023411 0ustar robrobpackage Bio::Chado::Schema::Result::Map::Featurerange; BEGIN { $Bio::Chado::Schema::Result::Map::Featurerange::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Map::Featurerange::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Map::Featurerange =head1 DESCRIPTION In cases where the start and end of a mapped feature is a range, leftendf and rightstartf are populated. leftstartf_id, leftendf_id, rightstartf_id, rightendf_id are the ids of features with respect to which the feature is being mapped. These may be cytological bands. =cut __PACKAGE__->table("featurerange"); =head1 ACCESSORS =head2 featurerange_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featurerange_featurerange_id_seq' =head2 featuremap_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 featuremap_id is the id of the feature being mapped. =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 leftstartf_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 leftendf_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 rightstartf_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =head2 rightendf_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rangestr data_type: 'varchar' is_nullable: 1 size: 255 =cut __PACKAGE__->add_columns( "featurerange_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featurerange_featurerange_id_seq", }, "featuremap_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "leftstartf_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "leftendf_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "rightstartf_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, "rightendf_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rangestr", { data_type => "varchar", is_nullable => 1, size => 255 }, ); __PACKAGE__->set_primary_key("featurerange_id"); =head1 RELATIONS =head2 featuremap Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "featuremap", "Bio::Chado::Schema::Result::Map::Featuremap", { featuremap_id => "featuremap_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 leftendf Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "leftendf", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "leftendf_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 rightstartf Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "rightstartf", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "rightstartf_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 rightendf Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "rightendf", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "rightendf_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 leftstartf Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "leftstartf", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "leftstartf_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:7AFKlnRnIayzBusw0IrRvA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Map/FeaturemapPub.pm0000644000175000017500000000426711775633337023542 0ustar robrobpackage Bio::Chado::Schema::Result::Map::FeaturemapPub; BEGIN { $Bio::Chado::Schema::Result::Map::FeaturemapPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Map::FeaturemapPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Map::FeaturemapPub =cut __PACKAGE__->table("featuremap_pub"); =head1 ACCESSORS =head2 featuremap_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featuremap_pub_featuremap_pub_id_seq' =head2 featuremap_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "featuremap_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featuremap_pub_featuremap_pub_id_seq", }, "featuremap_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("featuremap_pub_id"); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 featuremap Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "featuremap", "Bio::Chado::Schema::Result::Map::Featuremap", { featuremap_id => "featuremap_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Jl2UjU1qjT8AKmJpFW9VNw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Map/Featurepos.pm0000644000175000017500000000620011775633337023104 0ustar robrobpackage Bio::Chado::Schema::Result::Map::Featurepos; BEGIN { $Bio::Chado::Schema::Result::Map::Featurepos::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Map::Featurepos::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Map::Featurepos =cut __PACKAGE__->table("featurepos"); =head1 ACCESSORS =head2 featurepos_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featurepos_featurepos_id_seq' =head2 featuremap_id data_type: 'integer' is_auto_increment: 1 is_foreign_key: 1 is_nullable: 0 sequence: 'featurepos_featuremap_id_seq' =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 map_feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 map_feature_id links to the feature (map) upon which the feature is being localized. =head2 mappos data_type: 'double precision' is_nullable: 0 =cut __PACKAGE__->add_columns( "featurepos_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featurepos_featurepos_id_seq", }, "featuremap_id", { data_type => "integer", is_auto_increment => 1, is_foreign_key => 1, is_nullable => 0, sequence => "featurepos_featuremap_id_seq", }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "map_feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "mappos", { data_type => "double precision", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("featurepos_id"); =head1 RELATIONS =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 map_feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "map_feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "map_feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 featuremap Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "featuremap", "Bio::Chado::Schema::Result::Map::Featuremap", { featuremap_id => "featuremap_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jKXu0thkP5pIvZoMtuKe/Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Map/Featuremap.pm0000644000175000017500000000555711775633337023076 0ustar robrobpackage Bio::Chado::Schema::Result::Map::Featuremap; BEGIN { $Bio::Chado::Schema::Result::Map::Featuremap::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Map::Featuremap::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Map::Featuremap =cut __PACKAGE__->table("featuremap"); =head1 ACCESSORS =head2 featuremap_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'featuremap_featuremap_id_seq' =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 description data_type: 'text' is_nullable: 1 =head2 unittype_id data_type: 'integer' is_foreign_key: 1 is_nullable: 1 =cut __PACKAGE__->add_columns( "featuremap_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "featuremap_featuremap_id_seq", }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "description", { data_type => "text", is_nullable => 1 }, "unittype_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, ); __PACKAGE__->set_primary_key("featuremap_id"); __PACKAGE__->add_unique_constraint("featuremap_c1", ["name"]); =head1 RELATIONS =head2 unittype Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "unittype", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "unittype_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, join_type => "LEFT", on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 featuremap_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "featuremap_pubs", "Bio::Chado::Schema::Result::Map::FeaturemapPub", { "foreign.featuremap_id" => "self.featuremap_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featurepos Type: has_many Related object: L =cut __PACKAGE__->has_many( "featurepos", "Bio::Chado::Schema::Result::Map::Featurepos", { "foreign.featuremap_id" => "self.featuremap_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 featureranges Type: has_many Related object: L =cut __PACKAGE__->has_many( "featureranges", "Bio::Chado::Schema::Result::Map::Featurerange", { "foreign.featuremap_id" => "self.featuremap_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:jzw5KVXwkfOSDiJv7ymTeQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Project.pod0000644000175000017500000000147611775633337022040 0ustar robrobpackage Bio::Chado::Schema::Result::Project; =head1 NAME Bio::Chado::Schema::Result::Project - The project table has been moved from general to its own module and has been expanded to provide properties, publications and contacts. =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Project module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library.pod0000644000175000017500000000157211775633337022033 0ustar robrobpackage Bio::Chado::Schema::Result::Library; =head1 NAME Bio::Chado::Schema::Result::Library - For describing molecular libraries =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Library module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Pub.pod0000644000175000017500000000124711775633337021154 0ustar robrobpackage Bio::Chado::Schema::Result::Pub; =head1 NAME Bio::Chado::Schema::Result::Pub - Bibliographic data on publications =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Pub module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/General.pod0000644000175000017500000000122711775633337022001 0ustar robrobpackage Bio::Chado::Schema::Result::General; =head1 NAME Bio::Chado::Schema::Result::General - General purpose tables, including dbxrefs =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado General module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Organism.pod0000644000175000017500000000116711775633337022206 0ustar robrobpackage Bio::Chado::Schema::Result::Organism; =head1 NAME Bio::Chado::Schema::Result::Organism - Species data - does not include phylogeny =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Organism module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/General/0000755000175000017500000000000011775633337021273 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/General/Dbxref.pm0000644000175000017500000002723011775633337023047 0ustar robrobpackage Bio::Chado::Schema::Result::General::Dbxref; BEGIN { $Bio::Chado::Schema::Result::General::Dbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::General::Dbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::General::Dbxref =head1 DESCRIPTION A unique, global, public, stable identifier. Not necessarily an external reference - can reference data items inside the particular chado instance being used. Typically a row in a table can be uniquely identified with a primary identifier (called dbxref_id); a table may also have secondary identifiers (in a linking table _dbxref). A dbxref is generally written as : or as ::. =cut __PACKAGE__->table("dbxref"); =head1 ACCESSORS =head2 dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'dbxref_dbxref_id_seq' =head2 db_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 accession data_type: 'varchar' is_nullable: 0 size: 255 The local part of the identifier. Guaranteed by the db authority to be unique for that db. =head2 version data_type: 'varchar' default_value: (empty string) is_nullable: 0 size: 255 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "dbxref_dbxref_id_seq", }, "db_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "accession", { data_type => "varchar", is_nullable => 0, size => 255 }, "version", { data_type => "varchar", default_value => "", is_nullable => 0, size => 255 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("dbxref_id"); __PACKAGE__->add_unique_constraint("dbxref_c1", ["db_id", "accession", "version"]); =head1 RELATIONS =head2 arraydesigns Type: has_many Related object: L =cut __PACKAGE__->has_many( "arraydesigns", "Bio::Chado::Schema::Result::Mage::Arraydesign", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 assays Type: has_many Related object: L =cut __PACKAGE__->has_many( "assays", "Bio::Chado::Schema::Result::Mage::Assay", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterials Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterials", "Bio::Chado::Schema::Result::Mage::Biomaterial", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 biomaterial_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "biomaterial_dbxrefs", "Bio::Chado::Schema::Result::Mage::BiomaterialDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cell_line_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_dbxrefs", "Bio::Chado::Schema::Result::CellLine::CellLineDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvterm Type: might_have Related object: L =cut __PACKAGE__->might_have( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 cvterm_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "cvterm_dbxrefs", "Bio::Chado::Schema::Result::Cv::CvtermDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 db Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "db", "Bio::Chado::Schema::Result::General::Db", { db_id => "db_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxrefprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "dbxrefprops", "Bio::Chado::Schema::Result::Cv::Dbxrefprop", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 elements Type: has_many Related object: L =cut __PACKAGE__->has_many( "elements", "Bio::Chado::Schema::Result::Mage::Element", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 features Type: has_many Related object: L =cut __PACKAGE__->has_many( "features", "Bio::Chado::Schema::Result::Sequence::Feature", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_cvterm_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_cvterm_dbxrefs", "Bio::Chado::Schema::Result::Sequence::FeatureCvtermDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_dbxrefs", "Bio::Chado::Schema::Result::Sequence::FeatureDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_dbxrefs", "Bio::Chado::Schema::Result::Library::LibraryDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_dbxrefs", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 nd_experiment_stock_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "nd_experiment_stock_dbxrefs", "Bio::Chado::Schema::Result::NaturalDiversity::NdExperimentStockDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 organism_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "organism_dbxrefs", "Bio::Chado::Schema::Result::Organism::OrganismDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylonode_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylonode_dbxrefs", "Bio::Chado::Schema::Result::Phylogeny::PhylonodeDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 phylotrees Type: has_many Related object: L =cut __PACKAGE__->has_many( "phylotrees", "Bio::Chado::Schema::Result::Phylogeny::Phylotree", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 protocols Type: has_many Related object: L =cut __PACKAGE__->has_many( "protocols", "Bio::Chado::Schema::Result::Mage::Protocol", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 pub_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "pub_dbxrefs", "Bio::Chado::Schema::Result::Pub::PubDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stocks Type: has_many Related object: L =cut __PACKAGE__->has_many( "stocks", "Bio::Chado::Schema::Result::Stock::Stock", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 stock_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "stock_dbxrefs", "Bio::Chado::Schema::Result::Stock::StockDbxref", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 studies Type: has_many Related object: L =cut __PACKAGE__->has_many( "studies", "Bio::Chado::Schema::Result::Mage::Study", { "foreign.dbxref_id" => "self.dbxref_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DH06/5V4IKTYucfk2dsWHA =head1 MANY-TO-MANY RELATIONSHIPS =head2 biomaterials_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'biomaterials_mm', 'biomaterial_dbxrefs' => 'biomaterial', ); =head2 cell_lines_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'cell_lines_mm', 'cell_line_dbxrefs' => 'cell_line', ); =head2 cvterms_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'cvterms_mm', 'cvterm_dbxrefs' => 'cvterm', ); =head2 features_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'features_mm', 'feature_dbxrefs' => 'feature', ); =head2 libraries_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'libraries_mm', 'library_dbxrefs' => 'library', ); =head2 organisms_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'organisms_mm', 'organism_dbxrefs' => 'organism', ); =head2 phylonodes_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'phylonodes_mm', 'phylonode_dbxrefs' => 'phylonode', ); =head2 pubs_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'pubs_mm', 'pub_dbxrefs' => 'pub', ); =head2 stocks_mm Relation to L (i.e. C table) via the C table. =cut __PACKAGE__->many_to_many ( 'stocks_mm', 'stock_dbxrefs' => 'stock', ); # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/General/Db.pm0000644000175000017500000000446311775633337022165 0ustar robrobpackage Bio::Chado::Schema::Result::General::Db; BEGIN { $Bio::Chado::Schema::Result::General::Db::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::General::Db::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::General::Db =head1 DESCRIPTION A database authority. Typical databases in bioinformatics are FlyBase, GO, UniProt, NCBI, MGI, etc. The authority is generally known by this shortened form, which is unique within the bioinformatics and biomedical realm. To Do - add support for URIs, URNs (e.g. LSIDs). We can do this by treating the URL as a URI - however, some applications may expect this to be resolvable - to be decided. =cut __PACKAGE__->table("db"); =head1 ACCESSORS =head2 db_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'db_db_id_seq' =head2 name data_type: 'varchar' is_nullable: 0 size: 255 =head2 description data_type: 'varchar' is_nullable: 1 size: 255 =head2 urlprefix data_type: 'varchar' is_nullable: 1 size: 255 =head2 url data_type: 'varchar' is_nullable: 1 size: 255 =cut __PACKAGE__->add_columns( "db_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "db_db_id_seq", }, "name", { data_type => "varchar", is_nullable => 0, size => 255 }, "description", { data_type => "varchar", is_nullable => 1, size => 255 }, "urlprefix", { data_type => "varchar", is_nullable => 1, size => 255 }, "url", { data_type => "varchar", is_nullable => 1, size => 255 }, ); __PACKAGE__->set_primary_key("db_id"); __PACKAGE__->add_unique_constraint("db_c1", ["name"]); =head1 RELATIONS =head2 dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "dbxrefs", "Bio::Chado::Schema::Result::General::Dbxref", { "foreign.db_id" => "self.db_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:CskErYSCRJcWnw9M/PfWYw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/General/DbDbxrefCount.pm0000644000175000017500000000205111775633337024320 0ustar robrobpackage Bio::Chado::Schema::Result::General::DbDbxrefCount; BEGIN { $Bio::Chado::Schema::Result::General::DbDbxrefCount::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::General::DbDbxrefCount::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::General::DbDbxrefCount - per-db dbxref counts =cut __PACKAGE__->table("db_dbxref_count"); =head1 ACCESSORS =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 num_dbxrefs data_type: 'bigint' is_nullable: 1 =cut __PACKAGE__->add_columns( "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "num_dbxrefs", { data_type => "bigint", is_nullable => 1 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lMUeCNVzxQf9aiG2glnOvw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/General/Tableinfo.pm0000644000175000017500000000571611775633337023545 0ustar robrobpackage Bio::Chado::Schema::Result::General::Tableinfo; BEGIN { $Bio::Chado::Schema::Result::General::Tableinfo::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::General::Tableinfo::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::General::Tableinfo =cut __PACKAGE__->table("tableinfo"); =head1 ACCESSORS =head2 tableinfo_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'tableinfo_tableinfo_id_seq' =head2 name data_type: 'varchar' is_nullable: 0 size: 30 =head2 primary_key_column data_type: 'varchar' is_nullable: 1 size: 30 =head2 is_view data_type: 'integer' default_value: 0 is_nullable: 0 =head2 view_on_table_id data_type: 'integer' is_nullable: 1 =head2 superclass_table_id data_type: 'integer' is_nullable: 1 =head2 is_updateable data_type: 'integer' default_value: 1 is_nullable: 0 =head2 modification_date data_type: 'date' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} =cut __PACKAGE__->add_columns( "tableinfo_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "tableinfo_tableinfo_id_seq", }, "name", { data_type => "varchar", is_nullable => 0, size => 30 }, "primary_key_column", { data_type => "varchar", is_nullable => 1, size => 30 }, "is_view", { data_type => "integer", default_value => 0, is_nullable => 0 }, "view_on_table_id", { data_type => "integer", is_nullable => 1 }, "superclass_table_id", { data_type => "integer", is_nullable => 1 }, "is_updateable", { data_type => "integer", default_value => 1, is_nullable => 0 }, "modification_date", { data_type => "date", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, ); __PACKAGE__->set_primary_key("tableinfo_id"); __PACKAGE__->add_unique_constraint("tableinfo_c1", ["name"]); =head1 RELATIONS =head2 controls Type: has_many Related object: L =cut __PACKAGE__->has_many( "controls", "Bio::Chado::Schema::Result::Mage::Control", { "foreign.tableinfo_id" => "self.tableinfo_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 magedocumentations Type: has_many Related object: L =cut __PACKAGE__->has_many( "magedocumentations", "Bio::Chado::Schema::Result::Mage::Magedocumentation", { "foreign.tableinfo_id" => "self.tableinfo_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:j6QlFrHYGpvD1MStkARg1g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/0000755000175000017500000000000011775633337022055 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/FeatureExpression.pm0000644000175000017500000000643411775633337026075 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::FeatureExpression; BEGIN { $Bio::Chado::Schema::Result::Expression::FeatureExpression::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::FeatureExpression::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::FeatureExpression =cut __PACKAGE__->table("feature_expression"); =head1 ACCESSORS =head2 feature_expression_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_expression_feature_expression_id_seq' =head2 expression_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_expression_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_expression_feature_expression_id_seq", }, "expression_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_expression_id"); __PACKAGE__->add_unique_constraint( "feature_expression_c1", ["expression_id", "feature_id", "pub_id"], ); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 expression Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "expression", "Bio::Chado::Schema::Result::Expression::Expression", { expression_id => "expression_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature_expressionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_expressionprops", "Bio::Chado::Schema::Result::Expression::FeatureExpressionprop", { "foreign.feature_expression_id" => "self.feature_expression_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DO8chWXnKUx1O/2AipXfIQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/ExpressionCvterm.pm0000644000175000017500000000670211775633337025740 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::ExpressionCvterm; BEGIN { $Bio::Chado::Schema::Result::Expression::ExpressionCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::ExpressionCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::ExpressionCvterm =cut __PACKAGE__->table("expression_cvterm"); =head1 ACCESSORS =head2 expression_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'expression_cvterm_expression_cvterm_id_seq' =head2 expression_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =head2 cvterm_type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "expression_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "expression_cvterm_expression_cvterm_id_seq", }, "expression_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, "cvterm_type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("expression_cvterm_id"); __PACKAGE__->add_unique_constraint( "expression_cvterm_c1", ["expression_id", "cvterm_id", "cvterm_type_id"], ); =head1 RELATIONS =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm_type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm_type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 expression Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "expression", "Bio::Chado::Schema::Result::Expression::Expression", { expression_id => "expression_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 expression_cvtermprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_cvtermprops", "Bio::Chado::Schema::Result::Expression::ExpressionCvtermprop", { "foreign.expression_cvterm_id" => "self.expression_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xkd/UBdezMfsoVJhtNAnqA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/Eimage.pm0000644000175000017500000000364011775633337023605 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::Eimage; BEGIN { $Bio::Chado::Schema::Result::Expression::Eimage::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::Eimage::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::Eimage =cut __PACKAGE__->table("eimage"); =head1 ACCESSORS =head2 eimage_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'eimage_eimage_id_seq' =head2 eimage_data data_type: 'text' is_nullable: 1 We expect images in eimage_data (e.g. JPEGs) to be uuencoded. =head2 eimage_type data_type: 'varchar' is_nullable: 0 size: 255 Describes the type of data in eimage_data. =head2 image_uri data_type: 'varchar' is_nullable: 1 size: 255 =cut __PACKAGE__->add_columns( "eimage_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "eimage_eimage_id_seq", }, "eimage_data", { data_type => "text", is_nullable => 1 }, "eimage_type", { data_type => "varchar", is_nullable => 0, size => 255 }, "image_uri", { data_type => "varchar", is_nullable => 1, size => 255 }, ); __PACKAGE__->set_primary_key("eimage_id"); =head1 RELATIONS =head2 expression_images Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_images", "Bio::Chado::Schema::Result::Expression::ExpressionImage", { "foreign.eimage_id" => "self.eimage_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:S2G9Dp420ZT3+4953m8XMA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/ExpressionPub.pm0000644000175000017500000000446711775633337025234 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::ExpressionPub; BEGIN { $Bio::Chado::Schema::Result::Expression::ExpressionPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::ExpressionPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::ExpressionPub =cut __PACKAGE__->table("expression_pub"); =head1 ACCESSORS =head2 expression_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'expression_pub_expression_pub_id_seq' =head2 expression_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "expression_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "expression_pub_expression_pub_id_seq", }, "expression_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("expression_pub_id"); __PACKAGE__->add_unique_constraint("expression_pub_c1", ["expression_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 expression Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "expression", "Bio::Chado::Schema::Result::Expression::Expression", { expression_id => "expression_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2dzJzIk9X256NOqEznsT1Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/Expression.pm0000644000175000017500000000640111775633337024553 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::Expression; BEGIN { $Bio::Chado::Schema::Result::Expression::Expression::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::Expression::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::Expression - The expression table is essentially a bridge table. =cut __PACKAGE__->table("expression"); =head1 ACCESSORS =head2 expression_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'expression_expression_id_seq' =head2 uniquename data_type: 'text' is_nullable: 0 =head2 md5checksum data_type: 'char' is_nullable: 1 size: 32 =head2 description data_type: 'text' is_nullable: 1 =cut __PACKAGE__->add_columns( "expression_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "expression_expression_id_seq", }, "uniquename", { data_type => "text", is_nullable => 0 }, "md5checksum", { data_type => "char", is_nullable => 1, size => 32 }, "description", { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("expression_id"); __PACKAGE__->add_unique_constraint("expression_c1", ["uniquename"]); =head1 RELATIONS =head2 expression_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_cvterms", "Bio::Chado::Schema::Result::Expression::ExpressionCvterm", { "foreign.expression_id" => "self.expression_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expression_images Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_images", "Bio::Chado::Schema::Result::Expression::ExpressionImage", { "foreign.expression_id" => "self.expression_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expressionprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "expressionprops", "Bio::Chado::Schema::Result::Expression::Expressionprop", { "foreign.expression_id" => "self.expression_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 expression_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "expression_pubs", "Bio::Chado::Schema::Result::Expression::ExpressionPub", { "foreign.expression_id" => "self.expression_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 feature_expressions Type: has_many Related object: L =cut __PACKAGE__->has_many( "feature_expressions", "Bio::Chado::Schema::Result::Expression::FeatureExpression", { "foreign.expression_id" => "self.expression_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:vOK83Ml5atsCQiJamD218Q # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/Expressionprop.pm0000644000175000017500000000512311775633337025454 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::Expressionprop; BEGIN { $Bio::Chado::Schema::Result::Expression::Expressionprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::Expressionprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::Expressionprop =cut __PACKAGE__->table("expressionprop"); =head1 ACCESSORS =head2 expressionprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'expressionprop_expressionprop_id_seq' =head2 expression_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "expressionprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "expressionprop_expressionprop_id_seq", }, "expression_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("expressionprop_id"); __PACKAGE__->add_unique_constraint("expressionprop_c1", ["expression_id", "type_id", "rank"]); =head1 RELATIONS =head2 expression Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "expression", "Bio::Chado::Schema::Result::Expression::Expression", { expression_id => "expression_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:W7Uz1ql4CseSVBWOsJunLg # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/FeatureExpressionprop.pm0000644000175000017500000000557611775633337027004 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::FeatureExpressionprop; BEGIN { $Bio::Chado::Schema::Result::Expression::FeatureExpressionprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::FeatureExpressionprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::FeatureExpressionprop =head1 DESCRIPTION Extensible properties for feature_expression (comments, for example). Modeled on feature_cvtermprop. =cut __PACKAGE__->table("feature_expressionprop"); =head1 ACCESSORS =head2 feature_expressionprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'feature_expressionprop_feature_expressionprop_id_seq' =head2 feature_expression_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "feature_expressionprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "feature_expressionprop_feature_expressionprop_id_seq", }, "feature_expression_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("feature_expressionprop_id"); __PACKAGE__->add_unique_constraint( "feature_expressionprop_c1", ["feature_expression_id", "type_id", "rank"], ); =head1 RELATIONS =head2 feature_expression Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature_expression", "Bio::Chado::Schema::Result::Expression::FeatureExpression", { feature_expression_id => "feature_expression_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0Cco2NYlCN/GJTciGSl4HQ # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/ExpressionImage.pm0000644000175000017500000000457211775633337025525 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::ExpressionImage; BEGIN { $Bio::Chado::Schema::Result::Expression::ExpressionImage::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::ExpressionImage::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::ExpressionImage =cut __PACKAGE__->table("expression_image"); =head1 ACCESSORS =head2 expression_image_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'expression_image_expression_image_id_seq' =head2 expression_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 eimage_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "expression_image_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "expression_image_expression_image_id_seq", }, "expression_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "eimage_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("expression_image_id"); __PACKAGE__->add_unique_constraint("expression_image_c1", ["expression_id", "eimage_id"]); =head1 RELATIONS =head2 eimage Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "eimage", "Bio::Chado::Schema::Result::Expression::Eimage", { eimage_id => "eimage_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 expression Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "expression", "Bio::Chado::Schema::Result::Expression::Expression", { expression_id => "expression_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:c43DnCw/XkaJ5lZJcWxDDw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Expression/ExpressionCvtermprop.pm0000644000175000017500000000670311775633337026642 0ustar robrobpackage Bio::Chado::Schema::Result::Expression::ExpressionCvtermprop; BEGIN { $Bio::Chado::Schema::Result::Expression::ExpressionCvtermprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Expression::ExpressionCvtermprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Expression::ExpressionCvtermprop =head1 DESCRIPTION Extensible properties for expression to cvterm associations. Examples: qualifiers. =cut __PACKAGE__->table("expression_cvtermprop"); =head1 ACCESSORS =head2 expression_cvtermprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'expression_cvtermprop_expression_cvtermprop_id_seq' =head2 expression_cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The name of the property/slot is a cvterm. The meaning of the property is defined in that cvterm. For example, cvterms may come from the FlyBase miscellaneous cv. =head2 value data_type: 'text' is_nullable: 1 The value of the property, represented as text. Numeric values are converted to their text representation. This is less efficient than using native database types, but is easier to query. =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 Property-Value ordering. Any expression_cvterm can have multiple values for any particular property type - these are ordered in a list using rank, counting from zero. For properties that are single-valued rather than multi-valued, the default 0 value should be used. =cut __PACKAGE__->add_columns( "expression_cvtermprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "expression_cvtermprop_expression_cvtermprop_id_seq", }, "expression_cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("expression_cvtermprop_id"); __PACKAGE__->add_unique_constraint( "expression_cvtermprop_c1", ["expression_cvterm_id", "type_id", "rank"], ); =head1 RELATIONS =head2 expression_cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "expression_cvterm", "Bio::Chado::Schema::Result::Expression::ExpressionCvterm", { expression_cvterm_id => "expression_cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:58 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lUGuhQAy+DWrt2blIh35zw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/0000755000175000017500000000000011775633337021322 5ustar robrobBio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/LibraryPub.pm0000644000175000017500000000434311775633337023737 0ustar robrobpackage Bio::Chado::Schema::Result::Library::LibraryPub; BEGIN { $Bio::Chado::Schema::Result::Library::LibraryPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::LibraryPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::LibraryPub =cut __PACKAGE__->table("library_pub"); =head1 ACCESSORS =head2 library_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'library_pub_library_pub_id_seq' =head2 library_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "library_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "library_pub_library_pub_id_seq", }, "library_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("library_pub_id"); __PACKAGE__->add_unique_constraint("library_pub_c1", ["library_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 library Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "library", "Bio::Chado::Schema::Result::Library::Library", { library_id => "library_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:yV2fUAOI77B1BqlBzKLpfw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/LibraryDbxref.pm0000644000175000017500000000473111775633337024424 0ustar robrobpackage Bio::Chado::Schema::Result::Library::LibraryDbxref; BEGIN { $Bio::Chado::Schema::Result::Library::LibraryDbxref::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::LibraryDbxref::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::LibraryDbxref =cut __PACKAGE__->table("library_dbxref"); =head1 ACCESSORS =head2 library_dbxref_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'library_dbxref_library_dbxref_id_seq' =head2 library_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 dbxref_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 is_current data_type: 'boolean' default_value: true is_nullable: 0 =cut __PACKAGE__->add_columns( "library_dbxref_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "library_dbxref_library_dbxref_id_seq", }, "library_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "dbxref_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"true", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("library_dbxref_id"); __PACKAGE__->add_unique_constraint("library_dbxref_c1", ["library_id", "dbxref_id"]); =head1 RELATIONS =head2 library Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "library", "Bio::Chado::Schema::Result::Library::Library", { library_id => "library_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 dbxref Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "dbxref", "Bio::Chado::Schema::Result::General::Dbxref", { dbxref_id => "dbxref_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:h+oCh2c8n3Osfyjn9bpUEA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/LibraryFeature.pm0000644000175000017500000000477111775633337024611 0ustar robrobpackage Bio::Chado::Schema::Result::Library::LibraryFeature; BEGIN { $Bio::Chado::Schema::Result::Library::LibraryFeature::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::LibraryFeature::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::LibraryFeature =head1 DESCRIPTION library_feature links a library to the clones which are contained in the library. Examples of such linked features might be "cDNA_clone" or "genomic_clone". =cut __PACKAGE__->table("library_feature"); =head1 ACCESSORS =head2 library_feature_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'library_feature_library_feature_id_seq' =head2 library_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 feature_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "library_feature_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "library_feature_library_feature_id_seq", }, "library_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "feature_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("library_feature_id"); __PACKAGE__->add_unique_constraint("library_feature_c1", ["library_id", "feature_id"]); =head1 RELATIONS =head2 library Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "library", "Bio::Chado::Schema::Result::Library::Library", { library_id => "library_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 feature Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "feature", "Bio::Chado::Schema::Result::Sequence::Feature", { feature_id => "feature_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2CGz78JY4e0AGbgUrlTT6g # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/LibraryCvterm.pm0000644000175000017500000000601011775633337024442 0ustar robrobpackage Bio::Chado::Schema::Result::Library::LibraryCvterm; BEGIN { $Bio::Chado::Schema::Result::Library::LibraryCvterm::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::LibraryCvterm::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::LibraryCvterm =head1 DESCRIPTION The table library_cvterm links a library to controlled vocabularies which describe the library. For instance, there might be a link to the anatomy cv for "head" or "testes" for a head or testes library. =cut __PACKAGE__->table("library_cvterm"); =head1 ACCESSORS =head2 library_cvterm_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'library_cvterm_library_cvterm_id_seq' =head2 library_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 cvterm_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "library_cvterm_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "library_cvterm_library_cvterm_id_seq", }, "library_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "cvterm_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("library_cvterm_id"); __PACKAGE__->add_unique_constraint("library_cvterm_c1", ["library_id", "cvterm_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 cvterm Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "cvterm", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "cvterm_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 library Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "library", "Bio::Chado::Schema::Result::Library::Library", { library_id => "library_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:w26HMpOZWu5YnAvI648PDw # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/LibrarySynonym.pm0000644000175000017500000000763111775633337024670 0ustar robrobpackage Bio::Chado::Schema::Result::Library::LibrarySynonym; BEGIN { $Bio::Chado::Schema::Result::Library::LibrarySynonym::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::LibrarySynonym::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::LibrarySynonym =cut __PACKAGE__->table("library_synonym"); =head1 ACCESSORS =head2 library_synonym_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'library_synonym_library_synonym_id_seq' =head2 synonym_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 library_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The pub_id link is for relating the usage of a given synonym to the publication in which it was used. =head2 is_current data_type: 'boolean' default_value: true is_nullable: 0 The is_current bit indicates whether the linked synonym is the current -official- symbol for the linked library. =head2 is_internal data_type: 'boolean' default_value: false is_nullable: 0 Typically a synonym exists so that somebody querying the database with an obsolete name can find the object they are looking for under its current name. If the synonym has been used publicly and deliberately (e.g. in a paper), it my also be listed in reports as a synonym. If the synonym was not used deliberately (e.g., there was a typo which went public), then the is_internal bit may be set to "true" so that it is known that the synonym is "internal" and should be queryable but should not be listed in reports as a valid synonym. =cut __PACKAGE__->add_columns( "library_synonym_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "library_synonym_library_synonym_id_seq", }, "synonym_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "library_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_current", { data_type => "boolean", default_value => \"true", is_nullable => 0 }, "is_internal", { data_type => "boolean", default_value => \"false", is_nullable => 0 }, ); __PACKAGE__->set_primary_key("library_synonym_id"); __PACKAGE__->add_unique_constraint("library_synonym_c1", ["synonym_id", "library_id", "pub_id"]); =head1 RELATIONS =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 library Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "library", "Bio::Chado::Schema::Result::Library::Library", { library_id => "library_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 synonym Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "synonym", "Bio::Chado::Schema::Result::Sequence::Synonym", { synonym_id => "synonym_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xgRXrLhsUuPfjabjNYc08A # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/LibrarypropPub.pm0000644000175000017500000000447311775633337024644 0ustar robrobpackage Bio::Chado::Schema::Result::Library::LibrarypropPub; BEGIN { $Bio::Chado::Schema::Result::Library::LibrarypropPub::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::LibrarypropPub::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::LibrarypropPub =cut __PACKAGE__->table("libraryprop_pub"); =head1 ACCESSORS =head2 libraryprop_pub_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'libraryprop_pub_libraryprop_pub_id_seq' =head2 libraryprop_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 pub_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =cut __PACKAGE__->add_columns( "libraryprop_pub_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "libraryprop_pub_libraryprop_pub_id_seq", }, "libraryprop_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "pub_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("libraryprop_pub_id"); __PACKAGE__->add_unique_constraint("libraryprop_pub_c1", ["libraryprop_id", "pub_id"]); =head1 RELATIONS =head2 libraryprop Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "libraryprop", "Bio::Chado::Schema::Result::Library::Libraryprop", { libraryprop_id => "libraryprop_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 pub Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "pub", "Bio::Chado::Schema::Result::Pub::Pub", { pub_id => "pub_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FxK95I87im8Rucl/fwGm1A # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/Library.pm0000644000175000017500000001307011775633337023265 0ustar robrobpackage Bio::Chado::Schema::Result::Library::Library; BEGIN { $Bio::Chado::Schema::Result::Library::Library::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::Library::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::Library =cut __PACKAGE__->table("library"); =head1 ACCESSORS =head2 library_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'library_library_id_seq' =head2 organism_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 name data_type: 'varchar' is_nullable: 1 size: 255 =head2 uniquename data_type: 'text' is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 The type_id foreign key links to a controlled vocabulary of library types. Examples of this would be: "cDNA_library" or "genomic_library" =head2 is_obsolete data_type: 'integer' default_value: 0 is_nullable: 0 =head2 timeaccessioned data_type: 'timestamp' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} =head2 timelastmodified data_type: 'timestamp' default_value: current_timestamp is_nullable: 0 original: {default_value => \"now()"} =cut __PACKAGE__->add_columns( "library_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "library_library_id_seq", }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "name", { data_type => "varchar", is_nullable => 1, size => 255 }, "uniquename", { data_type => "text", is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "is_obsolete", { data_type => "integer", default_value => 0, is_nullable => 0 }, "timeaccessioned", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, "timelastmodified", { data_type => "timestamp", default_value => \"current_timestamp", is_nullable => 0, original => { default_value => \"now()" }, }, ); __PACKAGE__->set_primary_key("library_id"); __PACKAGE__->add_unique_constraint("library_c1", ["organism_id", "uniquename", "type_id"]); =head1 RELATIONS =head2 cell_line_libraries Type: has_many Related object: L =cut __PACKAGE__->has_many( "cell_line_libraries", "Bio::Chado::Schema::Result::CellLine::CellLineLibrary", { "foreign.library_id" => "self.library_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 organism Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 library_cvterms Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_cvterms", "Bio::Chado::Schema::Result::Library::LibraryCvterm", { "foreign.library_id" => "self.library_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_dbxrefs Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_dbxrefs", "Bio::Chado::Schema::Result::Library::LibraryDbxref", { "foreign.library_id" => "self.library_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_features Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_features", "Bio::Chado::Schema::Result::Library::LibraryFeature", { "foreign.library_id" => "self.library_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 libraryprops Type: has_many Related object: L =cut __PACKAGE__->has_many( "libraryprops", "Bio::Chado::Schema::Result::Library::Libraryprop", { "foreign.library_id" => "self.library_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_pubs", "Bio::Chado::Schema::Result::Library::LibraryPub", { "foreign.library_id" => "self.library_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); =head2 library_synonyms Type: has_many Related object: L =cut __PACKAGE__->has_many( "library_synonyms", "Bio::Chado::Schema::Result::Library::LibrarySynonym", { "foreign.library_id" => "self.library_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fLTH97E8H695k2TFazyY8A # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Library/Libraryprop.pm0000644000175000017500000000550711775633337024174 0ustar robrobpackage Bio::Chado::Schema::Result::Library::Libraryprop; BEGIN { $Bio::Chado::Schema::Result::Library::Libraryprop::AUTHORITY = 'cpan:RBUELS'; } { $Bio::Chado::Schema::Result::Library::Libraryprop::VERSION = '0.20000'; } # Created by DBIx::Class::Schema::Loader # DO NOT MODIFY THE FIRST PART OF THIS FILE use strict; use warnings; use base 'DBIx::Class::Core'; =head1 NAME Bio::Chado::Schema::Result::Library::Libraryprop =cut __PACKAGE__->table("libraryprop"); =head1 ACCESSORS =head2 libraryprop_id data_type: 'integer' is_auto_increment: 1 is_nullable: 0 sequence: 'libraryprop_libraryprop_id_seq' =head2 library_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 type_id data_type: 'integer' is_foreign_key: 1 is_nullable: 0 =head2 value data_type: 'text' is_nullable: 1 =head2 rank data_type: 'integer' default_value: 0 is_nullable: 0 =cut __PACKAGE__->add_columns( "libraryprop_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "libraryprop_libraryprop_id_seq", }, "library_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "type_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, "value", { data_type => "text", is_nullable => 1 }, "rank", { data_type => "integer", default_value => 0, is_nullable => 0 }, ); __PACKAGE__->set_primary_key("libraryprop_id"); __PACKAGE__->add_unique_constraint("libraryprop_c1", ["library_id", "type_id", "rank"]); =head1 RELATIONS =head2 type Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "type", "Bio::Chado::Schema::Result::Cv::Cvterm", { cvterm_id => "type_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 library Type: belongs_to Related object: L =cut __PACKAGE__->belongs_to( "library", "Bio::Chado::Schema::Result::Library::Library", { library_id => "library_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); =head2 libraryprop_pubs Type: has_many Related object: L =cut __PACKAGE__->has_many( "libraryprop_pubs", "Bio::Chado::Schema::Result::Library::LibrarypropPub", { "foreign.libraryprop_id" => "self.libraryprop_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); # Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-03-16 23:09:59 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:4hf4DjJSFGhNEISlMvxVJA # You can replace this text with custom content, and it will be preserved on regeneration 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/Mage.pod0000644000175000017500000000446211775633337021301 0ustar robrobpackage Bio::Chado::Schema::Result::Mage; =head1 NAME Bio::Chado::Schema::Result::Mage - Alternative expression module, based on MAGE model =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado Mage module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/lib/Bio/Chado/Schema/Result/CellLine.pod0000644000175000017500000000207211775633337022112 0ustar robrobpackage Bio::Chado::Schema::Result::CellLine; =head1 NAME Bio::Chado::Schema::Result::CellLine - For describing cell lines =head1 CHADO MODULE Classes in this namespace correspond to tables and views in the Chado CellLine module. =head1 CLASSES These classes are part of the L distribution. Below is a list of classes in this module of Chado. Each of the classes below corresponds to a single Chado table or view. L L L L L L L L L L L =cut 1; Bio-Chado-Schema-0.20000/META.yml0000644000175000017500000001136711775633337014224 0ustar robrob--- abstract: 'A standard DBIx::Class layer for the Chado database schema.' author: - 'Robert Buels ' build_requires: DBD::SQLite: 1.14 FindBin: 0 SQL::Translator: 0.11005 Test::Exception: 0.27 Test::More: 0.87 Test::Warn: 0 configure_requires: ExtUtils::MakeMaker: 6.30 dynamic_config: 0 generated_by: 'Dist::Zilla version 4.300014, CPAN::Meta::Converter version 2.120921' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: Bio-Chado-Schema requires: Bio::PrimarySeq: 0 Bio::Range: 0 Bio::Root::Version: 1.005002 Carp: 0 Carp::Clan: 0 DBIx::Class: 0 DBIx::Class::Core: 0 DBIx::Class::ResultSet: 0 DBIx::Class::Schema: 0 DBIx::Class::Tree::NestedSet: 0.07 base: 0 strict: 0 warnings: 0 resources: bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Bio-Chado-Schema homepage: http://gmod.org/wiki/Bio::Chado::Schema repository: http://github.com/solgenomics/bio-chado-schema version: 0.20000 x_Dist_Zilla: plugins: - class: Dist::Zilla::Plugin::GatherDir name: '@Filter/@Basic/GatherDir' version: 4.300014 - class: Dist::Zilla::Plugin::PruneCruft name: '@Filter/@Basic/PruneCruft' version: 4.300014 - class: Dist::Zilla::Plugin::ManifestSkip name: '@Filter/@Basic/ManifestSkip' version: 4.300014 - class: Dist::Zilla::Plugin::MetaYAML name: '@Filter/@Basic/MetaYAML' version: 4.300014 - class: Dist::Zilla::Plugin::License name: '@Filter/@Basic/License' version: 4.300014 - class: Dist::Zilla::Plugin::ExtraTests name: '@Filter/@Basic/ExtraTests' version: 4.300014 - class: Dist::Zilla::Plugin::ExecDir name: '@Filter/@Basic/ExecDir' version: 4.300014 - class: Dist::Zilla::Plugin::ShareDir name: '@Filter/@Basic/ShareDir' version: 4.300014 - class: Dist::Zilla::Plugin::MakeMaker name: '@Filter/@Basic/MakeMaker' version: 4.300014 - class: Dist::Zilla::Plugin::Manifest name: '@Filter/@Basic/Manifest' version: 4.300014 - class: Dist::Zilla::Plugin::TestRelease name: '@Filter/@Basic/TestRelease' version: 4.300014 - class: Dist::Zilla::Plugin::ConfirmRelease name: '@Filter/@Basic/ConfirmRelease' version: 4.300014 - class: Dist::Zilla::Plugin::UploadToCPAN name: '@Filter/@Basic/UploadToCPAN' version: 4.300014 - class: Dist::Zilla::Plugin::MetaConfig name: '@Filter/MetaConfig' version: 4.300014 - class: Dist::Zilla::Plugin::MetaJSON name: '@Filter/MetaJSON' version: 4.300014 - class: Dist::Zilla::Plugin::PkgVersion name: '@Filter/PkgVersion' version: 4.300014 - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@Filter/PodSyntaxTests' version: 4.300014 - class: Dist::Zilla::Plugin::NoTabsTests name: '@Filter/NoTabsTests' version: 0.01 - class: Dist::Zilla::Plugin::PodCoverageTests name: '@Filter/PodCoverageTests' version: 4.300014 - class: Dist::Zilla::Plugin::MetaResources name: '@Filter/MetaResources' version: 4.300014 - class: Dist::Zilla::Plugin::Authority name: '@Filter/Authority' version: 1.003 - class: Dist::Zilla::Plugin::EOLTests name: '@Filter/EOLTests' version: 0.02 - class: Dist::Zilla::Plugin::AutoPrereqs name: '@Filter/AutoPrereqs' version: 4.300014 - class: Dist::Zilla::Plugin::NextRelease name: '@Filter/NextRelease' version: 4.300014 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: runtime type: requires name: Prereqs version: 4.300014 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: test type: requires name: TestRequires version: 4.300014 - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: 4.300014 - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: 4.300014 - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: 4.300014 - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: 4.300014 - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: 4.300014 - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: 4.300014 zilla: class: Dist::Zilla::Dist::Builder config: is_trial: 0 version: 4.300014 x_authority: cpan:RBUELS Bio-Chado-Schema-0.20000/t/0000755000175000017500000000000011775633337013206 5ustar robrobBio-Chado-Schema-0.20000/t/010_organism.t0000644000175000017500000000161111775633337015571 0ustar robrob#!/usr/bin/perl use strict; use warnings; use FindBin; use lib "$FindBin::RealBin/lib"; use Test::More; use Test::Exception; use Bio::Chado::Schema::Test; my $schema = Bio::Chado::Schema::Test->init_schema(); isa_ok( $schema, 'DBIx::Class::Schema' ); my $organism = $schema->resultset('Organism::Organism'); isa_ok( $organism, 'DBIx::Class::ResultSet' ); lives_ok( sub { $organism ->get_column('organism_id') ->max() }, 'query into organism table lives' ); my $org = $organism->create({ abbreviation => 'T. testii', genus => 'Testus', species => 'testii', common_name => 'Test organism', comment => 'This is a test organism', }); like( $org->organism_id, qr/^\d+$/, 'inserted a new organism' ); is( $org->dbxrefs->count, 0, 'got no dbxrefs' ); is( $org->phylonodes->count, 0, 'got no phylonodes' ); $org->delete; done_testing; Bio-Chado-Schema-0.20000/t/Stock/0000755000175000017500000000000011775633337014271 5ustar robrobBio-Chado-Schema-0.20000/t/Stock/010_stock.t0000644000175000017500000002025311775633337016163 0ustar robrob#!/usr/bin/perl use strict; use warnings; use FindBin; use lib "$FindBin::RealBin/../lib"; use Test::More ; use Test::Exception; use Bio::Chado::Schema::Test; use Bio::Chado::NaturalDiversity::Reports; my $schema = Bio::Chado::Schema::Test->init_schema(); isa_ok( $schema, 'DBIx::Class::Schema' ); my $cvterm_rs = $schema->resultset('Cv::Cvterm'); my $stock_rs = $schema->resultset('Stock::Stock'); my $cvterm_name = 'test stock'; my $cv_name = 'test stock'; my $name = 'test stock_name'; my $uniquename = 'unique ' . $name; $schema->txn_do( sub { #create the cvterm for the stock type my $cvterm = $cvterm_rs->create_with({ name => $cvterm_name, cv => $cv_name }); #now create the stock my $stock = $stock_rs->create( { name => $name, uniquename => $uniquename, type_id => $cvterm->cvterm_id } ); is($stock->name, $name, "stock name test"); is($stock->uniquename, $uniquename, "stock uniquename test"); is($stock->type->name, $cvterm_name, "stock type test"); #create new stockprop my $propname = "stockmprop"; my $value = "value 1"; my $rank = 3; my $href = $stock->create_stockprops({ $propname => $value} , { autocreate => 1, allow_multiple_values => 1 , rank => $rank } ); my $stockprop = $href->{$propname}; is($stockprop->value(), $value, "stockmprop value test"); is($stockprop->rank() , $rank, "stockprop rank test"); # # create stockprop with a literal-sql value $propname = "date stockmprop"; $rank = 1; throws_ok { $href = $stock->create_stockprops({ $propname => \"'ack'"} , { autocreate => 1, allow_multiple_values => 1 , rank => $rank } ); } qr/allow_duplicate_values/, 'allow_duplicate_values required for prop setting with literal sql'; $href = $stock->create_stockprops({ $propname => \"'ack'"} , { autocreate => 1, allow_multiple_values => 1 , rank => $rank, allow_duplicate_values => 1 } ) ; $stockprop = $href->{$propname}; is($stockprop->value(), 'ack', "stockmprop value test"); is($stockprop->rank() , $rank, "stockprop rank test"); #test stock_phenotypes_rs #store cvterm id for the observable my $obs_name = 'observable term'; my $obs_cv_name = 'observable_cv'; my $obs_db_name = 'OBS'; my $obs_dbxref_acc = '0000001'; my $observable = $cvterm_rs->create_with( { name => $obs_name, cv => $obs_cv_name, db => $obs_db_name, dbxref => $obs_dbxref_acc, }); #store a phenotype my $phen_value = 'phenotype value'; my $phenotype = $observable->find_or_create_related('phenotype_observables', { uniquename => 'unique phenotype name', value => $phen_value, } ); #link the phenotype to the stock ###store a new nd_experiment. One experiment per stock my $geo_description = 'geo description' ; my $geolocation = $schema->resultset("NaturalDiversity::NdGeolocation")->find_or_create( { description => $geo_description } ); my $pheno_cvterm = $schema->resultset('Cv::Cvterm')->create_with( { name => 'phenotyping experiment', cv => 'experiment type', db => 'null', dbxref => 'phenotyping experiment', }); my $experiment = $schema->resultset('NaturalDiversity::NdExperiment')->create( { nd_geolocation_id => $geolocation->nd_geolocation_id(), type_id => $pheno_cvterm->cvterm_id(), } ); #link to the project my $project_name = 'My project name'; my $project = $schema->resultset("Project::Project")->find_or_create( { name => $project_name, description => $project_name, } ); $experiment->find_or_create_related('nd_experiment_projects', { project_id => $project->project_id } ); #link the experiment to the stock $experiment->find_or_create_related('nd_experiment_stocks' , { stock_id => $stock->stock_id, type_id => $pheno_cvterm->cvterm_id, }); # link the phenotype with the experiment my $nd_experiment_phenotype = $experiment->find_or_create_related('nd_experiment_phenotypes', { phenotype_id => $phenotype->phenotype_id } ); # store the unit for the measurement in phenotype_cvterm my $unit_name = 'unit name'; my $unit_cvterm = $schema->resultset('Cv::Cvterm')->create_with( { name => $unit_name }); $phenotype->find_or_create_related("phenotype_cvterms" , { cvterm_id => $unit_cvterm->cvterm_id } ) ; my $stock_resultset = $stock_rs->search( { stock_id => $stock->stock_id } ); my $stock_phenotype_rs = $schema->resultset("Stock::Stock")->stock_phenotypes_rs($stock_resultset) ; my $r = $stock_phenotype_rs->next; is($r->get_column('stock_id') , $stock->stock_id, "stock_id test"); is($r->get_column('value'), $phen_value, "phenotpye value test"); is($r->get_column('observable'), $obs_name, "observable cvterm name test"); is($r->get_column('observable_id'), $observable->cvterm_id, "observable cvterm id test"); is($r->get_column('unit_name'), $unit_name, "unit name test"); is($r->get_column('accession'), $obs_dbxref_acc, "dbxref accession test"); is($r->get_column('db_name'), $obs_db_name, "db name test"); is($r->get_column('project_description'), $project_name, "project description test"); # test the recursive function #create first some stock relationships my $parent_stock = $stock_rs->create( { name => "parent of $name", uniquename => "parent of $uniquename", type_id => $cvterm->cvterm_id #a test stock } ); my $parent_of = $cvterm_rs->create_with( { name => 'parent_of' }); $parent_stock->find_or_create_related('stock_relationship_objects', { type_id => $parent_of->cvterm_id, subject_id => $stock->stock_id, } ); my $grandparent_stock = $stock_rs->create( { name => "grandparent of $name", uniquename => "grandparent of $uniquename", type_id => $cvterm->cvterm_id } ); $grandparent_stock->find_or_create_related('stock_relationship_objects', { type_id => $parent_of->cvterm_id, subject_id => $parent_stock->stock_id, } ); my $test_stock_rs = $stock_rs->search( { stock_id => $grandparent_stock->stock_id } ) ; my $results = $schema->resultset("Stock::Stock")->recursive_phenotypes_rs($test_stock_rs, []); ok(scalar(@$results) > 0 , "Got recursive phenotypes test"); foreach my $phen_rs (@$results) { while (my $phen = $phen_rs->next) { is($phen->get_column('stock_id') , $stock->stock_id, "stock_id test"); is($phen->get_column('value'), $phen_value, "phenotpye value test"); is($phen->get_column('observable'), $obs_name, "observable cvterm name test"); is($phen->get_column('observable_id'), $observable->cvterm_id, "observable cvterm id test"); is($phen->get_column('unit_name'), $unit_name, "unit name test"); is($phen->get_column('accession'), $obs_dbxref_acc, "dbxref accession test"); is($phen->get_column('db_name'), $obs_db_name, "db name test"); is($phen->get_column('project_description'), $project_name, "project description test"); } } $results = $schema->resultset("Stock::Stock")->recursive_phenotypes_rs($test_stock_rs, []); my $report = Bio::Chado::NaturalDiversity::Reports->new; my $d = $report->phenotypes_by_trait($results); like($d, qr/$obs_name/, 'NaturalDiversity::Reports phenotypes_by_trait test'); done_testing; } ); Bio-Chado-Schema-0.20000/t/001_basics.t0000644000175000017500000000036311775633337015221 0ustar robrob#!/usr/bin/perl use strict; use warnings; use FindBin; use Test::More tests => 1; use lib "$FindBin::RealBin/lib"; use Bio::Chado::Schema::Test; my $schema = Bio::Chado::Schema::Test->init_schema(); isa_ok( $schema, 'DBIx::Class::Schema' ); Bio-Chado-Schema-0.20000/t/release-no-tabs.t0000644000175000017500000000045011775633337016353 0ustar robrob BEGIN { unless ($ENV{RELEASE_TESTING}) { require Test::More; Test::More::plan(skip_all => 'these tests are for release candidate testing'); } } use strict; use warnings; use Test::More; eval 'use Test::NoTabs'; plan skip_all => 'Test::NoTabs required' if $@; all_perl_files_ok(); Bio-Chado-Schema-0.20000/t/release-pod-syntax.t0000644000175000017500000000045011775633337017116 0ustar robrob#!perl BEGIN { unless ($ENV{RELEASE_TESTING}) { require Test::More; Test::More::plan(skip_all => 'these tests are for release candidate testing'); } } use Test::More; eval "use Test::Pod 1.41"; plan skip_all => "Test::Pod 1.41 required for testing POD" if $@; all_pod_files_ok(); Bio-Chado-Schema-0.20000/t/Cv/0000755000175000017500000000000011775633337013556 5ustar robrobBio-Chado-Schema-0.20000/t/Cv/010_cvterm.t0000644000175000017500000001442511775633337015631 0ustar robrob#!/usr/bin/perl use strict; use warnings; use FindBin; use lib "$FindBin::RealBin/../lib"; use Test::More tests => 27; use Test::Exception; use Bio::Chado::Schema::Test; my $schema = Bio::Chado::Schema::Test->init_schema(); my $cvterm_rs = $schema->resultset('Cv::Cvterm'); my $name = 'test cvterm_name'; my $cvname = 'test cv_name'; $schema->txn_do(sub { my $cvterm = $cvterm_rs->create_with({ name => $name, cv => $cvname }); is( $cvterm->name, $name, 'cvterm_name test' ); is( $cvterm->cv->name, $cvname, 'cv_name test'); is( $cvterm->dbxref->accession, 'autocreated:' . $name, 'dbxref autocreated accession test' ); is( $cvterm->dbxref->db->name, 'null', 'db name autocreated test' ); #now add a synonym my $synonym='test synonym'; my $type='exact'; my $cvtermsynonym= $cvterm->add_synonym($synonym, { synonym_type=>$type, autocreate=>1 }); is($cvtermsynonym->synonym, $synonym, "synonym test"); is($cvtermsynonym->cvterm->name, $name, "synonym type test"); is($cvtermsynonym->type->cv->name, 'synonym_type', "synonym cv name test"); is($cvtermsynonym->type->dbxref->accession, $type, "synonym dbxref accession test"); #try to store the same synonym - should pass since new synonyms are created after passing ##search_related with type_id and case-insensitive value my $existing_s = $cvterm->add_synonym($synonym, { synonym_type=>$type, autocreate=>1 }); is($cvtermsynonym->cvtermsynonym_id() , $existing_s->cvtermsynonym_id(), "Existing synonym test"); ##delete the synonym $cvterm->delete_synonym($synonym); is($cvterm->search_related('cvtermsynonyms', {synonym=>$synonym } )->count , 0, "deleted synonym test"); #add a secondary dbxref my $sec_db = 'SEC'; my $sec_acc= '1234'; $cvterm->add_secondary_dbxref($sec_db.":".$sec_acc); my ($cvterm_dbxref)= $cvterm->get_secondary_dbxrefs; my ($re_db, $re_acc) = split( ":" , $cvterm_dbxref); is($re_db, $sec_db, "secondary dbxref db name test"); is($re_acc, $sec_acc, "secondary dbxref accession test"); #and delete the secondary dbxref $cvterm->delete_secondary_dbxref($sec_db.":".$sec_acc); ($cvterm_dbxref)= $cvterm->get_secondary_dbxrefs; is($cvterm_dbxref, undef, "deleted secondary dbxref test"); is($cvterm->search_related('cvterm_dbxrefs' )->count , 0, "deleted cvterm_dbxref test"); #create new cvtermprop my $propname = "cvtermprop"; my $value = "value 1"; my $rank = 3; my $href = $cvterm->create_cvtermprops({ $propname => $value} , { autocreate => 1, allow_multiple_values => 1 , rank => $rank } ); my $cvtermprop = $href->{$propname}; is($cvtermprop->value(), $value, "cvtermprop value test"); is($cvtermprop->rank() , $rank, "cvtermprop rank test"); # #add another term my $child_name = 'test child term'; my $child_term = $cvterm_rs->create_with({ name => $child_name, cv => $cvname }); my $is_a = $cvterm_rs->create_with( { name => 'IS_A' , cv => 'relationship'} ); $is_a->is_relationshiptype(1); $is_a->update; # create cvterm_relationship $cvterm->create_related('cvterm_relationship_objects', { subject_id => $child_term->cvterm_id, type_id => $is_a->cvterm_id, } ); # populate cvtermpath $child_term->create_related('cvtermpath_subjects', { object_id => $cvterm->cvterm_id, type_id => $is_a->cvterm_id, cv_id => $cvterm->cv_id, pathdistance => 1 }); $cvterm->create_related('cvtermpath_subjects' , { object_id => $child_term->cvterm_id, type_id => $is_a->cvterm_id, cv_id => $cvterm->cv_id, pathdistance => -1 } ); #and add a child to the child term my $grandchild_name = 'test grandchild term'; my $grandchild_term = $cvterm_rs->create_with({ name => $grandchild_name, cv => $cvname }); # create cvterm_relationship $child_term->create_related('cvterm_relationship_objects', { subject_id => $grandchild_term->cvterm_id, type_id => $is_a->cvterm_id, } ); # populate cvtermpath $grandchild_term->create_related('cvtermpath_subjects', { object_id => $child_term->cvterm_id, type_id => $is_a->cvterm_id, cv_id => $cvterm->cv_id, pathdistance => 1 }); ######### $grandchild_term->create_related('cvtermpath_subjects', { object_id => $cvterm->cvterm_id, type_id => $is_a->cvterm_id, cv_id => $cvterm->cv_id, pathdistance => 2 }); ######### $child_term->create_related('cvtermpath_subjects', { object_id => $grandchild_term->cvterm_id, type_id => $is_a->cvterm_id, cv_id => $cvterm->cv_id, pathdistance => -1 }); #find the root. my $root_name = $name; my $root = $grandchild_term->root(); is($root->name , $root_name , "cvterm find root test"); #find children my $children_rs = $cvterm->children; my $child1 = $children_rs->first->find_related('subject', {}); is ($child1->name , $child_name , 'cvterm find children test'); is(scalar($children_rs->all) , 1 , 'Number of children test'); # now using the cvtermpath my $direct_children = $cvterm->direct_children; is ($direct_children->first->name , $child_name , 'cvterm direct_children test'); is(scalar($direct_children->all) , 1 , 'number of direct children'); # find parents my $parents_rs = $child_term->parents; my $parent1 = $parents_rs->first->find_related('object' , {} ); is ($parent1->name , $name, 'cvterm find parents test'); is(scalar($parents_rs->all) , 1, 'Number of parents'); # now using the cvtermpath my $direct_parents = $child_term->direct_parents; is ($direct_parents->first->name , $name , 'cvterm direct_parents test'); is(scalar($direct_parents->all), 1, 'Number of direct parents'); #find recursive children my @children = $cvterm->recursive_children->all; foreach my $ch (@children) { print "child =" . $ch->name . "\n"; } is(scalar(@children) , 2, 'recursive_children test' ); #find recursive parents my @parents = $grandchild_term->recursive_parents->all; foreach my $p (@parents ) { print "parent = " . $p->name . "\n"; } is(scalar(@parents) , 2, 'recursive_parents test'); $schema->txn_rollback; }); Bio-Chado-Schema-0.20000/t/Sequence/0000755000175000017500000000000011775633337014756 5ustar robrobBio-Chado-Schema-0.20000/t/Sequence/010_feature.t0000644000175000017500000001710711775633337017164 0ustar robrob#!/usr/bin/perl use strict; use warnings; use FindBin; use lib "$FindBin::RealBin/../lib"; use Test::More tests => 37; use Test::Exception; use Test::Warn; use Bio::Chado::Schema::Test; my $schema = Bio::Chado::Schema::Test->init_schema(); my $sf = $schema->resultset('Sequence::Feature'); isa_ok( $sf, 'DBIx::Class::ResultSet' ); $schema->txn_do(sub{ # try a joined query through one of the longer has_many rels lives_ok { $sf->search_related('feature_relationship_objects')->count; } 'join through a long has_many name does not die'; $schema->txn_rollback; }); $schema->txn_do(sub{ # insert a feature with some sequence my $cvterm = $schema->resultset('Cv::Cvterm') ->create_with({ name => 'tester', cv => 'testing cv', db => 'fake db', dbxref => 'fake accession', }); my $large_seq_type = $schema->resultset('Cv::Cvterm') ->create_with({ name => 'large_residues', cv => 'testing cv', db => 'fake db', dbxref => 'fake large_residues accession', }); my $test_seq = 'ACTAGCATCATGCCGCTAGCTAATATGCTG'; my $grandpa = $schema->resultset('Sequence::Feature') ->find_or_create({ residues => $test_seq, seqlen => length( $test_seq ), name => 'BCS_grandpa', uniquename => 'BCS_pappy', type => $cvterm, organism_id=> 4, }); is( $grandpa->subseq( 3, 5 ), 'TAG', 'subseq on regular residues works' ); is( $grandpa->trunc( 3, 5 )->seq, 'TAG', 'trunc on regular residues works' ); my $parent = $schema->resultset('Sequence::Feature') ->find_or_create({ seqlen => length( $test_seq ), name => 'BCS_stuff_parent', uniquename => 'BCS_foo', type => $cvterm, organism_id=> 4, }); $parent->find_or_create_related( 'featureprops', { type => $large_seq_type, value => $test_seq, }, ); is( $parent->alphabet, 'dna', 'got right alphabet' ); is( $parent->subseq( 3, 5 ), 'TAG', 'subseq on large_residues prop works' ); is( $parent->trunc( 3, 5 )->seq, 'TAG', 'subseq on large_residues prop works' ); is( $parent->trunc( 3, 5 )->id, $parent->name, 'subseq on large_residues has proper name' ); my $child = $schema->resultset('Sequence::Feature') ->find_or_create({ residues => $test_seq, seqlen => length( $test_seq ), name => 'BCS_stuff_child', uniquename => 'BCS_foo2', type => $cvterm, organism_id=> 4, }); my $stepchild = $schema->resultset('Sequence::Feature') ->find_or_create({ residues => $test_seq, seqlen => length( $test_seq ), name => 'BCS_stepchild', uniquename => 'BCS_step', type => $cvterm, organism_id=> 4, }); lives_ok(sub { $parent->add_to_child_features( $stepchild, { type => $stepchild->type }) }, 'add_to_child_features'); lives_ok(sub { $parent->add_to_parent_features( $grandpa, { type => $grandpa->type }) }, 'add_to_parent_features'); $parent->create_related( 'feature_relationship_subjects', { object_id => $parent->feature_id, subject_id => $child->feature_id, type => $parent->type, }); $schema->resultset('Organism::Organism') ->find_or_create({ genus => 'test', species => 'testus' }) ->create_related( 'features', { residues => $test_seq, seqlen => length( $test_seq ), name => 'BCS_test_seq_deleteme', uniquename => 'BCS_test_seq_deleteme', type => $cvterm, }); # find a feature with some sequence. might be the one we just # inserted. my $feature = $sf->search({ 'residues' => {'!=', undef}, 'seqlen' => {'!=', undef}, 'name' => {'!=', 'BSC_stuff'}, }, { 'rows' => 1 })->single; # test some Bio::SeqI methods for it for ( [qw[ length seqlen ]], [qw[ id name ]], [qw[ primary_id name ]], [qw[ residues seq ]], ) { my ($m1,$m2) = @$_; is( $feature->$m1, $feature->$m2, "$m1() returns same thing as $m2()" ); } can_ok($feature,'child_features'); can_ok($feature,'parent_features'); can_ok($feature,'child_relationships'); can_ok($feature,'parent_relationships'); my (@children_rels) = $parent->child_relationships; my (@parents_rels) = $parent->parent_relationships; isa_ok($children_rels[0], 'Bio::Chado::Schema::Result::Sequence::FeatureRelationship'); isa_ok($parents_rels[0], 'Bio::Chado::Schema::Result::Sequence::FeatureRelationship'); isnt($parent->feature_id, $child->feature_id, 'child and parent are different'); my (@children) = $parent->child_features; my (@parents) = $child->parent_features; is(scalar @children, 2, "the parent feature has two child features"); is(scalar @parents, 1, "the child feature has one parent feature"); my (@grandparents) = $parent->parent_features; my (@grandkids) = $child->child_features; is(scalar @grandparents, 1, "the parent feature has one parent feature"); is(scalar @grandkids, 0, "the child feature has no child feature"); isa_ok($children[0], 'Bio::Chado::Schema::Result::Sequence::Feature'); isa_ok($parents[0], 'Bio::Chado::Schema::Result::Sequence::Feature'); is_deeply( [ map { $_->name } @children ], [ 'BCS_stepchild', 'BCS_stuff_child' ], 'child feature_id is correct' ); is_deeply( [ map { $_->name } @parents ], [ 'BCS_stuff_parent' ], 'parent feature_id is correct' ); #test some featureloc stuff my $featureloc = $schema->resultset('Sequence::Featureloc') ->create({ srcfeature => $grandpa, feature => $parent, fmin => 20, fmax => 28, strand => 1, }); is( $featureloc->length, 8, 'got right featureloc length' ); is( $featureloc->to_range->start, 21, 'featureloc to_range start' ); is( $featureloc->to_range->end, 28, 'featureloc to_range end' ); is( $featureloc->to_range->strand, 1, 'featureloc to_range strand' ); # test the synonyms many-to-many is( scalar( $feature->synonyms ), 0, 'synonyms mm rel works' ); # insert a feature with no seqlen or residues { my $no_seq = $schema->resultset('Sequence::Feature') ->create({ name => 'mostly_blank', uniquename => 'mostly_blank', organism_id => 4, type => $cvterm, }); is( $no_seq->subseq(1,0), undef, 'undef for strange subseq on a feature with no residues' ); is( $no_seq->subseq(1,1), undef, 'slightly different subseq args' ); is( $no_seq->seqlen, undef, 'undef on seqlen for this also' ); } $schema->txn_rollback; }); Bio-Chado-Schema-0.20000/t/Sequence/synonym.t0000644000175000017500000000161111775633337016656 0ustar robrob#!/usr/bin/perl use strict; use warnings; use FindBin; use lib "$FindBin::RealBin/../lib"; use Test::More tests => 2; use Test::Exception; use Bio::Chado::Schema::Test; my $schema = Bio::Chado::Schema::Test->init_schema(); my $syn_table = $schema->resultset('Sequence::Synonym'); isa_ok( $syn_table, 'DBIx::Class::ResultSet' ); $schema->txn_do(sub{ # insert a feature with some sequence my $cvterm = $schema->resultset('Cv::Cvterm') ->create_with({ name => 'tester', cv => 'testing cv', db => 'fake db', dbxref => 'fake accession', }); my $synonym = $syn_table->create({ name => 'foo', type => $cvterm, synonym_sgml => 'foo', }); is( scalar( $synonym->features ), 0, 'feature mm works, returns 0' ); $schema->txn_rollback; }); Bio-Chado-Schema-0.20000/t/lib/0000755000175000017500000000000011775633337013754 5ustar robrobBio-Chado-Schema-0.20000/t/lib/sqlite.sql0000644000175000017500000000003211775633337015771 0ustar robrob-- -- Put stuff here -- ; Bio-Chado-Schema-0.20000/t/plugins.t0000644000175000017500000000072611775633337015061 0ustar robrobuse strict; use warnings; use Test::More; use lib 't/plugins_test'; use Bio::Chado::Schema; my $schema = Bio::Chado::Schema->connect('dbi:SQLite::memory:'); isa_ok( $schema, 'DBIx::Class::Schema' ); $schema->deploy; ok 1, 'deployed OK'; is $schema->resultset('MyPlugin::Foo')->count, 0, 'got MyPlugin::Foo resultset, no rows'; is $schema->resultset('Organism::Organism')->search_related('myplugin_foos')->count, 0, 'successfully injected rel'; done_testing; Bio-Chado-Schema-0.20000/t/release-pod-coverage.t0000644000175000017500000000076511775633337017374 0ustar robrob#!perl BEGIN { unless ($ENV{RELEASE_TESTING}) { require Test::More; Test::More::plan(skip_all => 'these tests are for release candidate testing'); } } use Test::More; eval "use Test::Pod::Coverage 1.08"; plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage" if $@; eval "use Pod::Coverage::TrustPod"; plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage" if $@; all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); Bio-Chado-Schema-0.20000/t/Phylogeny/0000755000175000017500000000000011775633337015164 5ustar robrobBio-Chado-Schema-0.20000/t/Phylogeny/phylonode.t0000644000175000017500000000327511775633337017361 0ustar robrob#!/usr/bin/perl use strict; use warnings; use FindBin; use lib "$FindBin::RealBin/../lib"; use Test::More; use Bio::Chado::Schema::Test; # shorthand for writing left and right indices sub lr($$) { left_idx => shift, right_idx => shift } my $schema = Bio::Chado::Schema::Test->init_schema(); my $phylotree_rs = $schema->resultset('Phylogeny::Phylotree'); my $phylonodes_rs = $schema->resultset('Phylogeny::Phylonode'); $phylonodes_rs->delete; $schema->txn_do(sub { my $test_tree = [ 1, 20, [ 2, 19, [ 3, 10, [4,5], [6,7], [8,9], ], [ 11, 12 ], [ 13, 18, [ 14, 15 ], [ 16, 17 ], ], ], ]; my $phylotree = $phylotree_rs->create({ name => 'FakeTree', dbxref => { db => { name => 'null' }, accession => 'FakeTree' }, }); _load_tree( $phylotree, $test_tree ); }); is( $phylonodes_rs->count, 10, '10 phylonodes loaded' ); my $whole_tree = $phylonodes_rs->search({},{ order_by => 'phylonode_id', rows => 1 }) ->single ->descendants; is( $whole_tree->count, 9, 'all_children called on root phylonode gives all the phylonodes below the root' ); ################# sub _load_tree { my ( $tree, $data, $parent ) = @_; my %new_node; ( @new_node{'left_idx','right_idx'}, my @children ) = @$data; $new_node{parent_phylonode_id} = $parent->phylonode_id if $parent; my $child = $tree->add_to_phylonodes( \%new_node ); _load_tree( $tree, $_, $child ) for @children; } done_testing; Bio-Chado-Schema-0.20000/t/release-eol.t0000644000175000017500000000047611775633337015577 0ustar robrob BEGIN { unless ($ENV{RELEASE_TESTING}) { require Test::More; Test::More::plan(skip_all => 'these tests are for release candidate testing'); } } use strict; use warnings; use Test::More; eval 'use Test::EOL'; plan skip_all => 'Test::EOL required' if $@; all_perl_files_ok({ trailing_whitespace => 1 }); Bio-Chado-Schema-0.20000/t/get_cvterm.t0000644000175000017500000000162611775633337015537 0ustar robrobuse strict; use warnings; use FindBin; use Test::More tests => 5; use Test::Exception; use lib "$FindBin::RealBin/lib"; use Bio::Chado::Schema::Test; my $schema = Bio::Chado::Schema::Test->init_schema(); isa_ok( $schema, 'DBIx::Class::Schema' ); is $schema->get_cvterm('nonexistent:thingy'), undef, 'got undef for nonexistent cvterm'; throws_ok { $schema->get_cvterm_or_die('nonexistent','thing') } qr/nonexistent thing not found/i, 'get_cvterm_or_die dies for nonexistent cvterm'; my $cvterm = $schema->resultset('Cv::Cvterm') ->create_with({ name => 'tester', cv => 'testing cv', db => 'fake db', dbxref => 'fake accession', }); is $schema->get_cvterm('testing cv:tester')->name, 'tester', 'got the cvterm'; is $schema->get_cvterm_or_die('testing cv','tester')->name, 'tester', 'got the cvterm here also'; Bio-Chado-Schema-0.20000/t/plugins_test/0000755000175000017500000000000011775633337015726 5ustar robrobBio-Chado-Schema-0.20000/t/plugins_test/Bio/0000755000175000017500000000000011775633337016437 5ustar robrobBio-Chado-Schema-0.20000/t/plugins_test/Bio/Chado/0000755000175000017500000000000011775633337017455 5ustar robrobBio-Chado-Schema-0.20000/t/plugins_test/Bio/Chado/Schema/0000755000175000017500000000000011775633337020655 5ustar robrobBio-Chado-Schema-0.20000/t/plugins_test/Bio/Chado/Schema/Result/0000755000175000017500000000000011775633337022133 5ustar robrobBio-Chado-Schema-0.20000/t/plugins_test/Bio/Chado/Schema/Result/MyPlugin/0000755000175000017500000000000011775633337023677 5ustar robrobBio-Chado-Schema-0.20000/t/plugins_test/Bio/Chado/Schema/Result/MyPlugin/Foo.pm0000644000175000017500000000201011775633337024751 0ustar robrobpackage Bio::Chado::Schema::Result::MyPlugin::Foo; use strict; use warnings; use base 'DBIx::Class::Core'; __PACKAGE__->table("myapp_foo"); __PACKAGE__->add_columns( "myapp_foo_id", { data_type => "integer", is_auto_increment => 1, is_nullable => 0, sequence => "myapp_foo_myapp_foo_id_seq", }, "organism_id", { data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, ); __PACKAGE__->set_primary_key( "myapp_foo_id" ); __PACKAGE__->belongs_to( "organism", "Bio::Chado::Schema::Result::Organism::Organism", { organism_id => "organism_id" }, { cascade_copy => 0, cascade_delete => 0, is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE", }, ); Bio::Chado::Schema->plugin_add_relationship( 'Organism::Organism' => 'has_many', "myplugin_foos", "Bio::Chado::Schema::Result::MyPlugin::Foo", { "foreign.organism_id" => "self.organism_id" }, { cascade_copy => 0, cascade_delete => 0 }, ); 1; Bio-Chado-Schema-0.20000/dist.ini0000644000175000017500000000122711775633337014411 0ustar robrobname = Bio-Chado-Schema author = Robert Buels license = Perl_5 version = 0.20000 copyright_holder = Robert Buels copyright_year = 2011 [@Filter] -bundle = @RBUELS -remove = Readme -remove = PodWeaver dist = Bio-Chado-Schema repository = http://github.com/solgenomics/bio-chado-schema repository_at = github repository_type = git homepage_url = http://gmod.org/wiki/Bio::Chado::Schema [Prereqs] ;; note: most prereqs will be autodiscovered Bio::Root::Version = 1.005002 DBIx::Class::Tree::NestedSet = 0.07 [Prereqs / TestRequires] DBD::SQLite = 1.14 Test::Exception = 0.27 Test::More = 0.87 SQL::Translator = 0.11005 Bio-Chado-Schema-0.20000/META.json0000644000175000017500000001665011775633337014374 0ustar robrob{ "abstract" : "A standard DBIx::Class layer for the Chado database schema.", "author" : [ "Robert Buels " ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 4.300014, CPAN::Meta::Converter version 2.120921", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "Bio-Chado-Schema", "prereqs" : { "configure" : { "requires" : { "ExtUtils::MakeMaker" : "6.30" } }, "runtime" : { "requires" : { "Bio::PrimarySeq" : "0", "Bio::Range" : "0", "Bio::Root::Version" : "1.005002", "Carp" : "0", "Carp::Clan" : "0", "DBIx::Class" : "0", "DBIx::Class::Core" : "0", "DBIx::Class::ResultSet" : "0", "DBIx::Class::Schema" : "0", "DBIx::Class::Tree::NestedSet" : "0.07", "base" : "0", "strict" : "0", "warnings" : "0" } }, "test" : { "requires" : { "DBD::SQLite" : "1.14", "FindBin" : "0", "SQL::Translator" : "0.11005", "Test::Exception" : "0.27", "Test::More" : "0.87", "Test::Warn" : "0" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { "mailto" : "bug-Bio-Chado-Schema@rt.cpan.org", "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Bio-Chado-Schema" }, "homepage" : "http://gmod.org/wiki/Bio::Chado::Schema", "repository" : { "type" : "git", "url" : "http://github.com/solgenomics/bio-chado-schema", "web" : "http://github.com/rbuels/bio-chado-schema" } }, "version" : "0.20000", "x_Dist_Zilla" : { "plugins" : [ { "class" : "Dist::Zilla::Plugin::GatherDir", "name" : "@Filter/@Basic/GatherDir", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@Filter/@Basic/PruneCruft", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@Filter/@Basic/ManifestSkip", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@Filter/@Basic/MetaYAML", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@Filter/@Basic/License", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::ExtraTests", "name" : "@Filter/@Basic/ExtraTests", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::ExecDir", "name" : "@Filter/@Basic/ExecDir", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::ShareDir", "name" : "@Filter/@Basic/ShareDir", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::MakeMaker", "name" : "@Filter/@Basic/MakeMaker", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@Filter/@Basic/Manifest", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@Filter/@Basic/TestRelease", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@Filter/@Basic/ConfirmRelease", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@Filter/@Basic/UploadToCPAN", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@Filter/MetaConfig", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@Filter/MetaJSON", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::PkgVersion", "name" : "@Filter/PkgVersion", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@Filter/PodSyntaxTests", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::NoTabsTests", "name" : "@Filter/NoTabsTests", "version" : "0.01" }, { "class" : "Dist::Zilla::Plugin::PodCoverageTests", "name" : "@Filter/PodCoverageTests", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::MetaResources", "name" : "@Filter/MetaResources", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::Authority", "name" : "@Filter/Authority", "version" : "1.003" }, { "class" : "Dist::Zilla::Plugin::EOLTests", "name" : "@Filter/EOLTests", "version" : "0.02" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@Filter/AutoPrereqs", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@Filter/NextRelease", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "runtime", "type" : "requires" } }, "name" : "Prereqs", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "test", "type" : "requires" } }, "name" : "TestRequires", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "4.300014" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "4.300014" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : "0" }, "version" : "4.300014" } }, "x_authority" : "cpan:RBUELS" } Bio-Chado-Schema-0.20000/doc/0000755000175000017500000000000011775633337013510 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/0000755000175000017500000000000011775633337014773 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/0000755000175000017500000000000011775633337016126 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/plugin/0000755000175000017500000000000011775633337017424 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/plugin/template/0000755000175000017500000000000011775633337021237 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/plugin/template/ttc/0000755000175000017500000000000011775633337022031 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/plugin/template/ttc/slides/0000755000175000017500000000000011775633337023314 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/plugin/template/ttc/slides/template/0000755000175000017500000000000011775633337025127 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/plugin/template/ttc/slides/template/s5/0000755000175000017500000000000011775633337025456 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/plugin/template/ttc/slides/template/s5/s5.html.ttc0000600000175000017500000001156111775633337027460 0ustar robrobuse utf8; #------------------------------------------------------------------------ # Compiled template generated by the Template Toolkit version 2.22 #------------------------------------------------------------------------ Template::Document->new({ METADATA => { 'modtime' => '1299423019', 'name' => 's5.html', }, BLOCK => sub { my $context = shift || die "template sub called without context\n"; my $stash = $context->stash; my $output = ''; my $_tt_error; eval { BLOCK: { $output .= "\n\n\n\nget('character_encoding'); $output .= "\">\n"; #line 7 "slides/template/s5/s5.html" $output .= $stash->get('presentation_topic'); $output .= "\n\n\nget('author_name'); $output .= "\" />\n\n\n\n"; #line 16 "slides/template/s5/s5.html" # FOREACH do { my ($_tt_value, $_tt_error, $_tt_oldloop); my $_tt_list = $stash->get(['hub', 0, 'css', 0, 'files', 0]); unless (UNIVERSAL::isa($_tt_list, 'Template::Iterator')) { $_tt_list = Template::Config->iterator($_tt_list) || die $Template::Config::ERROR, "\n"; } ($_tt_value, $_tt_error) = $_tt_list->get_first(); eval { $_tt_oldloop = $stash->get('loop') }; $stash->set('loop', $_tt_list); eval { FOR1: while (! $_tt_error) { $stash->{'css_file'} = $_tt_value; $output .= " get('css_file'); $output .= "\" />\n";; ($_tt_value, $_tt_error) = $_tt_list->get_next(); } }; $stash->set('loop', $_tt_oldloop); die $@ if $@; $_tt_error = 0 if $_tt_error && $_tt_error eq Template::Constants::STATUS_DONE; die $_tt_error if $_tt_error; }; $output .= "\n\n\n\n
\n
\n
\n
\n

"; #line 25 "slides/template/s5/s5.html" $output .= $stash->get('author_name'); $output .= "

\n

"; #line 26 "slides/template/s5/s5.html" $output .= $stash->get('author_email'); $output .= "

\n
\n
\n
\n\n
\n

"; #line 32 "slides/template/s5/s5.html" $output .= $stash->get('presentation_title'); $output .= "

\n

"; #line 33 "slides/template/s5/s5.html" $output .= $stash->get('presentation_place'); $output .= "

\n

"; #line 34 "slides/template/s5/s5.html" $output .= $stash->get('presentation_date'); $output .= "

\n
\n\n"; #line 39 "slides/template/s5/s5.html" # FOREACH do { my ($_tt_value, $_tt_error, $_tt_oldloop); my $_tt_list = $stash->get('slides'); unless (UNIVERSAL::isa($_tt_list, 'Template::Iterator')) { $_tt_list = Template::Config->iterator($_tt_list) || die $Template::Config::ERROR, "\n"; } ($_tt_value, $_tt_error) = $_tt_list->get_first(); eval { $_tt_oldloop = $stash->get('loop') }; $stash->set('loop', $_tt_list); eval { FOR1: while (! $_tt_error) { $stash->{'s'} = $_tt_value; $output .= "\n"; #line 38 "slides/template/s5/s5.html" $output .= $stash->get('s'); $output .= "\n";; ($_tt_value, $_tt_error) = $_tt_list->get_next(); } }; $stash->set('loop', $_tt_oldloop); die $@ if $@; $_tt_error = 0 if $_tt_error && $_tt_error eq Template::Constants::STATUS_DONE; die $_tt_error if $_tt_error; }; $output .= "\n\n\n\n"; } }; if ($@) { $_tt_error = $context->catch($@, \$output); die $_tt_error unless $_tt_error->type eq 'return'; } return $output; }, DEFBLOCKS => { }, }); Bio-Chado-Schema-0.20000/doc/slides/intro/plugin/template/ttc/slides/template/s5/slide.html.ttc0000600000175000017500000000231511775633337030226 0ustar robrobuse utf8; #------------------------------------------------------------------------ # Compiled template generated by the Template Toolkit version 2.22 #------------------------------------------------------------------------ Template::Document->new({ METADATA => { 'modtime' => '1299423019', 'name' => 'slide.html', }, BLOCK => sub { my $context = shift || die "template sub called without context\n"; my $stash = $context->stash; my $output = ''; my $_tt_error; eval { BLOCK: { $output .= "\n
\n"; #line 3 "slides/template/s5/slide.html" $output .= $stash->get('image_html'); $output .= "\n"; #line 4 "slides/template/s5/slide.html" $output .= $stash->get('slide_content'); #line 7 "slides/template/s5/slide.html" if (!($stash->get('last'))) { $output .= "continued...\n"; } $output .= "\n
\n\n"; } }; if ($@) { $_tt_error = $context->catch($@, \$output); die $_tt_error unless $_tt_error->type eq 'return'; } return $output; }, DEFBLOCKS => { }, }); Bio-Chado-Schema-0.20000/doc/slides/intro/Spork.slides0000644000175000017500000001413611775633337020436 0ustar robrob---- presentation_topic: bio-chado-schema presentation_title: Bio::Chado::Schema presentation_subtitle: a standard Perl ORM layer for Chado presentation_place: NESCent, Durham, NC presentation_date: March 5-7, 2011 ---- = What is DBIx::Class? * Object-relational mapping framework for Perl 5 * is now the de-facto standard * very powerful query builder ---- = What is DBIx::Class? * query building (the magic of chainable ResultSets) * cross-database deployment (using |SQL::Translator| in the backend) * lots and lots of plugins availabe (dates, testing, ...) see http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/Manual.pod ---- = Data Model * a set of classes * encapsulate the underlying storage * providing a nicer, maintainable API for working with the data This isn't really middleware, it's a code library. ---- = And therefore, Bio::Chado::Schema == As of 0.08: 205 Perl 5 classes * every table and view, every module * Chado docs mirrored in the POD http://search.cpan.org/dist/Bio-Chado-Schema + ( So why do we need this? ) ---- = Chado needs encapsulation == Chado's design makes for: * complex queries * steep learning curve ---- = Chado needs encapsulation == complex queries * generating * storing * automating ---- = Chado needs encapsulation == steep learning curve * codifying best practices * unified, high-level documentation * can help with database administration ---- = BCS Usage * open the schema. ( actual DB connection is deferred ) + my $chado = Bio::Chado::Schema->connect( 'dbi:Pg:...', $user, $pass ); +* get a ResultSet object representing a set of Rows + $chado->resultset('Sequence::Feature'); + ->search({ name => 'something' }); + ->search_related('organism') +* get an actual data object + $chado->resultset('Sequence::Feature') ->find( 232432 ); ---- = BCS Usage +* iterate over the actual data in a set + my $stuff = $chado->blahblahblah; while( my $row = $stuff->next ) { # do something } +* traverse relationships + say $some_feature->type->name; ---- = BCS Usage: Joined Select # get features via the potato organism, also joining in the cvterms table + my $potato_bacs = $chado->resultset('Organism::Organism') + ->search({ species => 'Solanum tuberosum' }) + ->search_related( 'features', { 'type.name' => 'BAC_clone'}, { 'join' => 'type' }, ); ---- = BCS Usage: Joined Select # the equivalent bare SQL my $potato_bacs = $dbh->selectall_arrayref( <resultset( 'Cv::Cv' ) ->find_or_create({ name => 'My Fake Ontology' }) ->create_related( 'cvterm', { name => 'MyFakeTerm' }); makes the SQL: SELECT me.cv_id , me.name , me.definition FROM cv me WHERE ( me.name = 'my fake ontology' ) INSERT INTO cv ( name ) VALUES ( ? ) ---- = BCS Usage: Transactions $chado->txn_do(sub { $chado->resultset('Cv::Cv') ->find_or_create({ name => 'My Fake Ontology' }) ->create_related( 'cvterm', { name => 'MyFakeTerm' } ); $chado->do_all_kinds_of_other_stuff; }); ---- = The Real Advantages of DBIC * easier to manipulate and assemble queries * Don't Repeat Yourself ---- = The Real Advantages of DBIC * it's all objects. you can delegate to them, pass them around, etc. * HOWEVER: +** usually you don't want to subclass them ** but, see |DBIx::Class::Manual::Cookbook| ---- = The Real Advantages of DBIC * complex joined queries (Chado queries) are very easy and compact ---- = The Real Advantages of DBIC * SQL syntax errors are much more difficult to make ---- = Using DBIC with your own tables * use |DBIx::Class::Schema::Loader| to dump a whole set * make your own definitions * your table: other_thing, foreign key feature_id to Chado feature table package My::DBIC:::Layer::OtherThing; use base 'DBIx::Class::Core'; __PACKAGE__->table('other_thing'); __PACKAGE__->add_columns( 'other_thing_id' => { ... }, 'name' => { ... }, 'definition' => { ... }, 'feature_id' => { ... }, ); __PACKAGE__->set_primary_key('other_thing_id'); __PACKAGE__->add_unique_constraint('ot_c1', ['name']); __PACKAGE__->belongs_to( 'feature', 'Bio::Chado::Schema::Sequence::Feature', { 'foreign.feature_id' => 'self.feature_id' }, ); ---- = "Duct tape" your own schema onto BCS * make an accessor 'other_things' that ties your own DBIC class to BCS + Bio::Chado::Schema::Sequence::Feature->has_many( 'other_things', 'My::DBIC::Layer::OtherThing', { 'foreign.feature_id' => 'self.feature_id' }, ); +* add it to the BCS schema dynamically + Bio::Chado::Schema->register_source('OtherThing', 'My::DBIC::Layer::OtherThing'); +* use it with the rest + $chado->resultset('Sequence::Feature')->other_things; ---- = Making a composite schema package My::Schema; # load our own classes __PACKAGE__->load_namespaces; __PACKAGE__->load_namespaces( result_namespace => '+Bio::Chado::Schema::Result', resultset_namespace => '+Bio::Chado::Schema::ResultSet', ); ---- = Development Roadmap * continue to fill in many_to_many rels as needed * continue to add more (generic!) convenience methods ** automate more common querying and loading patterns ---- = Acknowledgments * Jonathan Leto (SGN) * Aure Bombarely (SGN) * Naama Menda (SGN) * Siddhartha Basu (dictybase) * Lukas Mueller (SGN) ---- Bio-Chado-Schema-0.20000/doc/slides/intro/slides/0000755000175000017500000000000011775633337017411 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/0000755000175000017500000000000011775633337020026 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/framing.css0000644000175000017500000000163411775633337022167 0ustar robrob/* The following styles size and place the slide components. Edit them if you want to change the overall slide layout. The commented lines can be uncommented (and modified, if necessary) to help you with the rearrangement process. */ div#header, div#footer, div.slide {width: 100%; top: 0; left: 0;} div#header {top: 0; height: 3em;} div#footer {top: auto; bottom: 0; height: 2.5em;} div.slide {top: 0; width: 92%; padding: 3.5em 4% 4%;} div#controls {left: 50%; top: 0; width: 50%; height: 100%;} #footer>div#controls {bottom: 0; top: auto; height: auto;} div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; margin: 0;} #currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} html>body #currentSlide {position: fixed;} /* div#header {background: #FCC;} div#footer {background: #CCF;} div#controls {background: #BBD;} div#currentSlide {background: #FFC;} */ Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/slide0h1.gif0000644000175000017500000000610711775633337022132 0ustar robrobGIF89aXX13!,XX@Hp*\ȰÇ#JHŋ3jȱǏ CIdH(\ɲ˗0cʜI͛Sɳϟ@ JB*]ʴӧPDRիXjʵ"ժ]ÊKٕ_Ϫ]˶۰iʝK]q˷߃y Lp+^&Ɛ#K1˘3K{9M4YѦS^5װc;*xiͻT 5YOμΣK }낫cΝ.úϫ_/(GYiy؉Hљȩ㌸H㍱و㎪㏣䐚 I䑓䒌)䓅9 ~IIwYriky 昧EHԙ暉Q LIDى?7 2 J-$)9 IJNYũ =yJ* jrj + i2k+ hIlx,. gβ mhNK-^ frmX~ . e2nH. dHo8ދ/ cp(L0 b sp> 1O,a;q n1L`"Hr~*l_.sL3{6ܡ:sϱ 4B}kFtҽ.4N?=lRKu^5Zol^K vՎM6fmj{v 7r}nvw7~=oKx8/cG.tJnyy䙿y{9桯9:饟yzh:f첻yNc{OOd|?>Ocψ}/nbH~aOOߟ`#X20>|{"(P ˣ C:&n(9"c%N\@E@"I-^ è13f<#eҨFɰy##9*v4 H=Q0~_)Hz9$"Eҥ $#IR-Z2Ipd$("Qv *SU*|Tb)KвN%.]*, 09a3(5}b@JT"=(DP0 y(D"щ"5F3QvthH:R'%hJRt/gL9Sy7egNӹrT?fPyHMRԦ:PTJժZXͪVծ&5g]:!CͦYϺZslM[ ׸dЬ]fծ}U_c%aϚ`.^ذ6֗X'q+g Ynv)-HOھVmmh<+ۧ\v%ilkkܚtmҷ(.q߂\*wmi.K 0 Ť.vsŸKݱ-/\^WizۻtEҾ6/` xqb/ywJ~YY`68K0O/ahاp ,bL8jK u,c OӘ'.&o؞;1Mr4(.㳋m;N[՞m8nnsn5ۆ>gn2[o/[Oo,C(܃w7%. G+"N\n܀%-\5W~='}Eח .}MYDO/%um]v=e v}mwͽuow~}?x >~ݗx-~}yM|ŗym{z֍>{O魗ҭ~z;y핗{xw ?xG}-wqMve-muݷY?uKOϿ;Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/toggle.gif0000644000175000017500000000215011775633337021774 0ustar robrobGIF89a##H1369 358>ADO%R)\5P%\4adiv#controls {position: fixed; bottom: 0; padding: 2em 0; top: auto; height: auto;} div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; margin: 0; padding: 0;} div#controls a {font-size: 2em; padding: 0; margin: 0 0.5em; border: none; color: #f3f3f3; cursor: pointer;} div#controls a:hover {color: #f3f3f3;} div#controls select {visibility: hidden; background: #f3f3f3; color: #333;} div#controls div:hover select {visibility: visible;} #toggle, #prev, #next { display: block; width: 35px; height: 35px; float: left; background: url(button.gif) no-repeat 0 0; } #toggle { background-image: url(toggle.gif); } #toggle span { display: none; } #next { text-align: left; } #currentSlide {text-align: center; font-size: 0.5em; color: #666; font-weight: bold;} #currentSlide span {display: none;} #slide0 {padding-top: 3.5em; font-size: 90%;} #slide0 h1 {position: static; margin: 1em 0 1.33em; padding: 5px 0 5px 20px; font: bold 2.2em Arial, Verdana, sans-serif; white-space: normal; color: #000; background: transparent url(slide0h1.gif) no-repeat left bottom; text-transform: none; } #slide0 h3 {margin-top: 0.3em; font-size: 1.2em;} #slide0 h4 {margin:0; font-size: 0.9em;} ul.urls {list-style: none; display: inline; margin: 0;} .urls li {display: inline; margin: 0;} .note {display: none;} acronym { font-size: 90%; } div.image { margin: 0 auto; text-align: center; background-color: #f3f3f3; border: 1px solid #000; font-size: 0.66%; width: 400px; padding: 20px; } p { margin-left: 85px; } div.image p, #slide0 p { margin-left: 0; } Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/s5-core.css0000644000175000017500000000071711775633337022022 0ustar robrob/* Do not edit or override these styles! The system will likely break if you do. */ div#header, div#footer, div.slide {position: absolute;} html>body div#header, html>body div#footer, html>body div.slide {position: fixed;} div#header {z-index: 1;} div.slide {z-index: 2; visibility: hidden;} #slide0 {visibility: visible;} div#footer {z-index: 5;} div#controls {position: absolute; z-index: 1;} #footer>div#controls {position: fixed;} .handout {display: none;} Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/button.gif0000644000175000017500000000163011775633337022030 0ustar robrobGIF89a##H13!,##@u&HPÇ#JH"†+bȱǏ =@ɓ(S˗0cʜI͛8spI}"K*FDR)DI:RT'*ĚU+B?U`@;Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/opera.css0000644000175000017500000000032211775633337021643 0ustar robrob/* DO NOT CHANGE THESE unless you really want to break Opera Show */ div.slide { visibility: visible !important; position: static !important; page-break-before: always; } #slide0 {page-break-before: avoid;} Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/slides.css0000644000175000017500000000035711775633337022030 0ustar robrob@import url(s5-core.css); /* required to make the slide show run at all */ @import url(framing.css); /* sets basic placement and size of slide components */ @import url(pretty.css); /* stuff that makes the slides look better than blah */ Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/print.css0000644000175000017500000000142611775633337021677 0ustar robrob/* The next rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */ div.slide, ul {page-break-inside: avoid; visibility: visible !important;} h1 {page-break-after: avoid;} body {font-size: 12pt; background: white;} * {color: black;} #slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;} #slide0 h3 {margin: 0; padding: 0;} #slide0 h4 {margin: 0 0 0.5em; padding: 0;} #slide0 {margin-bottom: 3em;} h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;} .extra {background: transparent !important;} div.extra, pre.extra, .example {font-size: 10pt; color: #333;} ul.extra a {font-weight: bold;} p.example {display: none;} #footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;} #footer h2, #controls {display: none;} Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/bodybg.gif0000644000175000017500000002360711775633337021773 0ustar robrobGIF89aN絽ֽ!,N!u@BlM|?) Bc(, Fo1DEe,pmg٢pڈԸ< (8 e= qXdK Pq<8k:a D9U3 G  ;W[hQ[ L H5 2"A0g#p~T+uABU*4QmWJ`P2PUB t 恭tIJm!P:h( |!u nE Y$PLB,&^ C[b0KvsLP$ ԙ, x³(c- + f OR4ZC 7%# \ ;]?Z Cp6h,8X@7BUF-J@pFgyr_8`@Yh6Ɂbts%!QZP!uUw&H XBb Hw`aS,eF|@|< u%`2VNx@ژJU%T$M^;Ҁ<d$!^" p!{UsїbLg7p04X #SVksEA5CAd 玐**3haߎ4< E9X9{04C)މ{@,g#4o+'cp眫Z\M#@ 8L)o@^<YA~ N(7qfh(3B\a)ihƠ0@X(>$Qy)@"YL {4(Icɣg0.BQJC.!B%8 G?a FP^Tc e$WY5\8B9Ⳗdry#f E&dp Tk02o47q9m,4A_Q ![3PBkHF/ ~*@a:+9u?BFcŒ znB#RX"$ x8h|M8Ih^hTEbXmrBjl Hp`&Low`VGT@preXf[6@C$-42x'%ɐ\KQ4PX`n>|#^8t3/pB8[`X=T- =mF)z13NpAJkh!y8U&C+,C# `Plc!Lh6(=(J wڃ] 6g[DvY~롙 zTt0)O(UVix~6fzLC#P@ h7rʛr8uޭZ3am3ƍ) qDErg P;JB"@ɑ#ۦj0 +Cr(#R֐l$/P eY9;.}0FЙ[:/ Xl$X'p`8Qsp$l(\B [uVwzBfAs;8S%$:p 7C$ȿ\9f0m0 \jmDV-GzmrUtR<P:0:J mƼN1ރ `5P]~re"1~OM 3@"À u(JJ9P RSCRFsF` 4#4qA| PU9%# ԭ]*OֿB(C:z1NW <l$uauYC 0"j) u@ujϯģuZ([B1;@D4PD`  L2Z^ cf Fa'J3GP0ju<ǖPApP-G3?VBN,(t4yّmyzw1krݼM~ o:*uZ\g$0 M}zŭ}6gx鍹@1AGb.i.[pX. F1'v)*2DCF( &hf;ELJAv09#OT?jęH~l "pWQ)#^ !2¤U~. L%+ >Iu+LGAx{ُ#N!HnFp 0L[ʃ+AcY(KdH)Q ]Ao$%HyQaMVj tJ;cz QG(lT~_ MsH A$Do[|ohj`z1Z!~K J0a Z / 8D;4.?C !Sq[(I[ `">hm h 4RgY&L岙<(&m3eRH`)jb`tD`> qh DEaP @@|$P00H%$)PT$%,Ply~,Q-A8P=<)M-,yBXX5B@,,4r%QPp&v{R%Ԫ94<0@ شD$JT҆" Wes \8 vp; <*Hd5CÃզ4L>r@fΙy:Da*$g+0G n<vj&Pxv. J;z3pp zY0V+m>p-1Tʃ$Qع.߼ iv@&J;\l8P_!LnCR83 r{84l_= \}X@IA7l1"VJ<ޒOV? M5L[xKih?3n e m5ې3 C{GFژgd݃G.B+N^=xgќ z .Oq4ؾ/*Ңҭ]n|&xfg!;ɳHCOӻam] hmF30 㯠 vdG$/߫Dcȧ8oy , ;] l44zB#BD>]J8aFD;%B rHm5 ܠ/ѲWd$pU8EhxkPC]V >zTPKZ`$H 0%%eB頀*(٨Bl'3 j2IƈF]rXe(,- /r0n&z$&sH(Zgf 00L6@^f8P-m'ic_(cUf`d3J"i+(R]d  (ʤ VHK w+D ,X2lԧr3FsbXa+ ZD 5 9s*FgU>ؕ'R&)OcZ`VD\M4p'R*D"HnD3ֶnFe)in  `0\ui0s*:vaaDz4oT Z ņ`Y%WwB0v5HH  &a<)RrBx%"a*h.E 7αi@[ e7@rH>iz S*!RLQ l3$ 5%#9P[8/`n}~gOTE۠e" )atDĐpY@4PRi/KYh9FF@?TRڀFCaNN]v)}T  4.P~uA(_[vuh,Լ@U<dN؁G m&`_˷f9Ճ{y^!.ۜqe8,T7REō|&,5=YZXB`C48(X~ED `C^ D`t 7 bcY `PpAi|C)' 8(!Z3m`Ef[5a2 A] ufCf>L '" JP,z &$9pOu$"P񕔴G"UDb(ً̢qI -a !%(rb)>i>@,>#+ :E/fI)`h" ![c~.^F:I`<^m":^c11_N z=b>7y0$$e#"!E睢Vf$ɣz]mfZUPh2 wӽWej'M)L]s*}~RNP}'q%c-mڌ'"|.h~Vd0 ԧ>m8焖<\_'vΰh(]P [g-\u5a(2'e(3f (Y7h >ߎeV wf(B v v ܭYY(0X+5 6'A]]OliNQb6 m_¡(qU&>Vd_hƩi+t6"8VqcDʌ2ԜY1JF<@>]NL6+dD֌f(Ky<&7Yb)Pݤ՟9"-g[X(bfR d$<\He>LVah~?:,'|-#[E7i ebGYJl>`2Q}k (O)֙PRW!~e(a֞ î΋db\V)r=S$)µ NKEHl]aݵfTr^f=Z-iv!ōӣ$-Zkǒ&n[(F[вJ-n`4j*KR[:b&[!ł`n1֝&:d!1f\- -6˨2"B\^Bw*( c zG/ܪbY6 Qo͹R*V],$}Ʌa¡ѥ^ hwT/f҂9PL/(pUOlZN0-yX O=^́p:%1Pff\eڠf"b bިMnGs%X܂%H0[*f c`5 O.p+\Qo ZRZdO$$K.e8$%U()';Bio-Chado-Schema-0.20000/doc/slides/intro/slides/ui/slides.js0000644000175000017500000001547511775633337021663 0ustar robrob// S5 slides.js -- released under CC by-sa 2.0 license // // Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information // about all the wonderful and talented contributors to this code! var snum = 0; var smax = 1; var undef; var slcss = 1; var isIE = navigator.appName == 'Microsoft Internet Explorer' ? 1 : 0; var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; var slideCSS = document.getElementById('slideProj').href; function isClass(object, className) { return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); } function GetElementsWithClassName(elementName,className) { var allElements = document.getElementsByTagName(elementName); var elemColl = new Array(); for (i = 0; i< allElements.length; i++) { if (isClass(allElements[i], className)) { elemColl[elemColl.length] = allElements[i]; } } return elemColl; } function isParentOrSelf(element, id) { if (element == null || element.nodeName=='BODY') return false; else if (element.id == id) return true; else return isParentOrSelf(element.parentNode, id); } function nodeValue(node) { var result = ""; if (node.nodeType == 1) { var children = node.childNodes; for ( i = 0; i < children.length; ++i ) { result += nodeValue(children[i]); } } else if (node.nodeType == 3) { result = node.nodeValue; } return(result); } function slideLabel() { var slideColl = GetElementsWithClassName('div','slide'); var list = document.getElementById('jumplist'); smax = slideColl.length; for (n = 0; n < smax; n++) { var obj = slideColl[n]; var did = 'slide' + n.toString(); obj.setAttribute('id',did); if(isOp) continue; var otext = ''; var menu = obj.firstChild; if (!menu) continue; // to cope with empty slides while (menu && menu.nodeType == 3) { menu = menu.nextSibling; } if (!menu) continue; // to cope with slides with only text nodes var menunodes = menu.childNodes; for (o = 0; o < menunodes.length; o++) { otext += nodeValue(menunodes[o]); } list.options[list.length] = new Option(n+' : ' +otext,n); } } function currentSlide() { var cs; if (document.getElementById) { cs = document.getElementById('currentSlide'); } else { cs = document.currentSlide; } cs.innerHTML = '' + snum + '<\/span> ' + '\/<\/span> ' + '' + (smax-1) + '<\/span>'; if (snum == 0) { cs.style.visibility = 'hidden'; } else { cs.style.visibility = 'visible'; } } function go(inc) { if (document.getElementById("slideProj").disabled) return; var cid = 'slide' + snum; if (inc != 'j') { snum += inc; lmax = smax - 1; if (snum > lmax) snum = 0; if (snum < 0) snum = lmax; } else { snum = parseInt(document.getElementById('jumplist').value); } var nid = 'slide' + snum; var ne = document.getElementById(nid); if (!ne) { ne = document.getElementById('slide0'); snum = 0; } document.getElementById(cid).style.visibility = 'hidden'; ne.style.visibility = 'visible'; document.getElementById('jumplist').selectedIndex = snum; currentSlide(); } function toggle() { var slideColl = GetElementsWithClassName('div','slide'); var obj = document.getElementById('slideProj'); if (!obj.disabled) { obj.disabled = true; for (n = 0; n < smax; n++) { var slide = slideColl[n]; slide.style.visibility = 'visible'; } } else { obj.disabled = false; for (n = 0; n < smax; n++) { var slide = slideColl[n]; slide.style.visibility = 'hidden'; } slideColl[snum].style.visibility = 'visible'; } } function showHide(action) { var obj = document.getElementById('jumplist'); switch (action) { case 's': obj.style.visibility = 'visible'; break; case 'h': obj.style.visibility = 'hidden'; break; case 'k': if (obj.style.visibility != 'visible') { obj.style.visibility = 'visible'; } else { obj.style.visibility = 'hidden'; } break; } } // 'keys' code adapted from MozPoint (http://mozpoint.mozdev.org/) function keys(key) { if (!key) { key = event; key.which = key.keyCode; } switch (key.which) { case 10: // return case 13: // enter if (window.event && isParentOrSelf(window.event.srcElement, "controls")) return; if (key.target && isParentOrSelf(key.target, "controls")) return; case 32: // spacebar case 34: // page down case 39: // rightkey case 40: // downkey go(1); break; case 33: // page up case 37: // leftkey case 38: // upkey go(-1); break; case 84: // t toggle(); break; case 67: // c showHide('k'); break; } } function clicker(e) { var target; if (window.event) { target = window.event.srcElement; e = window.event; } else target = e.target; if (target.href != null || isParentOrSelf(target, 'controls')) return true; if (!e.which || e.which == 1) go(1); } function slideJump() { if (window.location.hash == null) return; var sregex = /^#slide(\d+)$/; var matches = sregex.exec(window.location.hash); var dest = null; if (matches != null) { dest = parseInt(matches[1]); } else { var target = window.location.hash.slice(1); var targetElement = null; var aelements = document.getElementsByTagName("a"); for (i = 0; i < aelements.length; i++) { var aelement = aelements[i]; if ( (aelement.name && aelement.name == target) || (aelement.id && aelement.id == target) ) { targetElement = aelement; break; } } while(targetElement != null && targetElement.nodeName != "body") { if (targetElement.className == "slide") break; targetElement = targetElement.parentNode; } if (targetElement != null && targetElement.className == "slide") { dest = parseInt(targetElement.id.slice(1)); } } if (dest != null) go(dest - snum); } function createControls() { controlsDiv = document.getElementById("controls"); if (!controlsDiv) return; controlsDiv.innerHTML = '
' + '
' + 'Ø<\/span><\/a>' + '

What it looks like

package My::Schema;

__PACKAGE__->load_namespaces;

package My::Schema::Result::Foo;

__PACKAGE__->table('foo');
__PACKAGE__->add_columns(qw( foo_id bar baz ));
__PACKAGE__->has_many('bars' => 'My::Schema::Result::Bar');
# also belongs_to  many_to_many

package My::Schema::Result::Bar;

__PACKAGE__->table('bar');
# and so on
  • use DBIx::Class::Schema::Loader to generate this from a DB
  • use $schema->deploy to make a DB from this

Basic Usage

  • open the schema. ( actual DB connection is deferred )
continued...

Basic Usage

  • open the schema. ( actual DB connection is deferred )
my $schema = My::Schema->connect( 'dbi:Pg:...', $user, $pass );
continued...

Basic Usage

  • open the schema. ( actual DB connection is deferred )
my $schema = My::Schema->connect( 'dbi:Pg:...', $user, $pass );
  • get a ResultSet object representing a set of Rows
continued...

Basic Usage

  • open the schema. ( actual DB connection is deferred )
my $schema = My::Schema->connect( 'dbi:Pg:...', $user, $pass );
  • get a ResultSet object representing a set of Rows
my $orgs_rs = $schema->resultset('Organism');
continued...

Basic Usage

  • open the schema. ( actual DB connection is deferred )
my $schema = My::Schema->connect( 'dbi:Pg:...', $user, $pass );
  • get a ResultSet object representing a set of Rows
my $orgs_rs = $schema->resultset('Organism');
  • take a subset of those (another ResultSet)
continued...

Basic Usage

  • open the schema. ( actual DB connection is deferred )
my $schema = My::Schema->connect( 'dbi:Pg:...', $user, $pass );
  • get a ResultSet object representing a set of Rows
my $orgs_rs = $schema->resultset('Organism');
  • take a subset of those (another ResultSet)
my $chickeny_things = $orgs_rs->search({ genus => 'Gallus' });
continued...

Basic Usage

  • open the schema. ( actual DB connection is deferred )
my $schema = My::Schema->connect( 'dbi:Pg:...', $user, $pass );
  • get a ResultSet object representing a set of Rows
my $orgs_rs = $schema->resultset('Organism');
  • take a subset of those (another ResultSet)
my $chickeny_things = $orgs_rs->search({ genus => 'Gallus' });
  • first one in the result set
continued...

Basic Usage

  • open the schema. ( actual DB connection is deferred )
my $schema = My::Schema->connect( 'dbi:Pg:...', $user, $pass );
  • get a ResultSet object representing a set of Rows
my $orgs_rs = $schema->resultset('Organism');
  • take a subset of those (another ResultSet)
my $chickeny_things = $orgs_rs->search({ genus => 'Gallus' });
  • first one in the result set
my $chicken = $chickeny_things->first;     #< actual query is run

Basic Usage

continued...

Basic Usage

  • getting actual data
continued...

Basic Usage

  • getting actual data
my $wombat = $orgs_rs->find( 232432 );
continued...

Basic Usage

  • getting actual data
my $wombat = $orgs_rs->find( 232432 );
say $wombat->genus.' '.$wombat->species; #< print 'Vombatus ursinus' or something

# or search in list context returns all resulting rows
my @all_nightshades = $orgs_rs->search({ genus => 'Solanum' });

Basic Usage

  • traverse relationships (joined queries)
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
my @chr = $chickeny_things->chromosomes;  #< query is run here
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
my @chr = $chickeny_things->chromosomes;  #< query is run here
my @genes = $chicken->chromosomes->features->search({ type => 'gene' });
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
my @chr = $chickeny_things->chromosomes;  #< query is run here
my @genes = $chicken->chromosomes->features->search({ type => 'gene' });
  • loading
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
my @chr = $chickeny_things->chromosomes;  #< query is run here
my @genes = $chicken->chromosomes->features->search({ type => 'gene' });
  • loading
$orgs_rs>create({ genus => 'Mus', species => 'musculus' })
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
my @chr = $chickeny_things->chromosomes;  #< query is run here
my @genes = $chicken->chromosomes->features->search({ type => 'gene' });
  • loading
$orgs_rs>create({ genus => 'Mus', species => 'musculus' })
# or piecewise
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
my @chr = $chickeny_things->chromosomes;  #< query is run here
my @genes = $chicken->chromosomes->features->search({ type => 'gene' });
  • loading
$orgs_rs>create({ genus => 'Mus', species => 'musculus' })
# or piecewise
my $new = $orgs_rs->new;
$new->genus('Mus');  $new->species('musculus');
$new->insert;
continued...

Basic Usage

  • traverse relationships (joined queries)
my $chickeny_things = $ck_rs->search({ genus => 'Gallus' });
my @chr = $chickeny_things->chromosomes;  #< query is run here
my @genes = $chicken->chromosomes->features->search({ type => 'gene' });
  • loading
$orgs_rs>create({ genus => 'Mus', species => 'musculus' })
# or piecewise
my $new = $orgs_rs->new;
$new->genus('Mus');  $new->species('musculus');
$new->insert;
  • deleting
$chicken->chromosomes->features->search({ type => 'gene' })->delete;

When not to use DBIC

  • tiny app, tiny schema (setup overhead)
continued...

When not to use DBIC

  • tiny app, tiny schema (setup overhead)
  • or tiny number of different queries
continued...

When not to use DBIC

  • tiny app, tiny schema (setup overhead)
  • or tiny number of different queries
  • or hate objects

strengths/weaknesses ...

Strengths and Weaknesses

  • strengths
continued...

Strengths and Weaknesses

  • strengths
    • chainable ResultSets
continued...

Strengths and Weaknesses

  • strengths
    • chainable ResultSets
    • lazy querying
continued...

Strengths and Weaknesses

  • strengths
    • chainable ResultSets
    • lazy querying
    • good support for custom SQL
continued...

Strengths and Weaknesses

  • strengths
    • chainable ResultSets
    • lazy querying
    • good support for custom SQL
    • prefetching
continued...

Strengths and Weaknesses

  • strengths
    • chainable ResultSets
    • lazy querying
    • good support for custom SQL
    • prefetching
    • lots of nice extensions
continued...

Strengths and Weaknesses

  • strengths
    • chainable ResultSets
    • lazy querying
    • good support for custom SQL
    • prefetching
    • lots of nice extensions
  • weaknesses
continued...

Strengths and Weaknesses

  • strengths
    • chainable ResultSets
    • lazy querying
    • good support for custom SQL
    • prefetching
    • lots of nice extensions
  • weaknesses
    • non-ORM-y things are possible, but can be cumbersome

Chainable ResultSets

my $styx_tracks =
     $music_schema->resultset('Artist')
                  ->search({ name => 'Styx' })
                  ->albums
                  ->tracks;

SELECT ...
  FROM artist
  JOIN albums ON ...
  JOIN tracks ON ...
  WHERE artist.name = 'Styx'

Lazy Querying

  • does not run the query until data is actually needed
# fetch all
my @tracks = $styx_tracks->all;

# or iterate
while( my $track = $styx_tracks->next ) { ... }

Custom SQL

  • can make a view ResultSource for big tuned queries
package My::Schema::SummarizedFrobs;
__PACKAGE__->table_class('DBIx::Class::ResultSource::View');
__PACKAGE__->result_source_instance->view_definition(<<'');
   SELECT omg_so_much_stuff
   UNION
   SELECT ( SELECT blah blah blah FROM blah ),
          ( blah blah blah ),
   WHERE blah blah blah
   UNION
      blah blah blah

__PACKAGE__->add_column( <cols in your view> )

Custom SQL

  • for custom conditions, searches accept SQL::Abstract syntax
$schema->resultSet('Sequence::Feature')
       ->search({
            'me.feature_id' =>
              \[ "IN( select feature_id from clone_feature where clone_id = ?)",
                 [ dummy => $self->clone_id ],
               ],
            },
            { rows => 10,
              order_by => [qw[ me.name me.type_id ]],
              having
            });

Prefetching

# query will get the wombat organism, and also prefetch *all its
# chromosomes and features on those chromosomes*
my $rs = $schema->resultset('Organism')->search(
 { genus => 'Vombatus', species => 'ursinus' },
 { prefetch => { chromosomes => features => } },
);

(in a real biological DB this would probably blow your memory)

Extensions

  • DBIx::Class::Helpers
    • fREW's miscellaneous things
continued...

Extensions

  • DBIx::Class::Helpers
    • fREW's miscellaneous things
  • DBIx::Class::Cursor::Cached
    • tunable, flexible resultset caching
continued...

Extensions

  • DBIx::Class::Helpers
    • fREW's miscellaneous things
  • DBIx::Class::Cursor::Cached
    • tunable, flexible resultset caching
  • DBIx::Class::Ordered
    • nice for doing ordering or ranking columns in a table
continued...

Extensions

  • DBIx::Class::Helpers
    • fREW's miscellaneous things
  • DBIx::Class::Cursor::Cached
    • tunable, flexible resultset caching
  • DBIx::Class::Ordered
    • nice for doing ordering or ranking columns in a table
  • DBIx::Class::InflateColumn::DateTime, DBIx::Class::Timestamp
    • work with dates, times, and timestamps as DateTime objects

Thread-Safe / Fork-Safe

  • theory's DBix::Connector

Non-linear Join

# get features via the potato organism, also joining in the cvterms table
my $potato_bacs =
     $schema->resultset('Organism')
            ->search({ species => 'Solanum tuberosum' })
            ->search_related( 'features',
                             { 'type.name' => 'BAC_clone'},
                             { 'join' => 'type' },
                           );

Non-linear Join

# the equivalent bare SQL
my $potato_bacs = $dbh->selectall_arrayref( <<EOS, undef, 'Solanum tuberosum', 'BAC_clone');
SELECT features.feature_id
     , features.dbxref_id
     , features.organism_id
     , features.name
     , features.uniquename
     , features.residues
     , features.seqlen
     , features.md5checksum
     , features.type_id
     , features.is_analysis
     , features.is_obsolete
     , features.timeaccessioned
     , features.timelastmodified
FROM organism me
LEFT JOIN feature features
       ON features.organism_id = me.organism_id
JOIN cvterm type
       ON type.cvterm_id = features.type_id
WHERE species = ? AND type.name = ?
EOS

Convenient Loading of Relationships

$chado->resultset( 'Cv::Cv' )
      ->find_or_create({ name => 'My Fake Ontology' })
      ->create_related(  'cvterm',
                         { name => 'MyFakeTerm' });

makes the SQL:

SELECT me.cv_id
     , me.name
     , me.definition
FROM cv me
WHERE ( me.name = 'my fake ontology' )

INSERT INTO cv ( name )
        VALUES ( 'my fake ontology' )
     RETURNING cv_id

INSERT INTO cvterm ( cv_id,  name        )
            VALUES ( ?,     'MyFakeTerm' )

Transactions

$schema->txn_do(sub {

    $schema->resultset('Cv::Cv')
           ->find_or_create({ name => 'My Fake Ontology' })
           ->create_related( 'cvterm', { name => 'MyFakeTerm' } );

});

The Real Advantages of DBIC

  • easier to manipulate and assemble queries

The Real Advantages of DBIC

  • complex joined queries (Chado queries) are very easy and compact

The Real Advantages of DBIC

  • SQL syntax errors are more difficult to make

The Real Advantages of DBIC

  • it's all objects. you can delegate to them, pass them around, etc.
  • HOWEVER:
continued...

The Real Advantages of DBIC

  • it's all objects. you can delegate to them, pass them around, etc.
  • HOWEVER:
    • usually you don't want to subclass them
    • but, see DBIx::Class::Manual::Cookbook

That's All

  • The END
Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/slides/template/0000755000175000017500000000000011775633337022205 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/dbic_intro/slides/template/s5/0000755000175000017500000000000011775633337022534 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/dbic_intro/slides/template/s5/s5.html0000644000175000017500000000250611775633337023754 0ustar robrob [% presentation_topic %] [% FOR css_file = hub.css.files -%] [% END -%]

[% presentation_title %]

[% presentation_place %]

[% presentation_date %]

[% FOREACH s = slides %] [% s %] [% END %] Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/slides/template/s5/slide.html0000644000175000017500000000024211775633337024520 0ustar robrob
[% image_html %] [% slide_content %] [%- UNLESS last -%] continued... [% END %]
Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/slides/css/0000755000175000017500000000000011775633337021162 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/dbic_intro/slides/css/perl_tidy_blocks.css0000644000175000017500000000142211775633337025223 0ustar robrobtable.perl_mode pre { background-color: #FFF; } table.perl_mode td { border: 0; } .pd { color: #404080;} /* pod-text */ .c { color: #404080;} /* comment */ .cm { color: #800097;} /* comma */ .co { color: #800097;} /* colon */ .h { color: #804848;} /* here-doc-target */ .hh { color: #800000;} /* here-doc-text */ .q { color: #800000;} /* quote */ .v { color: #800000;} /* v-string */ .i { color: #008080;} /* identifier */ .k { color: #0000FF;} /* keyword */ .n { color: #E02020;} /* numeric */ .m { color: #C00080;} /* subroutine */ .j { color: #C00080;} /* label */ .w { color: #C00080;} /* bareword */ .p { color: #800080;} /* paren */ .s { color: #800080;} /* structure */ .sc { color: #800080;} /* semicolon */ .pu { color: #C44800;} /* punctuation */ Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/config/0000755000175000017500000000000011775633337020354 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/dbic_intro/config/config.yaml0000644000175000017500000000035311775633337022506 0ustar robrob# DO NOT EDIT THIS FILE # Put overrides in the top level config.yaml # See: http://www.kwiki.org/?ChangingConfigDotYaml # site_title: Kwiki main_page: HomePage database_directory: database logo_image: palm90.png script_name: index.cgi Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/0000755000175000017500000000000011775633337020722 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/0000755000175000017500000000000011775633337021433 5ustar robrobBio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/slide.html0000644000175000017500000000036211775633337023422 0ustar robrob [% INCLUDE top.html %]
[% image_html %] [% slide_content -%] [%- UNLESS last -%] continued... [% END %]
[% INCLUDE bottom.html %] Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/top.html0000644000175000017500000000165511775633337023132 0ustar robrob [% slide_heading %] [% FOR css_file = hub.css.files -%] [% END -%]
[% presentation_topic %] [% presentation_title %] [% slide_num ? "#$slide_num" : ' ' %]
Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/start.html0000644000175000017500000000051511775633337023457 0ustar robrob [% INCLUDE top.html %]

[% presentation_title %]

[% author_name %]

[% author_email %]

[% presentation_place %]

[% presentation_date %]

[% INCLUDE bottom.html %] Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/slide.css0000644000175000017500000000253611775633337023253 0ustar robrob/* BEGIN index.css */ hr { color: #202040; height: 0px; border-top: 0px; border-bottom: 3px #202040 ridge; border-left: 0px; border-right: 0px; } a:link { color: #123422; text-decoration: none; } a:visited { color: #123333; text-decoration: none; } a:hover { text-decoration: underline; } p { font-size: 24pt; margin: 6pt; } div p { font-size: 18pt; margin-top: 12pt; margin-bottom: 12pt; margin-left: 6pt; margin-right: 6pt; } small { font-size: 9pt; font-style: italic; } #topbar { background: [% banner_bgcolor %]; color: blue; position:absolute; right: 5px; left: 5px; top: 5px; height: 50px; } #bottombar { background: [% banner_bgcolor %]; color: blue; position: fixed; right: 5px; left: 5px; bottom: 5px; height: 50px; z-index: 0; } .top_spacer { height: 0px; margin: 0px 0px 0px 0px; padding: 1px 0px 0px 0px; } .spacer { bottom: 5px; height: 50px; } #content { background:#fff; margin-left: 20px; margin-right:20px; margin-top: 80px; } #logo { position: fixed; right: 40px; bottom: 51px; width: 130px; height: 150px; z-index:3; background-image: url([% images_directory %]/[% logo_image %]); background-repeat: no-repeat; } /* END index.css */ Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/index.html0000644000175000017500000000041211775633337023425 0ustar robrob [% INCLUDE top.html %]
    [% FOR slide = slides -%]
  1. [% slide.slide_heading %]
  2. [% END -%]
[% INCLUDE bottom.html %] Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/bottom.html0000644000175000017500000000106211775633337023624 0ustar robrob
Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/template/tt2/controls.js0000644000175000017500000000201311775633337023630 0ustar robrob// BEGIN controls.js function nextSlide() { window.location = '[% next_slide %]'; } function prevSlide() { window.location = '[% prev_slide %]'; } function indexSlide() { window.location = 'index.html'; } function startSlide() { window.location = 'start.html'; } function closeSlide() { window.close(); } function handleKey(e) { var key; if (e == null) { // IE key = event.keyCode } else { // Mozilla if (e.altKey || e.ctrlKey) { return true } key = e.which } switch(key) { case 8: prevSlide(); break case 13: nextSlide(); break case 32: nextSlide(); break case 81: closeSlide(); break case 105: indexSlide(); break case 110: nextSlide(); break case 112: prevSlide(); break case 115: startSlide(); break default: //xxx(e.which) } } document.onkeypress = handleKey [% IF mouse_controls -%] document.onclick = nextSlide [% END -%] // END controls.js Bio-Chado-Schema-0.20000/doc/slides/dbic_intro/config.yaml0000644000175000017500000000007211775633337021237 0ustar robrobauthor_name: Robert Buels author_email: rmb32@cornell.edu