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]
