Forge Tools zinc_compounds

zinc_compounds read

scidex.forge.zinc_compounds

Query ZINC15 (zinc15.docking.org) for purchasable small molecules by SMILES similarity, InChIKey exact match, or compound name. ZINC15 is the primary reference for commercially available compounds in virtual screening and drug discovery (1.5B+ substances). Returns vendor availability, purchasable status, and molecular properties (MW, LogP, TPSA, HBD, HBA, rotatable bonds) with Tanimoto similarity filtering for SMILES queries. Distinct from scidex.forge.pubchem_compound (all compounds, no purchasability) and scidex.forge.chembl_compound (bioactivity-annotated). API: GET https://zinc15.docking.org/substances.json — free, no auth required.

HTTP: POST /api/scidex/forge/zinc_compounds

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.zinc_compounds``.",
  "properties": {
    "query": {
      "description": "Query string. Interpretation depends on ``query_type``: SMILES (``smiles``), InChIKey (``inchikey``), or compound name (``name``).",
      "maxLength": 2000,
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "smiles",
      "description": "How to interpret ``query``: ``'smiles'`` (default, similarity search), ``'inchikey'`` (exact match), or ``'name'`` (text search).",
      "title": "Query Type",
      "type": "string"
    },
    "similarity_threshold": {
      "default": 0.7,
      "description": "Tanimoto similarity cutoff for SMILES queries (0–1). Ignored for inchikey and name queries.",
      "maximum": 1,
      "minimum": 0,
      "title": "Similarity Threshold",
      "type": "number"
    },
    "purchasable_only": {
      "default": true,
      "description": "When True (default), restrict results to purchasable compounds (ZINC15 purchasability tier: for-sale / in-stock).",
      "title": "Purchasable Only",
      "type": "boolean"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of compounds to return (default 20, max 200).",
      "maximum": 200,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeZincIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "ZincCompound": {
      "description": "One ZINC15 substance record.",
      "properties": {
        "zinc_id": {
          "description": "ZINC15 substance identifier (e.g. ZINC000000005417).",
          "title": "Zinc Id",
          "type": "string"
        },
        "smiles": {
          "default": "",
          "description": "SMILES string.",
          "title": "Smiles",
          "type": "string"
        },
        "inchikey": {
          "default": "",
          "description": "InChIKey (27-character hash).",
          "title": "Inchikey",
          "type": "string"
        },
        "mw": {
          "description": "Molecular weight in g/mol.",
          "title": "Mw",
          "type": "number"
        },
        "logp": {
          "default": 0,
          "description": "LogP (water-octanol partition coefficient).",
          "title": "Logp",
          "type": "number"
        },
        "tpsa": {
          "default": 0,
          "description": "Topological polar surface area (Ų).",
          "title": "Tpsa",
          "type": "number"
        },
        "hbd": {
          "default": 0,
          "description": "H-bond donor count.",
          "title": "Hbd",
          "type": "integer"
        },
        "hba": {
          "default": 0,
          "description": "H-bond acceptor count.",
          "title": "Hba",
          "type": "integer"
        },
        "rotb": {
          "default": 0,
          "description": "Rotatable bond count.",
          "title": "Rotb",
          "type": "integer"
        },
        "purchasable": {
          "default": false,
          "description": "True when the compound is available for purchase through ZINC15.",
          "title": "Purchasable",
          "type": "boolean"
        },
        "vendors": {
          "description": "Vendor names offering this compound (populated when present in API response).",
          "items": {
            "type": "string"
          },
          "title": "Vendors",
          "type": "array"
        }
      },
      "required": [
        "zinc_id",
        "mw"
      ],
      "title": "ZincCompound",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.zinc_compounds``.",
  "properties": {
    "compounds": {
      "description": "Matching ZINC15 compounds.",
      "items": {
        "$ref": "#/$defs/ZincCompound"
      },
      "title": "Compounds",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "True when no compounds matched the query.",
      "title": "Not Found",
      "type": "boolean"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time for the upstream API call in milliseconds.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "title": "ForgeZincOut",
  "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/zinc_compounds' \
  -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.