Forge Tools chembl_activity

chembl_activity read

scidex.forge.chembl_activity

Query EBI ChEMBL (20M+ bioactivity records across 14K+ targets) for compound-target bioactivity assay data. Given a ChEMBL molecule or target ID, returns quantitative measurements (IC50, Ki, EC50, pChEMBL value), assay type, and source document ID. Complements forge_chembl_compound (metadata) with raw assay data — the core drug discovery data type. API: GET https://www.ebi.ac.uk/chembl/api/data/activity — free, no auth required.

HTTP: POST /api/scidex/forge/chembl_activity

Invoke

Calls scidex.tool.invoke on the substrate with this tool name. Edit the JSON below — it must match the input schema. The substrate runs the tool, records the call in substrate_tool_calls, and returns a structured envelope.

Sign in to invoke this tool. Schema and curl snippet are visible to anyone.

Schemas

Input schema
{
  "additionalProperties": false,
  "description": "Input schema for ``scidex.forge.chembl_activity``.",
  "properties": {
    "query": {
      "description": "ChEMBL identifier to query.  When ``query_type='molecule'`` this is a molecule ChEMBL ID (``CHEMBL25`` for aspirin).  When ``query_type='target'`` this is a target ChEMBL ID (``CHEMBL2364`` for COX-1).",
      "maxLength": 100,
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "molecule",
      "description": "How to interpret ``query``.  ``'molecule'`` queries by molecule_chembl_id; ``'target'`` queries by target_chembl_id.  Default: ``'molecule'``.",
      "title": "Query Type",
      "type": "string"
    },
    "standard_type": {
      "default": "",
      "description": "Optional measurement-type filter.  When non-empty, restricts results to records whose standard_type matches this value (case-insensitive). Examples: ``'IC50'``, ``'Ki'``, ``'EC50'``, ``'Kd'``.",
      "maxLength": 50,
      "title": "Standard Type",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of activity records to return.",
      "maximum": 200,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeChemblActivityIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "ChemblActivity": {
      "description": "One ChEMBL bioactivity assay record.",
      "properties": {
        "molecule_chembl_id": {
          "description": "ChEMBL ID of the assayed compound.",
          "title": "Molecule Chembl Id",
          "type": "string"
        },
        "target_chembl_id": {
          "default": "",
          "description": "ChEMBL ID of the assay target.",
          "title": "Target Chembl Id",
          "type": "string"
        },
        "target_name": {
          "default": "",
          "description": "Preferred name of the target.",
          "title": "Target Name",
          "type": "string"
        },
        "standard_type": {
          "default": "",
          "description": "Measurement type: IC50, Ki, EC50, Kd, % inhibition, etc.",
          "title": "Standard Type",
          "type": "string"
        },
        "standard_value": {
          "default": "",
          "description": "Measured value as reported in the source document.",
          "title": "Standard Value",
          "type": "string"
        },
        "standard_units": {
          "default": "",
          "description": "Units of the standard value (nM, uM, %, etc.).",
          "title": "Standard Units",
          "type": "string"
        },
        "pchembl_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "pChEMBL value: -log10(IC50 in M).  None when ChEMBL does not report a pChEMBL value for this record.",
          "title": "Pchembl Value"
        },
        "assay_type": {
          "default": "",
          "description": "ChEMBL assay type code: B=binding, F=functional, A=ADMET, T=toxicity, P=physicochemical, U=unclassified.",
          "title": "Assay Type",
          "type": "string"
        },
        "doc_id": {
          "default": "",
          "description": "ChEMBL document ID of the source publication.",
          "title": "Doc Id",
          "type": "string"
        }
      },
      "required": [
        "molecule_chembl_id"
      ],
      "title": "ChemblActivity",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.chembl_activity``.",
  "properties": {
    "query": {
      "description": "The input query identifier, echoed back.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "description": "The input query type, echoed back.",
      "title": "Query Type",
      "type": "string"
    },
    "activities": {
      "description": "Bioactivity records matching the query.",
      "items": {
        "$ref": "#/$defs/ChemblActivity"
      },
      "title": "Activities",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "True when ChEMBL returned no activity records for the query.",
      "title": "Not Found",
      "type": "boolean"
    }
  },
  "required": [
    "query",
    "query_type"
  ],
  "title": "ForgeChemblActivityOut",
  "type": "object"
}

curl snippet

Replace $SCIDEX_JWT with a valid bearer token. Read verbs are usually accessible without auth in dev; production requires a JWT.

curl -sS -X POST '/api/scidex/forge/chembl_activity' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "query": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.