Forge Tools immport_immunology
immport_immunology read
scidex.forge.immport_immunology
Query ImmPort for immunology studies with gene expression data. For each gene symbol, returns ImmPort studies (SDY accessions) containing expression profiles for that gene, including study title, condition studied, assay types (RNA-seq, flow cytometry, CyTOF, etc.), number of subjects, and PI names. Optionally filter by immunology condition keyword (e.g. 'lupus', 'vaccine', 'asthma'). ImmPort is the NIH repository for immunology data — covers autoimmune, allergy, vaccine response, and infection studies. Up to 10 gene symbols per call; up to 5 concurrent queries. Not-found symbols (no expression data) go to the not_found list. Complements forge_gtex_expression (normal tissue) and forge_cellxgene_expression (single-cell). API: immport.org — public, no auth required for study metadata.
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.immport_immunology``.",
"properties": {
"gene_symbols": {
"description": "Gene symbols to look up in ImmPort immunology studies (e.g. ['IL6', 'FOXP3', 'CD19']). Maximum 10 symbols per call.",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"title": "Gene Symbols",
"type": "array"
},
"condition_filter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional condition keyword to filter studies (e.g. 'lupus', 'vaccine', 'asthma'). When provided, only studies investigating this condition are returned.",
"title": "Condition Filter"
},
"max_studies_per_gene": {
"default": 5,
"description": "Maximum studies to return per gene. Default 5. Max 20.",
"maximum": 20,
"minimum": 1,
"title": "Max Studies Per Gene",
"type": "integer"
}
},
"required": [
"gene_symbols"
],
"title": "ForgeImmPortImmunologyIn",
"type": "object"
}Output schema
{
"$defs": {
"ImmPortGeneExpressionResult": {
"description": "Gene expression data summary for one gene across ImmPort studies.",
"properties": {
"gene_symbol": {
"description": "Gene symbol queried.",
"title": "Gene Symbol",
"type": "string"
},
"studies": {
"description": "ImmPort studies containing expression data for this gene.",
"items": {
"$ref": "#/$defs/ImmPortStudy"
},
"title": "Studies",
"type": "array"
}
},
"required": [
"gene_symbol"
],
"title": "ImmPortGeneExpressionResult",
"type": "object"
},
"ImmPortStudy": {
"description": "One ImmPort study record.",
"properties": {
"study_accession": {
"description": "ImmPort study accession (e.g. 'SDY269').",
"title": "Study Accession",
"type": "string"
},
"study_title": {
"default": "",
"description": "Study title.",
"title": "Study Title",
"type": "string"
},
"condition_studied": {
"default": "",
"description": "Condition(s) studied (e.g. 'asthma').",
"title": "Condition Studied",
"type": "string"
},
"assay_types": {
"description": "Assay types used in the study (e.g. ['RNA sequencing', 'Flow cytometry']).",
"items": {
"type": "string"
},
"title": "Assay Types",
"type": "array"
},
"num_subjects": {
"default": 0,
"description": "Number of human subjects enrolled.",
"title": "Num Subjects",
"type": "integer"
},
"brief_description": {
"default": "",
"description": "Brief study description.",
"title": "Brief Description",
"type": "string"
},
"pi_names": {
"description": "Principal investigator name(s).",
"items": {
"type": "string"
},
"title": "Pi Names",
"type": "array"
}
},
"required": [
"study_accession"
],
"title": "ImmPortStudy",
"type": "object"
}
},
"description": "Response shape for ``scidex.forge.immport_immunology``.",
"properties": {
"results": {
"description": "Expression study summaries for found gene symbols.",
"items": {
"$ref": "#/$defs/ImmPortGeneExpressionResult"
},
"title": "Results",
"type": "array"
},
"not_found": {
"description": "Gene symbols with no ImmPort expression studies.",
"items": {
"type": "string"
},
"title": "Not Found",
"type": "array"
},
"took_ms": {
"description": "Wall-clock time for all upstream API calls.",
"title": "Took Ms",
"type": "integer"
}
},
"required": [
"took_ms"
],
"title": "ForgeImmPortImmunologyOut",
"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/immport_immunology' \
-H 'authorization: Bearer $SCIDEX_JWT' \
-H 'content-type: application/json' \
-d '{
"gene_symbols": []
}'Discussion
No comments yet — be the first.