GMOD / Chado

the GMOD database schema
http://gmod.org/wiki/Chado
Artistic License 2.0
38 stars 25 forks source link

Phenotype Module #34

Open spficklin opened 6 years ago

spficklin commented 6 years ago

This issue imported from the Chado v1.4 requested changes google doc:

http://gmod.827538.n3.nabble.com/proposal-for-changes-to-the-phenotype-module-tc4044535.html#a4044612

spficklin commented 6 years ago

Sample code from the Google Doc

COMMENT ON TABLE phenotype IS 'Columns observable_id, attr_id, cvalue_id, assay_id are deprecated to break the connection between the phenotype value and the trait. The phenotype table should be used to store only the phenotype value. Use tables phenotype_cvterm and/or phenotype_cvtermrelationship to store the trait(s) associated with the phenotype. This allows a more abstract  way of post-composing cvterms and storing EQ statements.';
CREATE TABLE phenotype_cvtermrelationship (
      phenotype_cvtermrelationship_id serial PRIMARY KEY,
      phenotype_id integer NOT NULL REFERENCES phenotype(phenotype_id),
      cvterm_id integer NOT NULL REFERENCES cvterm(cvterm_id),
      type_id integer NOT NULL REFERENCES cvterm(cvterm_id),
      phenotypegroup integer DEFAULT NULL,
      rank integer DEFAULT 0 );
ALTER TABLE phenotype_cvtermrelationship ADD unique (phenotype_id,
cvterm_id, type_id, phenotypegroup,rank);
laceysanderson commented 6 years ago

I do not support this proposal...

We have to make sure that supporting EQ statements doesn't cause serious performance issues for those of us who don't use EQ statements! We currently use the attr_id to link our values to our "simple" traits. Forcing those of us with simple traits to join to another table to specify the trait of a value will double the number of records and cause a performance hit. This is a deal breaker for "big data".

Furthermore, I see no reason to deprecate the cvalue_id if your goal is to decouple the trait from the value. The cvalue_id field is critical for use of scales with phenotypic data!

ekcannon commented 6 years ago

I agree with Lacey. Expanding on my comment to https://github.com/GMOD/Chado/issues/35, , those of us dealing with germplasm traits do need cvalue and value, along with observable_id, attr_id, cvalue_id, assay_id.

scottcain commented 5 years ago

So does #35 do the same thing, or is it separate but related?

ekcannon commented 5 years ago

This issue is pretty much the same as #35.