ExfilMS is a cross-platform, command line interface (CLI) tool to extract mass spectrometry (MS) data from mzML formatted files, with filtering capabilities.
-
MS data extraction (spectrum and chromatogram)
-
Precision value rounding
-
Spectra filtering (m/z and intensity)
- Targeted (target file, m/z tolerance and ppm tolerance)
- Range (minimum and maximum m/z)
-
Spectrum data filtering
- Type (profile / centroid)
- MS level (i.e., 1, 2, ..., n)
- Polarity (positive / negative)
- Exclude spectra (m/z and intensity)
Data extraction and spectrum filtration have been tested on data files acquired on the following MS platforms:
Instrument Vendor | MS Platform | Status / Description |
---|---|---|
Bruker | EVOQ TQ-MS | Untested (Conversion not supported by ProteoWizard) |
ImpactII QToF-MS | Working | |
solariX MRMS | Working | |
timsTOFPro TIMS-ToF-MS | Not Working (File size > 2GB) | |
Waters | XEVOTQXS TQ-MS | Working |
XEVOG2XSQTOF DESI-MS | Working | |
XEVOG2XSQTOF REIMS | Working | |
SCIEX | QTRAP6500+ TQ-MS | Working (Untested on wiff2 scan files acquired using the new SCIEX OS acquisition software - Conversion not supported by ProteoWizard) |
ExfilMS has been tested on Windows, macOS and Linux.
Important
Prerequisite: Node.js®
$ npm i -g exfilms
Important
Prerequisite: Docker
# Clone repository
$ git clone https://github.com/vmalnathnambiar/exfilms.git
# Navigate into repository
$ cd exfilms
# Build Docker image
$ docker build -t exfilms .
# Using command line flags
$ exfilms -i "/path/to/input/directory/containing/mzML/data/files/" ...
# Running interactive mode
$ exfilms -x
# Using command line flags
$ docker run --rm -it -v "/path/to/input/directory/":/inputDirectory -v "/path/to/output/directory/":/outputDirectory -v "/path/to/log/directory/":/logDirectory exfilms -i /inputDirectory -o /outputDirectory -l /logDirectory ....
# Running interactive mode
$ docker run --rm -it -v "/path/to/input/directory/":/inputDirectory -v "/path/to/output/directory/":/outputDirectory -v "/path/to/log/directory/":/logDirectory exfilms -x
Note
Running ExfilMS using Docker requires the use of volume mapping in the Docker command. For example,
-v "/path/on/the/local/machine/":/tmpPath
Once the volume mapping is done, you would use /tmpPath as the input data where required, instead of the actual path on the local machine. For the successful execution of ExfilMS, you are REQUIRED to provide the following:
- -v "/path/to/input/directory/":/inputDirectory
- -v "/path/to/output/directory/":/outputDirectory
- -v "/path/to/log/directory/":/logDirectory
For more guidance on how to use ExfilMS, please refer to our available guides below:
- Data Conversion to mzML using ProteoWizard
- How to ExfilMS: The Complete Guide
- How to Create a Target File
Warning
-
Unable to extract MS data from Bruker EVOQ instruments and SCIEX wiff2 scan files (Unsupported file formats by ProteoWizard).
-
Unable to parse mzML data with a file size > 2GB.
-
Large MS data may cause Node environment to terminate abruptly due to memory limit exhaustion.
-
May have slow output write speed due to build architecture difference (i.e, Intel vs AMD vs ARM) when running ExfilMS with Docker.
-
Unable to perform chromatogram filtering as of now.
If you use ExfilMS in your work, please cite it using the following:
Nambiar, V., & Nambiar, S. (2024). ExfilMS (Version 1.2.8) [Computer software]. https://doi.org/10.5281/zenodo.10976761
Please refer to our license information here.