https://github.com/carmonalab/projectils

Interpretation of cell states using reference single-cell maps

https://github.com/carmonalab/projectils

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 15 DOI reference(s) in README
  • Academic publication links
    Links to: pubmed.ncbi, ncbi.nlm.nih.gov, nature.com, science.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Interpretation of cell states using reference single-cell maps

Basic Info
  • Host: GitHub
  • Owner: carmonalab
  • License: gpl-3.0
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 54.5 MB
Statistics
  • Stars: 273
  • Watchers: 8
  • Forks: 31
  • Open Issues: 12
  • Releases: 9
Created over 5 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

A framework for reference-based single-cell RNA-seq data analysis

ProjecTILs is a computational method to project scRNA-seq data into reference single-cell atlases, enabling their direct comparison in a stable, annotated system of coordinates.

In contrast to other methods, ProjecTILs allows not only accurately embedding new scRNA-seq data into a reference without altering its structure, but also characterizing previously unknown cell states that "deviate" from the reference. ProjecTILs accurately predicts the effects of cell perturbations and identifies gene programs that are altered in different conditions and tissues.

You can use ProjecTILs pre-defined cell type-specific reference maps or create your own (see Building a custom reference atlas for ProjecTILs) for any cell type[s] of interest.

For real-life applications, check out our list of ProjecTILs Case Studies

Find the installation instructions for the package below, and a vignette detailing its functions at Tutorial (html) and Tutorial (repository)

Package Installation

To install ProjecTILs directly from its Git repository, run the following code from within R or RStudio:

``` r install.packages("remotes") library(remotes)

remotes::installgithub("carmonalab/STACAS") remotes::installgithub("carmonalab/ProjecTILs") ```

Test the package

Load sample data and test your installation:

``` r library(ProjecTILs) ref <- load.reference.map() data(queryexampleseurat)

query.projected <- Run.ProjecTILs(queryexampleseurat, ref=ref) ```

By default, load.reference.map() downloads and loads a reference for mouse tumor-infiltrating T cells.

Alternatively, you can get a list of available reference maps with list.reference.maps() and download and save collections or single reference maps:

r list.reference.maps() list_of_ref.maps <- get.reference.maps(collection = "human") list_of_ref.maps <- get.reference.maps(reference = "CD4") reference_map <- list_of_ref.maps[["human"]][["CD4"]]

Data projection DEMO

Find a step-by-step tutorial for ProjecTILs at: ProjecTILs tutorial

Running ProjecTILs

You can use ProjecTILs in two modes:

Mode 1: just for label transfer, faster, doesn't alter your dimensionality reduction

r ProjecTILs.classifier(query = query_object, ref = reference_map)

Mode 2: reference embedding, to explore your dataset in the context of a stable reference map

r Run.ProjecTILs(query = query_object, ref = reference_map)

Note: ProjecTILs performs cell state quantifications in the PCA latent space. UMAP embeddings are provided for visual exploration only and should be interpreted with caution as cell-cell distances and densities in UMAP are highly distorted (see e.g. Chari and Pachter (2023))

ProjecTILs CASE STUDIES

For real-life applications on public datasets, check out our list of ProjecTILs Case Studies

Documentation

See a description of the functions implemented in ProjecTILs at: ProjecTILs functions

Reference Maps

Reference atlases are generated by comprehensive scRNA-seq multi-study integration and curation, and describe reference cell subtypes in a specific biological context.

Currently available atlases:

Custom Reference Maps

If you wish to use your own custom reference atlas, we recommend to use STACAS for single-cell data integration. Here is an example: Building a custom reference atlas for ProjecTILs.

Updating of reference map to include new cell states

After projection, one may want to incorporate the projected data into an "updated" reference. To recalculate the embeddings of a reference to account for new, projected data, use:

r new_reference <- recalculate.embeddings( ref = old_reference, projected = projected_object )

See an example in the following workflow section.

SPICA online portal

You can now explore our atlases interactively and project your data through the SPICA web portal. Find some tutorials for interacting with SPICA at https://spica.unil.ch/tutorials

Troubleshooting

  • If load.reference.map() fails with error "Reference object X is invalid" the first time you run it; it is likely that reference atlas download has failed due to Timeout. Try setting options(timeout = 3000) to increase download Timeout.

  • If a warning message prevented remotes from installing the package, try:

sys.setenv(r_remotes_no_errors_from_warnings="true")

  • For analyzing datasets composed of multiple batches (e.g. different subjects, technologies), we recommend projecting each batch separately, by providing ProjecTILs a list of Seurat objects as input, e.g.: r data.seurat.list <- SplitObject(data.seurat, split.by = "batch") query.projected.list <- make.projection(data.seurat.list)

Citation

Interpretation of T cell states from single-cell transcriptomics data using reference atlases Massimo Andreatta, Jesus Corria-Osorio, Soren Muller, Rafael Cubas, George Coukos, Santiago J Carmona. Nature Communications 12 Article number: 2965 (2021) - https://www.nature.com/articles/s41467-021-23324-4

Owner

  • Name: Cancer Systems Immunology Lab
  • Login: carmonalab
  • Kind: organization
  • Location: Lausanne, Switzerland

At Ludwig Cancer Research Lausanne and Department of Oncology, University of Lausanne & Swiss Institute of Bioinformatics

GitHub Events

Total
  • Create event: 1
  • Release event: 1
  • Issues event: 15
  • Watch event: 31
  • Issue comment event: 16
  • Push event: 15
  • Fork event: 2
Last Year
  • Create event: 1
  • Release event: 1
  • Issues event: 15
  • Watch event: 31
  • Issue comment event: 16
  • Push event: 15
  • Fork event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 0
  • Average time to close issues: 6 months
  • Average time to close pull requests: N/A
  • Total issue authors: 8
  • Total pull request authors: 0
  • Average comments per issue: 1.9
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 0
  • Average time to close issues: 2 months
  • Average time to close pull requests: N/A
  • Issue authors: 6
  • Pull request authors: 0
  • Average comments per issue: 1.25
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • itamuria (3)
  • gianfilippo (2)
  • andynkili (2)
  • apal6 (2)
  • danli349 (2)
  • NoemieL (2)
  • simpakkk (1)
  • jeremymsimon (1)
  • florekem (1)
  • ycl6 (1)
  • MWRR (1)
  • jjr1919 (1)
  • rana228 (1)
  • shwong-tw (1)
  • reyeshdezosuna (1)
Pull Request Authors
  • apal6 (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

DESCRIPTION cran
  • BiocParallel * depends
  • Matrix * depends
  • R >= 4.0.0 depends
  • Seurat * depends
  • UCell * depends
  • ggplot2 * depends
  • gridExtra * depends
  • pracma * depends
  • reshape2 * depends
  • scGate * depends
  • scales * depends
  • umap * depends
  • EnhancedVolcano * suggests
  • fastICA * suggests
  • plotly * suggests