|
From: Chris M. <cj...@fr...> - 2005-02-28 23:07:11
|
On Thu, 24 Feb 2005, Scott Cain wrote: > Hello, > > At the moment, when someone does `perl Makefile.PL` to install chado, > the user is presented with a list of 4 functions that he can optionally > install (listed in modules/function.modules): > > sequence/gff-bridge/sequence-gff-funcs.pgsql > sequence/functions/feature_subalignments.plpgsql > sequence/functions/get_sub_feature_ids.plpgsql > sequence/apollo-bridge/apollo-triggers.sql > > I suspect that there are other functions (written mostly by folks at > Harvard_ that I don't know anything about, but would probably be > generally useful. Am I right? What other functions in schema/chado > should be optionally installed? There's also the stuff in the cv module that Shu wrote for recursively traversing the cvterm_relationship table and populating cvtermpath I think in general it is ok to have functions installed by default, but we should be wary of installing triggers by default (unless these are triggers on bridge tables) here is how I see functions working in chado Every module should have a DBMS API public interface specification, in SQL or pseudo-SQL. The chado user (ie coder) can expect to find all these functions implemented - they shouldn't care how they are implemented. The chado installer should have a default set of implementations they can install without thinking too hard. The advanced chado installer may decide to have their own implementations. Reasons for a non-default installation may be: different DBMS; different policy (eg feature naming functions) I am attaching an example of what the interface specification for the sequence module may look like - if people are happy with this, Shu and I can use the same syntax to document the functions that currently exist which should be part of the core API > A related question is what should be in the default database schema. At > the moment, the first three in the list above are included in the > default schema, if there are more added to the optional list, which > among those should be put in the default? > > Thanks, > Scott > > |