Skip to main content

Molecular Spectrometry Adduct Calculator: Calculates m/z of potential adducts given compound m/z

Project description

Molecular Spectrometry Adduct Calculator (MSAC)

The Molecular Spectrometry Adduct Calculator (MSAC) calculates the m/z of potential adducts from given compound m/z. This can help in reading a mass spectrometry spectra. The user provides a .csv with one column containing monoisotopic masses titled 'mass'; other columns will be preserved. Optionally, the user can also supply a more targeted list of adducts to calculate: a .csv with columns 'adduct' and 'charge', where adducts are written without brackets such as M+Na or M-H.

Getting Started

We recommend you install msac into its own conda environment using the instructions below.

Prerequisites

Recommended installation is through anaconda, so dependencies are compatible with each other.

Dependencies are pandas, numpy, and molmass.

Using conda:

conda env create -f msac-env.yml
conda activate msac-env

A requirements.txt file is also available.

Installing

In your activated conda environment, install the calculator. The easiest way to install MSAC is via pip:

pip install msac

Running the calculator

MSAC is provided with two adduct lists: a default list of 13 common adducts and an extensive list of adducts found in NIST17. To calculate the m/z for these adducts based on your input masses, pass MSAC a .csv with the compound masses in a column titled 'mass'. Other columns present in the file will be preserved.

msac input.csv

If your input file's monoisotopic mass column is not called 'mass', you can pass in the title as a string.

msac input.csv -m "Monoisotopic Mass"

You can also specify an output file name; default is {input_name}_adducts.csv.

msac input.csv -o my_output_name.csv

If you want to use your own list of adducts, create a csv with a column called 'adduct' and an column of 'charge'. Check example_data/adduct_list_full.csv for an example.

The default adduct list included in the distribution is used here.

msac input.csv -f adduct_only_list.csv

If you want to include potential neutral losses, add the -n flag.

msac input.csv -n

If you're using the default adduct list or the neutral loss list with -n, you can limit the number of adducts used based on its prevalence in NIST/GNPS/MassBank. Using a value 1.0 or less will give you all adducts that cover more than the specified percent of NIST/GNPS/MassBank. Using an integer value 2+ gives that number of adducts.

msac input.csv -c 0.75 -o "75th_percentile_adducts.csv"
msac input.csv -c 5 -o "top_5_most_common_adducts.csv"

If you have a column of formulas in your input file, you can have MSAC calculate the input masses for you and/or have it output 'NaN' values when a neutral loss cannot be done due to the number of atoms in the molecule.

# have MSAC calculate the mass using --formula_col
msac input.csv -f "Formula"
# have MSAC restrict losses to those numerically possible using --restrict
msac input.csv -r "Formula"

Authors

  • Madison Blumer

License

This project is licensed under the BSD License - see the LICENSE.md file for details

Acknowledgments

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

msac-0.1.1.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

msac-0.1.1-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file msac-0.1.1.tar.gz.

File metadata

  • Download URL: msac-0.1.1.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.1 Darwin/24.3.0

File hashes

Hashes for msac-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c705247e5c67ab4157c8227af3527acef5baf61f070b4511498dc06a1081c04c
MD5 dc0063a7f033929dc1cad16f978789e1
BLAKE2b-256 dde4e4a6b3407885b9f3a17cf8722e25e19d1a4f948e2b88c8f7786b7f653b20

See more details on using hashes here.

File details

Details for the file msac-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: msac-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.1 Darwin/24.3.0

File hashes

Hashes for msac-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 39cf0c9655b4d8d2e45cd1ec227bb98c92f4af37d5a58f6406e0b11fd713d651
MD5 dac746cb6d56aa0b743916ae61472361
BLAKE2b-256 ab8645ead9dc62f26d87e2ac262b1b759f8d971f259b133445c2234d56c816fc

See more details on using hashes here.

Supported by

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