Multi-task framework for single-cell multimodal data (classification, dimension reduction, feature selection, simulation, augmentation) across RNA / ADT / ATAC.
Reason this release was yanked:
There is a new version
Project description
Matilda: Multi-task learning from single-cell multimodal omics
Matilda is a multi-task framework for learning from single-cell multimodal omics data. Matilda leverages the information from the multi-modality of such data and trains a neural network model to simultaneously learn multiple tasks including data simulation, dimension reduction, visualization, classification, and feature selection.
For more details, please check out our publication.
This repository packages Matilda as a Python package (pip install matilda-sc, import matilda) and an R package, wrapping the unchanged published engine, with documentation and runnable Colab tutorials.
- Documentation: https://pyanglab.github.io/Matilda/
- Python tutorial (Colab):
- R tutorial (Colab):
- R package: https://github.com/PYangLab/Matilda/tree/main/matilda-r (SingleCellExperiment-based, Bioconductor-style)
Install
Python (import name matilda; PyPI distribution matilda-sc):
pip install "git+https://github.com/PYangLab/Matilda.git" # once on PyPI: pip install matilda-sc
R (Python is provisioned automatically by basilisk, so you never install or manage it):
remotes::install_github("PYangLab/Matilda", subdir = "matilda-r")
Two interfaces, one engine
Matilda ships as a Python package (import matilda) and an R package (matilda, operating on a
SingleCellExperiment). Both call the same engine, so on the same hardware they give the same
result. Pick the interface that matches your workflow; see the documentation
for both APIs and full tutorials.
Quickstart (Python)
Work with in-memory AnnData (or arrays, or file paths) and get results back as objects. After
train, there is one verb per task: classify / reduce / markers / simulate.
import matilda
# rna/adt/atac: AnnData | ndarray | scipy.sparse | path | None
# labels: a vector, an `.obs` column name, or a .csv path (string or numeric labels)
fit = matilda.train(rna, adt=adt, atac=atac, labels="cell_type")
res = matilda.classify({"rna": q_rna, "adt": q_adt, "atac": q_atac},
model=fit, query_labels=q_labels)
res.predictions # DataFrame: cell_id, real, predicted, probability
res.celltype_accuracy # DataFrame: celltype, accuracy, n
lat = matilda.reduce({"rna": rna, "adt": adt, "atac": atac}, model=fit) # lat.latent
mk = matilda.markers({"rna": rna, "adt": adt, "atac": atac}, model=fit, labels="cell_type") # mk.markers
sim = matilda.simulate({"rna": rna, "adt": adt, "atac": atac}, model=fit, celltype="B.Naive", n=200, labels="cell_type") # sim.simulated
The modality combination is inferred automatically (RNA only, RNA+ADT for CITE-seq, RNA+ATAC for
SHARE-seq, all three for TEA-seq). classify reconciles features automatically: if the query is
missing some of the model's features it takes the per-modality reference intersection (real values,
no zero-padding), retrains, and classifies; res.retrained / res.common_features report what
happened. See the Quickstart and
API reference for the full surface.
Citation
If you use Matilda, please cite the Matilda paper (see the Citation page).
Project details
Release history Release notifications | RSS feed
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 matilda_sc-0.2.0.tar.gz.
File metadata
- Download URL: matilda_sc-0.2.0.tar.gz
- Upload date:
- Size: 35.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3480becee51093d446b1662c684bf83c7bee9e11d76aead6210bffd22274e94
|
|
| MD5 |
3f1ba401a1919b804ce41ae283e86e7f
|
|
| BLAKE2b-256 |
c37943ac6692626397f774b61e669b5f47a31c621640d037dcc6b6fd2cda7883
|
File details
Details for the file matilda_sc-0.2.0-py3-none-any.whl.
File metadata
- Download URL: matilda_sc-0.2.0-py3-none-any.whl
- Upload date:
- Size: 41.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dacb0ae5b8b6f3e4692497daa15fea37a3c16d3cd12b4ea69347ffda3155196
|
|
| MD5 |
f8d4ceee679151766646b2fecd91cb96
|
|
| BLAKE2b-256 |
92fcb07ac9cc4d6a21a465e44d7871b677253adaf7f64d22e46732f84c6070df
|