Forge Tools syngo

syngo read

scidex.forge.syngo

Query the SynGO database (syngoportal.org) for expert-curated synaptic gene annotations. SynGO covers 1,112 human genes with precise presynapse/postsynapse/synapse localisation using GO terms, each backed by at least one ECO evidence code and PubMed ID — curated by the SynGO Consortium from peer-reviewed literature. Critical for Alzheimer's/autism/schizophrenia research; no other forge verb covers synapse-specific gene biology. Input: HGNC gene symbol (e.g. 'SHANK3', 'SYN1', 'DLGAP1'). APIs: HGNC fetch (symbol resolution) + SynGO getGeneDetails — both free, no auth.

HTTP: POST /api/scidex/forge/syngo

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.syngo``.",
  "properties": {
    "gene": {
      "description": "HGNC gene symbol to query (e.g. ``'SHANK3'``, ``'SYN1'``, ``'DLGAP1'``). The symbol is resolved to an HGNC ID before querying SynGO.",
      "maxLength": 100,
      "title": "Gene",
      "type": "string"
    },
    "organism": {
      "default": "human",
      "description": "Organism context. SynGO only covers human genes; this field is recorded in output for provenance but does not filter the SynGO response.",
      "maxLength": 50,
      "title": "Organism",
      "type": "string"
    }
  },
  "required": [
    "gene"
  ],
  "title": "ForgeSyngoIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "SynapticRole": {
      "description": "One SynGO synaptic GO annotation for a gene.",
      "properties": {
        "go_term": {
          "description": "GO term name (e.g. 'postsynaptic density').",
          "title": "Go Term",
          "type": "string"
        },
        "go_id": {
          "description": "GO accession in GO:XXXXXXX format (e.g. 'GO:0014069').",
          "title": "Go Id",
          "type": "string"
        },
        "synaptic_layer": {
          "description": "Curated synaptic compartment: ``'presynapse'``, ``'postsynapse'``, or ``'synapse'``.",
          "title": "Synaptic Layer",
          "type": "string"
        },
        "evidence_code": {
          "default": "",
          "description": "ECO evidence code supporting this annotation (e.g. 'ECO:0006042').",
          "title": "Evidence Code",
          "type": "string"
        },
        "pmids": {
          "description": "PubMed IDs (as strings) backing this synaptic annotation.",
          "items": {
            "type": "string"
          },
          "title": "Pmids",
          "type": "array"
        }
      },
      "required": [
        "go_term",
        "go_id",
        "synaptic_layer"
      ],
      "title": "SynapticRole",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.syngo``.",
  "properties": {
    "gene": {
      "description": "The gene symbol that was queried.",
      "title": "Gene",
      "type": "string"
    },
    "hgnc_id": {
      "default": "",
      "description": "Resolved HGNC ID in ``HGNC:XXXXX`` format, or empty if unresolved.",
      "title": "Hgnc Id",
      "type": "string"
    },
    "synaptic_roles": {
      "description": "SynGO synaptic GO annotations for the gene.",
      "items": {
        "$ref": "#/$defs/SynapticRole"
      },
      "title": "Synaptic Roles",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "``True`` when no SynGO annotations exist for this gene (gene not in the SynGO curated set or unresolvable symbol). ``False`` when at least one annotation was returned.",
      "title": "Not Found",
      "type": "boolean"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time for upstream API calls in milliseconds.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "gene"
  ],
  "title": "ForgeSyngoOut",
  "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/syngo' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "gene": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.