RIAssigner

RIAssigner: A package for gas chromatographic retention index calculation - Published in JOSS (2022)

https://github.com/recetox/riassigner

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 11 committers (9.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

gass-chromatography hacktoberfest mass-spectrometry python

Keywords from Contributors

annotations fuzzy-matching fuzzy-search metabolomics similarity-measures usegalaxy mesh

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

RIAssigner is a python tool for retention index (RI) computation for GC-MS data.

Basic Info
  • Host: GitHub
  • Owner: RECETOX
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 8.58 MB
Statistics
  • Stars: 6
  • Watchers: 7
  • Forks: 6
  • Open Issues: 9
  • Releases: 10
Topics
gass-chromatography hacktoberfest mass-spectrometry python
Created over 4 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog Contributing License

README.md

RIAssigner

Python package Python Package using Conda Anaconda Build bioconda package PyPI - Python Version DOI

Overview

RIAssigner is a python tool for retention index (RI) computation for GC-MS data developed at RECETOX and hosted on Galaxy.

The retention index is a mapping of retention time, making the retention data of compounds comparable, i.e. two compounds might have different retention times in different experiments, but a very similar retention index. To compute this index, a set of reference compounds - often an inert alkane series - is analyzed as part of the batch (on the same column). The retention index of the alkanes are fixed (carbon number x 100) and any query compounds can be assigned a retention index depending on its retention time. This can be done via piece wise linear interpolation or other mathematical methods.

If you use this software, please cite our paper!

Hecht et al., (2022). RIAssigner: A package for gas chromatographic retention index calculation. Journal of Open Source Software, 7(75), 4337, https://doi.org/10.21105/joss.04337

Installation

(1) From source by cloning the repository and then installing the package with pip.

git clone https://github.com/RECETOX/RIAssigner.git cd RIAssigner poetry install

(2) Install via bioconda in your existing environment.

conda install -c bioconda riassigner

(3) Install via pip in your existing environment.

pip install riassigner

Usage

RIAssigner can be used to read data from .msp and .mgf files using matchms and .csv, .tsv and .parquet using pandas and to compute the retention indices for the data. A reference list of retention indexed compounds (traditionally an Alkane series) with retention times is used to compute the RI for a query dataset of retention time values using the van Den Dool and Kratz method or by using cubic spline-based interpolation.

Example

```python from RIAssigner.compute import Kovats from RIAssigner.data import MatchMSData, PandasData

Load reference & query data

query = PandasData("../tests/data/csv/aplcmsalignedpeaks.csv", "csv", rtunit="seconds") reference = MatchMSData("../tests/data/msp/Alkanes20210325.msp", "msp", rt_unit="min")

Compute RI and write it back to file

query.retentionindices = Kovats().compute(query, reference) query.write("peakswith_rt.csv") ```

For more details check out this notebook.

Developer Documentation

Setup

``` conda create -n riassigner-dev -c conda-forge python=3.10 poetry

conda activate riassigner-dev

poetry install --no-root ```

Contributing

We appreciate contributions - feel free to open an issue on our repository, create your own fork, work on the problem and pose a PR. Make sure to add your contributions to the changelog and to adhere to the versioning. For more information see here.

Architecture

~mermaid diagram 1~

Mermaid markup ```mermaid classDiagram class MatchMSData{ -List ~Spectra~ data } class PandasData { -DataFrame data } Data <|-- MatchMSData Data <|-- PandasData class Data{ <> +read(string filename) +write(string filename) +retention_times() List~float~ +retention_indices() List~float~ } class ComputationMethod{ <> +compute(Data query, Data reference) List~float~ } class Kovats { } class CubicSpline { } ComputationMethod <|-- Kovats ComputationMethod <|-- CubicSpline ```

Testing

All functionality is tested with the pytest framework. Make sure to run your IDE in the riassigner-dev conda environment (or make sure to use the respective python interpreter when developing) to follow formatting guidelines and to be able to execute the tests.

For testing, install the package dependencies as follows:

git clone https://github.com/RECETOX/RIAssigner.git cd RIAssigner poetry install --no-root pytest

Owner

  • Name: RECETOX
  • Login: RECETOX
  • Kind: organization
  • Location: Brno, Czechia

At RECETOX we are engaged in research and education in the management of environmental and health risks associated with the chemicals around us.

JOSS Publication

RIAssigner: A package for gas chromatographic retention index calculation
Published
July 25, 2022
Volume 7, Issue 75, Page 4337
Authors
Helge Hecht ORCID
RECETOX, Faculty of Science, Masaryk University, Kotlářská 2, Brno, Czech Republic
Maksym Skoryk ORCID
RECETOX, Faculty of Science, Masaryk University, Kotlářská 2, Brno, Czech Republic, Institute of Computer Science, Masaryk University, Brno, Czech Republic
Martin Čech ORCID
RECETOX, Faculty of Science, Masaryk University, Kotlářská 2, Brno, Czech Republic
Elliott James Price ORCID
RECETOX, Faculty of Science, Masaryk University, Kotlářská 2, Brno, Czech Republic
Editor
David Hagan ORCID
Tags
gas chromatography retention index analytical chemistry

GitHub Events

Total
  • Issues event: 2
  • Watch event: 2
  • Member event: 5
  • Push event: 5
  • Pull request review comment event: 1
  • Pull request review event: 4
  • Pull request event: 2
  • Create event: 1
Last Year
  • Issues event: 2
  • Watch event: 2
  • Member event: 5
  • Push event: 5
  • Pull request review comment event: 1
  • Pull request review event: 4
  • Pull request event: 2
  • Create event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 522
  • Total Committers: 11
  • Avg Commits per committer: 47.455
  • Development Distribution Score (DDS): 0.552
Past Year
  • Commits: 11
  • Committers: 1
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
hechth h****t@r****z 234
hechth h****t@g****e 136
maximskorik m****k@g****m 66
wverastegui w****r@g****m 42
acquayefrank a****k@g****m 11
Martin Cech m****n@b****u 10
Zargham Ahmad z****2@g****m 8
GitHub Action a****n@g****m 5
Matej Trojak t****k@m****z 4
dependabot[bot] 4****] 4
ElliottJP 5****P 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 77
  • Total pull requests: 50
  • Average time to close issues: 4 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 9
  • Total pull request authors: 8
  • Average comments per issue: 0.58
  • Average comments per pull request: 0.26
  • Merged pull requests: 49
  • Bot issues: 0
  • Bot pull requests: 4
Past Year
  • Issues: 2
  • Pull requests: 2
  • Average time to close issues: 27 days
  • Average time to close pull requests: 8 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hechth (64)
  • martenson (3)
  • kozo2 (2)
  • cthoyt (2)
  • davidegraff (2)
  • wverastegui (1)
  • yguitton (1)
  • xtrojak (1)
  • zargham-ahmad (1)
Pull Request Authors
  • hechth (27)
  • maximskorik (7)
  • martenson (5)
  • wverastegui (5)
  • dependabot[bot] (4)
  • acquayefrank (4)
  • zargham-ahmad (3)
  • xtrojak (1)
Top Labels
Issue Labels
enhancement (12) bug (9) documentation (7) wontfix (3) good first issue (3)
Pull Request Labels
enhancement (6) dependencies (4) bug (3) documentation (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 455 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 5
  • Total maintainers: 1
pypi.org: riassigner

Python library for retention index calculation.

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 455 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 15.4%
Average: 17.9%
Downloads: 19.6%
Dependent repos count: 21.5%
Stargazers count: 23.1%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/mermaid.yml actions
  • actions/checkout v2 composite
  • ad-m/github-push-action master composite
  • neenjaw/compile-mermaid-markdown-action 0.3.1 composite
.github/workflows/project_automation.yml actions
.github/workflows/publish_pypi.yaml actions
  • JRubics/poetry-publish v1.17 composite
  • actions/checkout v3 composite
.github/workflows/python-package.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • matchms ^0.14.0, <0.18.0
  • numpy *
  • pandas *
  • pint ^0.17, <0.20
  • python ^3.8
  • scipy *