This web application demonstrates the idea of a "compressed cell atlas", i.e. a nonredundant distillation of one or more single cell omics data sets, across organs and organisms.
To test the web application locally inside a Python virtualenv:
- make sure you compress the atlases appriopriately or ask Fabio for the compressed files
- open a terminal on linux/OSX and navigate to the
webapp
subfolder - run
./test.sh
To test locally inside a docker container (simulating lightsail virtualization):
- Test locally as above
- Start your docker service (e.g.
systemctl start docker
): you probably need superuser rights. If you started it already, you can skip this step. - Build (or rebuild) the docker container:
docker build -t compressed-atlas .
- Test the image:
docker run -p 5000:5000 compressed-atlas
. In this example it will run the image on port 5000.
Things you can do are shown on the home page once you launch the app, but as a quick (nonexhaustive) summary:
- Natural language processing: write your request and the app will answer
- Show gene expression and chromatin accessibility by cell type
- Show gene expression and chromatin accessibility for a single gene/region across ages in all cell types
- Show gene expression and chromatin accessibility for multiple genes/regions across ages in one cell type
- Show marker genes/chromatin regions for cell types
- Differential expression/accessibility across cell types, time points, organisms, and organs (WIP)
- Show relative cell type abundance
- Pathway analysis (Gene Ontology and KEGG)
- Look up gene information (GeneCards, JAX)
- Look up UCSC genome browser for gene/chromatin region coordinates
- Look up GO categories for each gene
- Find genes/regions with similar expression/accessibility
- Find genes/regions that are closeby on the same chromosome/scaffold
- Suggest similar genes/chromatin peaks
- Download plots in PNG and SVG format, and plot data as CSV
- RESTful API access to the compressed data (documentation WIP)
NOTE: raw (uncompressed) data cannot be accessed directly.
The architecture of the compressed atlas is the following:
- A RESTful APIs to request the compressed data (e.g.
/data/gene_names=Col1a1
). Documentation for this API is WIP. - A set of interative plots (mostly heatmaps or variations on the theme, e.g. dot plots) to visuaise the compressed data.
- A text control system enabling a natural language UX.
At this time, this application is pre-alpha, so the API changes all the time. If you are interested in how it works, write me an email at fabio DOT zanini AT unsw DOT edu DOT au.