BioCyc is a collection of 205 organism-specific Pathway/Genome Databases (PGDBs) developed at SRI, together with the MetaCyc database,
which is made of nonredundant, experimentally elucidated metabolic pathways from various organisms.
PGDBs range from highly curated (EcoCyc) to automatically reconstructed from genome annotations. Their contents can be queried and visualized
using a web interface or a dedicated software called 'Pathways Tools' (see references).

Although curated BioCyc databases include very high quality data, their contents are not easy to access or manipulate for external developers. Cyclone aims at facilitating the use of BioCyc
for computational biologists and bioinformaticians, by providing a fully extensible Java Object API that goes beyond the native Lisp API and its derivatives (PerlCyc, JavaCyc).
Cyclone maps the Frame Representation System (FRS) model onto the Cyclone object representation which mirrors the BioCyc data model.

Cyclone can read and write BioCyc PGDBs, and can write its own data in the CycloneML format, which is defined by an XML schema (XSD). The latter is automatically generated from the Pathway-Tools
ontologies by Cyclone itself, ensuring continued compatibility between both storage standards. Since Cyclone objects can also be stored in a relational database, CycloneDB,
queries can be written in SQL, and, more interestingly, in Hibernate Query Language (HQL), an object oriented query language, an intuitive and concise query language. In addition, Cyclone interfaces easily with :
JaxFront for data edition, Jung API for graph handling, Cytoscape for graph visualization.

Interactive Hibernate Query Language.HQL queries are short and easy to write.
They can be embedded into Java programs, and the JBoss distribution of the Eclipse IDE provides the user
with an interface for interactive HQL queries from outside Java.

Cyclone maps the full BioCyc FRS data model onto an object model described using an XML schema. This object model is Cyclone's pivotal representation :
it is used to generate Java classes; the corresponding Java objects can be stored persistently in a relational database, CycloneDB, or in files using the CycloneML format.

Full JAVA open source APICyclone allows direct access to the full range of BioCyc data from Java programs. It runs on most platforms, including Linux, MacOS and Windows.

Manipulate biological networks using graph algorithms Graphs (e.g., metabolic or regulatory networks) can be extracted and exported in the
GraphML graph representation format, and analyzed using libraries of graph algorithms such as
Jung.
Clusters can also be handled in a standard way, using the ClusterML format capturing all biological concepts of a PGDB such as
Polymer-Segments (Chromosome, Operons, Genes, Binding Site), Chemicals (Compounds, Proteins) or Generalized-Reactions (Pathways, Reactions).

Seamless translation from BioCyc representation to Cyclone data-model
Cyclone converts BioCyc's frame-based ontology into an XML schema defining the Cyclone data-model.
The translation process is not linked to a specific version of BioCyc : the Cyclone data-model can be updated when the BioCyc model changes.
The Cyclone data-model can also be extended to add user-specific biological entities and relations.

From Pathway Genome Databases to CycloneDBs and back Any set of BioCyc pathway-genome databases can be stored in a CycloneDB relational database. Conversely, data stored in CycloneDB can be exported
in the BioCyc format, making them browseable with the Pathway tools software interface.

Screenshot of the joint metabolic/regulatory network of E.coli in Cytoscape constructed using Cyclone

More information about Cyclone

- More information about Cyclone's design can be found in the Architecture page.
- The requirements to install Cyclone are on the Requirements page.
- An installation guide can be found in the Installation page.
- Examples of code demonstrating the use of the Cyclone's API and of the CycloneML format are provided in the Tutorial page.
- Examples of code demonstrating the use of the Cyclone's API for graph extraction, manipulation and visualization are provided in the Graphs page.
- More information about how to use Cyclone is on the FAQ page.
- The project being hosted by Sourceforge, bug report page, forum, mailing list, etc are also available from the Sourceforge Project link.