MAEPlugins Open Java API

MAExplorer | MAEPlugin home | Design | Open Java API | MJA classes | MJA javadocs | Open Java API javadocs |
Plugin Tutorial Examples | List of Plugins | Developing a Plugin | Installing Plugins |
MAExplorer home | MAExplorer revision notes | Help desk

This document describes the MAEPlugins Open Java API (Applications Programming Interface) to enable researchers to write their own MAEPlugins for use with MAExplorer. The Open Java API (or API) is presented here as two javadoc trees.

The Open Java API is automatically included in the MAExplorer.jar file. Although it wastes some space, we are exporting the symbol tables with the files in MAExplorer.jar so that you could use it with a debugger (such as Forte for Java Community Edition) to develop a MAEPlugin. Forte 4.0 has been renamed "Sun One". We have prepared a document Configuring SourceForge's CVS to work with Forte on Windows for MAExplorer that describes how to set up a software development environment.

  1. The Open Java API is undergoing improvements with new methods being added to further reflect the underlying MAExplorer capabilities and data structures.

  2. The NormalizationPlugin and FilterPlugin base classes have been enhanced to handle both simple global plugins and data-dependent local plugins. Some generic examples of plugins based on these are available in the list of plugins. These handle the various types of data access. If you use these as a basis for developing your own plugins, you might remove the unused code to simplify your own code..

  3. If there is functionality needed but you can't find in the Open Java API, make a suggestion or better still - help develop the API code by joing this Open Source efforty.

The first, docsOJAPI/, is the entire API accessible to the plugin writer including the MAEPlugin classes required to extend your plugins. However, many of the MJAxxxx methods are not normally called explicitly by the plugin writer. Instead, a subset of classes, docsMJA/ constituting the MaeJavaAPI set of classes, is the library of access methods that the plugin writer normally uses.

1. List of MaeJavaAPI (MJA) classes

The MJA classes are organized by function. For example, if you want to access data and methods on samples, then go to the MJAsample or MJAsampleList classes. See the javadocs for the Open Java API for details. The detailed descriptions of these classes are available in the
docsMJA javadocs.
MJAxxxx Class     Objects and method access
 -------------     -------------------------
 MJAbase            base class and constants used by other MJA classes
 MJAcluster         cluster data structures and methodst
 MJAcondition       condition lists of samples and ordered lists of condition lists
 MJAeval            command interpreter to invoke MAExplorer commands
 MJAexprProfile     expression profiles data
 MJAfilter          data filters
 MJAgene            single gene data
 MJAgeneList        lists of genes and get sets
 MJAgenomicDB       genomic databases on the Internet 
 MJAgeometry        array geometry, spot to gene maps, etc.
 MJAhelp            popup browser help methods
 MJAhistogram       histogram plots
 MJAmath            built-in math functions
 MJAnormalziation   normalization data and methods
 MJAplot            scrollable 2D plot support [Future]
 MJAproperty        get and put individual properties
 MJApropList        get lists of properties
 MJAsample          get and put single sample top-level data
 MJAsampleList      get lists of samples top-level data
 MJAscrollablePlot  scrollable 2D plot support [Future]
 MJAsort            built-in sort methods
 MJAstatistics      built-in statistics methods
 MJAstate           get and save state, get additional state info
 MJAutil            built-in utility methods