Skip to main content

Data models for metabolomics

Project description

metDataModel, data models for mass spectrometry based metabolomics

Our goal is to define a minimal set of data models to promote interoperability in computational metabolomics. This package will lay out the basic concepts and data structures, then we can import them to other projects, and extend to more specialized classes via inheritance.

There's been extensive software development in related areas. The XCMS ecosystem (https://www.bioconductor.org/packages/release/bioc/html/xcms.html) is a leading example of data preprocessing. The modeling of metabolism is exemplified by the Escher project (https://github.com/zakandrewking/escher). The advancing of science relies on the close interaction of experimental measurements and theoretical modeling, and the two should feed on each other. However, a clear gap exists between the two in metabolomics. E.g., the elemental mass table in Escher (retrieved on version 1.7.3) are of average mass, but mass spectrometers measure isotopic mass. Many software programs already have excellent data models and data structures. But the reuse of data models is much easier to start from basics, hence this project, where complexity is an option.

Core data Structure

Core data Structure

metabolic model

    compound
    reaction
    pathway
    network

experimental data model

    peak
    feature
    empirical compound
    experiment

Try to keep the core models minimal. Leave index functions in util or applications.

empCpd format (JSON)

{"neutral_base_mass": 0, 
  "list_of_features": [
            # feature, ion, [m/z, rtime, mean_intensity]
            {'feature': '', 'ion': 'M-H[1-]', 'm/z': 169.0013, 'rtime': 55},
            {},
            # ...
        ],
  "identity": {
            # compound(mixtures): probability
            (compound x): 0.6,
            (compound y, compound z): 0.2,
    }
}

The mummichog suite

This package is used in mummichog 3.

  • mummichog(3): core algorithm package for pathway/network analysis

  • cloud-mummichog: server and worker (RESTful) implementations

  • Azimuth DB: the chemical database for biology, including metabolic models

  • metDataModel: data models for metabolomics, used by mummichog and Azimuth DB

  • mass2chem: common utilities in interpreting mass spectrometry data, annotation

  • massBrowser: visualization using js

For developers

This should be language neutral. We start using Python code, and it'd be the primary reference. But we encourage the adaptation/update/extension in other languages.

YAML should be equivalent to JSON. Since Python classes are where we started, please use them as primary reference.

Minimal JSON formats should be used for mummichog project.

In progress: need better and consistent use of operators (getters, setters) in Python code.

Use Wiki pages for detailed discussions of ideas.

Related community resources

While we focus on the application of mass spectrometry data, many mass spectrometry data structures are defined in various software projects that focus on "pre-processing", e.g.

To learn about mass spectrometry concepts and pre-processing:

To learn about genome scale metabolic models:

History

This repo was renamed from Azimuth-metabolomics. All annotation functions are moved to mass2chem package.

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

metDataModel-0.1.9.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

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

metDataModel-0.1.9-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file metDataModel-0.1.9.tar.gz.

File metadata

  • Download URL: metDataModel-0.1.9.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

File hashes

Hashes for metDataModel-0.1.9.tar.gz
Algorithm Hash digest
SHA256 b62513933a7806a6e1256e0dc8a9b3cdeb9ac0a1fcd4c7140f243f6272711635
MD5 e8367191873f11cb178aca02059472f1
BLAKE2b-256 1444043c6d5237520a6ad042a1b35b8679b5fc562bb1f4872d2abe12a83ace7d

See more details on using hashes here.

File details

Details for the file metDataModel-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: metDataModel-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.4

File hashes

Hashes for metDataModel-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 bd9de6c411e5ae6305fb6d9f28246ae12ef58f3c7aed793c1206cc718eeea8b1
MD5 ceed582236e53d218c951825d0bba9bd
BLAKE2b-256 630d208b8ce342fc33fcc17436dffde2812b32b3b6ee37848d68894b9bdc55e4

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