Forge Tools metabolights_study

metabolights_study read

scidex.forge.metabolights_study

Query the EBI MetaboLights database for metabolomics study metadata. Accepts a MetaboLights study ID (e.g. 'MTBLS1') for direct lookup or a keyword query (e.g. 'diabetes', 'NMR plasma') for search. Returns study title, description, species, tissues, analytical technique (NMR/MS), metabolite count, status, submission date, and DOI. Complements scidex.forge.hmdb_metabolites (metabolite identity and properties) with study-level provenance for metabolomics experiments. REST API: https://www.ebi.ac.uk/metabolights/ws/ — free, no auth required.

HTTP: POST /api/scidex/forge/metabolights_study

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.metabolights_study``.",
  "properties": {
    "query": {
      "anyOf": [
        {
          "maxLength": 300,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Keyword query to search MetaboLights studies (e.g. 'diabetes', 'NMR plasma'). At least one of query or study_id is required.",
      "title": "Query"
    },
    "study_id": {
      "anyOf": [
        {
          "maxLength": 20,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MetaboLights study accession for direct lookup (e.g. 'MTBLS1'). At least one of query or study_id is required.",
      "title": "Study Id"
    },
    "limit": {
      "default": 5,
      "description": "Maximum number of studies to return (default 5, max 50).",
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "ForgeMetaboLightsStudyIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "MetaboLightsStudy": {
      "description": "One MetaboLights study record.",
      "properties": {
        "study_id": {
          "description": "MetaboLights study accession (e.g. MTBLS1).",
          "title": "Study Id",
          "type": "string"
        },
        "title": {
          "default": "",
          "description": "Study title.",
          "title": "Title",
          "type": "string"
        },
        "description": {
          "default": "",
          "description": "Study description/abstract.",
          "title": "Description",
          "type": "string"
        },
        "species": {
          "description": "Organism(s) studied (e.g. ['Homo sapiens', 'Mus musculus']).",
          "items": {
            "type": "string"
          },
          "title": "Species",
          "type": "array"
        },
        "tissues": {
          "description": "Biological tissues/biofluids sampled (e.g. ['plasma', 'urine']).",
          "items": {
            "type": "string"
          },
          "title": "Tissues",
          "type": "array"
        },
        "metabolite_count": {
          "default": 0,
          "description": "Number of metabolites identified in the study.",
          "title": "Metabolite Count",
          "type": "integer"
        },
        "technique": {
          "default": "",
          "description": "Analytical technique (e.g. 'NMR spectroscopy', 'LC-MS', 'GC-MS').",
          "title": "Technique",
          "type": "string"
        },
        "status": {
          "default": "",
          "description": "Study status (e.g. 'Public', 'In Review').",
          "title": "Status",
          "type": "string"
        },
        "submission_date": {
          "default": "",
          "description": "Submission date in YYYY-MM-DD format.",
          "title": "Submission Date",
          "type": "string"
        },
        "doi": {
          "default": "",
          "description": "DOI for the associated publication, if available.",
          "title": "Doi",
          "type": "string"
        }
      },
      "required": [
        "study_id"
      ],
      "title": "MetaboLightsStudy",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.metabolights_study``.",
  "properties": {
    "query": {
      "description": "The keyword query used, or '' for study_id lookups.",
      "title": "Query",
      "type": "string"
    },
    "results": {
      "description": "Matching MetaboLights study records.",
      "items": {
        "$ref": "#/$defs/MetaboLightsStudy"
      },
      "title": "Results",
      "type": "array"
    },
    "total_found": {
      "default": 0,
      "description": "Total studies returned (after limit).",
      "title": "Total Found",
      "type": "integer"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream calls in milliseconds.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "query",
    "took_ms"
  ],
  "title": "ForgeMetaboLightsStudyOut",
  "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/metabolights_study' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.