Skip to main content

Data processing/analysis functionality of metabolomics dashboard FERMO

Project description

fermo_core

DOI PyPI version

fermo_core is a Python-based command line tool to process, analyze, and prioritize compounds from metabolomics data. While primarily intended to be the backend processing module of fermo_gui of the application FERMO, fermo_core can be used independently for large-scale data processing and analysis.

This README specifies the use of fermo_core as command line interface. For a more user-friendly version, see the FERMO online. Please also consult the Documentation.

Table of Contents

Installation

With pip from PyPI

  • Install python 3.11.x
  • Create a virtual environment (e.g. venv, conda) and activate it
  • Run pip install fermo_core
  • Once installed, run as specified in Run with pip

With hatch from GitHub

  • Install python 3.11.x
  • Install hatch (e.g. with pipx install hatch)
  • Download or clone the repository
  • (Change into the fermo_core base directory if not already present)
  • Run hatch -v env create
  • Once installed, run as specified in Run with hatch

With conda from GitHub

  • Install conda (e.g. miniconda)
  • Create a conda environment with conda create --name fermo_core python=3.11
  • Activate the conda environment with conda activate fermo_core
  • Download or clone the repository
  • (Change into the fermo_core base directory if not already present)
  • Run pip install -e .
  • Once installed, run as specified in Run with conda

Quick Start

Run with pip

  • fermo_core --parameters <your_parameter_file.json>

Run with hatch:

  • hatch run fermo_core --parameters <your_parameter_file.json>

Run with conda:

  • python fermo_core/main.py --parameters <your_parameter_file.json>

Usage

fermo_core can be used both as a command line interface as well as a library.

All parameters and input data are specified in a parameters.json file be formatted following the schema specified in fermo_core/config/schema.json. See the example in example_data/case_study_parameters.json and/or consult the Documentation.

As minimum data input, fermo_core` requires a pre-processed peaktable summarizing the detected molecular features (no raw data). This peaktable must:

  • Derive from liquid chromatography electrospray ionization (tandem) mass spectrometry (LC-ESI-(MS/)MS)
  • Constitute of samples acquired at identical concentration/dilution and identical injection volume
  • Be acquired using untargeted Data-dependent acquisition (DDA)
  • Be of high resolution (ideally, <20 ppm mass deviation)
  • Be in a single polarity (either positive or negative ion mode)

Optionally (but recommended), fermo_core also accepts the following file types:

  • Mass fragmentation (MS/MS) accompanying the peak table
  • Metadata on sample grouping
  • Phenotype (bioactivity) data associated with the samples
  • A spectral library
  • An MS2Query results file
  • An antiSMASH results folder

For more information on input and output files, their format, and their purpose, consult the Documentation.

Attribution

License

fermo_core is an open source tool licensed under the MIT license (see LICENSE).

Publications

See FERMO online for information on citing fermo_core.

Authors

Mitja M. Zdouc zdoucmm@gmail.com

Contributing

Contributions, whether filing an issue, making a pull request, or forking, are appreciated. Please see Contributing for more information on getting involved. Contributors agree to adhere to the specified Code of Conduct. For technical details, see the For Developers pages in the Documentation.

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

fermo_core-0.4.2.tar.gz (1.2 MB view hashes)

Uploaded Source

Built Distribution

fermo_core-0.4.2-py3-none-any.whl (1.2 MB view hashes)

Uploaded Python 3

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