com.im.df.api 5.8

Discovery Informatics Framework API (DIF API)

Discovery Informatics Framework (or DIF for short) provides the data model and persistence tiers for applications that need to use chemical and biological data.

See:
          Description

Packages
com.im.df.api API Status: 1 - Stable com.im.df.api.* and subpackages provide the core Discovery Informatics Framework (DIF) interfaces.
com.im.df.api.capabilities API Status: 1 - Stable Provides the interfaces that allow extension of the the core data model of Discovery Informatics Framework (DIF).
com.im.df.api.chem API Status: 3 - Under development Provides the chemically oriented interfaces used in other parts of DIF.
com.im.df.api.ddl API Status: 1 - Stable
com.im.df.api.dml API Status: 2 - Pretty stable Provides the interfaces that provide data access (create, read, update, delete) for the items in the data model of Discovery Informatics Framework.
com.im.df.api.dml.calculated  
com.im.df.api.support API Status: 1 - Stable Provides various support classes used by the Discovery Informatics Framework API (com.im.df.api.*).
com.im.df.api.util API Status: 2 - Pretty stable Provides various utilities and convenience methods to be used on top of DIF objects.
com.im.df.api.util.xml  

 

Discovery Informatics Framework (or DIF for short) provides the data model and persistence tiers for applications that need to use chemical and biological data. It provides model definition and ways of accessing and modifying data from this model. The current implemntation is based on using a relational database for this persistence, but the APIs are generic so that other persistence mechanisms (e.g. files or web services) could be envisaged.

Whilst DIF is modelled strongly around the relational database paradigm, the DIF artifacts are modelled at a higher level of abstraction to better support the richer nature of chemical and biological data. For instance, whereas a relational database deals with tables and columns, DIF works with entities and fields. As an illustration, whereas a database column can hold a simple text value or a number, a DIF field can have a richer data type, such as a structure, or a dose-repsonse curve.

The DIF module is used by Instant JChem application to provide its model definition and persistence. But DIF can also be used outside Instant JChem (for instance to create a web browser based application), or could be used to build a web application that accesses data generated by Instant JChem.

The implementation of chemical data types is based on ChemAxon's JChem. DIF can therefore be thought of as providing both a higher level API to the JChem API, and of extending the JChem API to inclcude better support of biological and normal datatypes. Whilst the current chemical database capability is provided by JChem, it would in principle be possible to support additional chemical database types (e.g. cartridges from other vendors) to allow Instant JChem or other DIF based applications to operate in a heterogeneous environment.

The API is partly stable and partly under development. There are four levels of stability defined:

  1. Stable - no big changes are expected, but it still some methods can be removed or changed
  2. Pretty stable - some classes will be changed in such a package, but most of the package is stable
  3. Under development - this is something what will change as is currently under development or needs to be refactored
  4. Obsoleted/Not API/... - do not use such a packages
Always read the documentation for each class/method/parameter - the status can differ from the global package API stability status.

Where to start? Here are a few of the most important packages in the DIF API:

  1. df.api.ddl - Provides the static (model) aspects of the DIF layer. It contains a few basic classes which make up the model:
  2. df.api.dml - Provides data manipulation interfaces (e.g. the DML aspects of SQL). Look at DFResultSet
  3. df.api.capabilities - Extensions to generic DDL objects
  4. df.api.suppport - Various support objects used in DDL and DML


com.im.df.api 5.8