Forge Tools pubchem_bioassay

pubchem_bioassay read

scidex.forge.pubchem_bioassay

Query PubChem BioAssay — the world's largest public HTS repository — for bioactivity screening data by compound name or CID. Returns assay results with activity outcome (Active/Inactive/Inconclusive), quantitative activity value (μM), assay type, biological target name, and source organization. Complements scidex.forge.pubchem_compound (chemical properties) with bioactivity profiling across 1M+ assays and 270M+ outcomes. Accepts compound_name (name/synonym lookup) or cid (direct CID lookup) query types. Optional outcome_filter restricts results to a specific activity outcome (e.g. 'active'). Returns active_count and total_count before filtering/limit. Free REST API — no auth required; set NCBI_API_KEY for higher rate limits (10 req/s vs 5 req/s). API: https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/{name}/assaysummary/JSON

HTTP: POST /api/scidex/forge/pubchem_bioassay

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.pubchem_bioassay``.",
  "properties": {
    "query": {
      "description": "Compound name or PubChem CID to look up. When ``query_type='compound_name'``, accepts common names, IUPAC names, or synonyms (e.g. ``'aspirin'``, ``'ibuprofen'``). When ``query_type='cid'``, provide the numeric CID as a string (e.g. ``'2244'``).",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "compound_name",
      "description": "Query mode. ``'compound_name'`` (default): look up by compound name. ``'cid'``: look up directly by PubChem CID.",
      "title": "Query Type",
      "type": "string"
    },
    "outcome_filter": {
      "default": "",
      "description": "Optional outcome filter. When set, only records with a matching ``activity_outcome`` (case-insensitive) are returned. Common values: ``'active'``, ``'inactive'``, ``'inconclusive'``.",
      "title": "Outcome Filter",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of assay results to return after filtering. Default 20.",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgePubchemBioassayIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "PubchemAssaySummary": {
      "description": "One PubChem BioAssay record in the response.",
      "properties": {
        "aid": {
          "description": "PubChem Assay ID (AID).",
          "title": "Aid",
          "type": "integer"
        },
        "assay_name": {
          "default": "",
          "description": "Name of the bioassay.",
          "title": "Assay Name",
          "type": "string"
        },
        "assay_type": {
          "default": "",
          "description": "Bioassay type (e.g. 'Confirmatory', 'Screening', 'Summary').",
          "title": "Assay Type",
          "type": "string"
        },
        "target_name": {
          "default": "",
          "description": "Name of the biological target.",
          "title": "Target Name",
          "type": "string"
        },
        "activity_outcome": {
          "default": "",
          "description": "Activity outcome (e.g. 'Active', 'Inactive', 'Inconclusive', 'Unspecified').",
          "title": "Activity Outcome",
          "type": "string"
        },
        "activity_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Quantitative activity value (e.g. IC50 in μM). None when not reported.",
          "title": "Activity Value"
        },
        "activity_unit": {
          "default": "uM",
          "description": "Unit for the activity value. Defaults to 'uM' per PubChem convention.",
          "title": "Activity Unit",
          "type": "string"
        },
        "assay_source": {
          "default": "",
          "description": "Source organization or database name for the assay.",
          "title": "Assay Source",
          "type": "string"
        }
      },
      "required": [
        "aid"
      ],
      "title": "PubchemAssaySummary",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.pubchem_bioassay``.",
  "properties": {
    "query": {
      "description": "The query string that was used.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "description": "The query mode used ('compound_name' or 'cid').",
      "title": "Query Type",
      "type": "string"
    },
    "cid": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "PubChem Compound ID resolved from the query. None when not found.",
      "title": "Cid"
    },
    "assay_results": {
      "description": "Matching PubChem BioAssay records after ``outcome_filter``, capped at ``limit``.",
      "items": {
        "$ref": "#/$defs/PubchemAssaySummary"
      },
      "title": "Assay Results",
      "type": "array"
    },
    "active_count": {
      "default": 0,
      "description": "Number of assay records where activity_outcome == 'Active' (before limit). Always ≤ total_count.",
      "title": "Active Count",
      "type": "integer"
    },
    "total_count": {
      "default": 0,
      "description": "Total number of assay records found before outcome_filter and limit.",
      "title": "Total Count",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True when the compound was not found or no assay data is available.",
      "title": "Not Found",
      "type": "boolean"
    }
  },
  "required": [
    "query",
    "query_type"
  ],
  "title": "ForgePubchemBioassayOut",
  "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/pubchem_bioassay' \
  -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.