Skip to main content

Metabolomics Integrator (Mint)

Project description

Python package CII Best Practices CodeQL Total alerts Language grade: Python

Wecome to ms-mint

A Python library for targeted metabolomics

The ms-mint library can be used for targeted metabolomics and large amounts of files (1000+). Metabolomics is the study of all small chemical compounds (metabolites) in a biological sample. The metabolites can define biomarkers, which are used in medicine as indicators of disease or for the development of diagnostic tests. ms-mint contains functions to process liquid chromatography-mass spectrometry (LCMS) based metabolomics data in various formats. It uses a target list and the MS-filenames as input to extract peak intensities and other information. The code documentation can be accessed here.

News

MINT has been split into the Python library and the app. This repository contains the Python library. For the app follow this link.

Contributions

All contributions, bug reports, code reviews, bug fixes, documentation improvements, enhancements, and ideas are welcome. Before you modify the code please reach out to us using the issues page.

Code standards

The project follows PEP8 standard and uses Black and Flake8 to ensure a consistent code format throughout the project.

Example usage

%pylab inline
from ms_mint.notebook import Mint
mint = Mint()

mint.ms_files = [
    './input/EC_B2.mzXML',
    './input/EC_B1.mzXML',
    './input/CA_B1.mzXML',
    './input/CA_B4.mzXML',
    './input/CA_B2.mzXML',
    './input/CA_B3.mzXML',
    './input/EC_B4.mzXML',
    './input/EC_B3.mzXML',
    './input/SA_B4.mzML',
    './input/SA_B2.mzML',
    './input/SA_B1.mzML',
    './input/SA_B3.mzML'
]

mint.load_targets('targets.csv')

mint.targets
>>>    peak_label    mz_mean  mz_width       rt  rt_min  rt_max  intensity_threshold target_filename
    0    Arabitol  151.06050        10  4.92500    4.65    5.20                    0     targets.csv
    1    Xanthine  151.02585        10  4.37265    4.18    4.53                    0     targets.csv
    2   Succinate  117.01905        10  2.04390    0.87    2.50                    0     targets.csv
    3   Urocanate  137.03540        10  4.41500    4.30    4.60                    0     targets.csv
    4  Mevalonate  147.06570        10  3.00000    1.70    4.30                    0     targets.csv
    5  Nicotinate  122.02455        10  3.05340    2.75    3.75                    0     targets.csv
    6  Citrulline  174.08810        10  8.40070    8.35    8.50                    0     targets.csv

mint.run()

# Use mint.run(output_fn='results') for many files to prevent memory issues.

mint.results
>>>

Plot peak shapes

mint.plot.peak_shapes(col_wrap = 3)

Optimize retention times

mint.opt.find_rt_min_max(
    peak_labels=['Xanthine', 'Succinate', 'Citrulline'], 
    plot=True, rel_height=0.7, sigma=50, col_wrap=1, aspect=3,
    height=4
)

mint.run()

Hierarchical clustering

mint.plot.hierarchical_clustering()

Principal Components Analysis

mint.pca.run(5)
mint.pca.plot.pairplot(5)

FAQ

What is a target list

A target list is a pandas dataframe with specific columns.

  • peak_label: str, Label of the peak (must be unique).
  • mz_mean: float, m/z value of the target ion.
  • mz_width: float, width of the peak in [ppm] of the mz_mean value.
  • rt: float (optional), expected time of the peak maximum.
  • rt_min: float, starting time for peak integration.
  • rt_max: float, ending time for peak integration.
  • intensity_threshold: float (>=0), minimum intensity value to include, serves as a noise filter.
  • target_filename: str (optional), name of the target list file.

The target list can be stored as csv or Excel file.

What input files can be used

ms_mint can be used with mzXML, mzML, mzMLb and experimental formats in .feather and .parquet format.

Which properties does ms-mint extract

Parameters from target list

  • ms_file: Filename of MS-file
  • peak_label: From target list
  • mz_mean: From target list
  • mz_width: From target list
  • rt: From target list
  • rt_min: From target list
  • rt_max: From target list
  • intensity_threshold: From target list
  • target_filename: From target list

Results columns

  • peak_area: The sum of all intensities
  • peak_area_top3: The sum of the 3 largest intensities
  • peak_n_datapoints: Number of datapoints
  • peak_max: Intensity of peak maximum
  • peak_rt_of_max: Retentiontime of peak maximum
  • peak_min: Minimm peak intensity (offset)
  • peak_median: Median of all intensities
  • peak_mean: Average of all intensities
  • peak_delta_int: Difference between first and last intensity
  • peak_shape_rt: Array of retention times
  • peak_shape_int: Array of projected intensities
  • peak_mass_diff_25pc: 25th percentile between mz_mean minus m/z values of all datapoints
  • peak_mass_diff_50pc: Median between mz_mean minus m/z values of all datapoints
  • peak_mass_diff_75pc: 75th percentile between mz_mean minus m/z values of all datapoints
  • peak_score: Score of peak quality (experimental)
  • total_intensity: Sum of all intensities in the file
  • ms_path: Path of the MS-file
  • ms_file_size: Size of the MS-file in MB

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

ms-mint-0.1.7.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

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

ms_mint-0.1.7-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file ms-mint-0.1.7.tar.gz.

File metadata

  • Download URL: ms-mint-0.1.7.tar.gz
  • Upload date:
  • Size: 54.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for ms-mint-0.1.7.tar.gz
Algorithm Hash digest
SHA256 0f952f3c42bab419d464fe61688224c8c1fe2d43c369b2a404b8d4bd153a0fad
MD5 fc0ac18156a95c955f40635bf505577e
BLAKE2b-256 e8358e9c6a42988f50a0e238c90c98869856b5b9b4446c6128a6bedca5ce9691

See more details on using hashes here.

File details

Details for the file ms_mint-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: ms_mint-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for ms_mint-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b6af7e3608fa2f4046610190e92a7f82ad590e81a424a60e66d706e6fc99b88a
MD5 d6c1ab624f2835aa63d9d2fb9088903f
BLAKE2b-256 b19e84d0732c44a4517af2773151ea173f528f0fbee42ced11126c2dcb2afffc

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