CaBIG Year 2

From Informatics

Jump to: navigation, search

Contents


caArray Querying Functionality

The caBIG Y2 requirements document describes the functionality that needs to be developed. Briefly, we want to add a querying capability to the geWorkbench interface used to retrieve experiments from caArray. Users will be able to specify values for a (small) number of search criteria (tissue type, chip platform, Investigator name, organism, experiment name, pubmedid) and the application will respond by retrieving from caArray only experiments that meet these criteria (rather than always displaying all the available experiments, as things stand right now.

In order to support the querying capabilities needed for the implementation of the target functionality, the NCICB team has extended the MAGE API by adding an interface named

  gov.nih.nci.mageom.search.Experiment.enhanced.ExperimentSearchCriteria

whose methods allow setting the various search criteria needed. This new interface is now part of the new (about to be released) version 1.5 of the MAGE API. Here is some relevant files and info:

  • The jars for the MAGE API v1.5 client can be downloaded from here.
  • The javadocs (not too detailed, I am afraid) can be downloaded from here.
  • Some more detailed requirements about the methods in the ExperimentSearchCriteria can be found in this requirements document, prepared by the NCICB team to capture dicussions with Aris. The document provides a description of the ExperimentSearchCriteria interface methods as well as code examples showcasing the proper use of the interface for performing searches. NOTE: The very first code sample in this document provides an example of how to obtain the set of values associated with an enum-type search field. Specifically, some of the search fields that we want to support (e.g., tissue type) assume values that comes from enum-type domains (i.e., set of permissible values). For such fields, the user should choose the search value from a drop down menu (exposing the permissible values) rather than by entering free text. We need then a way to retrieve sets of permissible values from the caArray server. The first bit of code shows how this is done (see some more details below).
  • The URL of the staging server for MAGE-OM v1.5 is:
 caarray-mageom-server-stage.nci.nih.gov:8080
and the usual public account (uid = PUBLIC, no password) is valid.

Dealing with search fields assuming enum values

Among the search fields that we would like to support, the following assume enum type values:

  • tissue type
  • chip platform
  • organism

As mentioned above, the first piece of code in the requirements document provided by NCICB provides an example of how to do that. For some context: the MAGE API uses objects of type OntologyEntry to store vocabulary terms (such as persmissible values). Each vocabulary term is stored within an OntologyEntry object. Further, each OntologyEntry can belong to one or more "ontology categories", each category being simply a group name. So, a set of terms can be grouped together (e.g., in order to define a set of permissible values for some field) by assigning them the same category label. In the code example mentioned above, an OntologyEntrySearchCriteria object is used to query caArray for ontology entries associated with the ontology category "OrganismPart" (which corresponds to our concept of a tissue type). The exact same code can be used to retrieve the permissible values for any other enum type field; one only needs to replace the category in the OntologyEntrySearchCriteria object with the category string corresponding to the field of interest. Here is the list of mathcing categories for the seach critera we are interested in:

  • tissue type -----> OrganismPart
  • chip platform -----> ???
  • organism -----> Organism
Personal tools