Skip to main content

Extract, Retrieve and Predict kcat values for a metabolic model to run enzyme constrained metabolic pipelines.

Project description

WILDkCAT

WILDkCAT is a set of scripts designed to extract, retrieve, and predict enzyme turnover numbers (kcat) for genome-scale metabolic models.


Installation

Install WILDkCAT directly from PyPI:

pip install wildkcat

Environment Setup

Provide your BRENDA login credentials and Entrez API email adress to query the BRENDA enzyme database and NCBI database.

Create a file named .env in the root of your project with the following content:

ENTREZ_EMAIL=your_registered_email@example.com
BRENDA_EMAIL=your_registered_email@example.com
BRENDA_PASSWORD=your_password

[!IMPORTANT]

  • Replace the placeholders with the credentials from the account you created on the BRENDA website.
  • Ensure this file is not shared publicly (e.g., add .env to your .gitignore) since it contains sensitive information.
  • The scripts will automatically read these environment variables to authenticate and retrieve kcat values.

Usage

WILDkCAT can be used as scripts or via the CLI.

Command-Line Interface (CLI)

After installation, you can use the WILDkCAT CLI:

wildkcat --help

Example Workflow:

# Extract kcat data
wildkcat wildkcat extraction \
    path/to/my_model.json \
    path/to/kcat_data.tsv

# Retrieve kcat values from databases
wildkcat retrieval \
    path/to/kcat_data.tsv \
    path/to/kcat_retrieved.tsv \
    "Organism name" \
    20 30 \  # Temperature range
    6.5 8.5 \  # pH range

# Generate input for CataPro
wildkcat prediction-part1 kcat_data_retrieved.csv \
    prediction_input.csv \
    7  # Limit matching score 

# Integrate CataPro prediction 
wildkcat prediction-part2 kcat_retrieved.tsv 
    prediction_output.csv \
    substrate_to_smiles.tsv \
    kcat_final.tsv \
    7  # Limit matching score

# Generate summary report
wildkcat report  path/to/my_model.json
    kcat_final.tsv

[!WARNING]
Currently, the SABIO-RK database is experiencing server overload and queries can be very slow, especially for large models. In these cases, it is recommended to use only the 'brenda' database in the retrieval command.


Programatic Access

from wildkcat import run_extraction, run_retrieval, run_prediction_part1, run_prediction_part2, generate_summary_report

Example: E. coli Core Model

A ready-to-run example is available here. It demonstrates a full extraction, retrieval, and prediction workflow on the E. coli core model.


Key functions

extract_kcat.py

  • Verifies whether the reaction EC number exists.
  • Retains inputs where reaction-associated genes/enzymes are not supported by KEGG.
  • Retains inputs where no enzymes are provided by the model.

retrieve_kcat.py

  • If multiple enzymes are provided, searches UniProt for catalytic activity.
  • If multiple catalytic enzymes are identified, store all.
  • When multiple enzymes are found, computes identity percentages relative to the identified catalytic enzyme.
  • Applies Arrhenius correction to values within the appropriate pH range.
  • For rows with multiple scores, selects:
    • The best score
    • The highest identity percentage
    • The lowest kcat value

predict_kcat.py

  • If multiple enzymes are provided, searches UniProt for catalytic activity.
  • Skips entries missing KEGG compound IDs.

Feedback & Improvements

Contributions, suggestions, and feedback are very welcome! If you encounter any issues, have ideas for new features, or notice room for improvement, feel free to open an issue or submit a pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wildkcat-0.0.3.tar.gz (33.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wildkcat-0.0.3-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file wildkcat-0.0.3.tar.gz.

File metadata

  • Download URL: wildkcat-0.0.3.tar.gz
  • Upload date:
  • Size: 33.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wildkcat-0.0.3.tar.gz
Algorithm Hash digest
SHA256 31844b2c0a98c4fa8ce3887cb7663f4d67558bd8256c57a8b225120be01ed12d
MD5 51ac7a47eaf12fef295636d67b78c71f
BLAKE2b-256 82c9ae8127d18ec168b2db8d7c25f1f12abdcf4ed3bc84ab2a0fe1d54312b0f6

See more details on using hashes here.

File details

Details for the file wildkcat-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: wildkcat-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.1

File hashes

Hashes for wildkcat-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 210882551390ccfacbd5753fad21bf085e7d5ebf78c28ff5b4f5d78242c67ee6
MD5 7107b5664f8eb461c9bf92b924a94b75
BLAKE2b-256 aade1a314c317f3b483ad7c6289e25d1e81542590cea003ba49b9c83e5ce4b60

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page