Batch: Any Locus Tool
batch_locus_callApply one locus-keyed plant-genomics tool to up to 50 loci in a single call; shared arguments are validated once and results are returned per locus with individual errors.
Instructions
Run one locus-keyed tool over up to 50 loci in one call (#131). 'tool' names any tool whose only required argument is 'locus' (interpro_domains, alphafold_structure, panther_family, orthodb_orthologs, gene_report, ...); 'args' holds that tool's other arguments, shared by every locus and checked against its schema once before any call. Returns the standard batch envelope: results keyed by locus, each exactly what the single tool returns, and per-locus errors. The dedicated batch_* tools remain.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | The tool's arguments other than 'locus' (and not 'cursor'), e.g. {"organism": "oryza_sativa"} | |
| loci | Yes | Locus identifiers (max 50) | |
| tool | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | The batch tool name, e.g. batch_resolve_locus_to_uniprot | |
| count | Yes | Number of distinct loci queried, returned (== len(results) + len(errors)). The input list is de-duplicated first, so this is LOWER than the number of loci you sent if you sent a duplicate — that is de-duplication, not a dropped locus. | |
| errors | Yes | locus → '[ClassName] message' for PlantGenomicsError failures | |
| results | Yes | locus → per-locus result dict (same shape as the single-locus tool) |