Rediscovery DB User Documentation
The Rediscovery DB application interface revolves around two very basic principles: terms and lists of terms.
A term in Rediscovery DB is more or less a record from some type of controlled vocabulary. There are several types of different terms in Drug Rediscovery such as compound terms, enzyme terms, disease terms, researcher terms, etc. Each term can have various pieces of information that identifies it. For example, for a target term with the symbol "HRAS" has the following information:
|name||v-Ha-ras Harvey rat sarcoma viral oncogene homolog|
Most terms in Rediscovery DB are clickable links, which will bring up a dialog box with more information about the term. So if ever a term seems ambiguous, the user can click on it for more information.
A list of terms is just a collection of one or more terms. Most operations in Rediscovery DB either start with and/or end with lists of terms. For example, the user may have a list of disease terms, and wants to retrieve a list of target terms that are related. That is a simple transform of a disease list to a target list. Granted there is quite a bit going on in the backend to consult various datasources to see which targets are related to which diseases, but from the user's end it is quite simple! A user can do things like build lists, modify lists, transforms lists, save lists.
Using Term Lists
Building a list
On the standard interface a user can add new terms to the list in a couple of different ways. The first way is to add them one at a time from the "Add new terms" link. From the pop-up dialog, one can search certain term fields by some string which will give a list of results, (arbitrarily) limited to 100. Once a list of terms have been returned, the user can then add any of the terms to the main list by clicking on the "Add" link to the left of the term.
The second primary method is to use the batch term search. To use the batch term search, click on the link "Add batch terms". From the dialog box, simply enter a list of supported terms (examples for each type of term given at the top of the dialog box) and click "Batch Search". Please note that batch search supports a number of delimiters (the thing separating the terms) such as semicolon, tab, newline, comma, and space. Once the batch search returns a list of matching terms, the user can modify the list by unchecking any unwanted terms, and then adding them by clicking "Add Checked Terms".
Modifying a List
Once the table is populated with a list of terms, it is possible to modify the list before performing any transformation on it. That is accomplished simply by modifying the checkbox to the left of the term. The user can also click the links "Select All" or "Deselect All" to rapidly check or uncheck all of the terms currently in the table. When a term list is transformed into another term list, only checked values will be submitted.
Transforming a List
When the user has built and/or modified their list of terms, they can now transform it into a term list of another type. A "transformation" as we're calling it simply returns a term list of a specified type with terms that are all related to at least one of the terms from the previous list.
To transform a list, choose the desired type of term list to transform to from the select box where it says, "Get Related ______" and click on the button next to the select box. Not all types of terms will be available in the select box. Only terms which we have obtained relational data for will show up in the box.
Of course, we would like to also know which submitted terms are actually related to each of the terms in the resultant list. For that reason, the final column of the table will show the terms from the previous list that are related to the term specified in that row.
Since keeping track of lists that have been built can get confusing, a user can create named lists of terms. To create a new list, click on the "Add List" link underneath the "Term Lists" section on the left of the interface. The dialog box will allow the user to choose a type of term, and the name of the list.
The user can create as many different list names for each type as they want. When the user adds new terms to the named list, the term will be added to whichever list is active. A list is made active simply by clicking on the name of the list. If a user adds a term to named lists without first creating a named list of that type, a default list called "untitled" will be used.
There are a couple of different ways to add terms to named term lists. Firstly a user can click on the link, "Add checked terms to disease list", which will add all the checked terms to the current list. The other method is to individually add terms. On any dialog box which lists all the information about a term, there is a link, "Add to list" at the bottom. Once terms are in a list, they can also be removed by clicking on the "X" link next to that term.
Finally, what good is building up a list if we can't use it for anything. In order to use the list, just click "Load List" underneath the list and the list will be loaded on the proper page.
To help the user keep track of the lists they have transformed back and forth, we have added a "History" functionality. Under the History heading on the left of the interface, each list transformation is logged. As an example when submitting from a list of target terms to a list of disease terms the history for this operation might look like, "targets(3)-> disease(10) at: 08:03:08". This tells us that a list of 3 target terms was transformed into a list of 10 related disease terms at about 8am.
In addition to seeing what list operations have been made, the user can also click on either the source list, or the resultant list. When clicking on the link to the source list, the user will be brought to a list of just those terms. On the other hand if the user clicks on the link of the targeted type, they will see the page just as it was after they originally submitted the source list.
For reasons of keeping the history relatively short, a user will only see history items where the target is the current page. For example, on the diseases page, a user will only see transformations where the resultant list was a disease list.
As all history and named list information is stored in the session, it is possible to save a current work session. Simply click on the "Save Session" link at the top left of the page and it will output a link which can be used to restore the session for later. This should be done anytime the user will go inactive for awhile and does not want to lose their history and named lists.
Obviously no tool is extremely useful unless you can get data both in AND out. For that reason there are ways to export data from Rediscovery DB into different formats.
In order to preserve the results from a term list transform, the user may export the resultant table as both a CSV and an HTML table. The CSV will strip out any HTML that was in the table, whereas the HTML export will leave hyperlinks in place. In order to export a result simply click on the "CSV" or "HTML" link after the text "Export Spreadsheet".
Exporting Networks and Gaggle
Because relationships produced by Rediscovery DB can be complicated and multidimensional, it is desirable to be able to view data in a manor more powerful than a simple table. For that reason Rediscovery DB can export data into a format usable by Cytoscape network analyzer. The two formats currently supported are SIF, and Gaggle Network.
The SIF option simply outputs text which can be saved as a file and then imported into Cytoscape. The disadvantage to the SIF format is that it doesn't preserve various node and edge attributes.
The Gaggle Network option is much better for preserving node and edge data. In order to use Gaggle Networks, you must be using Firefox with the Firegoose plugin installed, and have java webstart working.
More information about the Gaggle and Firegoose can be found at the Gaggle website.
Essentially, when exporting to a Gaggle Network, Rediscovery DB formats the data into HTML that is recognizable to Firegoose, and Firegoose can then "Broadcast" the network to Cytogoose (Cytoscape modified for the Gaggle). Once the network is in Cytoscape, much more detailed analysis can be done. Again, for more information please reference the Gaggle website.
It is worth noting however that once in Cytoscape, a user can combine multiple networks. Thus, if a user imported a enzyme->target network and a target->disease network, Cytoscape could combine the networks and show indirect relationships between enzymes and diseases. The following exported image demonstrates what multiple networks combined in Cytoscape can do for visualizing relationships.