2nd try - hope the mail queue has been cleared..

This may be a FAQ (but it's not in the DX FAQ), but I'm willing to risk it.

We are working on an Open Source large-scale gene expression database (GeneX: 
http://genex.ncgr.org) that will house thousands of experiments, each of which 
may have 10s of thousands of datapoints and
link to many other data sources (ranging from tables in the same database to 
external databases).

We are currently developing a crude, file-based DX interface for it, but since 
we've developed a nice wrapper to the Perl DBI to access our database instead 
of dumping files based on static SQL
queries and then reading them into DX, we'd really like to make the link more 
dynamic, so that the DB can be queried and the results displayed directly.  We 
also like Perl as a general scripting
language so we'd like to stay in Perl (I saw that there is a Python-DX 
interface which seems to be based on SWIG (Simple Wrapper Interface Generator), 
so at least at the SWIG level this can be done.

My question is to query the DXpertise here to pick up some opinions about how 
the best way to do is would be.  'This' being how to use Perl's DBI 
functionality to provide data to DX from a relational
DB.  This would seem to have widespread utility. 

I saw the Forest Fire page:

 http://opendx.npaci.edu/publications/environmental/mtwildfire/index.html

which demonstrated an Oracle-DX interface, but that was a custom C coded 
interface.  We'd rather do something a bit more generic.

It seems like there are (at least) 2 ways to go about this:
1) create a small module written in C that links in the Perl shared lib and 
place all the necesary Perl code in that module statically, then recompile the 
module to obtain the changes (or better, have
it read in a file of Perl code and eval it).  The module could provide the 
information to point to a DB and perhaps the authentication information and the 
Perl interpreter could allow an interactive
Perl environment to set up queries, validate the data, etc.   

2) link in the Perl interpreter into the DX executive so that it would be 
available to all modules and allow the modules to pass Perl code to it, tho I'm 
fuzzy on how this would be done.

The data would have to be typed and shared via DX's API mechanism for both 
approaches.

Any ideas about this?

Thanks very much 

-- 
Cheers,
Harry

Harry J Mangalam -- (949) 856 2847 (v&f) -- [EMAIL PROTECTED] || [EMAIL 
PROTECTED]

Reply via email to