TOOL

JAMI / PSI-JAMI

PSI-JAMI (Java Application programming interface for Molecular Interactions), usually shortened to JAMI, is an open-source Java library that provides a single, format-agnostic object model for molecular interaction data. It was developed by the MICommunity around the HUPO Proteomics Standards Initiative (PSI), with contributors from EMBL-EBI, the University of Cambridge and other institutions, and described in a 2018 BMC Bioinformatics paper (Sivade Dumousseau et al.). It is distributed under the Apache 2.0 license.

JAMI's central idea is to decouple application code from the on-disk serialization. Rather than parsing a specific file version directly, developers work against abstracted interfaces such as Interaction, Complex, Entity, Participant, Feature, Experiment and Publication, all annotated with the shared PSI-MI controlled vocabulary. Reader and writer implementations then map these interfaces to and from the concrete formats, so the same downstream code can consume any supported version without change. On the format side JAMI reads and writes PSI-MI XML (PSI-MI XML as well as the older 2.5 schema) and the tab-delimited MITAB family (PSI-MI Tab through the richer 2.6 and 2.7 variants), and can additionally emit MI-JSON and HTML. Because all three interchange representations hold the same underlying model at differing levels of detail, JAMI avoids the brittle chaining of pairwise converters normally needed to move between them.

The codebase is modular: jami-core defines the model, listeners and factories; jami-commons offers a convenience entry point; jami-xml and jami-mitab implement the format bindings; and jami-bridges plus the enricher package connect to external web services (UniProtKB, ChEBI, the Ontology Lookup Service) to fill in and validate identifiers, sequences and vocabulary terms. Batch and crosslinking modules extend it for larger pipelines.

JAMI underpins several well-known resources, including IntAct, the EBI Complex Portal, InterMine, ComplexViewer and APID, and it is the natural back end for building tools around PSICQUIC, the PSI web-service layer that serves interaction data in these same formats; the broader Cytoscape ecosystem and databases such as BioGRID consume the formats JAMI produces. Its main limitations are scope and audience: it is a Java library aimed at developers rather than an end-user application or command-line converter, it covers only the PSI molecular-interaction formats (not general graph or pathway exchange such as BioPAX), and using it effectively requires familiarity with the PSI-MI model and controlled vocabularies.

Graph Formats(Input & Output)

Frequently Asked Questions

What graph file formats does JAMI / PSI-JAMI support?

See the list on this page — it shows every format JAMI / PSI-JAMI can read, write and display.

How do I import a graph into JAMI / PSI-JAMI?

Convert your file to a format JAMI / PSI-JAMI can read, then open it in JAMI / PSI-JAMI. Use GraphInOut to get a JAMI / PSI-JAMI-compatible file in seconds.

How do I convert a file so JAMI / PSI-JAMI can open it?

Use the convert links above — upload or paste your graph, pick a format JAMI / PSI-JAMI accepts and download the result, right in your browser.