This repository hosts Metabolome Annotation Workflow (MAW). The workflow takes MS2 .mzML format data files as an input in R. It performs spectral database dereplication using R Package Spectra and compound database dereplication using SIRIUS. Final candidate selection is done in Python using RDKit and PubChemPy.The classification of the tentative candidates from the input data are classified using CANOPUS and ClassyFire.
Install Docker on your MAC OS OR on Linux.
Since MAW is implemented in R and Python so we have two separate Docker images.
To pull MAW-R a R-docker image, run the following command on your terminal:
docker pull zmahnoor/maw-r:1.0.0
This will creat a R-Docker image on your system. This image contains /opt/workdir as the working directory which contains the following files and folders:
- /data (folder)
- /data/example_Tyrosine.mzML
- /data/hmdb.rda
- /data/gnps.rda
- /data/mbankNIST.rda
- Workflow_R_Functions.r (R function script)
- Workflow_R_Script.r (R example script)
- install_packages.R (R package installation script, these pacakges are already installed the docker container)
To pull MAW-Py Python-docker image, run the following command on your terminal:
docker pull zmahnoor/maw-py:1.0.0
This will creat a R-Docker image on your system. This image contains /opt/workdir as the working directory which contains the following files and folders:
- /data (folder)
- /data/example_Tyrosine/ (result folder generated by MAW-R)
- /data/hmdb_dframe_str.csv
- Workflow_Python_Functions.py (Python function script)
- Workflow_Python_Script.py (Python example script)
- requirements.txt (Python package installation script, these pacakges are already installed the docker container)
- First Run maw-r:
docker run --name example_maw-r -i -t zmahnoor/maw-r:1.0.0 /bin/bash
Once you enter the docker container, you can run the script and check the results.
Rscript --no-save --no-restore --verbose Workflow_R_Script.r >outputFile.txt 2>&1
This command will run the Workflow_R_Script.r which is an example script for /data/example_Tyrosine.mzML. The calculation takes about 2 minutes on an Ubuntu system with 64GB RAM.
- Run maw-py
docker run --name example_maw-py -i -t zmahnoor/maw-py:1.0.0 /bin/bash
Once you enter the docker container, you can run the script and check the results.
python3 Workflow_Python_Script.py
This command will run the Workflow_Python_Script.py which is an example script for /data/Example_Tyrosine/ obtained earlier with MAW-R. In order to leave the container without killing the process, add $ at the end of commands inside of the container. Then disown the PID and leave the container with CTRL+P and CTRL+Q.
The results can be seen in the /data/final_candidates.csv
For further information on the scripts used for the Bechmark datasets to validate results from MAW, please refer to the MAW-Benchmark repository.
Note For details on using the workflow on Jupyter notebooks in a more interactive mode, please follow the Tutorial part on wiki page of this repository.
Zulfiqar, M., Gadelha, L., Steinbeck, C. et al. MAW: the reproducible Metabolome Annotation Workflow for untargeted tandem mass spectrometry. J Cheminform 15, 32 (2023). https://doi.org/10.1186/s13321-023-00695-y