diff --git a/docs/_config.yml b/docs/_config.yml
index dd850691..a777d736 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -5,27 +5,29 @@ baseurl: "/cellxgene"
logo: cellxgene-logo.png
nav:
-- title: Installation
- url: posts/install
-- title: Gallery
- url: posts/gallery
-- title: Demo datasets
- url: posts/demo-data
-- title: Preparing your data
- url: posts/prepare
-- title: Launching cellxgene
- url: posts/launch
-- title: Hosting cellxgene
- url: posts/hosted
-- title: Annotating data
- url: posts/annotations
-- title: Methods
- url: posts/methods
-- title: Troubleshooting
- url: posts/troubleshooting
-- title: Roadmap
- url: posts/roadmap
-- title: Contributing (ideas or code)
- url: posts/contribute
-- title: Contact & finding help
- url: posts/contact
+ - title: Installation
+ url: posts/install
+ - title: Gallery
+ url: posts/gallery
+ - title: Demo datasets
+ url: posts/demo-data
+ - title: Preparing your data
+ url: posts/prepare
+ - title: Launching cellxgene
+ url: posts/launch
+ - title: Hosting cellxgene
+ url: posts/hosted
+ - title: Annotating data
+ url: posts/annotations
+ - title: Methods
+ url: posts/methods
+ - title: Troubleshooting
+ url: posts/troubleshooting
+ - title: Roadmap
+ url: posts/roadmap
+ - title: Contributing (ideas or code)
+ url: posts/contribute
+ - title: Contact & finding help
+ url: posts/contact
+ - title: cellxgene.cziscience.com
+ url: posts/cellxgene_cziscience_com
diff --git a/docs/_site/assets/css/style.css b/docs/_site/assets/css/style.css
index 844cc1d9..1e48b5aa 100644
--- a/docs/_site/assets/css/style.css
+++ b/docs/_site/assets/css/style.css
@@ -216,12 +216,14 @@ body { color: #3b3a3a; }
section { width: 500px; float: right; padding-bottom: 50px; padding-top: 15px; }
-a { color: #9E2364; text-decoration: none; }
+a { color: #9e2364; text-decoration: none; }
-a:hover, a:focus { color: #9E2364; font-weight: bold; }
+a:hover, a:focus { color: #9e2364; font-weight: bold; }
-a small { font-size: 11px; color: #9E2364; margin-top: -0.3em; display: block; }
+a small { font-size: 11px; color: #9e2364; margin-top: -0.3em; display: block; }
-a:hover small { color: #9E2364; }
+a:hover small { color: #9e2364; }
body { font: 14px/1.5 "Roboto", "Arial", Helvetica, Arial, sans-serif; color: #000000; font-weight: 400; }
+
+table.fixed-layout { table-layout: fixed; }
diff --git a/docs/_site/images/cellxgene-opening-screenshot.png b/docs/_site/images/cellxgene-opening-screenshot.png
index 7f16879b..cd07f11c 100644
Binary files a/docs/_site/images/cellxgene-opening-screenshot.png and b/docs/_site/images/cellxgene-opening-screenshot.png differ
diff --git a/docs/_site/index.html b/docs/_site/index.html
index eebc7899..13f987af 100644
--- a/docs/_site/index.html
+++ b/docs/_site/index.html
@@ -16,10 +16,10 @@
+{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebSite","headline":"Index","url":"http://localhost:4000/cellxgene/","name":"cellxgene","@context":"http://schema.org"}
-
+
@@ -85,6 +85,10 @@
Contact & finding help
+
+ cellxgene.cziscience.com
+
+
Code
Whether you need to visualize one thousand cells or one million, cellxgene helps you gain insight into your single-cell data.
-To install cellxgene you need Python 3.6+. We recommend installing cellxgene into a conda or virtual environment.
+To install cellxgene you need Python 3.6+. We recommend installing cellxgene into a conda or virtual environment.
Install the package.
-pip install cellxgene
+pip install cellxgene
-Download an example anndata file
+Launch cellxgene with an example anndata file
-curl -o tabula-muris.h5ad https://cellxgene-example-data.czi.technology/tabula-muris.h5ad.zip
-unzip tabula-muris.h5ad.zip
-
-
-Launch cellxgene
-cellxgene launch tabula-muris.h5ad --open
+cellxgene launch https://cellxgene-example-data.czi.technology/pbmc3k.h5ad
To explore more datasets already formatted for cellxgene, check out the Demo data or
@@ -119,7 +118,7 @@ data for cellxgene.
We’d love to hear from you!
-For questions, suggestions, or accolades, join the #cellxgene-users channel on the CZI Science Slack and say “hi!”.
+For questions, suggestions, or accolades, join the #cellxgene-users channel on the CZI Science Slack and say “hi!”.
For any errors, report bugs on Github.
diff --git a/docs/_site/posts/annotations.html b/docs/_site/posts/annotations.html
index dbc72113..d8e855f9 100644
--- a/docs/_site/posts/annotations.html
+++ b/docs/_site/posts/annotations.html
@@ -16,10 +16,10 @@
+{"description":"Creating annotations","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"annotations","url":"http://localhost:4000/cellxgene/posts/annotations.html","@context":"http://schema.org"}
-
+
@@ -85,6 +85,10 @@
Contact & finding help
+
+ cellxgene.cziscience.com
+
+
Code
@@ -93,60 +97,64 @@
Creating annotations in cellxgene
-We are piloting a new feature in cellxgene that enables users to create and edit categorical annotations within the app. We’d love for you to try it out and give us feedback!
+We have recently introduced a new feature in cellxgene that enables users to create and edit categorical annotations within the app. We’d love for you to try it out and give us feedback!
-Quick start for annotations (RECOMMENDED for most users)
+Data lifecycle for annotations
-You can enable this experimental feature like so:
+1. Creating annotations (quickstart)
-cellxgene launch mydata.h5ad --experimental-annotations
+To get started, run:
+
+cellxgene launch mydata.h5ad
+
+
+To preserve data provenance, cellxgene does not alter the input h5ad file. Rather, newly-created annotations are saved in a specified CSV file:
+
+annotations-directory/name-########.csv
+
-To preserve data provenance, cellxgene does not alter the input h5ad file. Rather, newly-created annotations are saved in a specified CSV file:
+ - The default
annotations-directory is your current working directory (i.e., the directory you were in when you started cellxgene).
- You will be prompted to enter a name for your annotations the first time you create a new category.
- - We also assign a unique identifier in the form of an 8-character suffix,
########; this helps cellxgene identify your file to avoid overwriting your work.
- - Any annotations you create in the application will be autosaved in
cwd/name-########.csv, where cwd is your current working directory (i.e., the directory you were in when you started cellxgene).
+ - We also assign a unique identifier in the form of an 8-character suffix,
########; this helps cellxgene identify your file to avoid overwriting your work.
-If you quit cellxgene and relaunch it with the same h5ad, we will check for this annotations csv and load it in editable mode alongside.
+2. Loading, editing and updating existing draft annotations
-Data management
+Cellxgene allows you to load and edit compatible draft annotations across multiple sessions.
-Loading, editing and updating existing draft annotations
+Compatible annotations are tabular, with category names as column headers; anndata.obs.index as the index; and categorical values (i.e., fewer unique values per column than specified in --max-category-items, default 1000).
+
+There are two options for updating draft annotations.
+
+Autodetect annotations csv
+
+Cellxgene will automatically find and reload your draft annotations in editable mode.
+
+This assumes that:
+1 - The h5ad filename is the same
+2 - You launch cellxgene from the annotations-directory (i.e., the directory that contains your CSV)
+3 - You use the same browser and have not cleared your cookies (we use a small cookie to keep track of which user created the file to avoid accidental overwrites; see FAQ)
+
+Specify an annotations csv
+
+This mode is only appropriate for single-user, local cellxgene instances
If you’d like to specify the complete file path for your annotations, you can do so by running:
-cellxgene launch mydata.h5ad --experimental-annotations-file path/to/myfile.csv
+
+cellxgene launch mydata.h5ad --annotations-file path/to/myfile.csv
-If this file already exists and contains compatible annotations, these annotations will be loaded as editable categories that you can update directly. Compatible annotations are tabular, with category names as column headers; anndata.obs.index as the index; and categorical values (i.e., fewer unique values per column than specified in --max-category-items, default 1000).
+Any changes you make will be reflected in the original CSV. If the file does not exist, it will be created.
+Please note that this file will be overwritten, making this mode inappropriate for hosted / multi-user settings (see below).
-Any changes you make will be reflected in the original CSV (which will be overwritten). This is helpful if you wish to annotate over multiple sessions.
+3. Merging draft annotations with the main h5ad file
-If the file does not exist, it will be created.
-
-Annotations by multiple users
-
-An alternative to specifying the file path is to specify the output directory, and allow cellxgene to assign filenames. This is most useful for situations where the same cellxgene instance is being used by multiple users to create annotations.
-
-As described in the hosted section, we do not officially support hosted or multi-user use of cellxgene. However, we recognize that the app is often adapted for this purpose, and have tried to provide a “safe path” for multi-user setups that avoids overwriting data.
-
-To specify an output directory, run:
-cellxgene launch mydata.h5ad --experimental-annotations-output-dir path/to/annotations-directory/
-
-
-For each user, annotations will be saved as follows:
-
- - Each user will be prompted to enter a name for their annotations the first time they create a new category.
- - We also assign a unique identifier in the form of an 8-character suffix,
########; this helps cellxgene identify their specific file to avoid overwriting others’ work.
- - Any annotations created in the application will be autosaved in
annotations-directory/name-########.csv
-
-
-Merging draft annotations with the main h5ad file
-
-Once you’re finished with your annotations, you should finalize and preserve your work by merging your csv into your main h5ad file.
+Once you’re finished with your annotations, you should finalize and preserve your work by merging your csv into your main h5ad file.
You can do so like this:
-import pandas as pd
+
+import pandas as pd
import scanpy as sc
new_annotations = pd.read_csv('myannotations.csv',
@@ -157,25 +165,50 @@ anndata = sc.read('mydata.h5ad')
anndata.obs = anndata.obs.join(new_annotations)
+Annotations by multiple users
+
+As described in the hosted section, we do not officially support hosted or multi-user use of cellxgene. However, we recognize that the app is often adapted for this purpose, and have tried to provide a “safe path” for multi-user setups that avoids overwriting data.
+
+Specifying a single file name for multiple contributors will result in data overwriting. To avoid this, you can instead specify an output directory and allow cellxgene to assign filenames.
+
+To specify an output directory, run:
+
+cellxgene launch mydata.h5ad --annotations-dir path/to/annotations-directory/
+
+
+For each user, annotations will be saved as follows:
+
+
+ - Each user will be prompted to enter a name for their annotations the first time they create a new category.
+ - We also assign a unique identifier in the form of an 8-character suffix,
########; this helps cellxgene identify their specific file to avoid overwriting others’ work.
+ - Any annotations created in the application will be autosaved in
annotations-directory/name-########.csv
+
+
FAQ
How do I know my annotations are saved?
-cellxgene autosaves any changes made to your annotations every 3 seconds.
+
+cellxgene autosaves any changes made to your annotations every 3 seconds.
I think I deleted my annotations! Oh noes!
-Not to worry! We save the last 10 versions of your annotations in annotations-directory/NAME-backups/
+
+Not to worry! We save the last 10 versions of your annotations in annotations-directory/NAME-backups/
What about creating continuous annotations?
-Continuous metadata is important! However, these values (e.g., pseudotime) are the result of statistical analyses that are beyond cellxgene’s visualization- and exploration-focused scope. We do, of course, provide visualization of continuous metadata values computed elsewhere and stored in anndata.obs.
-I keep getting weird index errors when trying to join my annotations to my anndata??
+Continuous metadata is important! However, these values (e.g., pseudotime) are the result of statistical analyses that are beyond cellxgene’s visualization- and exploration-focused scope. We do, of course, provide visualization of continuous metadata values computed elsewhere and stored in anndata.obs.
+
+I keep getting weird index errors when trying to join my annotations to my anndata?
+
This is most likely because the h5ad file you are working with is not the original file used to generate the annotations! We recommend merging new annotations in on a regular basis for this reason.
How do you remember my unique ID to match my cellxgene session with my annotations file?
+
We place a small cookie (file) in your browser that identifies where your draft annotations are saved. This file never leaves your machine, and is never sent to the cellxgene team or anyone else.
I have feedback and ideas for you!
-Wonderful! This is a very new and complex feature; we would love to hear your feedback :)
+
+Wonderful! This is a relatively new feature; we would love to hear your feedback :)