Skip to main content

juzi

Project description

:tangerine: juzi

Various methods for analyzing cell states and types in single-cell sequencing data (experimental).

Installation

pip install juzi

cell states (cs)

Identifying intra-sample programs.

from juzi.cs.nmf import multisample_nmf

# Perform NMF independently across multiple samples
Hs = multisample_nmf(
    [C1, C2, C3, ...],
    k=[5, 6, 7, 8, 9],
    center=False,
    scale=False,
    target_sum=1e5,
    max_exp=10.0,
    max_iter=500,
    alpha=0.,
    tol=0.0001,
    loss="frobenius",
    n_jobs=8,
    prefer="threads",
    seed=123
) 

Identifying consensus (intra-sample) and shared (inter-sample) programs.

from juzi.cs.nmf import factor_consensus, factor_similarity

# Compute a set of clustered consensus factors between NMF runs
HC, HS, labels, correlation = factor_consensus(
    np.array_split(Hs[0], [5, 6, 7, 8, 9]),
    n_clusters=8,
    eps=1e-8,
    method="agglomerative",
    metric="euclidean",
    linkage="ward",
)

# Compute similarity matrix between factors computed across different samples
S, K, ids = factor_similarity(
    Hs,
    distance="cosine",
    top_k=500,
    drop_zeros=True,
    intra_sample=False,
    eps=1e-8
)

Some additional tools for clustering and filtering factors.

from juzi.cs.cluster import eigengap_heuristic, spectral_clustering

# Estimate an optimal number of clusters from a similarity matrix
results = eigengap_heuristic(
    S,
    min_clusters=2,
    max_clusters=10,
    normalize=True,
    eps=1e-8
)

results.plot(show=True)

# Cluster a similarity matrix given an input number of clusters
assignments = spectral_clustering(
    S,
    n_clusters=results.k,
    normalize=True,
    seed=123456,
    eps=1e-8
)

marker genes (mg)

Various marker genes for cell types, subtypes, and pathways.

from juzi.mg import available_sets

# Check available marker gene sets
print(available_sets())

# Load breast cancer gene sets (e.g. PAM50)
from juzi.mg import CancerBreast
markers = CancerBreast()

# Load cancer pathway gene sets (e.g. HIPPO)
from juzi.mg import CancerPathways
markers = CancerPathways()

# Load cell cycle gene sets (e.g. G1S)
from juzi.mg import CellCycle
markers = CellCycle()

# List available sets in a given marker class
markers.info()

# Get all genes from all sets in a flattened list
markers.all()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

juzi-0.0.9.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

juzi-0.0.9-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file juzi-0.0.9.tar.gz.

File metadata

  • Download URL: juzi-0.0.9.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for juzi-0.0.9.tar.gz
Algorithm Hash digest
SHA256 d65743f1c0963800628ce1953d90b5d66aae133b6e5f82941f33e6baf4033c8c
MD5 57fdebdf30373c786ac221bc3442a9f7
BLAKE2b-256 f504be6f2cd42c26518a84247bb3c0aec0b2afc8cfdbb86e6d2f1b4873690bc3

See more details on using hashes here.

File details

Details for the file juzi-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: juzi-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for juzi-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3385dcdde0336f1b0619431d0e28a0262e7c502c10e844d817104b6cc3719a20
MD5 b35c828557700af7630cb62a25fea6fd
BLAKE2b-256 77d9e616efbcfe01ddee7a7307f5f9fefdc9297c9a6e970776d66a908776ff54

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page