ZMIP: Zoom-In Pipeline
Refine cell populations within each lineage after multi-sample integration.
Why zoom in? · Get started · Results · Documentation
ZMIP takes an annotated dataset from MSP, analyzes each lineage separately, and refines cell-type labels using marker genes and quality evidence. It writes updated annotations, records removed or reassigned cells, and produces reports for review.
Why zoom in?
Differences between major cell types can dominate a global analysis. Recomputing features, neighbors, and clusters within a lineage helps examine its finer populations. ZMIP uses this local view to refine labels and review remaining quality concerns. When there are too few cells for stable subgroup analysis, small lineages retain their existing annotations.
How it works
An AI assistant groups cells into lineages using the existing labels and embedding. Each selected lineage is re-embedded independently, then reviewed using marker genes, quality measurements, and signals from other lineages. The program checks the submitted decisions before merging the results back into the global dataset.
Click the diagram to open the interactive version, with pan, zoom, search, and guided views.
What you get
The output includes a refined H5AD, a global HTML report linking to detailed lineage reports, and cell-level records of removals and reassignments. Original MSP annotations remain available for comparison; retained cells keep their input expression, counts, and global embedding.
Get started
Start with MSP's annotated.h5ad, including its annotations, counts, batch
metadata, graph, and UMAP. ZMIP currently uses a source-based installation;
follow the installation guide and activate the
resulting environment. Set your Volcengine Ark API key, then run:
export ARK_API_KEY="YOUR_ARK_API_KEY"
HARNESS=openai python -m zmip msp_out/annotated.h5ad --outdir zmip_out
Read your results
After a successful run, open zmip_out/report.html in your browser. Check
the lineage plan, follow the links to review local labels and supporting
genes, then inspect removed and reassigned populations. To share all reports,
copy the output directory with its subdirectories so the links still work.
| File | Contents |
|---|---|
report.html |
Global summary and links to lineage reports |
annotated_zmip.h5ad |
Retained cells with refined annotations |
zmip_removed.csv |
Removed cells and their recorded sources |
zmip_reassigned.csv |
Cells assigned to another lineage's coarse label |
<lineage>/report.html |
Local analysis, evidence, and annotation decisions |
Does ZMIP change my data?
Your input file stays unchanged. Cells removed by local filtering or the annotation agent are excluded from the final H5AD. Reassigned cells receive new labels; they are not re-embedded in the destination lineage during this run. Global plots retain MSP's embedding. See the input and output reference for fields and details.
Can I resume a run?
Repeat the same command to reuse completed, verified stages. Agent settings
such as --max-turns or --model may differ between runs; only unfinished
lineages use the new values. If you change the input, analysis settings, or
runtime, use a new output directory to keep both analyses, or add --force
to recompute the plan and all selected lineages. To rebuild only the global
report, run:
python -m zmip.report zmip_out
Validation
An isolated installation passed 99 tests, and an OpenAI/Doubao run completed the workflow on 256 Fu2022 cells, including independent data checks and resume without model calls. This checks the workflow at small scale; full-dataset performance and biological accuracy remain unvalidated. See validation records and remaining checks.
Further reading
ZMIP follows OSP for sample-level review and MSP for integration within the ECA-RSI workflow. See inputs and outputs for data conventions, runtime options for installation and configuration, and GitHub issues for questions or problems. ZMIP uses the MIT license.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zmip-0.3.0.tar.gz.
File metadata
- Download URL: zmip-0.3.0.tar.gz
- Upload date:
- Size: 57.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f97e658e0f4516f587f36e98a0e7cc383cd2dd108569ebaea3aae3b5609887e9
|
|
| MD5 |
28f78291bb7ad0c2cbbd60781f3ab5cb
|
|
| BLAKE2b-256 |
f4fc3ea4e0644e58a68933fa7d0eebc9fbbef78abb0a89985344ce880680df7a
|
File details
Details for the file zmip-0.3.0-py3-none-any.whl.
File metadata
- Download URL: zmip-0.3.0-py3-none-any.whl
- Upload date:
- Size: 49.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d46e6e18348334fe1b4dfeefa20ae17203a21c12ecdebc4a04dc9ed89ca87828
|
|
| MD5 |
b464f4974e8e67fe1c90ae0804d80120
|
|
| BLAKE2b-256 |
8ab3fcb8d4b6649b5bf4937169032a465691cf9e944843554e7cbdb451cf655e
|