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
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
No comments yet — be the first.