Welcome to the tagtango
project!
tagtango
is a powerful web application designed for the comprehensive analysis and comparison of multiple cell annotations performed on a single-cell dataset. Leveraging different data modalities, this tool allows you to untangle the differences and similarities of cell populations, effectively distinguishing real differences across cell annotations from background noise.
The web application is currently accessible online here. Please note that the server hosting the app is operating with limited RAM memory and may experience difficulties handling high traffic. We will soon be upgrading to a more robust hosting solution.
Running the app locally using R
If you prefer running the app locally, you can also install it as an R package from Github
# install.packages("BiocManager")
BiocManager::install("bernibra/tagtango")
and run:
tagtango::run_app()
Running the app locally using Docker
Alternatively to installing tagtango
using R, one can simply run the Docker container, which will handle all dependencies and deploy the app locally to your computer. To do so, you first need to clone the repository to your machine using Git on the terminal:
Once the project is cloned, you can access the directory and build the docker container using
Note that you will need to have Docker installed in your machine. Once the project is built, you can then run the container via
and use the app in any web browser with the web address http://0.0.0.0:3838
Input Data Requirements
As of now, please be aware that the hosting server has limitations, and the dataset size should not exceed 1GB (use the maxRequestSize
parameter when running the application locally to increase this limit at your own risk). We advise against accessing the web application on a phone screen as the visualization may not be optimal. For the best user experience, we recommend using a desktop or tablet device.
Accepted Data Formats
The tagtango
app is flexible in handling various data types. For now, however, it only accepts input in the form of either a MultiAssayExperiment
object stored as an RDS file, a SingleCellExperiment
object stored as an RDS file, or a data.frame
stored as an RDS, CSV, or TSV file. Expect this to change in the near future.
MultiAssayExperiment
Object Expectations
If providing a MultiAssayExperiment
object, ensure the following criteria are met:
- The elements of the
ExperimentList
container should beSingleCellExperiments
following the specifications stated below. - The cells in all elements of the
ExperimentList
should be the same (and have matching names). - Different annotations should be stored as columns of the
colData
data.frame within the object.
As test dataset, a preprocessed and annotated 10x dataset is provided with the package. This is a MultiAssayExperiment
with Peripheral Blood Mononuclear Cells (PBMCs) from a healthy donor stained with a few TotalSeq-B antibodies, and is readily accessible via:
library(tagtango)
data(test_data)
test_data
#> A MultiAssayExperiment object of 2 listed
#> experiments with user-defined names and respective classes.
#> Containing an
#> ExperimentList class object of length 2:
#> [1] RNA: SingleCellExperiment with 33538 rows and 7472 columns
#> [2] ADT: SingleCellExperiment with 17 rows and 7472 columns
#> Functionality:
#> experiments() - obtain the ExperimentList instance
#> colData() - the primary/phenotype DataFrame
#> sampleMap() - the sample coordination DataFrame
#> `$`, `[`, `[[` - extract colData columns, subset, or experiment
#> *Format() - convert into a long or wide DataFrame
#> assays() - convert ExperimentList to a SimpleList of matrices
#> exportClass() - save data to flat files
Notice that the column and row names of each SingleCellExperiment
in the ExperimentList
object are not NULL
, and that the different annotations are stored in MultiAssayExperiment::colData(test_sce)
.
SingleCellExperiment
Object Expectations
If providing a SingleCellExperiment
object, ensure the following criteria are met:
- The data should be normalized and stored as a
logcounts
assay within theSingleCellExperiment
object. For example, in the manuscript, the CITE-seq data was normalized using the R packageADTnorm
. - Define unique row and column names within the
SingleCellExperiment
object. - Different annotations should be stored as columns of the
colData
data.frame within the object.
An example of a SingleCellExperiment
that can be used as input by tagtango
can be generated as:
test_data[["ADT"]]
Code of Conduct
Please note that the tagtango
project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.