GEOmend
GEOmend downloads and combines metadata from GEO studies into a table for analysis. It profiles source fields, suggests how to align them across studies, and exports the results. You can inspect and correct those suggestions through the command line, Python SDK, or API.
GEOmend accepts GEO accessions, family-SOFT files, and CSV/TSV metadata. The cohort workflow produces an initial table without requiring a registry or review decisions. Its field groupings and transformations are provisional and may need correction. GEOmend preserves source data, revision history, evidence, and previous exports. For output that requires reviewed mappings, use the separate reviewed reconciliation workflow.
Install
GEOmend requires Python 3.13 or newer. Install the cohort workflow with
uv:
uv tool install geomend
geomend capabilities --json
geomend doctor --json
The default install includes all runtime dependencies for cohort processing, reconciliation, ontology ingestion, GEO verification, and learned retrieval. The named extras remain compatible with earlier installation commands.
You can also install GEOmend with pip:
python -m pip install geomend
From study list to modeling table
Create a resumable cohort project from a list of accessions and export an analysis-oriented table:
geomend cohort create --accessions-file accessions.txt --project my-cohort
geomend cohort export my-cohort --output metadata.tsv --profile analysis
The analysis export includes the sample metadata table, column annotations, and extra metadata that does not belong in the modeling table. The primary table keeps one row per study/sample, including samples with incomplete metadata. Useful measurements and covariates stay in the table while study-specific identifiers and unaligned study-level details move into context. Acquisition can resume, completed inputs are reused, and exports remain available as the project is refined.
To correct an initial suggestion, inspect its evidence and update it through the CLI, SDK, or API. These interfaces apply the same review rules to people and agents. See the cohort workflow guide for recovery, refinements, local inputs, API, and SDK usage.
Reconcile with review
Plan and run a review workspace for a local table:
geomend reconcile plan samples.tsv --output-dir plan
geomend reconcile run plan/reconcile.yaml --output-dir workspace --offline
geomend review show workspace/review.geomend.sqlite
Planning identifies fields and proposes candidate mappings. It does not accept them. Reviewers can inspect evidence and record attributable decisions through the CLI, SDK, or authenticated API. For example, assign two reviewers:
geomend review assign workspace/review.geomend.sqlite review-round \
--reviewer reviewer-a --reviewer reviewer-b --query FIELD
Each reviewer receives a portable .geomend-review.zip packet. After review,
import the returned response and export reviewed data:
geomend review import workspace/review.geomend.sqlite \
review-round/packets/reviewer-a.geomend-response.zip
geomend export data workspace/review.geomend.sqlite reviewed-output
Export includes only reviewed mappings by default. If none can
produce output values, the command stops and explains why. Use
--allow-empty when an empty export is intentional. Reviewers can accept a
mapping, choose nomatch when no target applies, or defer when more evidence
is needed.
For GEO accessions and family-SOFT inputs, use geomend reconcile plan with the
appropriate sources. For local CSV/TSV inputs, GEOmend creates a review-only
draft registry automatically. Supply --registry TARGETS.json to use curated
targets. Planning is offline; acquisition of uncached GEO accessions requires
network access.
Optional features
Install extras for additional capabilities:
| Extra | Adds |
|---|---|
cohort |
Persistent cohort intake, export, review, transformations, and local API |
reconcile |
Profiling, lexical retrieval, and constrained optimization |
ontology |
OBO/OWL/RDF ontology ingestion |
transform |
LinkML-Map validation and execution |
server |
Authenticated loopback API |
geo-verify |
Optional GEOparse cross-checks |
learned |
Optional local dense-retrieval experiments |
For example, install both cohort and ontology features with
uv tool install geomend. Local LLM inference is optional;
it provides evidence and proposals, not automatic acceptance. Research
campaigns, training, and benchmarks live in the separate geomend-research
repository. See the development boundary.
How GEOmend handles evidence and review
- GEOmend preserves source artifacts and records their hashes to detect changes.
- A source column, target variable, ontology concept, and observed answer are different entities; similar names do not prove equivalence.
- Candidate scores rank suggestions for review. They do not report calibrated confidence or approve mappings.
- Proposed transformations are reviewed separately from execution.
- New reviews are added to the history and refer to a fixed copy of the evidence.
- Exports record the sources, transformations, candidates, and reviews used to produce them.
GEOmend uses the upstream LinkML-Map TransformationSpecification as the
standard format for reviewed transformations. Validate a
specification with geomend workspace transformation validate.
Documentation
Metadata
Release files for geomend 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| geomend-0.0.3.tar.gz | 1.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| geomend-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.8 MB
Release files / geomend-0.0.3.tar.gz
| Download URL | geomend-0.0.3.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
116b76e400e367bacfbaedf6de4ac7a8f8580bdeb3e5a78d14d7e481c47c6be8
|
|
BLAKE2b-256 checksum How to use checksums |
7a7d4a556347c37463a90e05d4a45feb07d18bd00a9f29f405bdc979b949155f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / geomend-0.0.3-py3-none-any.whl
| Download URL | geomend-0.0.3-py3-none-any.whl |
|---|---|
| Size | 680.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
432c8e9d9314f75e2384eae5aae8b097d3b9c7445e2cc9fcc9ac0bd2e094f1d6
|
|
BLAKE2b-256 checksum How to use checksums |
f445e8f9fbe024da99c11822498d14362612000d40f031afb2834f1698435b2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|