MouseBIRN.MBATDataSourceAPI (r1.1 vs. r1.8)
Diffs

 <<O>>  Difference Topic MBATDataSourceAPI (r1.8 - 31 Jul 2008 - DarenLee)

META TOPICPARENT MBATSearch

Current Data Types to be Displayed in MBAT

Line: 170 to 170


Added:
>
>

Changes to Query.java

Query.java needs to create 2 hashmaps:
  1. HashMap< mbDataSourceBase, Vector< mbQueryResult > > m_hashmapResultsByDataSource
  2. HashMap< mbQueryResult.DATATYPE, Vector< mbQueryResult > > m_hashmapResultByDataType

The first hashmap are the results indexed by data source. The second hashmap are the results by data type.



Implementation details:
  • Separate GUI elements and objects if possible, for example:
    • SearchParam : object to hold search parameter

 <<O>>  Difference Topic MBATDataSourceAPI (r1.7 - 30 Jul 2008 - DarenLee)

META TOPICPARENT MBATSearch

Current Data Types to be Displayed in MBAT

Line: 84 to 84

    • gene and structure may get very complicated to lookup using BonFire? services


Changed:
<
<
mbSearch core base class for all datasource plugins:
>
>

mbDataSourceBase

Base class for all datasource plugins:



Changed:
<
<
public interface mbDataSource
>
>
public interface mbDataSourceBase

{ boolean hasQueryTermSearch(); boolean hasKeywordSearch(); boolean hasSemanticSearch();
Changed:
<
<
HashMap?< mbResult.DATATYPE, Vector< mbResult> > searchByQueryTerms( Vector< SearchParam? > vQueryTerms ); HashMap?< mbResult.DATATYPE, Vector< mbResult> > searchByKeyword( String sKeywords ); HashMap?< mbResult.DATATYPE, Vector< mbResult> > searchBySemantic( String sRDF );

void QueryTermToSourceTerm?( Vector< SearchParam? > vTerms); NOTE: since BonFire services aren't stable and not sure if they can support our needs, this will have to be re-evaluated

>
>
/** * Returns a vector of mbQueryResults. Vector can be of mixed datatypes * (ie: IMAGE2D, GENEEXPRESSION, etc) */ Vector< mbQueryResult> searchByQueryTerms( Vector< SearchParam? > vQueryTerms ); Vector< mbQueryResult> searchByKeyword( String sKeywords ); Vector< mbQueryResult> searchBySemantic( String sRDF );

void QueryTermToSourceTerm?( Vector< SearchParam? > vTerms); // NOTE: since BonFire services aren't stable and not sure if they can // support our needs, this will have to be re-evaluated


}


Changed:
<
<
Sample datasource plugin:
>
>

Sample datasource plugin:


public class ABASource implements DataSource
{
Changed:
<
<
Vector< Vector< mbResult> > searchByQueryTerms( Vector< SearchParam? > vQueryTerms );
>
>
Vector< mbQueryResult> searchByQueryTerms( Vector< SearchParam? > vQueryTerms );

boolean hasQueryTermSearch() { return true; } boolean hasKeywordSearch() { return false; }

Line: 115 to 122

}
Changed:
<
<
Class hierarchy of result types:
>
>

MBAT3.0 Core Object Classes

The core objects can be accessed by any workspace in mbat3.0. Class hierarchy of core objects:



Changed:
<
<
mbResult
>
>
mbObject (base object for all accessible objects in mbat3.0) ^ |

mbAnnotatedObject (represents an object with annotations in mbat3.0)


^ |

Probe Image2DSeries Image3D NumericData? ExpressionLevel?


Added:
>
>

mbQueryResult

The mbQueryResult class represents a single result from a query and can contain multiple annotated objects of different datatypes:
public class mbQueryResult {
   public enum DATATYPE {
      UNKNOWN,
      IMAGE2D,
      IMAGE3D,
      PROBE,
      GENE,
      GENE_ALIAS,
      GENE_EXPRESSION,
      STRUCTURE,
      DATATYPE_COUNT
   }
   
   // datasource
   private mbDataSourceBase m_mbDataSource;
   // annotated objects for this result, indexed by datatype
   private HashMap< DATATYPE, mbAnnotatedObject > m_hashmapResultSet;
}

Class hierarchy of query results:

               mbQueryResult
                   ^
                   |

ABAResult     CCDBResult    BMDBResult 



Implementation details:
  • Separate GUI elements and objects if possible, for example:
    • SearchParam : object to hold search parameter
    • JSearchParam extends SearchParam : GUI object for SearchParam
  • Eliminate Adapter type of classes (ie: AnnotContainerAbstract)

Deleted:
<
<
class mbResult:
public class mbResult
{
    DATATYPE m_DataType; // Image2D, Probe, etc.
    mbDataSourceBase m_mbDataSource; // ABA, BMDB, CCDB, etc
    Vector< Annototation > m_vAnnotations; // annotation pairs

    Vector< mbResult > m_vChildren;  // hierarchy/ontology results
}


GUI Interfaces

  1. DataSource centric:

 <<O>>  Difference Topic MBATDataSourceAPI (r1.6 - 29 Jul 2008 - DarenLee)

META TOPICPARENT MBATSearch

Current Data Types to be Displayed in MBAT

Line: 87 to 87

mbSearch core base class for all datasource plugins:



Changed:
<
<
public interface DataSource?
>
>
public interface mbDataSource

{ boolean hasQueryTermSearch(); boolean hasKeywordSearch(); boolean hasSemanticSearch();
Changed:
<
<
Vector< Vector< mbResult> > searchByQueryTerms( Vector< SearchParam? > vQueryTerms ); Vector< Vector< mbResult> > searchByKeyword( String sKeywords ); Vector< Vector< mbResult> > searchBySemantic( String sRDF );
>
>
HashMap?< mbResult.DATATYPE, Vector< mbResult> > searchByQueryTerms( Vector< SearchParam? > vQueryTerms ); HashMap?< mbResult.DATATYPE, Vector< mbResult> > searchByKeyword( String sKeywords ); HashMap?< mbResult.DATATYPE, Vector< mbResult> > searchBySemantic( String sRDF );

void QueryTermToSourceTerm?( Vector< SearchParam? > vTerms); NOTE: since BonFire services aren't stable and not sure if they can support our needs, this will have to be re-evaluated }

Line: 117 to 117


Class hierarchy of result types:


Changed:
<
<
MBATResult
>
>
mbResult

^ |
Line: 134 to 134

public class mbResult
{
Changed:
<
<
DataType? m_dataType; // Image2D, Probe, etc. DataSource? m_dataSourceRef; // ABA, BMDB, CCDB, etc Vector< Annot > m_vAnnotations; // annotation pairs
>
>
DATATYPE m_DataType; // Image2D, Probe, etc. mbDataSourceBase m_mbDataSource; // ABA, BMDB, CCDB, etc Vector< Annototation > m_vAnnotations; // annotation pairs

Vector< mbResult > m_vChildren; // hierarchy/ontology results }


 <<O>>  Difference Topic MBATDataSourceAPI (r1.5 - 24 Jun 2008 - DarenLee)

META TOPICPARENT MBATSearch

Current Data Types to be Displayed in MBAT

Line: 93 to 93

boolean hasKeywordSearch(); boolean hasSemanticSearch();
Changed:
<
<
Vector< MBATResult > searchByQueryTerms( Vector< SearchParam? > vQueryTerms ); Vector< MBATResult > searchByKeyword( String sKeywords ); Vector< MBATResult > searchBySemantic( String sRDF );
>
>
Vector< Vector< mbResult> > searchByQueryTerms( Vector< SearchParam? > vQueryTerms ); Vector< Vector< mbResult> > searchByKeyword( String sKeywords ); Vector< Vector< mbResult> > searchBySemantic( String sRDF );

void QueryTermToSourceTerm?( Vector< SearchParam? > vTerms); NOTE: since BonFire services aren't stable and not sure if they can support our needs, this will have to be re-evaluated }

Line: 107 to 107

public class ABASource implements DataSource
{
Changed:
<
<
Vector< MBATResult > searchByQueryTerms( Vector< SearchParam? > vQueryTerms );
>
>
Vector< Vector< mbResult> > searchByQueryTerms( Vector< SearchParam? > vQueryTerms );

boolean hasQueryTermSearch() { return true; } boolean hasKeywordSearch() { return false; }

Line: 130 to 130

    • JSearchParam extends SearchParam : GUI object for SearchParam
  • Eliminate Adapter type of classes (ie: AnnotContainerAbstract)

Added:
>
>
class mbResult:
public class mbResult
{
    DataType m_dataType; // Image2D, Probe, etc.
    DataSource m_dataSourceRef; // ABA, BMDB, CCDB, etc
    Vector< Annot > m_vAnnotations; // annotation pairs

    Vector< mbResult > m_vChildren;  // hierarchy/ontology results
}

GUI Interfaces

  1. DataSource centric:
      ----------------------------------------------
      | DataSource: CCDB                           |
      ----------------------------------------------
    
          ------------------------------------------
          | Image2D                                |
          ------------------------------------------
    
          ------------------------------------------
          | Probe                                  |
          ------------------------------------------
      
  2. DataType centric:
      ----------------------------------------------
      | DataType: Image2D                          |
      ----------------------------------------------
    
          ------------------------------------------
          | CCDB                                   |
          ------------------------------------------
    
          ------------------------------------------
          | ABA                                    |
          ------------------------------------------
    
      ----------------------------------------------
      | DataType: Probe                            |
      ----------------------------------------------
    
          ------------------------------------------
          | BMDB                                   |
          ------------------------------------------
    
          ------------------------------------------
          | GENSAT                                 |
          ------------------------------------------
      
  3. Hierarchy/Ontology centric:
      -------------  ------------------------------
      | TreeView  |  | Node Details               |
      |           |  |                            |
      |           |  |                            |
      |           |  |                            |
      |           |  |                            |
      |           |  |                            |
      |           |  |                            |
      -------------  ------------------------------
     


 <<O>>  Difference Topic MBATDataSourceAPI (r1.4 - 17 Jun 2008 - DarenLee)

META TOPICPARENT MBATSearch

Current Data Types to be Displayed in MBAT

Changed:
<
<
>
>

  • Image2DSeries
  • Line: 9 to 9

  • Added:
    >
    >
    Image3D (Image3DSeries?)

    An image volume such as Analyze or NIFTI.

  • Numeric 3D/2D

    A 3D volume or 2D plane of numeric data (ie: ABA expression intensities).


  • ExpressionLevel

    A microarray expression level for a particular anatomical structure or region. The structure or region may be expressed by name (i.e. "cerebellum") or the geometric coordinates in an atlas.

    Changed:
    <
    <
    The expression value may be numerical or it may be an English word indicating a relative expression level (i.e. "low", "mid", "high").
    >
    >
    The expression value may be numerical or it may be an English word indicating a relative expression level (i.e. GENSAT "low", "mid", "high").

  • Changed:
    <
    <
    ExpressionLevelGroup
    >
    >
    MicroarrayProbe

    Talk with Rob Williams about GN results. See if we can converge results types from other individual researchers and GN database.

    ExpressionLevelGroup (might not need this)


    Not yet sure what to call this or whether a separate type is even needed. But this type would provide some way to represent multiple microarray levels across the whole brain. This is analagous to the current probe result, but not limited to microarray probes. Once a more complete list of potential sources is identified, this should become clear.

    Changed:
    <
    <
    >
    >

    Current Data Sources

    Line: 29 to 46

    Gene Network Expression Level numeric values based on anatomical structure
    BIRN Microarray Server Expression Level numeric values based on anatomical structure
    CCDB Image2D Series microscopic cell images based on anatomical structure
    Added:
    >
    >
    Image3D reconstructed image volumes from 2D images series

    ABA Image 2D Series In situ images representing gene expression
    Changed:
    <
    <
    ABA Expression Level English terms for relative expression level based on structure
    >
    >
    Expression Level English terms for relative expression level based on structure
    Numeric 3D Gene expression intensities

    GENSAT Rockefeller Image2D Series ?

    Planned Data Sources

    Source Name Data Type Type Format
    Voxelation Data from Desmond Smith Lab Expression Level numeric values based on atlas location
    BIRN CC Mediator Expression Level misc microarray data sets containing numeric values based on anatomical structure
    Added:
    >
    >
    AIDB Image3D 3D MRI volumes


    Changed:
    <
    <

    Required Data Source Information

    >
    >

    Annotation Display

    • Annotations/metadata displayed in results table after a query
    • Options:
      1. "Standard" 5 columns per datatype (need consensus from PIs)
      2. Customizable columns (end-user interactively chooses columns to display )

    • Note: Microarray probe annotations are trickiest since they have nested annotations (ie: each probe has structure tags and each structure tag has annotations)


    Required Data Source Information per Plugin


    • Display name (ie: Allen Brain Atlas)
    • Data types supported (ie: 2D image, microarray, etc)
    • connString (ie: URL)
    • parameters
    Changed:
    <
    <
    • UMD ID (only needed to query UMD server for connString/parameters? if we use XML based configuration, won't need this?)
    >
    >

    • user credentials (preferences file)

    • Mapping of data source column names to MBAT column names
    Changed:
    <
    <
    • Mapping of MBAT query terms to data source terms
    >
    >
    • Mapping of MBAT query parameter terms to data source parameters terms

    • Internally, query plugin maps user parameter value to data source value
      • gene and structure may get very complicated to lookup using BonFire? services


    mbSearch core base class for all datasource plugins:

    Added:
    >
    >
    public interface DataSource
    {
       boolean hasQueryTermSearch();
       boolean hasKeywordSearch();
       boolean hasSemanticSearch();
    
       Vector< MBATResult > searchByQueryTerms( Vector< SearchParam > vQueryTerms );
       Vector< MBATResult > searchByKeyword( String sKeywords );
       Vector< MBATResult > searchBySemantic( String sRDF );
    
       void QueryTermToSourceTerm( Vector< SearchParam > vTerms); NOTE: since !BonFire services aren't stable and not sure if they can support our needs, this will have to be re-evaluated 
    }
    


    Sample datasource plugin:

    public class ABASource implements DataSource
    {
       Vector< MBATResult > searchByQueryTerms( Vector< SearchParam > vQueryTerms );
    
       boolean hasQueryTermSearch() { return true; }
       boolean hasKeywordSearch() { return false; }
       boolean hasSemanticSearch() { return false; }
    }
    

    Class hierarchy of result types:
                   MBATResult
                       ^
                       |
    
    Probe        Image2DSeries      Image3D      NumericData      ExpressionLevel
    

    Implementation details:
    • Separate GUI elements and objects if possible, for example:
      • SearchParam : object to hold search parameter
      • JSearchParam extends SearchParam : GUI object for SearchParam
    • Eliminate Adapter type of classes (ie: AnnotContainerAbstract)



     <<O>>  Difference Topic MBATDataSourceAPI (r1.3 - 14 Jun 2008 - DarenLee)

    META TOPICPARENT MBATSearch

    Current Data Types to be Displayed in MBAT

    Line: 38 to 38

    Voxelation Data from Desmond Smith Lab Expression Level numeric values based on atlas location
    BIRN CC Mediator Expression Level misc microarray data sets containing numeric values based on anatomical structure
    Added:
    >
    >

    Required Data Source Information

    • Display name (ie: Allen Brain Atlas)
    • Data types supported (ie: 2D image, microarray, etc)
    • connString (ie: URL)
    • parameters
    • UMD ID (only needed to query UMD server for connString/parameters? if we use XML based configuration, won't need this?)

    • Mapping of data source column names to MBAT column names
    • Mapping of MBAT query terms to data source terms



     <<O>>  Difference Topic MBATDataSourceAPI (r1.2 - 13 Jun 2008 - SteveAnderson)

    META TOPICPARENT MBATSearch
    Changed:
    <
    <

    Current Data Types Displayed in MBAT

    >
    >

    Current Data Types to be Displayed in MBAT


    • Image2DSeries
    Line: 15 to 15

    The expression value may be numerical or it may be an English word indicating a relative expression level (i.e. "low", "mid", "high").

    Added:
    >
    >

  • ExpressionLevelGroup

    Not yet sure what to call this or whether a separate type is even needed. But this type would provide some way to represent multiple microarray levels across the whole brain. This is analagous to the current probe result, but not limited to microarray probes. Once a more complete list of potential sources is identified, this should become clear.


  • Current Data Sources

    Source Name Data Type Type Format
    Gene Network Expression Level numeric values based on anatomical structure
    Changed:
    <
    <
    Birn Microarray Server Expression Level numeric values based on anatomical structure
    >
    >
    BIRN Microarray Server Expression Level numeric values based on anatomical structure

    CCDB Image2D Series microscopic cell images based on anatomical structure
    ABA Image 2D Series In situ images representing gene expression
    ABA Expression Level English terms for relative expression level based on structure
    Added:
    >
    >
    GENSAT Rockefeller Image2D Series ?

    Planned Data Sources

    Source Name Data Type Type Format

     <<O>>  Difference Topic MBATDataSourceAPI (r1.1 - 13 Jun 2008 - SteveAnderson)
    Line: 1 to 1
    Added:
    >
    >
    META TOPICPARENT MBATSearch

    Current Data Types Displayed in MBAT

    • Image2DSeries

      An ordered list of references to one or more 2-D image files. The following image file formats are supported: [INSERT LIST]

    • ExpressionLevel

      A microarray expression level for a particular anatomical structure or region. The structure or region may be expressed by name (i.e. "cerebellum") or the geometric coordinates in an atlas.

      The expression value may be numerical or it may be an English word indicating a relative expression level (i.e. "low", "mid", "high").

    Current Data Sources

    Source Name Data Type Type Format
    Gene Network Expression Level numeric values based on anatomical structure
    Birn Microarray Server Expression Level numeric values based on anatomical structure
    CCDB Image2D Series microscopic cell images based on anatomical structure
    ABA Image 2D Series In situ images representing gene expression
    ABA Expression Level English terms for relative expression level based on structure

    Planned Data Sources

    Source Name Data Type Type Format
    Voxelation Data from Desmond Smith Lab Expression Level numeric values based on atlas location
    BIRN CC Mediator Expression Level misc microarray data sets containing numeric values based on anatomical structure

    Topic: MBATDataSourceAPI . { View | Diffs | r1.8 | > | r1.7 | > | r1.6 | More }

    Revision r1.1 - 13 Jun 2008 - 14:32 - SteveAnderson
    Revision r1.8 - 31 Jul 2008 - 19:26 - DarenLee