Introduction
ExfilMS is a cross-platform, command line interface (CLI) tool to extract mass spectrometry (MS) data from mzML formatted files, with spectrum filtering capabilities.
Features:
- 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
- Spectrum type (profile / centroid)
- MS level
- Polarity (positive / negative)
- Exclude spectra (m/z and intensity)
Installation
ExfilMS has been tested on Windows, macOS and Linux.
CLI
[!IMPORTANT]
Prerequisite: Node.js®
$ npm install -g exfilms
Docker
[!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 .
Usage
CLI
# Using command line arguments
$ exfilms -i "/path/to/input/directory/containing/mzML/data/files/" ...
# Interactive
$ exfilms -x
Docker
# Using command line arguments
$ 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 ....
# Interactive
$ 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:
Limitations
[!WARNING]
- Unable to parse mzML data that has a file size GREATER THAN 2GB.
- Large MS data may cause Node environment to terminate abruptly due to memory limit exhaustion.
- Slow output write speed due to build architecture difference (i.e, Intel vs AMD vs ARM) when running ExfilMS with Docker.
- Unable to output extracted files when running ExfilMS in interactive mode with Docker.
Citations
If you use ExfilMS in your work, please cite it using the following:
License
Please refer to our license information here.