chhh / MSFTBX

MS File ToolBox - tools for parsing some mass-spectrometry related file formats (mzML, mzXML, pep.xml, prot.xml, etc.)
Apache License 2.0
12 stars 4 forks source link
lc-ms mass-spectrometry mzidentml mzml mzxml pepxml protxml

[Maven Central]()

MSFTBX

The acronym stands for Mass Spectrometry File Toolbox. This is a library for access to some common mass-spectrometry/proteomics data formats from Java:

This library is what drives BatMass.

Citing

Please cite the following paper if you used MSFTBX or BatMass in your work:
Avtonomov D.M. et al: J. Proteome Res. June 16, 2016. DOI: 10.1021/acs.jproteome.6b00021

Maven dependency

Latest version on Maven Central

<dependency>
    <groupId>com.github.chhh</groupId>
    <artifactId>msftbx</artifactId>
    <version>1.8.8</version>
</dependency>

How to use

Features

Binary distribution

Get pre-built jars from Maven Central.

Building with Maven (preferred)

cd ./MSFileToolbox && mvn clean package
Will produce the jar files with just the library msftbx-X.X.X.jar as well as one large jar msftbx-X.X.X-jar-with-dependencies.jar. The latter can be used as is, it includes all the needed dependencies.

Building a NetBeans Platform module

NetBeans Module: Open the root directory in NetBeans as a project. You will see MSFTBX module suite which consists of 3 modules: MSFileToolbox Module - (this is the main thing), MSFileToolbox Libx - these are the depencies, and Auto Update (MSFTBX) - this is the update center for NetBeans Platform projects (you definitely don't need this) .

Dependencies

Notes

When dealing with mzIdentML files (.mzid) you will encounter AbstractParamType. In the definition of mzIdentML both cvParam and userParam inherit from it and both cvParam and userParam can be stored in the same list. Thus, when you get such a list, you'll need to cast manually to the concrete type like so:

List<AbstractParamType> paramGroup = blabla.getParamGroup();
for (AbstractParamType param : paramGroup) {

    if (param instanceof CVParamType) {
        CVParamType p = (CVParamType)param;
        // do something with cvParam

    } else if (param instanceof UserParamType) {
        UserParamType p = (UserParamType)param;
        // do something with userParam

    }
}

Release notes

v1.8.2

v1.8.0

Analytics