Forge Tools signor_signaling

signor_signaling read

scidex.forge.signor_signaling

Query SIGNOR (Signaling Network Open Resource) for manually curated directed causal relationships between human signaling molecules. Returns ~30,000 activations, inhibitions, and PTM events with source/target gene, effect (UP/DOWN), mechanism (phosphorylation, …), directness flag, and PubMed provenance. Complements IntAct (binary interactions) and BioGRID (genetic/physical) with the directed causal signaling layer for mechanistic hypothesis generation.

HTTP: POST /api/scidex/forge/signor_signaling

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.signor_signaling``.",
  "properties": {
    "gene_symbols": {
      "description": "Gene symbols to query (e.g. ``['TP53', 'EGFR']``). SIGNOR returns relations where the gene is source or target. 1–10 gene symbols per call.",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "minItems": 1,
      "title": "Gene Symbols",
      "type": "array"
    },
    "effect_filter": {
      "default": "",
      "description": "Optional filter on the causal effect field. Accepted values: ``'UP'`` (activations only), ``'DOWN'`` (inhibitions only), ``'UNKNOWN'``. Empty string (default) returns all effects.",
      "maxLength": 50,
      "title": "Effect Filter",
      "type": "string"
    },
    "mechanism_filter": {
      "default": "",
      "description": "Optional case-insensitive substring filter on the mechanism field (e.g. ``'phosphorylation'``). Empty string (default) returns all mechanisms.",
      "maxLength": 100,
      "title": "Mechanism Filter",
      "type": "string"
    },
    "limit": {
      "default": 30,
      "description": "Maximum number of relation records to return. Default 30.",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "gene_symbols"
  ],
  "title": "ForgeSIGNORIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "SIGNORRelation": {
      "description": "One SIGNOR directed causal signaling relation.",
      "properties": {
        "signor_id": {
          "default": "",
          "description": "SIGNOR internal relation identifier (e.g. 'SIGNOR-R-HSA-123456').",
          "title": "Signor Id",
          "type": "string"
        },
        "source_gene": {
          "description": "Gene symbol of the upstream causal entity.",
          "title": "Source Gene",
          "type": "string"
        },
        "target_gene": {
          "description": "Gene symbol of the downstream causal entity.",
          "title": "Target Gene",
          "type": "string"
        },
        "effect": {
          "default": "",
          "description": "Causal effect of the source on the target. Common values: 'UP' (activation), 'DOWN' (inhibition), 'UNKNOWN'.",
          "title": "Effect",
          "type": "string"
        },
        "mechanism": {
          "default": "",
          "description": "Molecular mechanism underlying the causal relationship (e.g. 'phosphorylation', 'ubiquitination', 'transcriptional regulation').",
          "title": "Mechanism",
          "type": "string"
        },
        "direct": {
          "default": false,
          "description": "True when the causal relationship is direct (i.e. not mediated by unmapped intermediates). Corresponds to SIGNOR 'DIRECT=YES'.",
          "title": "Direct",
          "type": "boolean"
        },
        "pubmed_ids": {
          "description": "PubMed IDs supporting this relation.",
          "items": {
            "type": "string"
          },
          "title": "Pubmed Ids",
          "type": "array"
        },
        "cell_data": {
          "default": "",
          "description": "Cell line or tissue context in which the relation was observed.",
          "title": "Cell Data",
          "type": "string"
        }
      },
      "required": [
        "source_gene",
        "target_gene"
      ],
      "title": "SIGNORRelation",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.signor_signaling``.",
  "properties": {
    "relations": {
      "description": "Directed causal relations from SIGNOR. Empty when no relations are found for the queried gene symbols after applying filters.",
      "items": {
        "$ref": "#/$defs/SIGNORRelation"
      },
      "title": "Relations",
      "type": "array"
    },
    "total_found": {
      "description": "Total matching relations found before applying the ``limit`` (after effect/mechanism filters).",
      "title": "Total Found",
      "type": "integer"
    },
    "upstream_count": {
      "description": "Number of returned relations where the queried gene appears as the *target* (i.e. something acts ON the gene).",
      "title": "Upstream Count",
      "type": "integer"
    },
    "downstream_count": {
      "description": "Number of returned relations where the queried gene appears as the *source* (i.e. the gene acts ON something else).",
      "title": "Downstream Count",
      "type": "integer"
    }
  },
  "required": [
    "total_found",
    "upstream_count",
    "downstream_count"
  ],
  "title": "ForgeSIGNOROut",
  "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/signor_signaling' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "gene_symbols": []
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.