Forge Tools ndex_networks

ndex_networks read

scidex.forge.ndex_networks

Retrieve biological interaction networks from NDEx (ndexbio.org), a community repository hosting NCI-PID, SIGNOR pathways, disease-specific models, and curated interactomes not available in STRING or SIGNOR directly. Use for full pathway graph retrieval, community-curated sub-networks, and neighbourhood queries within a known network UUID.

HTTP: POST /api/scidex/forge/ndex_networks

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.ndex_networks``.",
  "properties": {
    "query": {
      "description": "Search query string or gene/protein term for neighbourhood search. For ``query_type='search'``: free-text query matched against network name, description, and node labels (e.g. ``'NCI-PID'``, ``'TP53'``, ``'SIGNOR apoptosis'``). For ``query_type='neighborhood'``: gene/protein term to seed the subgraph extraction within the target network.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "search",
      "description": "Query mode. ``'search'`` searches the NDEx index for published networks matching the query string. ``'neighborhood'`` extracts the subgraph neighbourhood of query terms within a specific network (requires ``network_uuid``).",
      "title": "Query Type",
      "type": "string"
    },
    "network_uuid": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "NDEx network UUID required when ``query_type='neighborhood'``. Ignored for ``query_type='search'``. Example: ``'f93f402c-86d4-11e7-a10d-0ac135e8bacf'``.",
      "title": "Network Uuid"
    },
    "search_depth": {
      "default": 1,
      "description": "Neighbourhood search depth used when ``query_type='neighborhood'``. Controls how many hops from seed nodes to include. Ignored for ``query_type='search'``.",
      "maximum": 3,
      "minimum": 1,
      "title": "Search Depth",
      "type": "integer"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of networks to return. For ``query_type='search'``, passed directly to the NDEx search API. For ``query_type='neighborhood'``, applied as a post-filter on returned network summaries.",
      "maximum": 100,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeNdexIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "NdexNetwork": {
      "description": "One NDEx network entry.",
      "properties": {
        "uuid": {
          "description": "NDEx network UUID (permanent stable identifier).",
          "title": "Uuid",
          "type": "string"
        },
        "name": {
          "description": "Network display name.",
          "title": "Name",
          "type": "string"
        },
        "description": {
          "default": "",
          "description": "Curator-supplied description (may be empty).",
          "title": "Description",
          "type": "string"
        },
        "node_count": {
          "default": 0,
          "description": "Number of nodes in the network.",
          "title": "Node Count",
          "type": "integer"
        },
        "edge_count": {
          "default": 0,
          "description": "Number of edges in the network.",
          "title": "Edge Count",
          "type": "integer"
        },
        "owner": {
          "default": "",
          "description": "NDEx username of the network owner.",
          "title": "Owner",
          "type": "string"
        },
        "ndex_url": {
          "description": "Direct link to the network viewer on ndexbio.org.",
          "title": "Ndex Url",
          "type": "string"
        }
      },
      "required": [
        "uuid",
        "name",
        "ndex_url"
      ],
      "title": "NdexNetwork",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.ndex_networks``.",
  "properties": {
    "networks": {
      "description": "List of matching NDEx networks. Empty when no results found (``not_found=True``) or when the query matched no published networks.",
      "items": {
        "$ref": "#/$defs/NdexNetwork"
      },
      "title": "Networks",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "``True`` when the query returned no networks. ``False`` when at least one network matched.",
      "title": "Not Found",
      "type": "boolean"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time for the upstream NDEx API call.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "title": "ForgeNdexOut",
  "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/ndex_networks' \
  -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.