The Sprout uses data from the SEED to build a database that is optimized for searching and data mining. There is considerable data redundancy in order to insure that the searches are as fast as possible.
To add new data to the Sprout data base, you first update an XML file that contains the database definition, then you add a new module to the Sprout loader. The next time the Sprout is loaded, the new data will immediately be available for use via calls to database methods implemented in the Sprout base module.
At the current time, we are developing a high-powered search framework that can be used to add new search capabilities quickly. It is currently available on the as-yet-unpublished new search page. The search script automatically generates a list of search types from data in the FIG configuration file. If it is asked for a particular type of search, it will display the search form. When the form is filled in it will display search results.
Each search is implemented using a Search Helper module. All Search Helper modules are built on top of pre-existing code that handles the bookeeping and formatting, so when we add a new search we only need to lay out the form and write the code to find the search targets. Most searches are for features, so there are built-in helpers for feature filtering and retrieval.
Using this framework, a new search module can be added to Sprout in less than a day of programming effort. The ultimate goal is to make the NMPDR the go-to site for finding genes.
For content developers, the search modules provide a check box labeled Show URL. This check box generates a URL that can be used to repeat the search at any time. This capability was used to create the search links on the Essential Genes page. For development of internal NMPDR pages, the URL needs to be modified to be relative rather than absolute; however, outsiders can use the URL without modification. The hope is that this will prove to be a useful resource for other sites.
Comments (2)
Wow. I don't know where to begin. These forms looked on first view to be clean and organized, but when I started to use them, I have been having all sorts of problems. I have been using the search functions of a variety of other databases during the past few days so that I can find examples to illustrate my points and so that I am sure that I know what I'm talking about. I can safely say that without help, these pages will be confusing; and I won't have help ready in time for v 15 to go live with this.
Posted by leslie | October 12, 2006 3:13 PM
Posted on October 12, 2006 15:13
Well, it doesn't have to be published until the help is ready. Nonetheless, if the forms need to be changed, let me know and I can change them.
Posted by Bruce Parrello | October 12, 2006 3:50 PM
Posted on October 12, 2006 15:50