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.
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()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:
git clone https://github.com/bernibra/tagtango.gitOnce the project is cloned, you can access the directory and build the docker container using
docker build --rm --force-rm -t tagtango .Note that you will need to have Docker installed in your machine. Once the project is built, you can then run the container via
docker run -p 3838:3838 tagtangoand use the app in any web browser with the web address
http://0.0.0.0:3838
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.
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.
If providing a MultiAssayExperiment object, ensure the following
criteria are met:
- The elements of the
ExperimentListcontainer should beSingleCellExperimentsfollowing the specifications stated below. - The cells in all elements of the
ExperimentListshould be the same (and have matching names). - Different annotations should be stored as columns of the
colDatadata.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 filesNotice 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).
If providing a SingleCellExperiment object, ensure the following
criteria are met:
- The data should be normalized and stored as a
logcountsassay within theSingleCellExperimentobject. For example, in the manuscript, the CITE-seq data was normalized using the R packageADTnorm. - Define unique row and column names within the
SingleCellExperimentobject. - Different annotations should be stored as columns of the
colDatadata.frame within the object.
An example of a SingleCellExperiment that can be used as input by
tagtango can be generated as:
test_data[["ADT"]]If providing a data.frame, the app expects different annotations to be
stored as columns.
An example of a data.frame that can be used as input by tagtango can
be generated as:
MultiAssayExperiment::colData(test_data)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.