Skip to main content

ChemRecon

v. 0.1.7

ChemRecon is a Python library and consolidated meta-database designed to simplify the integration and exploration of biochemical data from a range of sources. It is built from full-database downloads of compounds, reactions, enzymes, molecular structures, and atom-to-atom maps from the following source databases: BiGG, BRENDA, ChEBI, ECMDB, M-CSA, MetaMDB, and PubChem.

Heterogenous data formats were standardized, and relationships within and between these databases were reconstructed in a consistent format. The resulting meta-database is freely accessible online and is complemented by a Python library which allows for easy integration into existing workflows. This enables unified querying of entries from all the source databases, and discovery and visualization of relationships between these entries.

entrygraph

ChemRecon was developed at the Algorithmic Cheminformatics Group, Department of Mathematics and Computer Science, University of Southern Denmark.

Paper

If ChemRecon proves useful to your research, you may want to cite the following paper.

  • ChemRecon: a Consolidated Meta-Database Platform for Biochemical Data Integration

    C. A. Eriksen, J. L. Andersen, R. Fagerberg, D. Merkle

    Arxiv preprint, submitted to Bioinformatics.

    https://doi.org/10.48550/arXiv.2602.12310

Availability and Installation

ChemRecon is available via your Python package manager from the Python Package Index (PyPI): chemrecon It can be installed using pip:

pip install chemrecon

Visualizing entry graphs requires GraphViz to be installed, and for the dot executable, which renders the graphs, to be available on your system's PATH. See the GraphViz Python package for instructions.


Documentation

The documentation, including instructions on usage, tutorials, and complete description covering the types of entries and relations supported, is available on the ChemRecon homepage.

Usage

The following is an example of a typical ChemRecon workflow, producing the graph seen above. For more detailed examples, see the tutorial section of the documentation.

from chemrecon import *

connect_public()

# Perform a database query to find the 'citrate' entry in BiGG.
citrate_entry = find_entry(id_type=C_BIGG, source_id='M_cit')

# Define a protocol to find related entries and molecular structures (protocols like this are included)
compound_structure_protocol = ExplorationProtocol(
    relation_types={CompoundReference, CompoundHasMolStructure, MolStructureStandardization}
)

# Create and expand an entry graph, according to this protocol, by traversing the database.
eg = EntryGraph(initial_entries={citrate_entry})
explore(eg, compound_structure_protocol, steps=5)

# Score the molecular structures in the graph according to their 'connectedness'
scorer = Scorer(score_entry_type=MolStructure)
scores = scorer(citrate_entry)  # Result is an OrderedDict

# Draw the graph with these scores, producing the image seen on this page
eg.show(scores=scores)

Database

ChemRecon needs to be connected to a database to function. The easiest is to connect to the public database, hosted by SDU:

connect_public()

Alternatively, a local instance of the database can be hosted via Docker. Instructions are given in the documentation. This has the advantage of lower latency, making queries and entry graph construction faster, and allows adding custom data sources.

Source Databases

ChemRecon contains compound, molecular structure, reaction, atom-to-atom map, and enzyme entries from the following databases.

Source Compound Structure Reaction AAM Enzyme Version
BiGG 20428 - 33942 - 5705 1.6
BRENDA - - 61129 - 8697 2025_1
ChEBI 224485 330207 - - - 2024-05
ECMDB 3760 7517 - - - 2.0
M-CSA - - 1003 342 1003 2024-11
MetaMDB 80815 4392 74520 1003 - 2025-02
MetaNetX 2601834 2297518 143880 - 48175 4.4
PubChem 9031498 5000000 - - - 2024-09

In addition to the source databases, ChemRecon can make use of a greater number of auxiliary databases, including MetaCyc and KEGG. Data from these sources is are not directly included due to being proprietary or difficult to access. However, the source databases contain references to the auxiliary databases, so entries are created which contain only the identifier and no additional information. This allows users to use ChemRecon workflows based on identifiers from a great number of databases, not just the source databases.

Metadata

Release files for chemrecon 0.1.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chemrecon 0.1.13
File Size Uploaded
chemrecon-0.1.13.tar.gz 74.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chemrecon 0.1.13
File Interpreter ABI Platform
chemrecon-0.1.13-py3-none-any.whl Python 3 none any Details

Total release size: 183.7 kB

Release files / chemrecon-0.1.13.tar.gz

Download URL chemrecon-0.1.13.tar.gz
Size 74.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9ea5c9f35beb2dbf8a12340ca74e6bd2bf173cb947e20f86ce93b673d3fdef49
BLAKE2b-256 checksum
How to use checksums
c948b54ffaa17d5374cc20c8108d61b82cd32e5c27fe804da6055fa733efe2d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.23.3","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / chemrecon-0.1.13-py3-none-any.whl

Download URL chemrecon-0.1.13-py3-none-any.whl
Size 109.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2b1762d380ed01d7e5f17d304d0fdab9644a44f0b7edb0d98e7a1dd8fb6d492
BLAKE2b-256 checksum
How to use checksums
73c56a98e51ebb2c847d8b1613171d280c66a9da35a912d92ff679c0b29463bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.23.3","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.13 This release

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page