Skip to main content

Repository for tool that adds more annotations (e.g. SMILES, InChI, CAS number) to MSP files (Python version).

Project description

MSMetaEnhancer

install with bioconda docs Conda PyPI - Python Version DOI

MSMetaEnhancer is a tool used for .msp files annotation. It adds metadata like SMILES, InChI, and CAS number fetched from the following services: CIR, CTS, PubChem, IDSM, and BridgeDb. The app uses asynchronous implementation of annotation process allowing for optimal fetching speed.

If you use MSMetaEnhancer in your work, please cite the following publication:

Troják et al., (2022). MSMetaEnhancer: A Python package for mass spectra metadata annotation. Journal of Open Source Software, 7(79), 4494, https://doi.org/10.21105/joss.04494

Usage

import asyncio

from MSMetaEnhancer import Application

app = Application()

# import your .msp file
app.load_spectra('tests/test_data/sample.msp', file_format='msp')

# curate given metadata (e.g. fix CAS numbers)
app.curate_metadata()

# specify requested services (these are supported)
services = ['CTS', 'CIR', 'IDSM', 'PubChem', 'BridgeDb', 'RDKit']

# specify requested jobs
jobs = [('name', 'inchi', 'IDSM'), ('inchi', 'formula', 'IDSM'), ('inchi', 'inchikey', 'IDSM'),
        ('inchi', 'iupac_name', 'IDSM'), ('inchi', 'canonical_smiles', 'IDSM')]

# run asynchronous annotations of spectra data
asyncio.run(app.annotate_spectra(services, jobs))

# export .msp file 
app.save_spectra('tests/test_data/sample_out.msp', file_format='msp')

Installation

Prerequisites:

  • Python 3.9+
  • Anaconda

Install MSMetaEnhancer from Bioconda with:

# install MSMetaEnhancer in a new virtual environment to avoid dependency clashes
conda create --name MSMetaEnhancer python=3.9
conda activate MSMetaEnhancer
conda install --channel bioconda --channel conda-forge MSMetaEnhancer

Developer Documentation

Setup

Create your development environment using the provided script via conda to install all required dependencies.

Contributing

We appreciate contributions - feel free to open an issue on our repository, create your own fork, work on the problem and post a PR. Please add your contributions to the changelog and to adhere to the versioning. For more information see here.

Testing

All functionality is tested with the pytest framework.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

msmetaenhancer-0.4.0.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

msmetaenhancer-0.4.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file msmetaenhancer-0.4.0.tar.gz.

File metadata

  • Download URL: msmetaenhancer-0.4.0.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.0 Linux/6.5.0-1016-azure

File hashes

Hashes for msmetaenhancer-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e422a3849a486613b08d04801c873fa369b170361b4e27c06c2531023a47823b
MD5 e3e625e07173b81a4675cec41bf98986
BLAKE2b-256 f6ee1ee786a4bbd53b431f213493d463199189b34ab8a8bf07840ed8486fdf60

See more details on using hashes here.

File details

Details for the file msmetaenhancer-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: msmetaenhancer-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.0 Linux/6.5.0-1016-azure

File hashes

Hashes for msmetaenhancer-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3964eed5129d4582e0289a9d8b898b4e58232b6fe338a9ec30171365404e808
MD5 cc67450b565db9f466c9c1c37c023381
BLAKE2b-256 2c47f7314d5fe5f39177447d5c1d496bb0c6cb98b41490043337729b58a22f9c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page