Metadata-Version: 2.4
Name: clone2vec
Version: 0.1.0
Summary: Package for an analysis of lineage-tracing scRNA-Seq data
Home-page: https://github.com/kharchenkolab/clone2vec
Author: Sergey Isaev
Author-email: s@isaev.cc
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pynndescent
Requires-Dist: scanpy
Requires-Dist: scikit-learn
Requires-Dist: torch
Requires-Dist: joblib
Requires-Dist: statsmodels
Requires-Dist: tqdm
Provides-Extra: test
Requires-Dist: catboost; extra == "test"
Requires-Dist: geosketch; extra == "test"
Requires-Dist: fastglmpca; extra == "test"
Requires-Dist: mpltern; extra == "test"
Requires-Dist: textalloc; extra == "test"
Provides-Extra: full
Requires-Dist: catboost; extra == "full"
Requires-Dist: geosketch; extra == "full"
Requires-Dist: fastglmpca; extra == "full"
Requires-Dist: mpltern; extra == "full"
Requires-Dist: textalloc; extra == "full"
Requires-Dist: anywidget; extra == "full"
Requires-Dist: ipywidgets; extra == "full"
Requires-Dist: jupyter-scatter; extra == "full"
Requires-Dist: rpy2; extra == "full"
Requires-Dist: mudata; extra == "full"

<p align="center"><a href="https://clone2vec.readthedocs.io/en/latest/"><img src="docs/source/logo.png" height="150"></a></p>

# clone2vec

![Tests](https://github.com/kharchenkolab/clone2vec/actions/workflows/tests.yml/badge.svg)
![PyPI](https://img.shields.io/pypi/v/clone2vec)
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)

clone2vec is a Python package for analysis of lineage tracing coupled with single-cell RNA-Seq.

The main key of the package are clonal embeddings — vector representations of the whole clones
in low dimensional space. These representations is a dropout-robust and cluster-free
way of representation of heterogeneity within clonal behaviour for cell type tree-free hypothesis
generation regarding cells' multipotency.

clone2vec builds representation of clones in exact same way with popular word embedding algorithm — word2vec —
via construction two-layers fully connected neural network (it uses Skip-Gram architecture) that
aims to predict neighbour cells clonal labellings by clonal label of cells. As a result, clones that exist in
similar context in gene expression space will have similar weights in this neural network, and these weights
will be used as embedding for further analysis.

## Benchmarking illustrations

See [Technical Note](https://github.com/kharchenkolab/clone2vec/blob/main/docs/Technical_note.pdf) for more details.

## Installation

clone2vec might be installed via `pip` (takes 1-2 minutes on Google Colab):
```bash
pip install clone2vec
```
or the latest development version can be installed from GitHub using:
```bash
pip install git+https://github.com/kharchenkolab/clone2vec
```

## System requirements

`clone2vec` requires Python 3.8 or later with packages listed in [setup.cfg](setup.cfg) file. The package was successfully tested
on the following systems:

* macOS Sonoma 14.5 (Apple M1 Chip @ 3.20GHz × 8, 16GB RAM) — *MacBook Air M1*,
* Ubuntu 18.04.5 LTS, 64-bit (Intel Xeon @ 2.60GHz × 32, 256GB RAM) — *PowerEdge server*,
* Ubuntu 22.04.3 LTS, 64-bit (Intel Xeon @ 2.20GHz × 2, 13GB RAM) — *Google Colab*.

## Documentation and tutorials

Please visit [documentation web-site](https://clone2vec.readthedocs.io/en/latest/) to check out API description and a few
tutorials with analysis.
