From: Jonathan C. <cra...@pc...> - 2003-09-04 20:58:09
|
Hi Sucheta- On Thu, 4 Sep 2003 su...@vb... wrote: > I am new to the GUS developer's forum, so I am not aware if the question > has already been addressed. > > I was wondering in the table DoTS::NAFeatureImp (standard table), what are > the use of the int(1...), float(1..) and string attributes. > > Is there a place where the meaning of the attributes has been documented? As Chetna mentioned, documentation is available for many of the attributes in the GUS schema browser; see http://www.gusdb.org/cgi-bin/schemaBrowser The descriptions that you see in the schema browser are actually stored in GUS itself, in the table Core.DatabaseDocumentation. However, the particular attributes that you mention are handled in a special way. Any table whose name ends in "Imp" in GUS is considered an "implementation" table. These tables are typically not queried directly; instead we query the single-table views that are defined on these tables. In the case of NAFeatureImp, for example, these views include GeneFeature and HexamerFeature; the schema browser's "view on" column shows us that both of these views are views on the NAFeatureImp table. The columns named int1, string1, etc., may be used for different things in different views, so the important thing to look at is the documentation for the individual views, not the implementation tables. For example, if you click on the link for DoTS::GeneFeature, you can see the actual SQL view definition for the view, which reads as follows: SELECT na_feature_id, na_sequence_id, subclass_view, sequence_ontology_id, name, parent_id, source_id, external_database_release_id, prediction_algorithm_id, is_predicted, review_status_id, string14 as gene_type, tinyint2 as confirmed_by_similarity, int1 as prediction_number, int2 as number_of_exons, tinyint3 as has_initial_exon, tinyint4 as has_final_exon, float1 as score, float2 as secondary_score, tinyint5 as is_pseudo, tinyint6 as is_partial, string1 as allele, string2 as citation, string3 as evidence, string4 as function, string5 as gene, string6 as label, string7 as map, string9 as phenotype, string10 as product, string12 as standard_name, string13 as usedin, modification_date, user_read, user_write, group_read, group_write, other_read, other_write, row_user_id, row_group_id, row_project_id, row_alg_invocation_id, FROM NAFeatureImp WHERE subclass_view = 'GeneFeature' WITH CHECK OPTION; In other words, the "string1" column of the NAFeatureImp table is used to store the GeneFeature's "allele". But, in another view of NAFeatureImp, it might be used for something else. This system of having multiple views on a single implementation table gives us a very simple way to implement a restricted form of subclassing in the database (that is, a GeneFeature IS-A NAFeature.) Jonathan |