Medical-research-skills brenda-database
Programmatic access to the BRENDA enzyme database via the SOAP API; use when you need kinetic constants (Km, kcat, Vmax), reaction equations, enzyme properties (pH/temperature optima, stability), or enzyme discovery by EC/substrate/product.
install
source · Clone the upstream repo
git clone https://github.com/aipoch/medical-research-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aipoch/medical-research-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/scientific-skills/Evidence Insight/brenda-database" ~/.claude/skills/aipoch-medical-research-skills-brenda-database && rm -rf "$T"
manifest:
scientific-skills/Evidence Insight/brenda-database/SKILL.mdsource content
When to Use
- You need kinetic parameters (e.g., Km, kcat, Vmax) for a specific enzyme, organism, or EC number.
- You want reaction equations/stoichiometry associated with an enzyme (by EC number or enzyme name).
- You need enzyme property data such as optimal pH/temperature, stability, inhibitors, or activators.
- You want to discover enzymes by searching for a substrate, product, or EC number.
- You need to automate retrieval of BRENDA data in a Python pipeline (e.g., for modeling, annotation, or curation).
Key Features
- SOAP-based programmatic access to the BRENDA database.
- Retrieval of:
- Kinetic data: Km, kcat, Vmax
- Reaction information: reaction equations and related metadata
- Enzyme discovery: search by substrate/product/EC number
- Enzyme properties: pH/temperature optima, stability, inhibitors/activators
- Built-in handling of BRENDA SOAP responses that are returned as complex delimited strings, with parsing performed by the provided script.
- Credential-based authentication via environment variables or a
file..env
Dependencies
- Python
3.x
(SOAP client)zeeprequests
Install (example):
uv pip install zeep requests
Example Usage
- Set credentials (either in your shell or a
file loaded by your environment):.env
export BRENDA_EMAIL="your_email@example.com" export BRENDA_PASSWORD="your_password"
- Run the query script:
python scripts/brenda_queries.py
- Minimal Python example (calling the script functions; adjust function names to match
):scripts/brenda_queries.py
import os from scripts.brenda_queries import BrendaClient email = os.environ["BRENDA_EMAIL"] password = os.environ["BRENDA_PASSWORD"] client = BrendaClient(email=email, password=password) # Example: retrieve Km values for an EC number km_records = client.get_km_values(ec_number="1.1.1.1") for r in km_records: print(r) # Example: retrieve reactions for an EC number reactions = client.get_reactions(ec_number="1.1.1.1") for rxn in reactions: print(rxn)
For a complete list of available API methods and parameters, see:
references/api_reference.md.
Implementation Details
-
Authentication / Connection
- The skill initializes a SOAP client (via
) using BRENDA credentials (email/password).zeep - Credentials are read from environment variables or a
-backed environment setup..env
- The skill initializes a SOAP client (via
-
Query Execution
- The script calls SOAP methods such as
andget_km_values
(and other supported endpoints for properties and discovery).get_reactions
- The script calls SOAP methods such as
-
Response Parsing
- BRENDA SOAP responses are often returned as single strings containing multiple records and fields, using delimiters (e.g., patterns like
).organism*E. coli#value*...
is responsible for:scripts/brenda_queries.py- Splitting records into entries
- Extracting key/value fields
- Normalizing parsed results into Python-friendly structures (e.g., dicts/lists)
- BRENDA SOAP responses are often returned as single strings containing multiple records and fields, using delimiters (e.g., patterns like
-
Output Structure
- Parsed results are returned as structured Python objects suitable for downstream filtering (by organism, literature reference, conditions, etc.), depending on the endpoint and available fields.
When Not to Use
- Do not use this skill when the required source data, identifiers, files, or credentials are missing.
- Do not use this skill when the user asks for fabricated results, unsupported claims, or out-of-scope conclusions.
- Do not use this skill when a simpler direct answer is more appropriate than the documented workflow.
Required Inputs
- A clearly specified task goal aligned with the documented scope.
- All required files, identifiers, parameters, or environment variables before execution.
- Any domain constraints, formatting requirements, and expected output destination if applicable.
Recommended Workflow
- Validate the request against the skill boundary and confirm all required inputs are present.
- Select the documented execution path and prefer the simplest supported command or procedure.
- Produce the expected output using the documented file format, schema, or narrative structure.
- Run a final validation pass for completeness, consistency, and safety before returning the result.
Output Contract
- Return a structured deliverable that is directly usable without reformatting.
- If a file is produced, prefer a deterministic output name such as
unless the skill documentation defines a better convention.brenda_database_result.md - Include a short validation summary describing what was checked, what assumptions were made, and any remaining limitations.
Validation and Safety Rules
- Validate required inputs before execution and stop early when mandatory fields or files are missing.
- Do not fabricate measurements, references, findings, or conclusions that are not supported by the provided source material.
- Emit a clear warning when credentials, privacy constraints, safety boundaries, or unsupported requests affect the result.
- Keep the output safe, reproducible, and within the documented scope at all times.
Failure Handling
- If validation fails, explain the exact missing field, file, or parameter and show the minimum fix required.
- If an external dependency or script fails, surface the command path, likely cause, and the next recovery step.
- If partial output is returned, label it clearly and identify which checks could not be completed.
Quick Validation
Run this minimal verification path before full execution when possible:
python scripts/brenda_queries.py --help
Expected output format:
Result file: brenda_database_result.md Validation summary: PASS/FAIL with brief notes Assumptions: explicit list if any