AspGDQuick Search:
Site Map | Search Options | Help | Contact AspGD | Home
Community InfoSubmit DataBLASTPrimersPatMatchGene/Seq ResourcesAdvanced Search

Rules for GO Tables


Last Update: 2002-03-13 Kara

These tables are used for the gene ontology (GO) tables.


TABLE go
========
goid			Required.
                	Primary key.  
			(id from GO CVS file, not assigned sequence number)
                	Cannot be updated.
                	NUMBER(10)

go_term			Required.
			VARCHAR2(240)

go_aspect		Required. Coded.
			On insert, check value against code table.
			VARCHAR2(40)

go_definition		Optional.
			VARCHAR2(2000)

date_created            Required.
                        On insert, set to SYSDATE.
                        On update, keep original date.
 
created_by              Required.
                        On insert, set to USER

Other_rules:
------------
1. The go and go_synonym tables will need to be loaded/updated from the
CVS.  It would be great if, on the curator interface to curate GO, we
had an option to update the GO tables immediately.

2. We also need to periodically write to the gene_associations file in
the CVS as well; the output will be from the go_locus_goev (and
Acelink for the paper) and the go_feat_goev tables.  It would be cool
if this could be done via trigger every time we submitted a new row;
alternatively, it'd be fine if we did this nightly as well.

3. Columns go_term and go_aspect together are unique.



TABLE go_evidence
=================
go_evidence_no		Required.
                	Primary key. Oracle sequence number.
                	Cannot be updated.
                	NUMBER(10)

evidence_code		Required. Coded.
			On insert, check value against code table.
			VARCHAR2(40)

description		Required. Unique.
			VARCHAR2(240)

date_created            Required.
                        On insert, set to SYSDATE.
                        On update, keep original date.
 
created_by              Required.
                        On insert, set to USER

Other rules:
-----------


TABLE go_feat_goev
===================
goid			Required. Part of primary key.
			Foreign key to go table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

feature_no		Required. Part of primary key.
			Foreign key to feature table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

go_evidence_no		Required. Part of primary key.
			Foreign key to go_evidence table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

is_not			Required. Part of primary key.
                        Cannot be updated.
		  	Allowable values: Y, N
	                VARCHAR2(1)

date_created		Required.
                	On insert, set to SYSDATE.
                	On update, keep original date.
 
created_by      	Required.
                	On insert, set to USER

Other rules:
------------
If a row in go_feat_goev is deleted, do not delete corresponding rows
in either go, feature, or go_evidence tables.  If a row in feature,
go, or go_evidence is deleted, then delete the corresponding row in
go_feat_goev only (but do not delete anything in the other parent
tables).


TABLE go_gosyn
===============
goid			Required. Part of primary key.
			Foreign key to go table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

go_synonym_no		Required. Part of primary key.
			Foreign key to go_synonym table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

Other rules:
------------
If a row in go_gs is deleted, do not delete corresponding rows in
either go or go_synonym tables.  If a row in go or go_synonym is
deleted, then delete the corresponding row in go_gs only (but do not
delete anything in the other parent tables).


TABLE go_locus_goev
==================
goid			Required. Part of primary key.
			Foreign key to go table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

locus_no		Required. Part of primary key.
			Foreign key to locus table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

go_evidence_no		Required. Part of primary key.
			Foreign key to go_evidence table.
			Cascade delete.
			Cannot be updated.
			NUMBER(10)

is_not			Required. Part of primary key.
                        Cannot be updated.
		  	Allowable values: Y, N
	                VARCHAR2(1)

date_created		Required.
                	On insert, set to SYSDATE.
                	On update, keep original date.
 
created_by      	Required.
                	On insert, set to USER

Other rules:
------------
If a row in go_locus_goev is deleted, do not delete corresponding rows
in either go, locus, or go_evidence tables.  If a row in locus, go, or
go_evidence is deleted, then delete the corresponding row in
go_locus_goev only (but do not delete anything in the other parent
tables).


TABLE go_synonym
================
go_synonym_no		Required.
                	Primary key. Oracle sequence number.
                	Cannot be updated.
                	NUMBER(10)

go_synonym		Required. Unique.
			VARCHAR2(240)

date_created            Required.
                        On insert, set to SYSDATE.
                        On update, keep original date.
 
created_by              Required.
                        On insert, set to USER

Other rules:
------------
If a row in go_synonym is deleted, delete the corresponding row in the
go_gs linking table, but do not delete the corresponding row in the go
table.



TABLE go_path
=================
go_path_no		Required.
                	Primary key. 
                	Cannot be updated.
                	NUMBER(10)

ancestor_goid		Required.
                	NUMBER(10)

child_goid		Required.
                	NUMBER(10)

relationship_type	Optional. Coded.
			On insert, check value against code table.
			VARCHAR2(40)

generation		Required.
			NUMBER(2)

ancestor_path		Optional.
                        VARCHAR2(240)

Other rules:
-----------

Valid values for relationship_type are: 
is a
part of

The relationship type cannot always be unambiguously determined if the
generation number is high (eg. great-great-great grandparent).

The ancestor_path column will consist of a :: separated list of all
GOIDs corresponding to GO terms in between the ancestor and the child.
This column will be null when there is a direct parent:child
relationship (ie. generation = 1).