keggtools

Library for KEGG pathway enrichment analysis

https://github.com/harryhaller001/keggtools

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 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

enrichment-analysis kegg kegg-pathway python
Last synced: 6 months ago · JSON representation ·

Repository

Library for KEGG pathway enrichment analysis

Basic Info
  • Host: GitHub
  • Owner: harryhaller001
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://keggtools.org
  • Size: 23.3 MB
Statistics
  • Stars: 16
  • Watchers: 2
  • Forks: 3
  • Open Issues: 0
  • Releases: 7
Topics
enrichment-analysis kegg kegg-pathway python
Created over 5 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

keggtools

Version codecov PyPI - Python Version GitHub Actions Workflow Status DOI

Library for KEGG pathway enrichment analysis.

Documentation: https://keggtools.org/

PyPi: https://pypi.org/project/keggtools/

Installation

keggtools only supports python>=3.10.

Dependencies

  • graphviz

python dependencies

  • requests
  • pydot
  • scipy

Installation keggtools package using pip:

bash python3 -m pip install keggtools

To get a more detailed list of install options, please read the INSTALL.md

API

Download and Parsing

```python from keggtools import Resolver, IMMUNESYSTEMPATHWAYS

ORGANISM_ID = "hsa" resolver = Resolver()

Select first immune system pathway as example

pathwayid = list(IMMUNESYSTEM_PATHWAYS.keys())[1]

Resolve pathway

pathway = resolver.getpathway(organism=ORGANISMID, code=pathway_id) print(pathway) ```

Enrichment and Testing

```python from keggtools import Enrichment

Add pathway object to list

pathway_list = []

Init analysis with organism code

analysis = Enrichment(pathways=pathway_list)

Study genes as list of entrez gene id's

studygenes = [] analysis.runanalysis(genelist=studygenes)

to_dataframe method requires pandas installation

result = analysis.to_dataframe() print(result.head()) ```

Rendering

```python from keggtools.render import Renderer

Load and parse pathway

renderer = Renderer(kegg_pathway=pathway)

Render to dot graph

renderer.render()

Export to png

renderer.to_file("output.png", extension="png") ```

Development

Dev installation

Fast install with virtualenv for development.

```bash python3 -m virtualenv venv source ./venv/bin/activate pip install --upgrade pip

Install from requirements

pip install -r requirements.txt

Or use makefile

make install ```

Linting

ruff is used for linting and formatting.

```bash

Run formatter

make format ```

Static code analysis

Static code analysis using mypy.

```bash

Run static code analysis

make typing ```

Testing

Run unittest for keggtools package. This uses pytest and coverage.

```bash

Run unittest for package

make testing ```

Install package from repo

The package is using the flit backend with a pyproject.toml and twine. To install from repo use

```bash

Install package from repo

make build ```

License

MIT

Owner

  • Login: harryhaller001
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use keggtolls, please cite it as below. Please also cite the KEGG database."
authors:
    - family-names: "Hellmig"
      given-names: "Malte"
    - family-names: "Krebs"
      given-names: "Christian F."
title: "keggtools: Enrichment analysis and visualisation for KEGG pathways"
version: 1.0.4
date-released: 2025-02-05
url: "https://doi.org/10.5281/zenodo.14808444"

GitHub Events

Total
  • Release event: 3
  • Watch event: 3
  • Delete event: 3
  • Issue comment event: 3
  • Push event: 35
  • Pull request event: 5
  • Fork event: 1
  • Create event: 6
Last Year
  • Release event: 3
  • Watch event: 3
  • Delete event: 3
  • Issue comment event: 3
  • Push event: 35
  • Pull request event: 5
  • Fork event: 1
  • Create event: 6

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 133
  • Total Committers: 3
  • Avg Commits per committer: 44.333
  • Development Distribution Score (DDS): 0.158
Top Committers
Name Email Commits
Malte h****1@g****m 112
harryhaller001 4****1@u****m 18
NelsonGon g****o@h****m 3

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 4
  • Total pull requests: 3
  • Average time to close issues: 19 days
  • Average time to close pull requests: 8 days
  • Total issue authors: 4
  • Total pull request authors: 2
  • Average comments per issue: 2.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 1 day
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ondrej-kuda (1)
  • hassantarabai (1)
  • oseias-r-junior (1)
  • Nelson-Gon (1)
Pull Request Authors
  • harryhaller001 (5)
  • Nelson-Gon (1)
Top Labels
Issue Labels
enhancement (2) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 303 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 9
  • Total maintainers: 1
pypi.org: keggtools

Enrichment analysis and visualisation toolkit for KEGG pathways

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 303 Last month
Rankings
Dependent packages count: 10.1%
Stargazers count: 17.7%
Average: 18.7%
Forks count: 19.1%
Dependent repos count: 21.6%
Downloads: 25.2%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • Babel ==2.10.3
  • Jinja2 ==3.0.3
  • MarkupSafe ==2.0.1
  • Pillow ==8.4.0
  • PyYAML ==6.0
  • Pygments ==2.12.0
  • SecretStorage ==3.3.2
  • Sphinx ==5.1.1
  • alabaster ==0.7.12
  • anndata ==0.7.8
  • astroid ==2.11.7
  • attrs ==22.1.0
  • backcall ==0.2.0
  • biothings-client ==0.2.6
  • bleach ==4.1.0
  • cached-property ==1.5.2
  • certifi ==2022.6.15
  • cffi ==1.15.1
  • cfgv ==3.3.1
  • charset-normalizer ==2.0.12
  • colorama ==0.4.5
  • coverage ==6.2
  • cryptography ==37.0.4
  • cycler ==0.11.0
  • decorator ==5.1.1
  • dill ==0.3.4
  • distlib ==0.3.5
  • docutils ==0.17.1
  • entrypoints ==0.4
  • filelock ==3.4.1
  • flit ==3.7.1
  • flit_core ==3.7.1
  • get_version ==2.1
  • h5py ==3.1.0
  • identify ==2.4.4
  • idna ==3.3
  • igraph ==0.9.11
  • imagesize ==1.4.1
  • importlib-metadata ==4.8.3
  • importlib-resources ==5.2.3
  • iniconfig ==1.1.1
  • ipykernel ==5.5.6
  • ipython ==7.16.3
  • ipython-genutils ==0.2.0
  • isort ==5.10.1
  • jedi ==0.17.2
  • jeepney ==0.7.1
  • joblib ==1.1.0
  • jupyter-client ==7.1.2
  • jupyter-core ==4.9.2
  • keyring ==23.4.1
  • kiwisolver ==1.3.1
  • lazy-object-proxy ==1.7.1
  • legacy-api-wrap ==1.2
  • leidenalg ==0.8.10
  • llvmlite ==0.36.0
  • matplotlib ==3.3.4
  • mccabe ==0.7.0
  • mygene ==3.2.2
  • mypy ==0.971
  • mypy-extensions ==0.4.3
  • natsort ==8.1.0
  • nest-asyncio ==1.5.5
  • networkx ==2.5.1
  • nodeenv ==1.6.0
  • numba ==0.53.1
  • numexpr ==2.8.1
  • numpy ==1.19.5
  • packaging ==21.3
  • pandas ==1.1.5
  • parso ==0.7.1
  • patsy ==0.5.2
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • pkginfo ==1.8.3
  • platformdirs ==2.4.0
  • pluggy ==1.0.0
  • pre-commit ==2.17.0
  • prompt-toolkit ==3.0.30
  • ptyprocess ==0.7.0
  • py ==1.11.0
  • pycparser ==2.21
  • pydot ==1.4.2
  • pylint ==2.13.9
  • pynndescent ==0.5.7
  • pyparsing ==3.0.9
  • pytest ==7.0.1
  • python-dateutil ==2.8.2
  • python-igraph ==0.9.11
  • pytz ==2022.1
  • pyzmq ==23.2.0
  • readme-renderer ==34.0
  • requests ==2.27.1
  • requests-toolbelt ==0.9.1
  • responses ==0.17.0
  • rfc3986 ==1.5.0
  • scanpy ==1.7.2
  • scikit-learn ==0.24.2
  • scipy ==1.5.4
  • seaborn ==0.11.2
  • sinfo ==0.3.4
  • six ==1.16.0
  • snowballstemmer ==2.2.0
  • sphinx-rtd-theme ==1.0.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • statsmodels ==0.12.2
  • stdlib-list ==0.8.0
  • tables ==3.7.0
  • texttable ==1.6.4
  • threadpoolctl ==3.1.0
  • toml ==0.10.2
  • tomli ==1.2.3
  • tomli_w ==0.4.0
  • tornado ==6.1
  • tqdm ==4.64.0
  • traitlets ==4.3.3
  • twine ==3.8.0
  • typed-ast ==1.5.4
  • types-requests ==2.28.9
  • types-urllib3 ==1.26.22
  • typing_extensions ==4.1.1
  • umap-learn ==0.5.1
  • urllib3 ==1.26.11
  • virtualenv ==20.16.2
  • wcwidth ==0.2.5
  • webencodings ==0.5.1
  • wrapt ==1.14.1
  • xlrd ==1.2.0
  • zipp ==3.6.0
.github/workflows/docs.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • cloudflare/wrangler-action 2.0.0 composite
.github/workflows/package.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codecov/codecov-action v4 composite
docs/cloudflare-workers/package.json npm
  • @cloudflare/kv-asset-handler ~0.1.2
docs/cloudflare-workers/yarn.lock npm
  • @cloudflare/kv-asset-handler 0.1.3
  • mime 2.6.0
pyproject.toml pypi
  • pydot *
  • requests *
  • scipy *