Skip to content

stanfish06/scloop

Repository files navigation

scloop - single-cell loop analysis

CI Test Import Test Build PyPI

Note: this package is in early stages of development. (manuscript in prep)

scLoop is a library to identify statistically significant loops in single-cell RNA-seq data. In brief, it bootstraps the data points and matches loops across the bootstrapped samples through both image homology and topological equivalence, which assigns confidence to individual loops in the dataset. In addition, it supports cross datasets loop matching. The core computation routine is compiled and parallelized.

persistent homology demo
monkey

Basic Usage

import scloop as scl
# Preprocess anndata
scl.pp.prepare_adata(adata, downsample=True, n_downsample=500)
# Identify statistically significant loops
scl.tl.find_loops(adata, ...)
# Compute trajectories, gene trends, and important features of each loop
scl.tl.analyze_loops(adata, ...)
# Match loops across datasets
scl.tl.match_loops([adata1, adata2, ...], ...)

Build Instructions

make build

or

make rebuild

Virtual Envrionemnt

make sync

or

make full-sync

to prevent partial compilation of some modules

Installation

Note: this package is in early stages of development. The current build will have issues.

pip install scloop

Contribution

Feel free to contribute (prs, issues, discussions, ...)

Project Structure

src/scloop/
├── analyzing
│   ├── bootstrap.py
│   ├── feature_selection.py
│   ├── gene_trend.py
│   ├── hodge.py
│   ├── __init__.py
│   └── stats.py
├── benchmarking
│   ├── benchmarking_slicer.R
│   ├── datasets.py
│   ├── hf_registry.yaml
│   ├── __init__.py
│   ├── install_r_packages.R
│   ├── lle_1.1.tar.gz
│   ├── renv
│   │   ├── activate.R
│   │   ├── library
│   │   ├── settings.json
│   │   └── staging
│   ├── renv.lock
│   ├── SLICER
│   │   ├── data
│   │   ├── DESCRIPTION
│   │   ├── man
│   │   ├── NAMESPACE
│   │   ├── R
│   │   ├── README.md
│   │   ├── SLICER.Rproj
│   │   └── vignettes
│   ├── slicer_results.csv
│   └── splatter
│       ├── codecov.yml
│       ├── DESCRIPTION
│       ├── index.md
│       ├── inst
│       ├── LICENSE
│       ├── man
│       ├── NAMESPACE
│       ├── NEWS.md
│       ├── pkgdown
│       ├── _pkgdown.yml
│       ├── R
│       ├── README.md
│       ├── tests
│       └── vignettes
├── computing
│   ├── boundary.py
│   ├── divergence.py
│   ├── embedding.py
│   ├── hodge_decomposition.py
│   ├── homology.py
│   ├── __init__.py
│   ├── loops.py
│   ├── matching.py
│   └── utils.py
├── data
│   ├── analysis_containers.py
│   ├── base_components.py
│   ├── boundary.py
│   ├── constants.py
│   ├── containers.py
│   ├── __init__.py
│   ├── metadata.py
│   ├── ripser.cpp
│   ├── ripser.hpp
│   ├── ripser_lib.cpp
│   ├── ripser_lib.pyx
│   ├── types.py
│   └── utils.py
├── __init__.py
├── io
│   └── __init__.py
├── matching
│   ├── cross_dataset.py
│   ├── data_modules.py
│   ├── __init__.py
│   ├── mlp.py
│   └── nf.py
├── plotting
│   ├── _cross_match.py
│   ├── custom_colormaps.py
│   ├── _hodge.py
│   ├── _homology.py
│   ├── __init__.py
│   ├── _trajectory.py
│   └── _utils.py
├── preprocessing
│   ├── delve
│   │   ├── delve.py
│   │   ├── __init__.py
│   │   └── kh.py
│   ├── downsample.py
│   ├── __init__.py
│   └── prepare.py
├── py.typed
├── tools
│   ├── _cross_match.py
│   ├── __init__.py
│   └── _loops.py
└── utils
    ├── denoise
    │   ├── __init__.py
    │   ├── Sanity
    │   ├── Sanity.cpp
    │   ├── Sanity_py.py
    │   └── Sanity.pyx
    ├── distance_metrics
    │   ├── discrete-frechet-distance
    │   ├── frechet.cpp
    │   ├── frechet_py.py
    │   ├── frechet.pyx
    │   └── __init__.py
    ├── __init__.py
    ├── linear_algebra_gf2
    │   ├── GF2toolkit
    │   ├── gf2toolkit_lib.cpp
    │   ├── gf2toolkit_lib.pyx
    │   ├── gf2toolkit_wrapper.cpp
    │   ├── gf2toolkit_wrapper.hpp
    │   ├── __init__.py
    │   ├── m4ri_lib.c
    │   └── m4ri_lib.pyx
    ├── logging.py
    └── pvalues.py

About

python library for single-cell loop analysis

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors