fermo_core
Data processing/analysis functionality of metabolomics dashboard FERMO
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Repository
Data processing/analysis functionality of metabolomics dashboard FERMO
Basic Info
- Host: GitHub
- Owner: fermo-metabolomics
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://fermo.bioinformatics.nl/
- Size: 36.3 MB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
- Releases: 19
Metadata Files
README.md
fermo_core
Contents
- Overview
- Documentation
- System Requirements
- Installation Guide
- Quick Start
- Demo
- Attribution
- For Developers
Overview
fermo_core is a tool to perform hypothesis-driven prioritization on metabolomics data.
Besides its use as backend processing tool of the FERMO dashboard, fermo_core can be used as a command line interface (CLI) for large-scale data processing and analysis.
This README specifies the use of fermo_core as CLI. For a more user-friendly version of FERMO, see FERMO Online.
For general information on FERMO, see the FERMO Metabolomics GitHub Organization page.
Documentation
The high-level documentation can be found HERE.
For the Sphinx-generated library documentation, see HERE.
System Requirements
Hardware requirements
fermo_core can be run on a standard computer and does not have any special requirements.
Software requirements
OS Requirements
Local installation of this package is only supported for Linux (tested on Ubuntu 20.04 and 22.04).
Python dependencies
Dependencies including exact versions are specified in the pyproject.toml file.
Installation Guide
Depending on the chosen installation option, install time can vary from a few seconds (uv) to a few minutes (conda).
With pip from PyPI
Nota bene: we recommend installing fermo_core in some kind of virtual environment.
commandline
pip install fermo_core
Once installed, run as specified in Run with pip
With uv from GitHub
Assumes that uv is installed
commandline
git clone git@github.com:fermo-metabolomics/fermo_core.git
cd fermo_core
uv sync
Once installed, run as specified in Run with uv
With conda from GitHub
Assumes that conda is installed
commandline
conda create --name fermo_core python=3.11 -y
conda activate fermo_core
git clone git@github.com:fermo-metabolomics/fermo_core.git
cd fermo_core
pip install -e .
Once installed, run as specified in Run with conda
Quick Start
Running fermo_core on your data
As minimal requirement, fermo_core takes LC-MS(/MS) metabolomics data, which it can integrate with a range of optional orthogonal data formats.
Compatible formats are described in the Documentation.
fermo_core requires all parameters to be described in a parameters file. This file must follow specifications outlined in the JSON Schema file. For an example, see casestudyparameters.json.
For a more user-friendly version of FERMO, see FERMO Online.
Run with pip
commandline
fermo_core --parameters <your_parameter_file.json>
Run with uv
commandline
uv run fermo_core --parameters <your_parameter_file.json>
Run with conda
commandline
python3 fermo_core/main.py --parameters <your_parameter_file.json>
Demo
Overview
To demonstrate the functionality of fermo_core, we provide an example dataset sourced from this publication.
It describes a set of extracts from strains belonging to the bacterial genus Planomonospora grown in the same condition, showing differential antibiotic activity against Staphylococcus aureus.
fermo_core can be used to investigate and prioritize the phenotype-associated and differentially abundant molecular features.
Calculation of the Phenotype Score results in the selection of a group of molecular features annotated as siomycins, thiopeptides with known anti-Gram positive antibiotic activity.
Details on the experimental conditions can be found in the Wiki.
Setup
All parameters and input data are specified in a parameters.json file.
Run the example
Execution time is hardware-dependent but usually takes only a few minutes. On a machine running Ubuntu 22.04 with Intel® Core™ i5-7200U CPU @ 2.50GHz x 4 with 8 GiB Memory, execution time was 104 seconds.
Run command
Nota bene: the exact command depends on the type of installation as specified in the Installation Guide.
commandline
uv run fermo_core --parameters ./example_data/case_study_parameters.json
Results and Interpretation
After successful completion of the run, all results files can be found in example_data/results.
The out.fermo.session.json file can be visualized in FERMO online or inspected with a text viewer.
Alternatively, the spreadsheet format file out.fermo.abbrev.csv can be inspected.
Antibiotic activity is attributable to the thiopeptide siomycin and congeners (e.g. feature ID 83).
Attribution
License
fermo_core is an open source tool licensed under the MIT license (see LICENSE).
Publications
See CITATION.cff or FERMO online for information on citing fermo_core.
For Developers
Nota bene: for details on how to contribute to the FERMO project, please refer to CONTRIBUTING.
Development
Instructions for setting up a development environment.
Package Installation
Assumes that hatch is installed
commandline
hatch env create dev
hatch run dev:pre-commit install
hatch run dev:pytest --run_slow
Documentation
Instructions on setting up and deploying the automated documentation found here.
The documentation rebuilds and deploys automatically on every release using GitHub Actions.
Package Installation
Assumes that hatch is installed
commandline
hatch env create doc
hatch run doc:sphinx-build -b html docs/source/ docs/_build
Owner
- Name: fermo-metabolomics
- Login: fermo-metabolomics
- Kind: organization
- Repositories: 1
- Profile: https://github.com/fermo-metabolomics
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: fermo_core
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: 'Mitja M.'
family-names: Zdouc
email: zdoucmm@gmail.com
orcid: 'https://orcid.org/0000-0001-6534-6609'
affiliation: Wageningen University and Research
repository-code: 'https://github.com/fermo-metabolomics/fermo_core'
url: 'https://fermo.bioinformatics.nl'
abstract: >-
fermo_core is the processing backend of the FERMO
metabolomics dashboard. FERMO is designed to facilitate
hypothesis-driven prioritization of molecules and samples,
and integrates LC-MS metabolomics data with phenotype
information, sample grouping, and genomic data. fermo_core
is a modular processing pipeline integrating all steps
from data parsing to organization, annotation, and score
calculation. It is free open source and written in Python.
keywords:
- Python3
- Metabolomics
- LC-MS
- liquid chromatography mass spectrometry
- prioritization
- bioactivity
- phenotype
- genomics
- mzmine
- antismash
license: MIT
preferred-citation:
type: preprint
authors:
- address: 'Droevendaalsesteeg 1, 6708 PB Wageningen, the Netherlands'
affiliation: 'Wageningen University and Research'
family-names: Zdouc
given-names: Mitja M.
orcid: 'https://orcid.org/0000-0001-6534-6609'
- address: 'Sylviusweg 72, 2333 BE Leiden, The Netherlands'
affiliation: 'Institute of Biology, Leiden University'
family-names: Bayona Maldonado
given-names: Lina M.
- address: 'Sylviusweg 72, 2333 BE Leiden, The Netherlands'
affiliation: 'Institute of Biology, Leiden University'
family-names: Augustijn
given-names: Hannah E.
- address: 'Old Aberdeen, AB24 3DT, Scotland, United Kingdom'
affiliation: 'Marine Biodiscovery Centre, Department of Chemistry, University of Aberdeen'
family-names: Soldatou
given-names: Sylvia
- address: 'Droevendaalsesteeg 1, 6708 PB Wageningen, the Netherlands'
affiliation: 'Wageningen University and Research'
family-names: De Jonge
given-names: Niek
- address: 'Old Aberdeen, AB24 3DT, Scotland, United Kingdom'
affiliation: 'Marine Biodiscovery Centre, Department of Chemistry, University of Aberdeen'
family-names: Jaspars
given-names: Marcel
- address: 'Sylviusweg 72, 2333 BE Leiden, The Netherlands'
affiliation: 'Institute of Biology, Leiden University'
family-names: van Wezel
given-names: Gilles P.
- address: 'Droevendaalsesteeg 1, 6708 PB Wageningen, the Netherlands'
affiliation: 'Wageningen University and Research'
family-names: Medema
given-names: Marnix H.
orcid: 'https://orcid.org/0000-0002-2191-2821'
- address: 'Droevendaalsesteeg 1, 6708 PB Wageningen, the Netherlands'
affiliation: 'Wageningen University and Research'
family-names: Hooft
name-particle: van der
given-names: Justin J. J.
orcid: 'https://orcid.org/0000-0002-9340-5511'
title: "FERMO: a Dashboard for Streamlined Rationalized Prioritization of Molecular Features from Mass Spectrometry Data."
journal: BioRxiv
year: 2022
doi: 10.1101/2022.12.21.521422
GitHub Events
Total
- Create event: 14
- Issues event: 1
- Release event: 6
- Delete event: 4
- Push event: 25
- Gollum event: 3
- Pull request event: 9
Last Year
- Create event: 14
- Issues event: 1
- Release event: 6
- Delete event: 4
- Push event: 25
- Gollum event: 3
- Pull request event: 9
Dependencies
- argparse ==1.4.0
- coloredlogs ==15.0.1
- func-timeout ==4.3.5
- jsonschema ==4.19.0
- keras ==2.15.0
- matchms ==0.24.0
- ms2deepscore ==0.5.0
- ms2query ==1.4.0
- pandas ==2.0.3
- pydantic ==2.5.2
- pyteomics ==4.6.3