Metadata-Version: 2.4
Name: sc-samap
Version: 3.0.1
Summary: The SAMap algorithm
Project-URL: Homepage, https://github.com/atarashansky/SAMap
Project-URL: Documentation, https://github.com/atarashansky/SAMap
Project-URL: Repository, https://github.com/atarashansky/SAMap
Project-URL: Issues, https://github.com/atarashansky/SAMap/issues
Author-email: "Alexander J. Tarashansky" <tarashan@stanford.edu>
License-Expression: MIT
License-File: LICENSE
Keywords: analysis,bioinformatics,cross-species,manifold,mapping,reconstruction,scrnaseq,single-cell
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.11
Requires-Dist: dill>=0.3.7
Requires-Dist: h5py>=3.10.0
Requires-Dist: hnswlib>=0.8.0
Requires-Dist: leidenalg>=0.10.0
Requires-Dist: networkx>=3.0
Requires-Dist: numba>=0.59.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: scanpy>=1.10.0
Requires-Dist: scipy>=1.11.0
Provides-Extra: all
Requires-Dist: samap[dev,viz]; extra == 'all'
Provides-Extra: dev
Requires-Dist: mypy>=1.8; extra == 'dev'
Requires-Dist: pre-commit>=3.6; extra == 'dev'
Requires-Dist: pytest-cov>=4.1; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.2; extra == 'dev'
Provides-Extra: gpu
Requires-Dist: cupy-cuda12x>=12.0; extra == 'gpu'
Requires-Dist: faiss-gpu>=1.7; extra == 'gpu'
Requires-Dist: rapids-singlecell>=0.10; extra == 'gpu'
Provides-Extra: viz
Requires-Dist: matplotlib>=3.8; extra == 'viz'
Requires-Dist: plotly>=5.18; extra == 'viz'
Requires-Dist: seaborn>=0.13; extra == 'viz'
Description-Content-Type: text/markdown

# SAMap -- version 3.0.0

# Citation
Please cite the following paper if using SAMap: https://elifesciences.org/articles/66747

Tarashansky, Alexander J., et al. "Mapping single-cell atlases throughout Metazoa unravels cell type evolution." Elife 10 (2021): e66747.

> **Requirements:** Python ≥3.11. See `pyproject.toml` for the full dependency list.

## Installation

SAMap requires **Python ≥3.11**.

### From PyPI (recommended)

```bash
conda create -n SAMap -c conda-forge python=3.12 pip
conda activate SAMap
pip install sc-samap
```

### From source (development)

```bash
conda create -n SAMap -c conda-forge python=3.12 pip
conda activate SAMap
git clone https://github.com/atarashansky/SAMap.git
cd SAMap
pip install -e .
```

### NCBI BLAST

SAMap requires NCBI BLAST on your `PATH` for the homology mapping step.

Easiest via conda:
```bash
conda install -c bioconda blast
```

Or download binaries directly from [NCBI](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/).

*Installation time should take no more than 10 minutes.*

## Running BLAST

The BLAST mapping script can be run from the `SAMap_vignette.ipynb` Jupyter notebook.

Depending on the number of cores available on your machine and the size/type of the input fasta files, this step may take up to around 4 hours.

## Running SAMap

To run SAMap, use the `SAMAP` class from `samap`:

```python
from samap import SAMAP
sm = SAMAP(sams={'sp1': 'species1.h5ad', 'sp2': 'species2.h5ad'}, f_maps='maps/')
sm.run()
```

See the function documentation for a description of the inputs and outputs. Take a look at the provided Jupyter notebook to get started (`SAMap_vignette.ipynb`).

