memo-ms

Ms2 basEd saMple vectOrization (memo) package

https://github.com/mandelbrot-project/memo

Science Score: 77.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 6 DOI reference(s) in README
  • Academic publication links
    Links to: nature.com
  • Committers with academic emails
    2 of 9 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.0%) to scientific vocabulary

Keywords from Contributors

fuzzy-matching fuzzy-search mass-spectrometry metabolomics
Last synced: 6 months ago · JSON representation ·

Repository

Ms2 basEd saMple vectOrization (memo) package

Basic Info
  • Host: GitHub
  • Owner: mandelbrot-project
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 25.7 MB
Statistics
  • Stars: 17
  • Watchers: 3
  • Forks: 1
  • Open Issues: 4
  • Releases: 5
Created over 4 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License Citation

README.rst

|GitHub Workflow Status| |GitHub| |PyPI| |Docs|

MEMO
===============
.. image:: https://github.com/mandelbrot-project/memo_publication_examples/blob/main/docs/memo_logo.jpg
   :width: 200 px
   :align: right

Description
-----------------

**M**\ s2 bas\ **E**\ d sa\ **M**\ ple vect\ **O**\ rization (**MEMO**)
is a method allowing a Retention Time (RT) agnostic alignment of
metabolomics samples using the fragmentation spectra (MS2) of their
consituents. The occurence of MS2 peaks and neutral losses (to the precursor) in each sample is counted
and used to generate an *MS2 fingerprint* of the sample. These
fingerprints can in a second stage be aligned to compare different
samples. Once obtained, different filtering (remove peaks/losses from
blanks for example) and visualization techniques (MDS/PCoA, TMAP,
Heatmap, ...) can be used. MEMO suits particularly well to compare chemodiverse samples, ie with a
poor features overlap, or to compare samples with a strong RT shift,
acquired using different LC methods or even different mass spectrometers
technology (Maxiis Q-ToF vs Q-Exactive Orbitrap).

Documentation
------------------
For documentation, see our `readthedocs`_. Different examples of application and comparison to other MS/MS based metrics are available `here`_ and the corresponding notebooks are available on `GitHub`_.

Publication
-----------

If you use MEMO, please cite the following papers:
   - Gaudry A, Huber F, Nothias L-F, Cretton S, Kaiser M, Wolfender J-L, et al. MEMO: Mass Spectrometry-Based Sample Vectorization to Explore Chemodiverse Datasets. Frontiers in Bioinformatics. 2022;2. https://doi.org/10.3389/fbinf.2022.842964 
   - Huber, Florian, Stefan Verhoeven, Christiaan Meijer, Hanno Spreeuw, Efraín Castilla, Cunliang Geng, Justin van der Hooft, et al. 2020. “Matchms - Processing and Similarity Evaluation of Mass Spectrometry Data.” Journal of Open Source Software 5 (52): 2411. https://doi.org/10.21105/joss.02411 
   - Huber, Florian, Lars Ridder, Stefan Verhoeven, Jurriaan H. Spaaks, Faruk Diblen, Simon Rogers, and Justin J. J. van der Hooft. 2021. “Spec2Vec: Improved Mass Spectral Similarity Scoring through Learning of Structural Relationships.” PLoS Computational Biology 17 (2): e1008724. https://doi.org/10.1371/journal.pcbi.1008724

Installation :
-------------------------

First make sure to have `anaconda`_ installed.

A) Recommended: using pip install
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A.1. Create a new conda environment to avoid clashes:

.. code-block:: console

   conda create --name memo python=3.8
   conda activate memo

A.2. Install with pip:

.. code-block:: console

   pip install numpy
   pip install memo-ms

If you have an error, try installing scikit-bio from conda-forge (available for Mac and Linux users) or pip (for Windows users) before
installing the package with pip. For Windows users, you will need to install C++ build tools (download here: https://visualstudio.microsoft.com/visual-cpp-build-tools/, see this answer for help https://stackoverflow.com/a/50210015):

.. code-block:: console

   conda install -c conda-forge scikit-bio
   # or for Windows user
   pip install scikit-bio
   pip install memo-ms

You can clone the repository to get the demo spectra and quant table
files and test the package using the Tutorial notebook!

NB: If you have this error when loading the memo package:

.. code-block:: console

   ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

Uninstall and reinstall scikit-bio with no dependencies using this command:

.. code-block:: console

   pip uninstall scikit-bio
   pip install scikit-bio --no-cache-dir --no-binary :all:


B) Alternatively: clone and install locally
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

B.1. First clone the repository using git clone in command line:

.. code-block:: console

   git clone https://github.com/mandelbrot-project/memo.git # or ssh

B.2. Create a new conda environment to avoid clashes:

.. code-block:: console

   conda create --name memo python=3.8
   conda activate memo

B.3. Install the package locally using pip

.. code-block:: console

   pip install .
   
Run example notebook
-----------------------------------

It is located in the `tutorial folder`_

You can also find a list of notebook to reproduce results of the MEMO paper. The repo is over there https://github.com/mandelbrot-project/memo_publication_examples
   

Documentation for developers
----------------------------------

Installation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Create an environment with

.. code-block:: console

   git clone https://github.com/mandelbrot-project/memo.git
   cd memo
   conda create --name memo-dev python=3.8
   conda activate memo-dev

Then install dependencies and memo:

.. code-block:: console

   python -m pip install --upgrade pip
   pip install numpy
   pip install --editable .[dev]
   # pip install -e .'[dev]' (on mac)

Run tests
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Memo tests can be run by:

.. code-block:: console

   pytest

And the code linter with

.. code-block:: console

   prospector

License
-----------

MEMO is licensed under the GNU General Public License v3.0. Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.

.. _Qemistree Evaluation Dataset: https://www.nature.com/articles/s41589-020-00677-3
.. _matchms: https://github.com/matchms/matchms
.. _spec2vec: https://github.com/iomega/spec2vec
.. _here: https://mandelbrot-project.github.io/memo_publication_examples/
.. _GitHub: https://github.com/mandelbrot-project/memo_publication_examples
.. _readthedocs: https://memo-docs.readthedocs.io/en/latest/index.html#
.. _anaconda: https://www.anaconda.com/products/individual
.. _`tutorial folder`: https://github.com/mandelbrot-project/memo/blob/b14409a545aa499992b92c3eb9445405ceba9a78/tutorial/tutorial_memo.ipynb


.. |GitHub Workflow Status| image:: https://img.shields.io/github/workflow/status/mandelbrot-project/memo/CI%20Build
   :target: https://github.com/mandelbrot-project/memo/actions
.. |GitHub| image:: https://img.shields.io/github/license/mandelbrot-project/memo?color=blue
.. |PyPI| image:: https://img.shields.io/pypi/v/memo_ms?color=blue)
   :target: https://pypi.org/project/memo-ms/
.. |Docs| image:: https://readthedocs.org/projects/memo-docs/badge/?version=stable
   :target: https://memo-docs.readthedocs.io/en/stable/?badge=stable
   :alt: Documentation Status

Owner

  • Name: mandelbrot-project
  • Login: mandelbrot-project
  • Kind: organization

coMputationAl Natural proDucts Extracts LiBRary explOraTion Project (MANDELBROT PROJECT)

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: MEMO - Ms2 basEd saMple vectOrization
message: >-
  MEMO is a method allowing a Retention Time (RT)
  agnostic alignment of metabolomics samples using
  the fragmentation spectra (MS2) of their
  consituents.
type: software
authors:
  - given-names: Arnaud
    family-names: Gaudry
    email: arnaud.gaudry@unige.ch
  - given-names: Florian
    family-names: Huber
    email: florian.huber@hs-duesseldorf.de
  - given-names: Louis-Félix
    family-names: Nothias
    email: louis-felix.nothias@unige.ch
  - family-names: Cretton
    given-names: Sylvian
    email: sylvian.cretton@unige.ch
  - given-names: Marcel
    family-names: Kaiser
  - given-names: Jean-Luc
    family-names: Wolfender
    email: jean-luc.wolfender@unige.ch
  - given-names: Pierre-Marie
    family-names: Allard
    email: pierre-marie.allard@unifr.ch

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 258
  • Total Committers: 9
  • Avg Commits per committer: 28.667
  • Development Distribution Score (DDS): 0.76
Top Committers
Name Email Commits
ArnaudGaudry 4****y@u****m 62
Arnaud Gaudry g****d@g****m 51
PMA p****d@u****h 40
Adafede 4****e@u****m 34
florian-huber f****r@h****e 28
Florian Huber 3****r@u****m 25
oolonek p****d@u****h 13
Adafede a****z@u****h 3
Adafede a****z@h****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 12
  • Average time to close issues: 18 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 3.17
  • Average comments per pull request: 1.17
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • florian-huber (11)
  • oolonek (3)
  • ArnaudGaudry (2)
  • Adafede (2)
Pull Request Authors
  • ArnaudGaudry (7)
  • florian-huber (4)
  • Adafede (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 96 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 5
  • Total maintainers: 1
pypi.org: memo-ms

Python package to perform MS2 Based Sample Vectorization and visualization

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 96 Last month
Rankings
Dependent packages count: 10.1%
Stargazers count: 14.8%
Dependent repos count: 21.6%
Average: 22.3%
Forks count: 29.8%
Downloads: 35.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • cimcb-lite *
  • ipykernel *
  • jupyter *
  • matchms *
  • numpy *
  • pandas *
  • plotly *
  • scikit-bio *
  • scikit-learn *
  • spec2vec *
.github/workflows/CI_build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v3 composite
  • actions/setup-python v1 composite
.github/workflows/CI_link_check.yml actions
  • actions/checkout master composite
  • gaurav-nelson/github-action-markdown-link-check v1 composite
.github/workflows/CI_publish_pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/CI_test_pip_install.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v3 composite
docs/environment.yaml conda
  • nbsphinx 0.8.1
  • numpy
  • pandas
  • pip
  • plotly
  • python 3.7
  • scipy
  • sphinx 4.2.0
  • sphinxcontrib-apidoc
  • umap-learn
pyproject.toml pypi