| Literature DB >> 22539429 |
Florian Reisinger1, Ritesh Krishna, Fawaz Ghali, Daniel Ríos, Henning Hermjakob, Juan Antonio Vizcaíno, Andrew R Jones.
Abstract
We present a Java application programming interface (API), jmzIdentML, for the Human Proteome Organisation (HUPO) Proteomics Standards Initiative (PSI) mzIdentML standard for peptide and protein identification data. The API combines the power of Java Architecture of XML Binding (JAXB) and an XPath-based random-access indexer to allow a fast and efficient mapping of extensible markup language (XML) elements to Java objects. The internal references in the mzIdentML files are resolved in an on-demand manner, where the whole file is accessed as a random-access swap file, and only the relevant piece of XMLis selected for mapping to its corresponding Java object. The APIis highly efficient in its memory usage and can handle files of arbitrary sizes. The APIfollows the official release of the mzIdentML (version 1.1) specifications and is available in the public domain under a permissive licence at http://www.code.google.com/p/jmzidentml/.Entities:
Mesh:
Substances:
Year: 2012 PMID: 22539429 PMCID: PMC3933944 DOI: 10.1002/pmic.201100577
Source DB: PubMed Journal: Proteomics ISSN: 1615-9853 Impact factor: 3.984
Figure 1mzIdentML code snippets for the example discussed in Case Study–I. (A)
Figure 2The reference resolving mechanism of jmzIdentML for the Case Study–I. The string references (PeptideRef in the left panel and DBSequenceRef in the right panel) are resolved in two steps. First, the index created by xxIndexer is looked up to find the relevant information about the referenced element, and second, the referenced element is modeled as a Java object and returned to the user. There is also a mechanism for automatically resolving the object dependencies when the auto-resolve option is switched on.
Figure 3The flow of data in the format converters. (1) Parse the input OMSSA(.omx) or X!Tandem (.xml) file using appropriate parser; (2) Create internal data structures to store the parsed information; (3) Create jmzIdentML supported Java objects from the internal data structures; (4) Marshal the Java objects into XMLsnippets and produce an output mzIdentML document.