Forge Tools bioproject

bioproject read

scidex.forge.bioproject

Look up NCBI BioProject sequencing study metadata by keyword, organism, or accession. Returns accession (PRJNA/PRJEB/PRJDB), title, description, organism, project type (TRANSCRIPTOME_ANALYSIS/GENOME_SEQUENCING/METAGENOME/etc.), submission date, last update, and associated SRA run / BioSample counts where reported. BioProject is the registry for all NCBI-hosted sequencing studies — every GEO/SRA submission links to a BioProject accession. Supports direct PRJNA/PRJEB/PRJDB accession lookup (uses [Accn] qualifier) and optional organism / project_type filters. API: NCBI Entrez E-utilities (esearch + esummary, db=bioproject). Free, no auth required. Set NCBI_API_KEY for 10 rps (default 3 rps anonymous).

HTTP: POST /api/scidex/forge/bioproject

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.bioproject``.",
  "properties": {
    "query": {
      "description": "Keyword search term or BioProject accession (PRJNA12345, PRJEB12345, PRJDB12345). Direct accession lookups use the ``[Accn]`` qualifier automatically. Boolean operators and NCBI field qualifiers are supported for keyword queries.",
      "title": "Query",
      "type": "string"
    },
    "organism": {
      "anyOf": [
        {
          "maxLength": 256,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Organism name filter (e.g. ``'Homo sapiens'``, ``'Mus musculus'``). Appended as ``AND {organism}[orgn]`` to the eSearch term.",
      "title": "Organism"
    },
    "project_type": {
      "anyOf": [
        {
          "maxLength": 256,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Project type filter (e.g. ``'TRANSCRIPTOME_ANALYSIS'``, ``'GENOME_SEQUENCING'``, ``'METAGENOME'``). Appended as ``AND {project_type}[filter]`` to the eSearch term.",
      "title": "Project Type"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of BioProject records to return (1–100, default 10).",
      "maximum": 100,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeBioProjectIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "BioProjectEntry": {
      "description": "One BioProject study record.",
      "properties": {
        "accession": {
          "description": "BioProject accession (e.g. ``'PRJNA40025'``).",
          "title": "Accession",
          "type": "string"
        },
        "title": {
          "default": "",
          "description": "Project title.",
          "title": "Title",
          "type": "string"
        },
        "description": {
          "default": "",
          "description": "Project description or abstract.",
          "title": "Description",
          "type": "string"
        },
        "organism": {
          "default": "",
          "description": "Primary organism name.",
          "title": "Organism",
          "type": "string"
        },
        "project_type": {
          "default": "",
          "description": "Project type (e.g. ``'TRANSCRIPTOME_ANALYSIS'``, ``'GENOME_SEQUENCING'``, ``'METAGENOME'``, ``'EPIGENOMICS'``).",
          "title": "Project Type",
          "type": "string"
        },
        "submission_date": {
          "default": "",
          "description": "Registration/submission date (YYYY/MM/DD HH:MM or ISO-8601).",
          "title": "Submission Date",
          "type": "string"
        },
        "last_update": {
          "default": "",
          "description": "Last modification date.",
          "title": "Last Update",
          "type": "string"
        },
        "sra_run_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of associated SRA runs (None if not reported in summary).",
          "title": "Sra Run Count"
        },
        "biosample_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of associated BioSamples (None if not reported in summary).",
          "title": "Biosample Count"
        },
        "relevance_score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Relevance score from eSearch (None if not available).",
          "title": "Relevance Score"
        }
      },
      "required": [
        "accession"
      ],
      "title": "BioProjectEntry",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.bioproject``.",
  "properties": {
    "query": {
      "description": "The search term that was submitted.",
      "title": "Query",
      "type": "string"
    },
    "results": {
      "description": "BioProject records matching the query, in eSearch rank order.",
      "items": {
        "$ref": "#/$defs/BioProjectEntry"
      },
      "title": "Results",
      "type": "array"
    },
    "total_found": {
      "default": 0,
      "description": "Total project count returned by eSearch before the limit was applied.",
      "title": "Total Found",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True if eSearch returned zero results for the query.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "NCBI BioProject (ncbi.nlm.nih.gov/bioproject)",
      "description": "Data source identifier.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeBioProjectOut",
  "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/bioproject' \
  -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.