Chado Library Module

From GMOD
Revision as of 13:43, 13 April 2007 by Bosborne (Talk | contribs)

Jump to: navigation, search

Introduction

The library module is designed to store detailed information about molecular libraries. The library module uses the sequence module, thus the library in question could be any collection of sequences that the sequence module can describe. It is expected that most of the description of a given library would come through the use of ontology terms.


Using the Library module

The following are examples showing how to use this module to describe a library.


A FlyBase cDNA library

Written by Haiyan Zhang, April 14, 2006, the original Wiki page is here: http://cedar.bio.indiana.edu/mediawiki/index.php/Library_module_implementation.


Background

The cDNA library contains complementary DNA molecules synthesized from mRNA molecules in a cell. One cDNA library has only one cloning vector.

  • cDNA_clone: Complementary DNA; A piece of DNA copied from an mRNA and spliced into a vector for propagation in a suitable host.
  • cDNA: DNA synthesized by reverse transcriptase using RNA as a template.
  • EST: Expressed Sequence Tag: The sequence of a single sequencing read from a cDNA clone or PCR product; typically a few hundred base pairs long.

Implementation

  1. Library name and uniquenames are generally from the first 2 letters of the the cDNA_clones, or the first 2 letters and vector name e.g. AT library, HL_pOT2 libary
  2. Library stored in library table, type as cDNA library.
  3. libraryprop table stores the general description for each library as type comment and the vector for each library as type element.
  4. Library synonyms are linked in library_synonym table.
  5. Library's references are linked in library_pub table.
  6. Each cDNA_clone, cDNA, EST, vector is a feature with the corresponding type.
  7. cDNA_clone has no residues information.
  8. library_feature connects library and its cDNA_clones.
  9. cDNA, EST and vector are connected with cDNA_clone in feature_relationship table, as type partof. cDNA_clone is the object_id, cDNA/EST/vector is the subject_id.

Relationship graph

                                         pOTB7 
                                 __________              vector/plasmid
                                     ||  --partof
			             \/       AT13713
 library -->library_feature ==> -------------------------   cDNA_clone
			        ^     /\  --partof     ^
			        |     ||      AY113251 |
		      partof--	|   _________________  |    cDNA
                                |	      |	       |
                                |	      |	       |--partof
                       BF499196   ________    |   ___________     EST
                              AT13713.contig1 |       |   CK130673
                                     |        |       |   AT13713.contig2
                                     |        |       |
                     ---------------------------------------- genomic contig

Naming conventions

Rules for chado clones and clone features:

  • cDNA_clone: uniquename = FBclxxxxxxx, name = clone id number e.g. LD12345
  • cDNA: uniquename = accession number (if possible), name = clone id number e.g. LD12345
  • EST: uniquename = accession number (if possible), name = clone id number.5prime,3prime,:contig etc e.g. LD12345.5prime


Tables

Table: library

library Structure
F-Key Name Type Description
library_id serial PRIMARY KEY

organism

organism_id integer UNIQUE#1 NOT NULL
name character varying(255)
uniquename text UNIQUE#1 NOT NULL

cvterm

type_id integer UNIQUE#1 NOT NULL

The type_id foreign key links to a controlled vocabulary of library types. Examples of this would be: "cDNA_library" or "genomic_library"

Tables referencing this one via Foreign Key Constraints:



Table: library_cvterm

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.

library_cvterm Structure
F-Key Name Type Description
library_cvterm_id serial PRIMARY KEY

library

library_id integer UNIQUE#1 NOT NULL

cvterm

cvterm_id integer UNIQUE#1 NOT NULL

pub

pub_id integer UNIQUE#1 NOT NULL


Table: library_feature

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".

library_feature Structure
F-Key Name Type Description
library_feature_id serial PRIMARY KEY

library

library_id integer UNIQUE#1 NOT NULL

feature

feature_id integer UNIQUE#1 NOT NULL


Table: library_pub

library_pub Structure
F-Key Name Type Description
library_pub_id serial PRIMARY KEY

library

library_id integer UNIQUE#1 NOT NULL

pub

pub_id integer UNIQUE#1 NOT NULL


Table: library_synonym

library_synonym Structure
F-Key Name Type Description
library_synonym_id serial PRIMARY KEY

synonym

synonym_id integer UNIQUE#1 NOT NULL

library

library_id integer UNIQUE#1 NOT NULL

pub

pub_id integer UNIQUE#1 NOT NULL

The pub_id link is for relating the usage of a given synonym to the publication in which it was used.
is_current boolean NOT NULL DEFAULT true

The is_current bit indicates whether the linked synonym is the current -official- symbol for the linked library.
is_internal boolean NOT NULL DEFAULT false

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.


Table: libraryprop

libraryprop Structure
F-Key Name Type Description
libraryprop_id serial PRIMARY KEY

library

library_id integer UNIQUE#1 NOT NULL

cvterm

type_id integer UNIQUE#1 NOT NULL
value text
rank integer UNIQUE#1 NOT NULL