zellkonverter
Dependencies & Environment
Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.
- Version: 1.22.0 · Bioconductor: 3.23 · R: ≥ 4.6
- Depends: cli, DelayedArray, Matrix, reticulate, S4Vectors, SingleCellExperiment, SparseArray, SummarizedExperiment
- Imports: basilisk, cli, DelayedArray, Matrix, reticulate, S4Vectors, SingleCellExperiment, SparseArray, SummarizedExperiment
- Install:
BiocManager::install("zellkonverter")
When to Use
- Reading a
SingleCellExperimentfrom a.h5adfile usingreadH5AD. - Writing a
SingleCellExperimentto a.h5adfile usingwriteH5AD. - Converting directly between
SingleCellExperimentand PythonAnnDataobjects in memory usingSCE2AnnDataandAnnData2SCE. - Setting up consistent Python environments for package developers using
AnnDataDependencies.
When NOT to Use
- For converting Seurat objects directly to Python, use
SeuratDiskor convert toSingleCellExperimentfirst, becausezellkonverterstrictly interfaces withSingleCellExperiment. - For managing Python environments generally, use
basiliskdirectly, aszellkonverteruses it internally but isn't a general-purpose environment manager.
Data Requirements
- A valid
.h5adfile on disk for reading. - A
SingleCellExperimentobject in R for writing or conversion. - An
AnnDataobject in Python (viareticulate) for in-memory conversion.
Key Parameters
- file: Path to the input
.h5adfile inreadH5ADor output destination inwriteH5AD. - verbose (FALSE): Logical indicating whether to display progress messages during conversion in
readH5AD. - version: String specifying the version of
anndatato return dependencies for inAnnDataDependencies(e.g., "0.7.6"). - env: The basilisk environment to use, typically set to
zellkonverterAnnDataEnv()inbasiliskRun.
Best Practices
- Use
basiliskRunwithzellkonverterAnnDataEnv()to safely execute Python code onAnnDataobjects within a controlled environment. - Use
AnnDataDependencies()if you are a package developer to guarantee you are using the same versions of Python packages aszellkonverter. - Turn on global progress messages using
setZellkonverterVerbose(TRUE)if you want to monitor large conversions.
Common Pitfalls
- Python environment mismatches: Conversion failures due to missing or incompatible Python packages. Fix: Use
basiliskto set up the Python environment before usingSCE2AnnDataorAnnData2SCE. - Incompatible anndata versions: Custom environments failing to parse
.h5adfiles correctly. Fix: Check required versions withAnnDataDependencies()to ensure compatibility. - Silent execution during long conversions: The process seems stalled when reading large
.h5adfiles. Fix: Setverbose = TRUEinreadH5ADto display progress messages.
Alternatives
- basilisk: For general R/Python environment management without specific single-cell object conversion.
- reticulate: For direct Python interoperability in R, which
zellkonverterwraps specifically forAnnData. - scRNAseq: For accessing standard single-cell datasets natively in R without needing
.h5adfiles.
Citations
- Luke Zappia and Alan O'Callaghan (2021). "zellkonverter: Coercion Between Python AnnData and R SingleCellExperiment Objects." Journal of Open Source Software, 6(68), 3705.
References
- Homepage: https://bioconductor.org/packages/zellkonverter
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/zellkonverter/inst/doc/zellkonverter.html
Run this on BioMate
This skill is the knowledge layer — when, why, and how to use zellkonverter. To run this analysis on your own data with managed compute, automated QC, and reproducible outputs, use BioMate — free to start.


