Skip to main content

Single cell type annotation guided by cell atlases, with freedom to be queer.

Project description

Build Status License: MIT ReleaseVersion FOSSA Status Documentation Status

Logo

northstar

Single cell type annotation guided by cell atlases, with freedom to be queer.

Brief description

northstar is a Python package to identify cell types within single cell transcriptomics datasets. northstar's superpower is that it learns from cell atlases but still allows queer cells to make their own cluster if they want to.

Also, northstar was heavily developed during Pride Month.

Atlas resources

Atlas averages

Curated averages and subsamples from several atlases: https://northstaratlas.github.io/atlas_landmarks/

If you want us to add you cell atlas, open an issue on: https://github.com/northstaratlas/atlas_landmarks/issues

Documentation

https://northstar.readthedocs.io

Installation

pip install northstar

To automatically download and use our online atlas collection at https://northstaratlas.github.io/atlas_averages/, you will need to call:

pip install 'northstar[atlas-fetcher]'

Dependencies

  • numpy
  • scipy
  • pandas
  • scikit-learn
  • anndata
  • python-igraph>=0.8.0
  • leidenalg>=0.8.0

Optional deps to use our online atlases:

  • requests
  • loompy

It is recommended that you install python-igraph and leidenalg using pip. However, any installation (e.g. conda) that includes recent enough versions of both packages will work.

Usage

See the paper below or the documentation for detailed instructions and examples. The simplest way to use northstar is to classify a new single cell dataset using one of the available atlases, e.g. Darmanis_2015 on brain cells:

import northstar

# Choose an atlas
atlas_name = 'Darmanis_2015'

# Get a gene expression matrix of the new dataset (here a
# random matrix for simplicity)
N = 200
L = 50
new_dataset = pd.DataFrame(
    data=np.random.rand(L, N).astype(np.float32),
    index=<gene_list>,
    columns=['cell_'+str(i+1) for i in range(N)],
    )

# Initialize northstar classes
model = northstar.Averages(
        atlas='Darmanis_2015',
        n_neighbors=5,
        n_pcs=10,
        )

# Run the classifier
model.fit(new_dataset)

# Get the cluster memberships for the new cells
membership = model.membership

Citation

If you use this software please cite the following paper:

Fabio Zanini*, Bojk A. Berghuis*, Robert C. Jones, Benedetta Nicolis di Robilant, Rachel Yuan Nong, Jeffrey Norton, Michael F. Clarke, Stephen R. Quake. Northstar enables automatic classification of known and novel cell types from tumor samples. bioRxiv 820928; doi: https://doi.org/10.1101/820928

License

northstar is released under the MIT license.

NOTE: The module leidenalg to perform graph-based clstering is released under the GLP3 license. You agree with those licensing terms if you use leidenalg within northstar.

FOSSA Status

Project details


Download files

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

Files for northstar, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size northstar-0.4.0.tar.gz (24.5 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page