mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-15 12:47:56 +08:00
cziscience landing page (#1347)
* fix dead link in launch page * first cut at landing page * wording changes * add additional refinements * fixes from PR review
This commit is contained in:
@@ -5,27 +5,29 @@ baseurl: "/cellxgene"
|
|||||||
logo: cellxgene-logo.png
|
logo: cellxgene-logo.png
|
||||||
|
|
||||||
nav:
|
nav:
|
||||||
- title: Installation
|
- title: Installation
|
||||||
url: posts/install
|
url: posts/install
|
||||||
- title: Gallery
|
- title: Gallery
|
||||||
url: posts/gallery
|
url: posts/gallery
|
||||||
- title: Demo datasets
|
- title: Demo datasets
|
||||||
url: posts/demo-data
|
url: posts/demo-data
|
||||||
- title: Preparing your data
|
- title: Preparing your data
|
||||||
url: posts/prepare
|
url: posts/prepare
|
||||||
- title: Launching cellxgene
|
- title: Launching cellxgene
|
||||||
url: posts/launch
|
url: posts/launch
|
||||||
- title: Hosting cellxgene
|
- title: Hosting cellxgene
|
||||||
url: posts/hosted
|
url: posts/hosted
|
||||||
- title: Annotating data
|
- title: Annotating data
|
||||||
url: posts/annotations
|
url: posts/annotations
|
||||||
- title: Methods
|
- title: Methods
|
||||||
url: posts/methods
|
url: posts/methods
|
||||||
- title: Troubleshooting
|
- title: Troubleshooting
|
||||||
url: posts/troubleshooting
|
url: posts/troubleshooting
|
||||||
- title: Roadmap
|
- title: Roadmap
|
||||||
url: posts/roadmap
|
url: posts/roadmap
|
||||||
- title: Contributing (ideas or code)
|
- title: Contributing (ideas or code)
|
||||||
url: posts/contribute
|
url: posts/contribute
|
||||||
- title: Contact & finding help
|
- title: Contact & finding help
|
||||||
url: posts/contact
|
url: posts/contact
|
||||||
|
- title: cellxgene.cziscience.com
|
||||||
|
url: posts/cellxgene_cziscience_com
|
||||||
|
|||||||
@@ -216,12 +216,14 @@ body { color: #3b3a3a; }
|
|||||||
|
|
||||||
section { width: 500px; float: right; padding-bottom: 50px; padding-top: 15px; }
|
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; }
|
body { font: 14px/1.5 "Roboto", "Arial", Helvetica, Arial, sans-serif; color: #000000; font-weight: 400; }
|
||||||
|
|
||||||
|
table.fixed-layout { table-layout: fixed; }
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 644 KiB After Width: | Height: | Size: 80 KiB |
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"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","url":"http://localhost:4000/cellxgene/","name":"cellxgene","headline":"Index","@context":"http://schema.org"}</script>
|
{"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"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -95,20 +99,15 @@
|
|||||||
|
|
||||||
<p>Whether you need to visualize one thousand cells or one million, cellxgene helps you gain insight into your single-cell data.</p>
|
<p>Whether you need to visualize one thousand cells or one million, cellxgene helps you gain insight into your single-cell data.</p>
|
||||||
|
|
||||||
<p>To install cellxgene you need Python 3.6+. We recommend <a href="/faq.html#how-do-i-create-a-python-environment-for-cellxgene">installing cellxgene into a conda or virtual environment.</a></p>
|
<p>To install cellxgene you need Python 3.6+. We recommend <a href="install">installing cellxgene into a conda or virtual environment.</a></p>
|
||||||
|
|
||||||
<p>Install the package.</p>
|
<p>Install the package.</p>
|
||||||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install cellxgene
|
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip <span class="nb">install </span>cellxgene
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>Download an example <a href="https://anndata.readthedocs.io/en/latest/">anndata</a> file</p>
|
<p>Launch cellxgene with an example <a href="https://anndata.readthedocs.io/en/latest/">anndata</a> file</p>
|
||||||
|
|
||||||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl <span class="nt">-o</span> tabula-muris.h5ad https://cellxgene-example-data.czi.technology/tabula-muris.h5ad.zip
|
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://cellxgene-example-data.czi.technology/pbmc3k.h5ad
|
||||||
unzip tabula-muris.h5ad.zip
|
|
||||||
</code></pre></div></div>
|
|
||||||
|
|
||||||
<p>Launch cellxgene</p>
|
|
||||||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch tabula-muris.h5ad <span class="nt">--open</span>
|
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>To explore more datasets already formatted for cellxgene, check out the <a href="demo-data">Demo data</a> or
|
<p>To explore more datasets already formatted for cellxgene, check out the <a href="demo-data">Demo data</a> or
|
||||||
@@ -119,7 +118,7 @@ data for cellxgene.</p>
|
|||||||
|
|
||||||
<p>We’d love to hear from you!</p>
|
<p>We’d love to hear from you!</p>
|
||||||
|
|
||||||
<p>For questions, suggestions, or accolades, <a href="https://join-cellxgene-users.herokuapp.com/">join the <code class="highlighter-rouge">#cellxgene-users</code> channel on the CZI Science Slack</a> and say “hi!”.</p>
|
<p>For questions, suggestions, or accolades, <a href="https://join-cellxgene-users.herokuapp.com/">join the <code class="language-plaintext highlighter-rouge">#cellxgene-users</code> channel on the CZI Science Slack</a> and say “hi!”.</p>
|
||||||
|
|
||||||
<p>For any errors, <a href="https://github.com/chanzuckerberg/cellxgene/issues">report bugs on Github</a>.</p>
|
<p>For any errors, <a href="https://github.com/chanzuckerberg/cellxgene/issues">report bugs on Github</a>.</p>
|
||||||
|
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/annotations.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/annotations.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"Creating annotations","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/annotations.html","headline":"annotations","@context":"http://schema.org"}</script>
|
{"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"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -93,60 +97,64 @@
|
|||||||
<section>
|
<section>
|
||||||
<h1 id="creating-annotations-in-cellxgene">Creating annotations in cellxgene</h1>
|
<h1 id="creating-annotations-in-cellxgene">Creating annotations in cellxgene</h1>
|
||||||
|
|
||||||
<p>We are <em>piloting</em> 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 <a href="contact">give us feedback</a>!</p>
|
<p>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 <a href="contact">give us feedback</a>!</p>
|
||||||
|
|
||||||
<h2 id="quick-start-for-annotations-recommended-for-most-users">Quick start for annotations (RECOMMENDED for most users)</h2>
|
<h1 id="data-lifecycle-for-annotations">Data lifecycle for annotations</h1>
|
||||||
|
|
||||||
<p>You can enable this experimental feature like so:</p>
|
<h2 id="1-creating-annotations-quickstart">1. Creating annotations (quickstart)</h2>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">cellxgene launch mydata.h5ad --experimental-annotations</code></p>
|
<p>To get started, run:</p>
|
||||||
|
|
||||||
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch mydata.h5ad
|
||||||
|
</code></pre></div></div>
|
||||||
|
|
||||||
|
<p>To preserve data provenance, <strong><code class="language-plaintext highlighter-rouge">cellxgene</code> does not alter the input h5ad file</strong>. Rather, newly-created annotations are saved in a specified CSV file:</p>
|
||||||
|
|
||||||
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>annotations-directory/name-########.csv
|
||||||
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>To preserve data provenance, <strong><code class="highlighter-rouge">cellxgene</code> does not alter the input h5ad file</strong>. Rather, newly-created annotations are saved in a specified CSV file:</p>
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>The default <code class="language-plaintext highlighter-rouge">annotations-directory</code> is your current working directory (i.e., the directory you were in when you started cellxgene).</li>
|
||||||
<li>You will be prompted to enter a name for your annotations the first time you create a new category.</li>
|
<li>You will be prompted to enter a name for your annotations the first time you create a new category.</li>
|
||||||
<li>We also assign a unique identifier in the form of an 8-character suffix, <code class="highlighter-rouge">########</code>; this helps cellxgene identify your file to avoid overwriting your work.</li>
|
<li>We also assign a unique identifier in the form of an 8-character suffix, <code class="language-plaintext highlighter-rouge">########</code>; this helps cellxgene identify your file to avoid overwriting your work.</li>
|
||||||
<li>Any annotations you create in the application will be autosaved in <code class="highlighter-rouge">cwd/name-########.csv</code>, where <code class="highlighter-rouge">cwd</code> is your current working directory (i.e., the directory you were in when you started cellxgene).</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>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.</p>
|
<h2 id="2-loading-editing-and-updating-existing-draft-annotations">2. Loading, editing and updating existing draft annotations</h2>
|
||||||
|
|
||||||
<h2 id="data-management">Data management</h2>
|
<p>Cellxgene allows you to load and edit compatible draft annotations across multiple sessions.</p>
|
||||||
|
|
||||||
<h3 id="loading-editing-and-updating-existing-draft-annotations">Loading, editing and updating existing draft annotations</h3>
|
<p>Compatible annotations are tabular, with category names as column headers; <code class="language-plaintext highlighter-rouge">anndata.obs.index</code> as the index; and categorical values (i.e., fewer unique values per column than specified in <code class="language-plaintext highlighter-rouge">--max-category-items</code>, default 1000).</p>
|
||||||
|
|
||||||
|
<p>There are two options for updating draft annotations.</p>
|
||||||
|
|
||||||
|
<h3 id="autodetect-annotations-csv">Autodetect annotations csv</h3>
|
||||||
|
|
||||||
|
<p>Cellxgene will automatically find and reload your draft annotations in editable mode.</p>
|
||||||
|
|
||||||
|
<p>This assumes that:
|
||||||
|
1 - The h5ad filename is the same<br />
|
||||||
|
2 - You launch cellxgene from the <code class="language-plaintext highlighter-rouge">annotations-directory</code> (i.e., the directory that contains your CSV)<br />
|
||||||
|
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)</p>
|
||||||
|
|
||||||
|
<h3 id="specify-an-annotations-csv">Specify an annotations csv</h3>
|
||||||
|
|
||||||
|
<p><strong>This mode is only appropriate for single-user, local cellxgene instances</strong></p>
|
||||||
|
|
||||||
<p>If you’d like to specify the complete file path for your annotations, you can do so by running:</p>
|
<p>If you’d like to specify the complete file path for your annotations, you can do so by running:</p>
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch mydata.h5ad --experimental-annotations-file path/to/myfile.csv
|
|
||||||
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch mydata.h5ad --annotations-file path/to/myfile.csv
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>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; <code class="highlighter-rouge">anndata.obs.index</code> as the index; and categorical values (i.e., fewer unique values per column than specified in <code class="highlighter-rouge">--max-category-items</code>, default 1000).</p>
|
<p>Any changes you make will be reflected in the original CSV. If the file does not exist, it will be created.<br />
|
||||||
|
<strong>Please note that this file will be overwritten, making this mode inappropriate for hosted / multi-user settings (see below).</strong></p>
|
||||||
|
|
||||||
<p>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.</p>
|
<h3 id="3-merging-draft-annotations-with-the-main-h5ad-file">3. Merging draft annotations with the main h5ad file</h3>
|
||||||
|
|
||||||
<p>If the file does not exist, it will be created.</p>
|
<p>Once you’re finished with your annotations, you should finalize and preserve your work by merging your <code class="language-plaintext highlighter-rouge">csv</code> into your main <code class="language-plaintext highlighter-rouge">h5ad</code> file.</p>
|
||||||
|
|
||||||
<h3 id="annotations-by-multiple-users">Annotations by multiple users</h3>
|
|
||||||
|
|
||||||
<p>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.</p>
|
|
||||||
|
|
||||||
<p>As described in the <a href="hosted">hosted</a> 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.</p>
|
|
||||||
|
|
||||||
<p>To specify an output directory, run:</p>
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch mydata.h5ad --experimental-annotations-output-dir path/to/annotations-directory/
|
|
||||||
</code></pre></div></div>
|
|
||||||
|
|
||||||
<p>For each user, annotations will be saved as follows:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Each user will be prompted to enter a name for their annotations the first time they create a new category.</li>
|
|
||||||
<li>We also assign a unique identifier in the form of an 8-character suffix, <code class="highlighter-rouge">########</code>; this helps cellxgene identify their specific file to avoid overwriting others’ work.</li>
|
|
||||||
<li>Any annotations created in the application will be autosaved in <code class="highlighter-rouge">annotations-directory/name-########.csv</code></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h3 id="merging-draft-annotations-with-the-main-h5ad-file">Merging draft annotations with the main h5ad file</h3>
|
|
||||||
|
|
||||||
<p>Once you’re finished with your annotations, you should finalize and preserve your work by merging your <code class="highlighter-rouge">csv</code> into your main <code class="highlighter-rouge">h5ad</code> file.</p>
|
|
||||||
|
|
||||||
<p>You can do so like this:</p>
|
<p>You can do so like this:</p>
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>import pandas as pd
|
|
||||||
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>import pandas as pd
|
||||||
import scanpy as sc
|
import scanpy as sc
|
||||||
|
|
||||||
new_annotations = pd.read_csv('myannotations.csv',
|
new_annotations = pd.read_csv('myannotations.csv',
|
||||||
@@ -157,25 +165,50 @@ anndata = sc.read('mydata.h5ad')
|
|||||||
anndata.obs = anndata.obs.join(new_annotations)
|
anndata.obs = anndata.obs.join(new_annotations)
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
|
<h1 id="annotations-by-multiple-users">Annotations by multiple users</h1>
|
||||||
|
|
||||||
|
<p>As described in the <a href="hosted">hosted</a> 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.</p>
|
||||||
|
|
||||||
|
<p>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.</p>
|
||||||
|
|
||||||
|
<p>To specify an output directory, run:</p>
|
||||||
|
|
||||||
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch mydata.h5ad --annotations-dir path/to/annotations-directory/
|
||||||
|
</code></pre></div></div>
|
||||||
|
|
||||||
|
<p>For each user, annotations will be saved as follows:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Each user will be prompted to enter a name for their annotations the first time they create a new category.</li>
|
||||||
|
<li>We also assign a unique identifier in the form of an 8-character suffix, <code class="language-plaintext highlighter-rouge">########</code>; this helps cellxgene identify their specific file to avoid overwriting others’ work.</li>
|
||||||
|
<li>Any annotations created in the application will be autosaved in <code class="language-plaintext highlighter-rouge">annotations-directory/name-########.csv</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<h2 id="faq">FAQ</h2>
|
<h2 id="faq">FAQ</h2>
|
||||||
|
|
||||||
<h3 id="how-do-i-know-my-annotations-are-saved">How do I know my annotations are saved?</h3>
|
<h3 id="how-do-i-know-my-annotations-are-saved">How do I know my annotations are saved?</h3>
|
||||||
<p><code class="highlighter-rouge">cellxgene</code> autosaves any changes made to your annotations every 3 seconds.</p>
|
|
||||||
|
<p><code class="language-plaintext highlighter-rouge">cellxgene</code> autosaves any changes made to your annotations every 3 seconds.</p>
|
||||||
|
|
||||||
<h3 id="i-think-i-deleted-my-annotations-oh-noes">I think I deleted my annotations! Oh noes!</h3>
|
<h3 id="i-think-i-deleted-my-annotations-oh-noes">I think I deleted my annotations! Oh noes!</h3>
|
||||||
<p>Not to worry! We save the last 10 versions of your annotations in <code class="highlighter-rouge">annotations-directory/NAME-backups/</code></p>
|
|
||||||
|
<p>Not to worry! We save the last 10 versions of your annotations in <code class="language-plaintext highlighter-rouge">annotations-directory/NAME-backups/</code></p>
|
||||||
|
|
||||||
<h3 id="what-about-creating-continuous-annotations">What about creating continuous annotations?</h3>
|
<h3 id="what-about-creating-continuous-annotations">What about creating continuous annotations?</h3>
|
||||||
<p>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 <code class="highlighter-rouge">anndata.obs</code>.</p>
|
|
||||||
|
|
||||||
<h3 id="i-keep-getting-weird-index-errors-when-trying-to-join-my-annotations-to-my-anndata">I keep getting weird index errors when trying to join my annotations to my anndata??</h3>
|
<p>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 <code class="language-plaintext highlighter-rouge">anndata.obs</code>.</p>
|
||||||
|
|
||||||
|
<h3 id="i-keep-getting-weird-index-errors-when-trying-to-join-my-annotations-to-my-anndata">I keep getting weird index errors when trying to join my annotations to my anndata?</h3>
|
||||||
|
|
||||||
<p>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.</p>
|
<p>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.</p>
|
||||||
|
|
||||||
<h3 id="how-do-you-remember-my-unique-id-to-match-my-cellxgene-session-with-my-annotations-file">How do you remember my unique ID to match my cellxgene session with my annotations file?</h3>
|
<h3 id="how-do-you-remember-my-unique-id-to-match-my-cellxgene-session-with-my-annotations-file">How do you remember my unique ID to match my cellxgene session with my annotations file?</h3>
|
||||||
|
|
||||||
<p>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.</p>
|
<p>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.</p>
|
||||||
|
|
||||||
<h3 id="i-have-feedback-and-ideas-for-you">I have feedback and ideas for you!</h3>
|
<h3 id="i-have-feedback-and-ideas-for-you">I have feedback and ideas for you!</h3>
|
||||||
<p>Wonderful! This is a very new and complex feature; we would <em>love</em> to <a href="contact">hear your feedback</a> :)</p>
|
|
||||||
|
<p>Wonderful! This is a relatively new feature; we would <em>love</em> to <a href="contact">hear your feedback</a> :)</p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<footer>
|
<footer>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/contact.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/contact.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"Contact","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/contact.html","headline":"Contact","@context":"http://schema.org"}</script>
|
{"description":"Contact","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"Contact","url":"http://localhost:4000/cellxgene/posts/contact.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn"><b>Contact & finding help</b></a><br>
|
<a href="/cellxgene/posts/contact" class="btn"><b>Contact & finding help</b></a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -95,7 +99,7 @@
|
|||||||
|
|
||||||
<p>We’d love to hear from you!</p>
|
<p>We’d love to hear from you!</p>
|
||||||
|
|
||||||
<p>For questions, suggestions, or accolades, <a href="https://join-cellxgene-users.herokuapp.com/">join the <code class="highlighter-rouge">#cellxgene-users</code> channel on the CZI Science Slack</a> and say “hi!”.</p>
|
<p>For questions, suggestions, or accolades, <a href="https://join-cellxgene-users.herokuapp.com/">join the <code class="language-plaintext highlighter-rouge">#cellxgene-users</code> channel on the CZI Science Slack</a> and say “hi!”.</p>
|
||||||
|
|
||||||
<p>For any errors, <a href="https://github.com/chanzuckerberg/cellxgene/issues">report bugs on Github</a>.</p>
|
<p>For any errors, <a href="https://github.com/chanzuckerberg/cellxgene/issues">report bugs on Github</a>.</p>
|
||||||
|
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/contribute.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/contribute.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/contribute.html","headline":"Code of conduct","@context":"http://schema.org"}</script>
|
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"Code of conduct","url":"http://localhost:4000/cellxgene/posts/contribute.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -92,6 +96,7 @@
|
|||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h1 id="code-of-conduct">Code of conduct</h1>
|
<h1 id="code-of-conduct">Code of conduct</h1>
|
||||||
|
|
||||||
<p>We warmly welcome contributions from the community!</p>
|
<p>We warmly welcome contributions from the community!</p>
|
||||||
|
|
||||||
<p>To ensure a welcoming experience for our entire community, this project adheres to the Contributor Covenant
|
<p>To ensure a welcoming experience for our entire community, this project adheres to the Contributor Covenant
|
||||||
@@ -106,12 +111,21 @@ to opensource@chanzuckerberg.com.</p>
|
|||||||
<p>We’d love to hear from you! Please submit any bug reports and feature requests through <a href="https://github.com/chanzuckerberg/cellxgene/issues">Github issues</a>.</p>
|
<p>We’d love to hear from you! Please submit any bug reports and feature requests through <a href="https://github.com/chanzuckerberg/cellxgene/issues">Github issues</a>.</p>
|
||||||
|
|
||||||
<h1 id="direct-contributions">Direct contributions</h1>
|
<h1 id="direct-contributions">Direct contributions</h1>
|
||||||
|
|
||||||
<h2 id="getting-started">Getting started</h2>
|
<h2 id="getting-started">Getting started</h2>
|
||||||
|
|
||||||
<p>If you are interested in working on <code class="highlighter-rouge">cellxgene</code> development, you’ll need to use git to make a copy of the <a href="https://www.youtube.com/watch?v=A-4WltCTVms&list=PLe6EXFvnTV7-_41SpakZoTIYCgX4aMTdU&index=2&t=0s">project repository</a> and share your changes.
|
<p>If you are interested in working on <code class="language-plaintext highlighter-rouge">cellxgene</code> development, you’ll need to use git to make a copy of the <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks">project repository</a> and share your changes.</p>
|
||||||
If you’re new to git, we recommend <a href="https://www.gitkraken.com/">GitKraken</a> for an intuitive interface.</p>
|
|
||||||
|
|
||||||
<p>Please submit any direct contributions by <a href="https://www.youtube.com/watch?v=Lb4yvfrX_7I&list=PLe6EXFvnTV7-_41SpakZoTIYCgX4aMTdU&index=3&t=9s">forking the repository</a>, creating a branch, and <a href="https://www.youtube.com/watch?v=2VX1ISk9XH8&list=PLe6EXFvnTV7-_41SpakZoTIYCgX4aMTdU&index=9&t=0s">submitting a Pull Request</a>.</p>
|
<p>We have several “rules” (strong suggestions really) for contributions:</p>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>
|
||||||
|
<p>If your contribution is complex, adds new features, new UI design or otherwise warrants discussion, we highly recommend that you submit a github issue, and engage other contributors in a discussion about the details of your proposed PR. This will save you time in the long run, as many details and decisions can be hashed out ahead-of-time.</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<p>Please submit any direct contributions by <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks">forking the repository</a>, creating a feature branch, and <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request">submitting a Pull Request</a>.</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
<p>First, you’ll need the following installed on your machine</p>
|
<p>First, you’ll need the following installed on your machine</p>
|
||||||
|
|
||||||
@@ -122,31 +136,31 @@ If you’re new to git, we recommend <a href="https://www.gitkraken.com/">GitKra
|
|||||||
|
|
||||||
<p>Then clone the project</p>
|
<p>Then clone the project</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/chanzuckerberg/cellxgene.git
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/chanzuckerberg/cellxgene.git
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>This is enough to get you started with editing documentation. If you’d like to contribute code:</p>
|
<p>This is enough to get you started with editing documentation. If you’d like to contribute code:</p>
|
||||||
|
|
||||||
<p>Build the client web assets by calling <code class="highlighter-rouge">make</code> from inside the <code class="highlighter-rouge">cellxgene</code> folder</p>
|
<p>Build the client web assets from inside the <code class="language-plaintext highlighter-rouge">cellxgene</code> folder</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>make
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>make build-for-server-dev
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>Install all requirements (we recommend doing this inside a <a href="install">virtual environment</a>)</p>
|
<p>Install all requirements (we recommend doing this inside a <a href="https://docs.python.org/3/tutorial/venv.html">virtual environment</a>)</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install -e .
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install -e .
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>You can start the app while developing either by calling <code class="highlighter-rouge">cellxgene</code> or by calling <code class="highlighter-rouge">python -m server</code>. We recommend using the <code class="highlighter-rouge">--debug</code> flag to see more output, which you can include when reporting bugs.</p>
|
<p>You can start the app while developing either by calling <code class="language-plaintext highlighter-rouge">cellxgene</code> or by calling <code class="language-plaintext highlighter-rouge">python -m server</code>. We recommend using the <code class="language-plaintext highlighter-rouge">--debug</code> flag to see more output, which you can include when reporting bugs.</p>
|
||||||
|
|
||||||
<p>If you have any questions about developing or contributing, come hang out with us by joining the <a href="https://join-cellxgene-users.herokuapp.com/">CZI Science Slack</a> and posting in the <code class="highlighter-rouge">#cellxgene-dev</code> channel.</p>
|
<p>If you have any questions about developing or contributing, come hang out with us by joining the <a href="https://join-cellxgene-users.herokuapp.com/">CZI Science Slack</a> and posting in the <code class="language-plaintext highlighter-rouge">#cellxgene-dev</code> channel.</p>
|
||||||
|
|
||||||
<h2 id="contributing-code">Contributing code</h2>
|
<h2 id="contributing-code">Contributing code</h2>
|
||||||
|
|
||||||
<p>This project has made a few key design choices:</p>
|
<p>This project has made a few key design choices:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>The front-end is built with <a href="https://github.com/regl-project/regl"><code class="highlighter-rouge">regl</code></a> (a webgl library), <a href="https://reactjs.org/"><code class="highlighter-rouge">react</code></a>, <a href="https://redux.js.org/"><code class="highlighter-rouge">redux</code></a>, <a href="https://github.com/d3/d3"><code class="highlighter-rouge">d3</code></a>, and <a href="https://blueprintjs.com/docs/#core"><code class="highlighter-rouge">blueprint</code></a> to handle rendering large numbers of cells with lots of complex interactivity</li>
|
<li>The front-end is built with <a href="https://github.com/regl-project/regl"><code class="language-plaintext highlighter-rouge">regl</code></a> (a webgl library), <a href="https://reactjs.org/"><code class="language-plaintext highlighter-rouge">react</code></a>, <a href="https://redux.js.org/"><code class="language-plaintext highlighter-rouge">redux</code></a>, <a href="https://github.com/d3/d3"><code class="language-plaintext highlighter-rouge">d3</code></a>, and <a href="https://blueprintjs.com/docs/#core"><code class="language-plaintext highlighter-rouge">blueprint</code></a> to handle rendering large numbers of cells with lots of complex interactivity</li>
|
||||||
<li>The app is designed with a client-server model that can support a range of existing analysis packages for Python-based backend computational tasks (currently built for <a href="https://github.com/theislab/scanpy">scanpy</a>)</li>
|
<li>The app is designed with a client-server model that can support a range of existing analysis packages for Python-based backend computational tasks (currently built for <a href="https://github.com/theislab/scanpy">scanpy</a>)</li>
|
||||||
<li>The client uses fast cross-filtering to handle selections and comparisons across subsets of data</li>
|
<li>The client uses fast cross-filtering to handle selections and comparisons across subsets of data</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -157,11 +171,11 @@ If you’re new to git, we recommend <a href="https://www.gitkraken.com/">GitKra
|
|||||||
|
|
||||||
<h2 id="contributing-documentation">Contributing documentation</h2>
|
<h2 id="contributing-documentation">Contributing documentation</h2>
|
||||||
|
|
||||||
<p>The documentation is written in <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">markdown</a>, and lives in the directory <code class="highlighter-rouge">cellxgene/docs/posts</code>. You can directly edit or add to these files and submit a Pull Request as described above.</p>
|
<p>The documentation is written in <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">markdown</a>, and lives in the directory <code class="language-plaintext highlighter-rouge">cellxgene/docs/posts</code>. You can directly edit or add to these files and submit a Pull Request as described above.</p>
|
||||||
|
|
||||||
<p>To preview your changes on your local machine, you’ll need to install Jekyll and Ruby using <a href="https://jekyllrb.com/docs/installation/">these instructions</a> (you don’t have to know how to program in Ruby, just install it).</p>
|
<p>To preview your changes on your local machine, you’ll need to install Jekyll and Ruby using <a href="https://jekyllrb.com/docs/installation/">these instructions</a> (you don’t have to know how to program in Ruby, just install it).</p>
|
||||||
|
|
||||||
<p>You can then preview your changes by running <code class="highlighter-rouge">cellxgene/docs$ bundle exec jekyll serve</code> and navigating to the url indicated in the terminal.</p>
|
<p>You can then preview your changes by running <code class="language-plaintext highlighter-rouge">cellxgene/docs$ bundle exec jekyll serve</code> and navigating to the url indicated in the terminal.</p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<footer>
|
<footer>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Code of conduct
|
# Code of conduct
|
||||||
|
|
||||||
We warmly welcome contributions from the community!
|
We warmly welcome contributions from the community!
|
||||||
|
|
||||||
To ensure a welcoming experience for our entire community, this project adheres to the Contributor Covenant
|
To ensure a welcoming experience for our entire community, this project adheres to the Contributor Covenant
|
||||||
@@ -13,12 +14,16 @@ If you have any questions about any of this stuff, just ask! :)
|
|||||||
We'd love to hear from you! Please submit any bug reports and feature requests through [Github issues](https://github.com/chanzuckerberg/cellxgene/issues).
|
We'd love to hear from you! Please submit any bug reports and feature requests through [Github issues](https://github.com/chanzuckerberg/cellxgene/issues).
|
||||||
|
|
||||||
# Direct contributions
|
# Direct contributions
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
If you are interested in working on `cellxgene` development, you'll need to use git to make a copy of the [project repository](https://www.youtube.com/watch?v=A-4WltCTVms&list=PLe6EXFvnTV7-_41SpakZoTIYCgX4aMTdU&index=2&t=0s) and share your changes.
|
If you are interested in working on `cellxgene` development, you'll need to use git to make a copy of the [project repository](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks) and share your changes.
|
||||||
If you're new to git, we recommend [GitKraken](https://www.gitkraken.com/) for an intuitive interface.
|
|
||||||
|
|
||||||
Please submit any direct contributions by [forking the repository](https://www.youtube.com/watch?v=Lb4yvfrX_7I&list=PLe6EXFvnTV7-_41SpakZoTIYCgX4aMTdU&index=3&t=9s), creating a branch, and [submitting a Pull Request](https://www.youtube.com/watch?v=2VX1ISk9XH8&list=PLe6EXFvnTV7-_41SpakZoTIYCgX4aMTdU&index=9&t=0s).
|
We have several "rules" (strong suggestions really) for contributions:
|
||||||
|
|
||||||
|
1. If your contribution is complex, adds new features, new UI design or otherwise warrants discussion, we highly recommend that you submit a github issue, and engage other contributors in a discussion about the details of your proposed PR. This will save you time in the long run, as many details and decisions can be hashed out ahead-of-time.
|
||||||
|
|
||||||
|
2. Please submit any direct contributions by [forking the repository](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks), creating a feature branch, and [submitting a Pull Request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request).
|
||||||
|
|
||||||
First, you'll need the following installed on your machine
|
First, you'll need the following installed on your machine
|
||||||
|
|
||||||
@@ -33,13 +38,13 @@ git clone https://github.com/chanzuckerberg/cellxgene.git
|
|||||||
|
|
||||||
This is enough to get you started with editing documentation. If you'd like to contribute code:
|
This is enough to get you started with editing documentation. If you'd like to contribute code:
|
||||||
|
|
||||||
Build the client web assets by calling `make` from inside the `cellxgene` folder
|
Build the client web assets from inside the `cellxgene` folder
|
||||||
|
|
||||||
```
|
```
|
||||||
make
|
make build-for-server-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Install all requirements (we recommend doing this inside a [virtual environment](install))
|
Install all requirements (we recommend doing this inside a [virtual environment](https://docs.python.org/3/tutorial/venv.html))
|
||||||
|
|
||||||
```
|
```
|
||||||
pip install -e .
|
pip install -e .
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/demo-data.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/demo-data.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"Demo datasets","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/demo-data.html","headline":"demo-data","@context":"http://schema.org"}</script>
|
{"description":"Demo datasets","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"demo-data","url":"http://localhost:4000/cellxgene/posts/demo-data.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -93,7 +97,7 @@
|
|||||||
<section>
|
<section>
|
||||||
<h1 id="example-datasets">Example datasets</h1>
|
<h1 id="example-datasets">Example datasets</h1>
|
||||||
<p><strong>To use these datasets, run:</strong><br />
|
<p><strong>To use these datasets, run:</strong><br />
|
||||||
<code class="highlighter-rouge">cellxgene launch [filename.h5ad] --open</code></p>
|
<code class="language-plaintext highlighter-rouge">cellxgene launch [filename.h5ad] --open</code></p>
|
||||||
|
|
||||||
<h3 id="peripheral-blood-mononuclear-cells">Peripheral blood mononuclear cells</h3>
|
<h3 id="peripheral-blood-mononuclear-cells">Peripheral blood mononuclear cells</h3>
|
||||||
<p>Healthy human PBMCs (10X).</p>
|
<p>Healthy human PBMCs (10X).</p>
|
||||||
@@ -105,7 +109,7 @@
|
|||||||
<li><a href="http://cf.10xgenomics.com/samples/cell-exp/1.1.0/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz">Raw data</a></li>
|
<li><a href="http://cf.10xgenomics.com/samples/cell-exp/1.1.0/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz">Raw data</a></li>
|
||||||
<li><a href="https://github.com/chanzuckerberg/cellxgene-vignettes/blob/master/dataset-processing/pbmc3k-processing.ipynb">Processing</a></li>
|
<li><a href="https://github.com/chanzuckerberg/cellxgene-vignettes/blob/master/dataset-processing/pbmc3k-processing.ipynb">Processing</a></li>
|
||||||
<li>Launch:
|
<li>Launch:
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://cellxgene-example-data.czi.technology/pbmc3k.h5ad
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://cellxgene-example-data.czi.technology/pbmc3k.h5ad
|
||||||
</code></pre></div> </div>
|
</code></pre></div> </div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -121,7 +125,7 @@ Rich metadata and annotations.</p>
|
|||||||
<li><a href="https://figshare.com/projects/Tabula_Muris_Transcriptomic_characterization_of_20_organs_and_tissues_from_Mus_musculus_at_single_cell_resolution/27733">Raw data</a></li>
|
<li><a href="https://figshare.com/projects/Tabula_Muris_Transcriptomic_characterization_of_20_organs_and_tissues_from_Mus_musculus_at_single_cell_resolution/27733">Raw data</a></li>
|
||||||
<li><a href="https://github.com/chanzuckerberg/cellxgene-vignettes/blob/master/dataset-processing/tabula-muris-processing.ipynb">Processing</a></li>
|
<li><a href="https://github.com/chanzuckerberg/cellxgene-vignettes/blob/master/dataset-processing/tabula-muris-processing.ipynb">Processing</a></li>
|
||||||
<li>Launch:
|
<li>Launch:
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://cellxgene-example-data.czi.technology/tabula-muris.h5ad
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://cellxgene-example-data.czi.technology/tabula-muris.h5ad
|
||||||
</code></pre></div> </div>
|
</code></pre></div> </div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -137,7 +141,7 @@ Rich metadata and annotations.</p>
|
|||||||
<li>Raw data [geo link coming soon!]</li>
|
<li>Raw data [geo link coming soon!]</li>
|
||||||
<li><a href="https://www.biorxiv.org/content/10.1101/661728v1">Processing</a></li>
|
<li><a href="https://www.biorxiv.org/content/10.1101/661728v1">Processing</a></li>
|
||||||
<li>Launch:
|
<li>Launch:
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://cellxgene-example-data.czi.technology/tabula-muris-senis.h5ad
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://cellxgene-example-data.czi.technology/tabula-muris-senis.h5ad
|
||||||
</code></pre></div> </div>
|
</code></pre></div> </div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/gallery.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/gallery.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/gallery.html","headline":"Gallery","@context":"http://schema.org"}</script>
|
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"Gallery","url":"http://localhost:4000/cellxgene/posts/gallery.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -94,18 +98,23 @@
|
|||||||
<h1 id="features">Features</h1>
|
<h1 id="features">Features</h1>
|
||||||
|
|
||||||
<h3 id="cross-filter-cells-and-color-by-metadata">Cross-filter cells and color by metadata</h3>
|
<h3 id="cross-filter-cells-and-color-by-metadata">Cross-filter cells and color by metadata</h3>
|
||||||
|
|
||||||
<p><img src="../images/crossfilter.gif" width="600" /></p>
|
<p><img src="../images/crossfilter.gif" width="600" /></p>
|
||||||
|
|
||||||
<h3 id="compare-groups-of-cells-with-differential-expression">Compare groups of cells with differential expression</h3>
|
<h3 id="compare-groups-of-cells-with-differential-expression">Compare groups of cells with differential expression</h3>
|
||||||
|
|
||||||
<p><img src="../images/diffexp.gif" width="600" /></p>
|
<p><img src="../images/diffexp.gif" width="600" /></p>
|
||||||
|
|
||||||
<h3 id="see-how-metadata-and-gene-expression-break-down-across-categories">See how metadata and gene expression break down across categories</h3>
|
<h3 id="see-how-metadata-and-gene-expression-break-down-across-categories">See how metadata and gene expression break down across categories</h3>
|
||||||
|
|
||||||
<p><img src="../images/category-breakdown.gif" width="600" /></p>
|
<p><img src="../images/category-breakdown.gif" width="600" /></p>
|
||||||
|
|
||||||
<h3 id="find-cells-where-a-gene-is-expressed">Find cells where a gene is expressed</h3>
|
<h3 id="find-cells-where-a-gene-is-expressed">Find cells where a gene is expressed</h3>
|
||||||
|
|
||||||
<p><img src="../images/gene-expression.gif" width="600" /></p>
|
<p><img src="../images/gene-expression.gif" width="600" /></p>
|
||||||
|
|
||||||
<h3 id="compare-expression-of-multiple-genes">Compare expression of multiple genes</h3>
|
<h3 id="compare-expression-of-multiple-genes">Compare expression of multiple genes</h3>
|
||||||
|
|
||||||
<p><img src="../images/compare-genes.gif" width="600" /></p>
|
<p><img src="../images/compare-genes.gif" width="600" /></p>
|
||||||
|
|
||||||
<h1 id="interactive-demos">Interactive demos</h1>
|
<h1 id="interactive-demos">Interactive demos</h1>
|
||||||
@@ -114,10 +123,15 @@
|
|||||||
Check out the cool data that our users are using cellxgene to explore!</p>
|
Check out the cool data that our users are using cellxgene to explore!</p>
|
||||||
|
|
||||||
<h3 id="kidney-cell-atlas"><a href="https://www.kidneycellatlas.org/">Kidney cell atlas</a></h3>
|
<h3 id="kidney-cell-atlas"><a href="https://www.kidneycellatlas.org/">Kidney cell atlas</a></h3>
|
||||||
|
|
||||||
<h3 id="tabula-muris-senis"><a href="https://tabula-muris-senis.ds.czbiohub.org/">Tabula muris senis</a></h3>
|
<h3 id="tabula-muris-senis"><a href="https://tabula-muris-senis.ds.czbiohub.org/">Tabula muris senis</a></h3>
|
||||||
|
|
||||||
<h3 id="hemocytes"><a href="https://hemocytes.cellgeni.sanger.ac.uk/">Hemocytes</a></h3>
|
<h3 id="hemocytes"><a href="https://hemocytes.cellgeni.sanger.ac.uk/">Hemocytes</a></h3>
|
||||||
|
|
||||||
<h3 id="melanoma"><a href="https://melanoma.cellgeni.sanger.ac.uk/">Melanoma</a></h3>
|
<h3 id="melanoma"><a href="https://melanoma.cellgeni.sanger.ac.uk/">Melanoma</a></h3>
|
||||||
|
|
||||||
|
<h3 id="czis-own-cellxgene-site"><a href="cellxgene_cziscience_com">CZI’s own cellxgene site</a></h3>
|
||||||
|
|
||||||
<p><em>Want us to link to your dataset here? <a href="contact">Just send us a note!</a></em></p>
|
<p><em>Want us to link to your dataset here? <a href="contact">Just send us a note!</a></em></p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/hosted.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/hosted.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/hosted.html","headline":"Hosting cellxgene on the web","@context":"http://schema.org"}</script>
|
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"Hosting cellxgene on the web","url":"http://localhost:4000/cellxgene/posts/hosted.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -103,8 +107,8 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Information security requires careful configuration of the host environment, including firewall, logging, etc. Please follow best practices.</li>
|
<li>Information security requires careful configuration of the host environment, including firewall, logging, etc. Please follow best practices.</li>
|
||||||
<li>cellxgene includes features which may be inappropriate for a hosted deployment. You may wish to use the following command line option: <code class="highlighter-rouge">--disable-diffexp</code>.</li>
|
<li>cellxgene includes features which may be inappropriate for a hosted deployment. You may wish to use the following command line option: <code class="language-plaintext highlighter-rouge">--disable-diffexp</code>.</li>
|
||||||
<li><code class="highlighter-rouge">cellxgene launch</code> currently uses Flask’s development server, which is not recommended for hosted deployment (see the <a href="https://flask.palletsprojects.com/en/1.1.x/tutorial/deploy/#run-with-a-production-server">Flask documentation</a>)</li>
|
<li><code class="language-plaintext highlighter-rouge">cellxgene launch</code> currently uses Flask’s development server, which is not recommended for hosted deployment (see the <a href="https://flask.palletsprojects.com/en/1.1.x/tutorial/deploy/#run-with-a-production-server">Flask documentation</a>)</li>
|
||||||
<li>We have no testing or official support for deployments where multiple users are accessing the same cellxgene instance.</li>
|
<li>We have no testing or official support for deployments where multiple users are accessing the same cellxgene instance.</li>
|
||||||
<li>Your cellxgene instance is likely to hang or crash if too many people access it at the same time, especially if they using functions that call the Python backend (such as differential expression, noted above).</li>
|
<li>Your cellxgene instance is likely to hang or crash if too many people access it at the same time, especially if they using functions that call the Python backend (such as differential expression, noted above).</li>
|
||||||
<li>cellxgene only supports one instance per dataset</li>
|
<li>cellxgene only supports one instance per dataset</li>
|
||||||
@@ -116,11 +120,11 @@
|
|||||||
|
|
||||||
<p>The following configuration options require special consideration in any multi-user or hosted environment:</p>
|
<p>The following configuration options require special consideration in any multi-user or hosted environment:</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--disable-diffexp</code>: the differential expression computation can be resource intensive, in particular for large datasets. If many differential expression calculation requests are made in rapid sequence, it may cause the server CPU or memory resources to be exhausted, and impact the ability of other users to access data. This command line option will disable the differential expression feature, including the removal of the <code class="highlighter-rouge">Differential expression</code> button.</p>
|
<p><code class="language-plaintext highlighter-rouge">--disable-diffexp</code>: the differential expression computation can be resource intensive, in particular for large datasets. If many differential expression calculation requests are made in rapid sequence, it may cause the server CPU or memory resources to be exhausted, and impact the ability of other users to access data. This command line option will disable the differential expression feature, including the removal of the <code class="language-plaintext highlighter-rouge">Differential expression</code> button.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--experimental-annotations</code>: this feature, which is disabled by default, may not be appropriate for hosted environments. It will write to the local file system, and in extreme cases could be used to abuse (or exceed) file system capacity on the hosting server.</p>
|
<p><code class="language-plaintext highlighter-rouge">--disable-annotations</code>: annotations, which is enabled by default, may not be appropriate for hosted environments. It will write to the local file system, and in extreme cases could be used to abuse (or exceed) file system capacity on the hosting server. We recommend disabling this with this flag.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--experimental-annotations-file</code>: this specifies a single file for all end-user annotations, and is incompatible with hosted or multi-user use of cellxgene. Using it will cause loss of user annotation data (ie, the CSV file will be overwritten). If you wish to explore using the <em>experimental</em> annotations feature in a multi-user environment, please refer to the <a href="annotations">annotations documentation</a>.</p>
|
<p><code class="language-plaintext highlighter-rouge">--annotations-file</code>: this specifies a single file for all end-user annotations, and is incompatible with hosted or multi-user use of cellxgene. Using it will cause loss of user annotation data (ie, the CSV file will be overwritten). If you wish to explore using the annotations feature in a multi-user environment, please refer to the <a href="annotations">annotations documentation</a>, and in particular the <code class="language-plaintext highlighter-rouge">--annotations-dir</code> flag.</p>
|
||||||
|
|
||||||
<h2 id="community-software-projects">Community software projects</h2>
|
<h2 id="community-software-projects">Community software projects</h2>
|
||||||
|
|
||||||
@@ -139,7 +143,7 @@
|
|||||||
|
|
||||||
<p>Clicking on the following button will forward you to Heroku to begin the deployment process:</p>
|
<p>Clicking on the following button will forward you to Heroku to begin the deployment process:</p>
|
||||||
|
|
||||||
<p><a href="https://heroku.com/deploy?template=https://github.com/chanzuckerberg/cellxgene/tree/heroku">
|
<p><a href="https://heroku.com/deploy?template=https://github.com/chanzuckerberg/cellxgene">
|
||||||
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy" />
|
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy" />
|
||||||
</a></p>
|
</a></p>
|
||||||
|
|
||||||
@@ -150,20 +154,20 @@
|
|||||||
<h3 id="default-settings">Default settings</h3>
|
<h3 id="default-settings">Default settings</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><code class="highlighter-rouge">App name</code>: the unique name for your deployment</li>
|
<li><code class="language-plaintext highlighter-rouge">App name</code>: the unique name for your deployment</li>
|
||||||
<li>This will also serve as the default URL (e.g. https://cellxgene.herokapp.com/)</li>
|
<li>This will also serve as the default URL (e.g. https://cellxgene.herokapp.com/)</li>
|
||||||
<li><code class="highlighter-rouge">App owner</code>: Who will own this app. Either you personally or an organization/team</li>
|
<li><code class="language-plaintext highlighter-rouge">App owner</code>: Who will own this app. Either you personally or an organization/team</li>
|
||||||
<li><code class="highlighter-rouge">Region</code>: Location of the server where the app will be deployed (EU or US)</li>
|
<li><code class="language-plaintext highlighter-rouge">Region</code>: Location of the server where the app will be deployed (EU or US)</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3 id="configuration">Configuration</h3>
|
<h3 id="configuration">Configuration</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><code class="highlighter-rouge">DATASET</code>: A <em>publicly</em> accessible URL pointing to a .h5ad file to view</li>
|
<li><code class="language-plaintext highlighter-rouge">DATASET</code>: A <em>publicly</em> accessible URL pointing to a .h5ad file to view</li>
|
||||||
<li>This defaults to pbm3k.h5ad</li>
|
<li>This defaults to pbm3k.h5ad</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>After filling out the settings and pressing the <code class="highlighter-rouge">Deploy app</code> button Heroku will begin building your deployment. This process will take a few minutes, but once completed you will have a personal free hosted version of cellxgene!</p>
|
<p>After filling out the settings and pressing the <code class="language-plaintext highlighter-rouge">Deploy app</code> button Heroku will begin building your deployment. This process will take a few minutes, but once completed you will have a personal free hosted version of cellxgene!</p>
|
||||||
|
|
||||||
<h2 id="what-is-heroku">What is Heroku?</h2>
|
<h2 id="what-is-heroku">What is Heroku?</h2>
|
||||||
|
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ The following configuration options require special consideration in any multi-u
|
|||||||
|
|
||||||
`--disable-diffexp`: the differential expression computation can be resource intensive, in particular for large datasets. If many differential expression calculation requests are made in rapid sequence, it may cause the server CPU or memory resources to be exhausted, and impact the ability of other users to access data. This command line option will disable the differential expression feature, including the removal of the `Differential expression` button.
|
`--disable-diffexp`: the differential expression computation can be resource intensive, in particular for large datasets. If many differential expression calculation requests are made in rapid sequence, it may cause the server CPU or memory resources to be exhausted, and impact the ability of other users to access data. This command line option will disable the differential expression feature, including the removal of the `Differential expression` button.
|
||||||
|
|
||||||
`--experimental-annotations`: this feature, which is disabled by default, may not be appropriate for hosted environments. It will write to the local file system, and in extreme cases could be used to abuse (or exceed) file system capacity on the hosting server.
|
`--disable-annotations`: annotations, which is enabled by default, may not be appropriate for hosted environments. It will write to the local file system, and in extreme cases could be used to abuse (or exceed) file system capacity on the hosting server. We recommend disabling this with this flag.
|
||||||
|
|
||||||
`--experimental-annotations-file`: this specifies a single file for all end-user annotations, and is incompatible with hosted or multi-user use of cellxgene. Using it will cause loss of user annotation data (ie, the CSV file will be overwritten). If you wish to explore using the _experimental_ annotations feature in a multi-user environment, please refer to the [annotations documentation](annotations).
|
`--annotations-file`: this specifies a single file for all end-user annotations, and is incompatible with hosted or multi-user use of cellxgene. Using it will cause loss of user annotation data (ie, the CSV file will be overwritten). If you wish to explore using the annotations feature in a multi-user environment, please refer to the [annotations documentation](annotations), and in particular the `--annotations-dir` flag.
|
||||||
|
|
||||||
## Community software projects
|
## Community software projects
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ If you know of other solutions, drop us a note and we'll add to this list.
|
|||||||
|
|
||||||
Clicking on the following button will forward you to Heroku to begin the deployment process:
|
Clicking on the following button will forward you to Heroku to begin the deployment process:
|
||||||
|
|
||||||
<a href="https://heroku.com/deploy?template=https://github.com/chanzuckerberg/cellxgene/tree/heroku">
|
<a href="https://heroku.com/deploy?template=https://github.com/chanzuckerberg/cellxgene">
|
||||||
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy">
|
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/install.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/install.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/install.html","headline":"Install","@context":"http://schema.org"}</script>
|
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"Install","url":"http://localhost:4000/cellxgene/posts/install.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -96,8 +100,8 @@
|
|||||||
<p>Cellxgene has two parts:</p>
|
<p>Cellxgene has two parts:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="launch"><code class="highlighter-rouge">cellxgene</code></a> is the main explorer application, which takes an already-processed <code class="highlighter-rouge">h5ad</code> file as input. This is installed by default.</li>
|
<li><a href="launch"><code class="language-plaintext highlighter-rouge">cellxgene</code></a> is the main explorer application, which takes an already-processed <code class="language-plaintext highlighter-rouge">h5ad</code> file as input. This is installed by default.</li>
|
||||||
<li><a href="prepare"><code class="highlighter-rouge">cellxgene prepare</code></a> provides auxiliary functionality for preparing your dataset. This is <em>not</em> installed by default.</li>
|
<li><a href="prepare"><code class="language-plaintext highlighter-rouge">cellxgene prepare</code></a> provides auxiliary functionality for preparing your dataset. This is <em>not</em> installed by default.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2 id="requirements">Requirements</h2>
|
<h2 id="requirements">Requirements</h2>
|
||||||
@@ -112,61 +116,61 @@ version of Python, including the pip package manager. Chrome is available at
|
|||||||
|
|
||||||
<h2 id="basic-install-using-pip">Basic install using pip</h2>
|
<h2 id="basic-install-using-pip">Basic install using pip</h2>
|
||||||
|
|
||||||
<p>To install the <code class="highlighter-rouge">cellxgene</code> explorer alone, run:</p>
|
<p>To install the <code class="language-plaintext highlighter-rouge">cellxgene</code> explorer alone, run:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install cellxgene
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install cellxgene
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>To install <code class="highlighter-rouge">cellxgene</code> and the optional <code class="highlighter-rouge">cellxgene prepare</code>, run:</p>
|
<p>To install <code class="language-plaintext highlighter-rouge">cellxgene</code> and the optional <code class="language-plaintext highlighter-rouge">cellxgene prepare</code>, run:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install cellxgene[prepare]
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install cellxgene[prepare]
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p><em>Note: if the aforementioned optional <code class="highlighter-rouge">prepare</code> package installation fails, you can also install these packages directly:</em></p>
|
<p><em>Note: if the aforementioned optional <code class="language-plaintext highlighter-rouge">prepare</code> package installation fails, you can also install these packages directly:</em></p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install scanpy>=1.3.7 python-igraph louvain>=0.6
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install scanpy>=1.3.7 python-igraph louvain>=0.6
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p><em>On various Linux platforms, you may also need to install build dependencies first:</em></p>
|
<p><em>On various Linux platforms, you may also need to install build dependencies first:</em></p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt-get install build-essential python-dev
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt-get install build-essential python-dev
|
||||||
pip install scanpy>=1.3.7 python-igraph louvain>=0.6
|
pip install scanpy>=1.3.7 python-igraph louvain>=0.6
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>If you already have <code class="highlighter-rouge">cellxgene</code> installed, you can update to the most recent version by running:</p>
|
<p>If you already have <code class="language-plaintext highlighter-rouge">cellxgene</code> installed, you can update to the most recent version by running:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install cellxgene --upgrade
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install cellxgene --upgrade
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h2 id="using-a-conda-environment">Using a conda environment</h2>
|
<h2 id="using-a-conda-environment">Using a conda environment</h2>
|
||||||
|
|
||||||
<p>To install <code class="highlighter-rouge">cellxgene</code> alone, run:</p>
|
<p>To install <code class="language-plaintext highlighter-rouge">cellxgene</code> alone, run:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>conda create --yes -n cellxgene python=3.7
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>conda create --yes -n cellxgene python=3.7
|
||||||
conda activate cellxgene
|
conda activate cellxgene
|
||||||
pip install cellxgene
|
pip install cellxgene
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>To install <code class="highlighter-rouge">cellxgene</code> and the optional <code class="highlighter-rouge">cellxgene prepare</code>, run:</p>
|
<p>To install <code class="language-plaintext highlighter-rouge">cellxgene</code> and the optional <code class="language-plaintext highlighter-rouge">cellxgene prepare</code>, run:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>conda create --yes -n cellxgene python=3.7
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>conda create --yes -n cellxgene python=3.7
|
||||||
conda activate cellxgene
|
conda activate cellxgene
|
||||||
pip install cellxgene[prepare]
|
pip install cellxgene[prepare]
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h2 id="using-a-virtual-environment">Using a virtual environment</h2>
|
<h2 id="using-a-virtual-environment">Using a virtual environment</h2>
|
||||||
|
|
||||||
<p>To install <code class="highlighter-rouge">cellxgene</code> alone, run:</p>
|
<p>To install <code class="language-plaintext highlighter-rouge">cellxgene</code> alone, run:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ENV_NAME=cellxgene
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ENV_NAME=cellxgene
|
||||||
python3.7 -m venv ${ENV_NAME}
|
python3.7 -m venv ${ENV_NAME}
|
||||||
source ${ENV_NAME}/bin/activate
|
source ${ENV_NAME}/bin/activate
|
||||||
pip install cellxgene
|
pip install cellxgene
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>To install <code class="highlighter-rouge">cellxgene</code> and <code class="highlighter-rouge">cellxgene prepare</code>, run:</p>
|
<p>To install <code class="language-plaintext highlighter-rouge">cellxgene</code> and <code class="language-plaintext highlighter-rouge">cellxgene prepare</code>, run:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ENV_NAME=cellxgene
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ENV_NAME=cellxgene
|
||||||
python3.7 -m venv ${ENV_NAME}
|
python3.7 -m venv ${ENV_NAME}
|
||||||
source ${ENV_NAME}/bin/activate
|
source ${ENV_NAME}/bin/activate
|
||||||
pip install cellxgene[prepare]
|
pip install cellxgene[prepare]
|
||||||
@@ -176,15 +180,15 @@ pip install cellxgene[prepare]
|
|||||||
|
|
||||||
<p>Build the image</p>
|
<p>Build the image</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker build . -t cellxgene
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker build . -t cellxgene
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>Run the container and mount data (change data location, <code class="highlighter-rouge">--port</code> and <code class="highlighter-rouge">--host</code> parameters as needed)</p>
|
<p>Run the container and mount data (change data location, <code class="language-plaintext highlighter-rouge">--port</code> and <code class="language-plaintext highlighter-rouge">--host</code> parameters as needed)</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run -v "$PWD/example-dataset/:/data/" -p 5005:5005 cellxgene launch --host 0.0.0.0 data/pbmc3k.h5ad
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run -v "$PWD/example-dataset/:/data/" -p 5005:5005 cellxgene launch --host 0.0.0.0 data/pbmc3k.h5ad
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>You will need to use <code class="highlighter-rouge">--host 0.0.0.0</code> to have the container listen to incoming requests from the browser</p>
|
<p>You will need to use <code class="language-plaintext highlighter-rouge">--host 0.0.0.0</code> to have the container listen to incoming requests from the browser</p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<footer>
|
<footer>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/launch.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/launch.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"Demo datasets","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/launch.html","headline":"demo-data","@context":"http://schema.org"}</script>
|
{"description":"Demo datasets","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"demo-data","url":"http://localhost:4000/cellxgene/posts/launch.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -97,20 +101,20 @@
|
|||||||
|
|
||||||
<p>Once you’ve <a href="prepare">prepared your data</a> for cellxgene, you can launch the app using</p>
|
<p>Once you’ve <a href="prepare">prepared your data</a> for cellxgene, you can launch the app using</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellgene launch mydataset.h5ad --open
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch mydataset.h5ad --open
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>You should see your web browser open with the following</p>
|
<p>You should see your web browser open with the following</p>
|
||||||
|
|
||||||
<p><img width="450" src="https://raw.githubusercontent.com/chanzuckerberg/cellxgene/master/docs/cellxgene-opening-screenshot.png" pad="50px" /></p>
|
<p><img width="600" src="../images/cellxgene-opening-screenshot.png" pad="50px" /></p>
|
||||||
|
|
||||||
<p><strong>Note</strong>: automatic opening of the browser with the <code class="highlighter-rouge">--open</code> flag only works on some platforms (eg, OSX). On other platforms you’ll need to directly point to the provided link in your browser.</p>
|
<p><strong>Note</strong>: automatic opening of the browser with the <code class="language-plaintext highlighter-rouge">--open</code> flag only works on some platforms (eg, OSX). On other platforms you’ll need to directly point to the provided link in your browser.</p>
|
||||||
|
|
||||||
<h2 id="launching-from-a-url">Launching from a URL</h2>
|
<h2 id="launching-from-a-url">Launching from a URL</h2>
|
||||||
|
|
||||||
<p>You can also launch from a URL directly like this:</p>
|
<p>You can also launch from a URL directly like this:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://github.com/chanzuckerberg/cellxgene/blob/master/example-dataset/pbmc3k.h5ad
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene launch https://github.com/chanzuckerberg/cellxgene/blob/master/example-dataset/pbmc3k.h5ad
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>Support for S3 and GCS is not enabled by default. If you wish to directly access S3 or GFS, install one or both of the following packages:</p>
|
<p>Support for S3 and GCS is not enabled by default. If you wish to directly access S3 or GFS, install one or both of the following packages:</p>
|
||||||
@@ -122,45 +126,45 @@
|
|||||||
|
|
||||||
<p>For example:</p>
|
<p>For example:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install s3fs
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install s3fs
|
||||||
cellxgene launch s3://mybucket.s3-us-west-2.amazonaws.com/mydata.h5ad
|
cellxgene launch s3://mybucket.s3-us-west-2.amazonaws.com/mydata.h5ad
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<h2 id="options-for-cellxgene-launch">Options for cellxgene <code class="highlighter-rouge">launch</code></h2>
|
<h2 id="options-for-cellxgene-launch">Options for cellxgene <code class="language-plaintext highlighter-rouge">launch</code></h2>
|
||||||
|
|
||||||
<p><strong>For the most up-to-date and comprehensive list of options, run <code class="highlighter-rouge">cellxgene launch --help</code></strong></p>
|
<p><strong>For the most up-to-date and comprehensive list of options, run <code class="language-plaintext highlighter-rouge">cellxgene launch --help</code></strong></p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--open</code> automatically opens the web browser after launching (caveat: only works on some operating systems).</p>
|
<p><code class="language-plaintext highlighter-rouge">--open</code> automatically opens the web browser after launching (caveat: only works on some operating systems).</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--experimental-annotations</code>, <code class="highlighter-rouge">--experimental-annotations-file</code> & <code class="highlighter-rouge">--experimental-annotations-output-dir</code> all have to do with an experimental feature to allow users to create new categorical annotations in the application. We have a <a href="annotations">whole separate page</a> about their usage! :)</p>
|
<p><code class="language-plaintext highlighter-rouge">--disable-annotations</code>, <code class="language-plaintext highlighter-rouge">--annotations-file</code> & <code class="language-plaintext highlighter-rouge">--annotations-dir</code> all have to do with creating new categorical annotations in the application. We have a <a href="annotations">whole separate page</a> about their usage! :)</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--diffexp-lfc-cutoff</code> as explained <a href="methods">in the methods</a>, genes are only returned in differential expression if the effect size is above the specified threshold for log fold change. Defaults to 0.01.</p>
|
<p><code class="language-plaintext highlighter-rouge">--diffexp-lfc-cutoff</code> as explained <a href="methods">in the methods</a>, genes are only returned in differential expression if the effect size is above the specified threshold for log fold change. Defaults to 0.01.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--disable-diffexp</code> will disable and hide the <code class="highlighter-rouge">Compute Differential Expression</code> feature.
|
<p><code class="language-plaintext highlighter-rouge">--disable-diffexp</code> will disable and hide the <code class="language-plaintext highlighter-rouge">Compute Differential Expression</code> feature.
|
||||||
For large datasets, or datasets loaded with the <code class="highlighter-rouge">--backed</code> option, computing differential expression may
|
For large datasets, or datasets loaded with the <code class="language-plaintext highlighter-rouge">--backed</code> option, computing differential expression may
|
||||||
be extremely slow or use excessive resources on the host computer (e.g., memory thrashing).
|
be extremely slow or use excessive resources on the host computer (e.g., memory thrashing).
|
||||||
Disabling the feature will ensure that this computation is not initiated accidentally.</p>
|
Disabling the feature will ensure that this computation is not initiated accidentally.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--backed</code> option instructs <code class="highlighter-rouge">cellxgene launch</code> to read the H5AD file in “backed” mode (for more information, see the
|
<p><code class="language-plaintext highlighter-rouge">--backed</code> option instructs <code class="language-plaintext highlighter-rouge">cellxgene launch</code> to read the H5AD file in “backed” mode (for more information, see the
|
||||||
<a href="https://anndata.readthedocs.io/en/latest/anndata.read_h5ad.html#anndata.read_h5ad">anndata.read_h5ad() documentation</a>).</p>
|
<a href="https://anndata.readthedocs.io/en/latest/anndata.read_h5ad.html#anndata.read_h5ad">anndata.read_h5ad() documentation</a>).</p>
|
||||||
|
|
||||||
<p>By default, cellxgene will read the entire H5AD will be into memory at startup, improving application speed and performance.
|
<p>By default, cellxgene will read the entire H5AD will be into memory at startup, improving application speed and performance.
|
||||||
Very large datasets may not fit in memory. The “–backed” mode will read the file incrementally, reducing memory
|
Very large datasets may not fit in memory. The “–backed” mode will read the file incrementally, reducing memory
|
||||||
use, and for large files, improving startup speed. <em>However</em>, this option will also significantly slow
|
use, and for large files, improving startup speed. <em>However</em>, this option will also significantly slow
|
||||||
down access to gene expression histograms, and may render differential expression calculations too slow
|
down access to gene expression histograms, and may render differential expression calculations too slow
|
||||||
to use (see <code class="highlighter-rouge">--disable-diffexp</code> for an option to disable this feature).</p>
|
to use (see <code class="language-plaintext highlighter-rouge">--disable-diffexp</code> for an option to disable this feature).</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--embedding</code> restricts which embeddings will be available in the viewer. By default, all embeddings specified in <code class="highlighter-rouge">anndata.obsm['X_name']</code> will be loaded; if you have many embeddings, you may wish to restrict this list for a speedier launch.</p>
|
<p><code class="language-plaintext highlighter-rouge">--embedding</code> restricts which embeddings will be available in the viewer. By default, all embeddings specified in <code class="language-plaintext highlighter-rouge">anndata.obsm['X_name']</code> will be loaded; if you have many embeddings, you may wish to restrict this list for a speedier launch.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--title</code> adds a title to the viewer. Defaults to file name.</p>
|
<p><code class="language-plaintext highlighter-rouge">--title</code> adds a title to the viewer. Defaults to file name.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--about</code> adds a link where users can go to find more infomation about the dataset. Requires <code class="highlighter-rouge">https</code>.</p>
|
<p><code class="language-plaintext highlighter-rouge">--about</code> adds a link where users can go to find more infomation about the dataset. Requires <code class="language-plaintext highlighter-rouge">https</code>.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--obs-names</code> allows you to specify which column in <code class="highlighter-rouge">anndata.obs</code> to use as <code class="highlighter-rouge">anndata.obs.index</code>.</p>
|
<p><code class="language-plaintext highlighter-rouge">--obs-names</code> allows you to specify which column in <code class="language-plaintext highlighter-rouge">anndata.obs</code> to use as <code class="language-plaintext highlighter-rouge">anndata.obs.index</code>.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--var-names</code> allows you to specify which column in <code class="highlighter-rouge">anndata.var</code> to use as <code class="highlighter-rouge">anndata.var.index</code>.</p>
|
<p><code class="language-plaintext highlighter-rouge">--var-names</code> allows you to specify which column in <code class="language-plaintext highlighter-rouge">anndata.var</code> to use as <code class="language-plaintext highlighter-rouge">anndata.var.index</code>.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--max-category-items</code> omits categorical metadata fields that contain more than N <em>distinct</em> values. Defaults to 1000.</p>
|
<p><code class="language-plaintext highlighter-rouge">--max-category-items</code> omits categorical metadata fields that contain more than N <em>distinct</em> values. Defaults to 1000.</p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<footer>
|
<footer>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/methods.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/methods.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/methods.html","headline":"Methods","@context":"http://schema.org"}</script>
|
{"description":"An interactive explorer for single-cell transcriptomics data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"Methods","url":"http://localhost:4000/cellxgene/posts/methods.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -97,21 +101,24 @@
|
|||||||
|
|
||||||
<h3 id="expression-data">Expression data</h3>
|
<h3 id="expression-data">Expression data</h3>
|
||||||
|
|
||||||
<p>Gene expression values are pulled from <code class="highlighter-rouge">anndata.X</code>. These feed into the histograms, scatterplot, colorscale, and differential expression calculations. We’re <a href="https://github.com/chanzuckerberg/cellxgene/issues/689">working on ways</a> to incorporate <code class="highlighter-rouge">anndata.raw</code> and other <code class="highlighter-rouge">anndata.layers</code>!</p>
|
<p>Gene expression values are pulled from <code class="language-plaintext highlighter-rouge">anndata.X</code>. These feed into the histograms, scatterplot, colorscale, and differential expression calculations. We’re <a href="https://github.com/chanzuckerberg/cellxgene/issues/689">working on ways</a> to incorporate <code class="language-plaintext highlighter-rouge">anndata.raw</code> and other <code class="language-plaintext highlighter-rouge">anndata.layers</code>!</p>
|
||||||
|
|
||||||
<h3 id="metadata">Metadata</h3>
|
<h3 id="metadata">Metadata</h3>
|
||||||
|
|
||||||
<p>Categorical (e.g., cluster labels) and continuous (e.g., pseudotime) metadata are pulled from <code class="highlighter-rouge">anndata.obs</code>. Any column added here will be available for visualization in cellxgene. You can also <a href="annotations">create new categorical annotations</a> within the application.</p>
|
<p>Categorical (e.g., cluster labels) and continuous (e.g., pseudotime) metadata are pulled from <code class="language-plaintext highlighter-rouge">anndata.obs</code>. Any column added here will be available for visualization in cellxgene. You can also <a href="annotations">create new categorical annotations</a> within the application.</p>
|
||||||
|
|
||||||
<h3 id="embeddings">Embeddings</h3>
|
<h3 id="embeddings">Embeddings</h3>
|
||||||
|
|
||||||
<p>cellxgene looks for embeddings (e.g., tSNE, UMAP, PCA, spatial coordinates) in <code class="highlighter-rouge">anndata.obsm</code>. These fields must follow the scanpy convention of starting with <code class="highlighter-rouge">X_</code>, e.g., <code class="highlighter-rouge">anndata.obsm['X_umap']</code>. If an embedding has more than two components, the first two will be used for visualization.</p>
|
<p>cellxgene looks for embeddings (e.g., tSNE, UMAP, PCA, spatial coordinates) in <code class="language-plaintext highlighter-rouge">anndata.obsm</code>. These fields must follow the scanpy convention of starting with <code class="language-plaintext highlighter-rouge">X_</code>, e.g., <code class="language-plaintext highlighter-rouge">anndata.obsm['X_umap']</code>. If an embedding has more than two components, the first two will be used for visualization.</p>
|
||||||
|
|
||||||
<h2 id="differential-expression">Differential expression</h2>
|
<h2 id="differential-expression">Differential expression</h2>
|
||||||
|
|
||||||
<p>We’re actively working on how to improve differential expression within the app.</p>
|
<p>We’re actively working on how to improve differential expression within the app.
|
||||||
|
<strong>N.B.: the <a href="https://github.com/chanzuckerberg/cellxgene/blob/master/server/app/scanpy_engine/diffexp.py#L40">current implementation</a> assumes normally distributed values on a linear scale.</strong></p>
|
||||||
|
|
||||||
<p>Currently, we use a <a href="https://en.wikipedia.org/wiki/Welch%27s_t-test">Welch’s <em>t</em>-test</a> implementation, including the same variance overestimation correction as used in <code class="highlighter-rouge">scanpy</code>. We sort the <code class="highlighter-rouge">tscore</code> to identify the top 15 genes, and then filter to remove any that fall below a cutoff log fold change value, which can help remove spurious test results. The default threshold is <code class="highlighter-rouge">0.01</code> and can be changed using the option <code class="highlighter-rouge">--diffexp-lfc-cutoff</code>.</p>
|
<p>Currently, we use a <a href="https://en.wikipedia.org/wiki/Welch%27s_t-test">Welch’s <em>t</em>-test</a>, which assumes that the two populations are each normally distributed, but may have unequal variance. We use a two-sided t-test against the null hypothesis that the two populations have <strong>equal</strong> means. P-values are adjusted with the <a href="https://en.wikipedia.org/wiki/Bonferroni_correction">Bonferroni corrrection</a>.</p>
|
||||||
|
|
||||||
|
<p>To help avoid spurious results, we use the log fold change to filter genes, retaining those where <code class="language-plaintext highlighter-rouge">|log2( mean(set1) / mean(set2) )| > 0.01</code>; this threshold can be configured with the <a href="launch"><code class="language-plaintext highlighter-rouge">--diffexp-lfc-cutoff</code></a> command. We then sort genes by their associated <code class="language-plaintext highlighter-rouge">|t value|</code> and return the top 15 genes.</p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<footer>
|
<footer>
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ cellxgene looks for embeddings (e.g., tSNE, UMAP, PCA, spatial coordinates) in `
|
|||||||
|
|
||||||
## Differential expression
|
## Differential expression
|
||||||
|
|
||||||
We're actively working on how to improve differential expression within the app.
|
We're actively working on how to improve differential expression within the app.
|
||||||
|
**N.B.: the [current implementation](https://github.com/chanzuckerberg/cellxgene/blob/master/server/app/scanpy_engine/diffexp.py#L40) assumes normally distributed values on a linear scale.**
|
||||||
|
|
||||||
Currently, we use a [Welch's _t_-test](https://en.wikipedia.org/wiki/Welch%27s_t-test) implementation, including the same variance overestimation correction as used in `scanpy`. We sort the `tscore` to identify the top 15 genes, and then filter to remove any that fall below a cutoff log fold change value, which can help remove spurious test results. The default threshold is `0.01` and can be changed using the option `--diffexp-lfc-cutoff`.
|
Currently, we use a [Welch's _t_-test](https://en.wikipedia.org/wiki/Welch%27s_t-test), which assumes that the two populations are each normally distributed, but may have unequal variance. We use a two-sided t-test against the null hypothesis that the two populations have **equal** means. P-values are adjusted with the [Bonferroni corrrection](https://en.wikipedia.org/wiki/Bonferroni_correction).
|
||||||
|
|
||||||
|
To help avoid spurious results, we use the log fold change to filter genes, retaining those where `|log2( mean(set1) / mean(set2) )| > 0.01`; this threshold can be configured with the [`--diffexp-lfc-cutoff`](launch) command. We then sort genes by their associated `|t value|` and return the top 15 genes.
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/prepare.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/prepare.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"Preparing your data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/prepare.html","headline":"prepare","@context":"http://schema.org"}</script>
|
{"description":"Preparing your data","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"prepare","url":"http://localhost:4000/cellxgene/posts/prepare.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -93,30 +97,30 @@
|
|||||||
<section>
|
<section>
|
||||||
<h1 id="data-format-requirements">Data format requirements</h1>
|
<h1 id="data-format-requirements">Data format requirements</h1>
|
||||||
|
|
||||||
<p>If your data is in <code class="highlighter-rouge">h5ad</code> file (from the <a href="https://anndata.readthedocs.io/en/latest/index.html"><code class="highlighter-rouge">anndata</code></a> library) and meets the following requirements, you can go straight to <code class="highlighter-rouge">cellxgene launch</code>:</p>
|
<p>If your data is in <code class="language-plaintext highlighter-rouge">h5ad</code> file (from the <a href="https://anndata.readthedocs.io/en/latest/index.html"><code class="language-plaintext highlighter-rouge">anndata</code></a> library) and meets the following requirements, you can go straight to <code class="language-plaintext highlighter-rouge">cellxgene launch</code>:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Expression values (raw or normalized) in <code class="highlighter-rouge">anndata.X</code></li>
|
<li>Expression values (raw or normalized) in <code class="language-plaintext highlighter-rouge">anndata.X</code></li>
|
||||||
<li>At least one embedding (e.g., tSNE, UMAP) in <code class="highlighter-rouge">anndata.obsm</code>, specified with the prefix <code class="highlighter-rouge">X_</code> (e.g., by default scanpy stores UMAP coordinates in <code class="highlighter-rouge">anndata.obsm['X_umap']</code>)</li>
|
<li>At least one embedding (e.g., tSNE, UMAP) in <code class="language-plaintext highlighter-rouge">anndata.obsm</code>, specified with the prefix <code class="language-plaintext highlighter-rouge">X_</code> (e.g., by default scanpy stores UMAP coordinates in <code class="language-plaintext highlighter-rouge">anndata.obsm['X_umap']</code>)</li>
|
||||||
<li>A unique identifier for every cell is available in an <code class="highlighter-rouge">anndata.obs</code> field (you can specify this with the <code class="highlighter-rouge">--obs-names</code> option)</li>
|
<li>A unique identifier for every cell is available in an <code class="language-plaintext highlighter-rouge">anndata.obs</code> field (you can specify this with the <code class="language-plaintext highlighter-rouge">--obs-names</code> option)</li>
|
||||||
<li>A unique identifier for every gene is available in an <code class="highlighter-rouge">anndata.var</code> field (you can specify which field to use with the <code class="highlighter-rouge">--var-names</code> option)</li>
|
<li>A unique identifier for every gene is available in an <code class="language-plaintext highlighter-rouge">anndata.var</code> field (you can specify which field to use with the <code class="language-plaintext highlighter-rouge">--var-names</code> option)</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h4 id="what-about-r-objects-from-seurat--bioconductor">What about R objects from seurat / bioconductor!?</h4>
|
<h4 id="what-about-r-objects-from-seurat--bioconductor">What about R objects from seurat / bioconductor!?</h4>
|
||||||
<p>We hear you! We’d also love to be able to ingest these files directly. This isn’t currently possible, but in the meantime, you can use one of <a href="https://satijalab.org/seurat/v3.0/conversion_vignette.html">these handy adapters</a> to convert to <code class="highlighter-rouge">h5ad</code>.</p>
|
<p>We hear you! We’d also love to be able to ingest these files directly. This isn’t currently possible, but in the meantime, you can use <a href="https://bioconda.github.io/recipes/r-sceasy/README.html">sceasy</a> (<a href="https://cellgeni.readthedocs.io/en/latest/visualisations.html">docs</a>) to convert to <code class="language-plaintext highlighter-rouge">h5ad</code>. Seurat also has some <a href="https://satijalab.org/seurat/v3.0/conversion_vignette.html">handy conversion tools</a> that you can try out.</p>
|
||||||
|
|
||||||
<h4 id="can-i-use-data-hosted-on-the-web-somewhere">Can I use data hosted on the web somewhere?</h4>
|
<h4 id="can-i-use-data-hosted-on-the-web-somewhere">Can I use data hosted on the web somewhere?</h4>
|
||||||
<p>Yes! You can launch from a URL instead of a filepath. The same data format requirements apply. Please see <a href="launch">here</a> for more details.</p>
|
<p>Yes! You can launch from a URL instead of a filepath. The same data format requirements apply. Please see <a href="launch">here</a> for more details.</p>
|
||||||
|
|
||||||
<h1 id="using-cellxgene-prepare">Using <code class="highlighter-rouge">cellxgene prepare</code></h1>
|
<h1 id="using-cellxgene-prepare">Using <code class="language-plaintext highlighter-rouge">cellxgene prepare</code></h1>
|
||||||
|
|
||||||
<p>If your data is in a different format, and/or you still need to perform dimensionality reduction and/or clustering, <code class="highlighter-rouge">cellxgene</code> can do that for you with the <code class="highlighter-rouge">prepare</code> command.</p>
|
<p>If your data is in a different format, and/or you still need to perform dimensionality reduction and/or clustering, <code class="language-plaintext highlighter-rouge">cellxgene</code> can do that for you with the <code class="language-plaintext highlighter-rouge">prepare</code> command.</p>
|
||||||
|
|
||||||
<h2 id="what-is-cellxgene-prepare">What is <code class="highlighter-rouge">cellxgene prepare</code>?</h2>
|
<h2 id="what-is-cellxgene-prepare">What is <code class="language-plaintext highlighter-rouge">cellxgene prepare</code>?</h2>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">cellxgene prepare</code> offers an easy command line interface (CLI) to preliminarily wrangle your data into the required format for previewing it with cellxgene. It runs <code class="highlighter-rouge">scanpy</code> under the hood and can read in any format that is currently supported by <code class="highlighter-rouge">scanpy</code> (including mtx, loom, and more listed <a href="https://scanpy.readthedocs.io/en/latest/api/index.html#reading">in the scanpy documentation</a>).</p>
|
<p><code class="language-plaintext highlighter-rouge">cellxgene prepare</code> offers an easy command line interface (CLI) to preliminarily wrangle your data into the required format for previewing it with cellxgene. It runs <code class="language-plaintext highlighter-rouge">scanpy</code> under the hood and can read in any format that is currently supported by <code class="language-plaintext highlighter-rouge">scanpy</code> (including mtx, loom, and more listed <a href="https://scanpy.readthedocs.io/en/latest/api/index.html#reading">in the scanpy documentation</a>).</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">prepare</code> uses scanpy to:</p>
|
<p><code class="language-plaintext highlighter-rouge">prepare</code> uses scanpy to:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>Handle simple data normalization (from a <a href="https://www.pydoc.io/pypi/scanpy-0.2.3/autoapi/preprocessing/recipes/index.html">recipe</a>)</li>
|
<li>Handle simple data normalization (from a <a href="https://www.pydoc.io/pypi/scanpy-0.2.3/autoapi/preprocessing/recipes/index.html">recipe</a>)</li>
|
||||||
@@ -127,70 +131,70 @@
|
|||||||
|
|
||||||
<p>You can control which steps to run and their methods (when applicable), via the CLI. The CLI also includes options for computing QC metrics, enforcing matrix sparcity, specifying index names, and plotting output.</p>
|
<p>You can control which steps to run and their methods (when applicable), via the CLI. The CLI also includes options for computing QC metrics, enforcing matrix sparcity, specifying index names, and plotting output.</p>
|
||||||
|
|
||||||
<h2 id="what-is-cellxgene-prepare-not">What is cellxgene <code class="highlighter-rouge">prepare</code> <em>not</em>?</h2>
|
<h2 id="what-is-cellxgene-prepare-not">What is cellxgene <code class="language-plaintext highlighter-rouge">prepare</code> <em>not</em>?</h2>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">cellxgene prepare</code> is not meant as a way to formally process or analyze your data. It’s simply a utility for quickly wrangling your data into cellxgene-compatible format and computing a “vanilla” embedding so you can try out <code class="highlighter-rouge">cellxgene</code> and get a general sense of a dataset.</p>
|
<p><code class="language-plaintext highlighter-rouge">cellxgene prepare</code> is not meant as a way to formally process or analyze your data. It’s simply a utility for quickly wrangling your data into cellxgene-compatible format and computing a “vanilla” embedding so you can try out <code class="language-plaintext highlighter-rouge">cellxgene</code> and get a general sense of a dataset.</p>
|
||||||
|
|
||||||
<h2 id="quickstart-for-cellxgene-prepare">Quickstart for <code class="highlighter-rouge">cellxgene prepare</code></h2>
|
<h2 id="quickstart-for-cellxgene-prepare">Quickstart for <code class="language-plaintext highlighter-rouge">cellxgene prepare</code></h2>
|
||||||
<p>To add <code class="highlighter-rouge">cellxgene prepare</code> to your <a href="install">cellxgene installation</a>, run<br />
|
<p>To add <code class="language-plaintext highlighter-rouge">cellxgene prepare</code> to your <a href="install">cellxgene installation</a>, run<br />
|
||||||
<code class="highlighter-rouge">pip install cellxgene[prepare]</code></p>
|
<code class="language-plaintext highlighter-rouge">pip install cellxgene[prepare]</code></p>
|
||||||
|
|
||||||
<p>Then run <code class="highlighter-rouge">prepare</code> on your data with:</p>
|
<p>Then run <code class="language-plaintext highlighter-rouge">prepare</code> on your data with:</p>
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene prepare dataset.h5ad --output=dataset-processed.h5ad
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene prepare dataset.h5ad --output=dataset-processed.h5ad
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>This will load the input data, perform PCA and nearest neighbor calculations, compute <code class="highlighter-rouge">UMAP</code> and <code class="highlighter-rouge">tSNE</code> embeddings and <code class="highlighter-rouge">louvain</code> cluster assignments, and save the results in a new file called <code class="highlighter-rouge">dataset-processed.h5ad</code> that can be loaded using <code class="highlighter-rouge">cellxgene launch</code>.</p>
|
<p>This will load the input data, perform PCA and nearest neighbor calculations, compute <code class="language-plaintext highlighter-rouge">UMAP</code> and <code class="language-plaintext highlighter-rouge">tSNE</code> embeddings and <code class="language-plaintext highlighter-rouge">louvain</code> cluster assignments, and save the results in a new file called <code class="language-plaintext highlighter-rouge">dataset-processed.h5ad</code> that can be loaded using <code class="language-plaintext highlighter-rouge">cellxgene launch</code>.</p>
|
||||||
|
|
||||||
<h2 id="example-usage">Example usage</h2>
|
<h2 id="example-usage">Example usage</h2>
|
||||||
|
|
||||||
<p>As a quick example, let’s construct a command to use <code class="highlighter-rouge">prepare</code> to take a raw expression matrix and generate a processed <code class="highlighter-rouge">h5ad</code> ready to visualize with cellxgene.</p>
|
<p>As a quick example, let’s construct a command to use <code class="language-plaintext highlighter-rouge">prepare</code> to take a raw expression matrix and generate a processed <code class="language-plaintext highlighter-rouge">h5ad</code> ready to visualize with cellxgene.</p>
|
||||||
|
|
||||||
<p>We’ll start off using the raw data from the pbmc3k dataset. This dataset is described <a href="https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.datasets.pbmc3k.html">here</a>, and is available as part of the scanpy package. For this example, we’ll assume this raw data is stored in a file called <code class="highlighter-rouge">pbmc3k-raw.h5ad</code>.</p>
|
<p>We’ll start off using the raw data from the pbmc3k dataset. This dataset is described <a href="https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.datasets.pbmc3k.html">here</a>, and is available as part of the scanpy package. For this example, we’ll assume this raw data is stored in a file called <code class="language-plaintext highlighter-rouge">pbmc3k-raw.h5ad</code>.</p>
|
||||||
|
|
||||||
<p>Our <code class="highlighter-rouge">prepare</code> command looks like this:</p>
|
<p>Our <code class="language-plaintext highlighter-rouge">prepare</code> command looks like this:</p>
|
||||||
|
|
||||||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene prepare pbmc3k-raw.h5ad \
|
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cellxgene prepare pbmc3k-raw.h5ad \
|
||||||
--run-qc \ # (A)
|
--run-qc \ # (A)
|
||||||
--recipe seurat \ # (B)
|
--recipe seurat \ # (B)
|
||||||
--layout tsne --layout umap \ # (C)
|
--layout tsne --layout umap \ # (C)
|
||||||
--output pbmc3k-prepared.h5ad # (D)
|
--output pbmc3k-prepared.h5ad # (D)
|
||||||
</code></pre></div></div>
|
</code></pre></div></div>
|
||||||
|
|
||||||
<p>Let’s look at what <code class="highlighter-rouge">prepare</code> is doing to our data, and how each step relates to the command above. You can see a walkthrough of what’s going on under the hood for this example in <a href="https://github.com/chanzuckerberg/cellxgene-vignettes/blob/master/dataset-processing/pbmc3k-prepare-example.ipynb">this notebook</a>.</p>
|
<p>Let’s look at what <code class="language-plaintext highlighter-rouge">prepare</code> is doing to our data, and how each step relates to the command above. You can see a walkthrough of what’s going on under the hood for this example in <a href="https://github.com/chanzuckerberg/cellxgene-vignettes/blob/master/dataset-processing/pbmc3k-prepare-example.ipynb">this notebook</a>.</p>
|
||||||
|
|
||||||
<p><strong>(A) - Compute quality control metrics and store this in our <code class="highlighter-rouge">AnnData</code> object for later inspection</strong> <br />
|
<p><strong>(A) - Compute quality control metrics and store this in our <code class="language-plaintext highlighter-rouge">AnnData</code> object for later inspection</strong> <br />
|
||||||
<strong>(B) - Normalize the expression matrix using a basic preprocessing recipe</strong> <br />
|
<strong>(B) - Normalize the expression matrix using a basic preprocessing recipe</strong> <br />
|
||||||
<strong>(auto) - Do some preprocessing to run PCA and compute the neighbor graph</strong><br />
|
<strong>(auto) - Do some preprocessing to run PCA and compute the neighbor graph</strong><br />
|
||||||
<strong>(auto) - Infer clusters with the Louvain algorithm and store these labels to visualize later</strong><br />
|
<strong>(auto) - Infer clusters with the Louvain algorithm and store these labels to visualize later</strong><br />
|
||||||
<strong>(C) - Compute and store UMAP and tSNE embeddings</strong><br />
|
<strong>(C) - Compute and store UMAP and tSNE embeddings</strong><br />
|
||||||
<strong>(D) - Write results to file</strong></p>
|
<strong>(D) - Write results to file</strong></p>
|
||||||
|
|
||||||
<h2 id="options-for-cellxgene-prepare">Options for cellxgene <code class="highlighter-rouge">prepare</code></h2>
|
<h2 id="options-for-cellxgene-prepare">Options for cellxgene <code class="language-plaintext highlighter-rouge">prepare</code></h2>
|
||||||
|
|
||||||
<p><strong>For the most up-to-date and comprehensive list of options, run <code class="highlighter-rouge">cellxgene prepare --help</code></strong></p>
|
<p><strong>For the most up-to-date and comprehensive list of options, run <code class="language-plaintext highlighter-rouge">cellxgene prepare --help</code></strong></p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--embedding</code> controls which dimensionality reduction algorithm is applies to your data.<br />
|
<p><code class="language-plaintext highlighter-rouge">--embedding</code> controls which dimensionality reduction algorithm is applies to your data.<br />
|
||||||
Options are <code class="highlighter-rouge">umap</code> and/or <code class="highlighter-rouge">tsne</code>. Defaults to both.</p>
|
Options are <code class="language-plaintext highlighter-rouge">umap</code> and/or <code class="language-plaintext highlighter-rouge">tsne</code>. Defaults to both.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--recipe</code> controls which normalization steps to apply to your data, based on one of the preprocessing <code class="highlighter-rouge">recipes</code> included with <code class="highlighter-rouge">scanpy</code>.
|
<p><code class="language-plaintext highlighter-rouge">--recipe</code> controls which normalization steps to apply to your data, based on one of the preprocessing <code class="language-plaintext highlighter-rouge">recipes</code> included with <code class="language-plaintext highlighter-rouge">scanpy</code>.
|
||||||
These recipes include steps like cell filtering and gene selection; see the <code class="highlighter-rouge">scanpy</code> <a href="https://scanpy.readthedocs.io/en/latest/api/index.html#recipes">documentation</a> for more details. <br />
|
These recipes include steps like cell filtering and gene selection; see the <code class="language-plaintext highlighter-rouge">scanpy</code> <a href="https://scanpy.readthedocs.io/en/latest/api/index.html#recipes">documentation</a> for more details. <br />
|
||||||
Options are <code class="highlighter-rouge">none</code>, <code class="highlighter-rouge">seurat</code>, or <code class="highlighter-rouge">zheng17</code>. Defaults to <code class="highlighter-rouge">none</code>.</p>
|
Options are <code class="language-plaintext highlighter-rouge">none</code>, <code class="language-plaintext highlighter-rouge">seurat</code>, or <code class="language-plaintext highlighter-rouge">zheng17</code>. Defaults to <code class="language-plaintext highlighter-rouge">none</code>.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--sparse</code> is a flag determines whether to enforce a sparse matrix. For large datasets, <code class="highlighter-rouge">prepare</code> can take a long time to run (a few minutes for datasets with 10-100k cells, up to an hour or more for datasets with >100k cells). If you want <code class="highlighter-rouge">prepare</code> to run faster we recommend using the <code class="highlighter-rouge">sparse</code> option.<br />
|
<p><code class="language-plaintext highlighter-rouge">--sparse</code> is a flag determines whether to enforce a sparse matrix. For large datasets, <code class="language-plaintext highlighter-rouge">prepare</code> can take a long time to run (a few minutes for datasets with 10-100k cells, up to an hour or more for datasets with >100k cells). If you want <code class="language-plaintext highlighter-rouge">prepare</code> to run faster we recommend using the <code class="language-plaintext highlighter-rouge">sparse</code> option.<br />
|
||||||
If this flag is not included, default is <code class="highlighter-rouge">False</code></p>
|
If this flag is not included, default is <code class="language-plaintext highlighter-rouge">False</code></p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--skip-qc</code> by default, <code class="highlighter-rouge">cellxgene prepare</code> will compute quality control metrics (saved to <code class="highlighter-rouge">anndata.obs</code> and <code class="highlighter-rouge">anndata.var</code>) as described in the <code class="highlighter-rouge">scanpy</code> <a href="https://scanpy.readthedocs.io/en/stable/api/scanpy.pp.calculate_qc_metrics.html">documentation</a>. Pass this flag if you would like to skip this step.</p>
|
<p><code class="language-plaintext highlighter-rouge">--skip-qc</code> by default, <code class="language-plaintext highlighter-rouge">cellxgene prepare</code> will compute quality control metrics (saved to <code class="language-plaintext highlighter-rouge">anndata.obs</code> and <code class="language-plaintext highlighter-rouge">anndata.var</code>) as described in the <code class="language-plaintext highlighter-rouge">scanpy</code> <a href="https://scanpy.readthedocs.io/en/stable/api/scanpy.pp.calculate_qc_metrics.html">documentation</a>. Pass this flag if you would like to skip this step.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--make-obs-names-unique</code> / <code class="highlighter-rouge">--make-var-names-unique</code> determine whether to rename <code class="highlighter-rouge">obs</code> (cell) / <code class="highlighter-rouge">var</code> (gene) names, respectively, to be unique.<br />
|
<p><code class="language-plaintext highlighter-rouge">--make-obs-names-unique</code> / <code class="language-plaintext highlighter-rouge">--make-var-names-unique</code> determine whether to rename <code class="language-plaintext highlighter-rouge">obs</code> (cell) / <code class="language-plaintext highlighter-rouge">var</code> (gene) names, respectively, to be unique.<br />
|
||||||
Default is <code class="highlighter-rouge">True</code>.</p>
|
Default is <code class="language-plaintext highlighter-rouge">True</code>.</p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--set-obs-names</code> controls which field in <code class="highlighter-rouge">anndata.obs</code> (cell metadata) is used as the <em>index</em> for cells (e.g., a cell ID column).<br />
|
<p><code class="language-plaintext highlighter-rouge">--set-obs-names</code> controls which field in <code class="language-plaintext highlighter-rouge">anndata.obs</code> (cell metadata) is used as the <em>index</em> for cells (e.g., a cell ID column).<br />
|
||||||
Default is <code class="highlighter-rouge">anndata.obs.names</code></p>
|
Default is <code class="language-plaintext highlighter-rouge">anndata.obs.names</code></p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--set-var-names</code> controls which field in <code class="highlighter-rouge">anndata.var</code> (gene metadata) is used as the <em>index</em> for genes.<br />
|
<p><code class="language-plaintext highlighter-rouge">--set-var-names</code> controls which field in <code class="language-plaintext highlighter-rouge">anndata.var</code> (gene metadata) is used as the <em>index</em> for genes.<br />
|
||||||
Default is <code class="highlighter-rouge">anndata.var.names</code></p>
|
Default is <code class="language-plaintext highlighter-rouge">anndata.var.names</code></p>
|
||||||
|
|
||||||
<p><code class="highlighter-rouge">--output</code> and <code class="highlighter-rouge">--overwrite</code> control where the processed data is saved.</p>
|
<p><code class="language-plaintext highlighter-rouge">--output</code> and <code class="language-plaintext highlighter-rouge">--overwrite</code> control where the processed data is saved.</p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<footer>
|
<footer>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/roadmap.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/roadmap.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"Roadmap","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/roadmap.html","headline":"roadmap","@context":"http://schema.org"}</script>
|
{"description":"Roadmap","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"roadmap","url":"http://localhost:4000/cellxgene/posts/roadmap.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -16,10 +16,10 @@
|
|||||||
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/troubleshooting.html" />
|
<meta property="og:url" content="http://localhost:4000/cellxgene/posts/troubleshooting.html" />
|
||||||
<meta property="og:site_name" content="cellxgene" />
|
<meta property="og:site_name" content="cellxgene" />
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{"description":"Troubleshooting","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","url":"http://localhost:4000/cellxgene/posts/troubleshooting.html","headline":"Troubleshooting","@context":"http://schema.org"}</script>
|
{"description":"Troubleshooting","publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"http://localhost:4000/cellxgene/cellxgene-logo.png"}},"@type":"WebPage","headline":"Troubleshooting","url":"http://localhost:4000/cellxgene/posts/troubleshooting.html","@context":"http://schema.org"}</script>
|
||||||
<!-- End Jekyll SEO tag -->
|
<!-- End Jekyll SEO tag -->
|
||||||
|
|
||||||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=d2171b9a2f9935b8b92c3103c93405d1d74ef2b3">
|
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=88411ae4b44d899609d211ed2db5c41e4fba3068">
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
@@ -85,6 +85,10 @@
|
|||||||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -93,18 +97,18 @@
|
|||||||
<section>
|
<section>
|
||||||
<h1 id="troubleshooting-tips--tricks">Troubleshooting tips & tricks</h1>
|
<h1 id="troubleshooting-tips--tricks">Troubleshooting tips & tricks</h1>
|
||||||
|
|
||||||
<h4 id="i-tried-to-pip-install-cellxgene-and-got-a-weird-error-i-dont-understand">I tried to <code class="highlighter-rouge">pip install cellxgene</code> and got a weird error I don’t understand</h4>
|
<h4 id="i-tried-to-pip-install-cellxgene-and-got-a-weird-error-i-dont-understand">I tried to <code class="language-plaintext highlighter-rouge">pip install cellxgene</code> and got a weird error I don’t understand</h4>
|
||||||
|
|
||||||
<p>This may happen, especially as we work out bugs in our installation process! Please create a new <a href="https://github.com/chanzuckerberg/cellxgene/issues">Github issue</a>, explain what you did, and include all the error messages you saw. It’d also be super helpful if you call <code class="highlighter-rouge">pip freeze</code> and include the full output alongside your issue.</p>
|
<p>This may happen, especially as we work out bugs in our installation process! Please create a new <a href="https://github.com/chanzuckerberg/cellxgene/issues">Github issue</a>, explain what you did, and include all the error messages you saw. It’d also be super helpful if you call <code class="language-plaintext highlighter-rouge">pip freeze</code> and include the full output alongside your issue.</p>
|
||||||
|
|
||||||
<h4 id="i-have-a-big-dataset-how-can-i-make-cellxgene-run-as-fast-as-possible">I have a BIG dataset, how can I make cellxgene run as fast as possible?</h4>
|
<h4 id="i-have-a-big-dataset-how-can-i-make-cellxgene-run-as-fast-as-possible">I have a BIG dataset, how can I make cellxgene run as fast as possible?</h4>
|
||||||
|
|
||||||
<p>If your dataset requires gigabytes of disk space, you may need to select an appropriate storage format in order to effectively utilize <code class="highlighter-rouge">cellxgene</code>. Tips and tricks:</p>
|
<p>If your dataset requires gigabytes of disk space, you may need to select an appropriate storage format in order to effectively utilize <code class="language-plaintext highlighter-rouge">cellxgene</code>. Tips and tricks:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><code class="highlighter-rouge">cellxgene</code> is optimized for columnar data access. For large datasets, format the expression matrix (<code class="highlighter-rouge">.X</code>) as either a <a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html">SciPy CSC sparse matrix</a> or a dense Numpy array (whichever creates a smaller <code class="highlighter-rouge">h5ad</code> file). If you are using <code class="highlighter-rouge">cellxgene prepare</code>, include the <code class="highlighter-rouge">--sparse</code> flag to ensure <code class="highlighter-rouge">.X</code> is formatted as a CSC sparse matrix (by default, <code class="highlighter-rouge">.X</code> will be a dense matrix).</li>
|
<li><code class="language-plaintext highlighter-rouge">cellxgene</code> is optimized for columnar data access. For large datasets, format the expression matrix (<code class="language-plaintext highlighter-rouge">.X</code>) as either a <a href="https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html">SciPy CSC sparse matrix</a> or a dense Numpy array (whichever creates a smaller <code class="language-plaintext highlighter-rouge">h5ad</code> file). If you are using <code class="language-plaintext highlighter-rouge">cellxgene prepare</code>, include the <code class="language-plaintext highlighter-rouge">--sparse</code> flag to ensure <code class="language-plaintext highlighter-rouge">.X</code> is formatted as a CSC sparse matrix (by default, <code class="language-plaintext highlighter-rouge">.X</code> will be a dense matrix).</li>
|
||||||
<li>By default, <code class="highlighter-rouge">cellxgene</code> loads the dataset into memory, and start time is directly proportional to <code class="highlighter-rouge">h5ad</code> file size and the speed of your file system. Expect that large (e.g., million cell) datasets will take minutes to load, even on relatively fast computers with a high performance local hard drive. Once loaded, exploring metadata should still be quick. If this start time is a problem, try the <code class="highlighter-rouge">--backed</code> flag, which will attempt to lazily load data as needed (caveat: subsequent data access may be slower).</li>
|
<li>By default, <code class="language-plaintext highlighter-rouge">cellxgene</code> loads the dataset into memory, and start time is directly proportional to <code class="language-plaintext highlighter-rouge">h5ad</code> file size and the speed of your file system. Expect that large (e.g., million cell) datasets will take minutes to load, even on relatively fast computers with a high performance local hard drive. Once loaded, exploring metadata should still be quick. If this start time is a problem, try the <code class="language-plaintext highlighter-rouge">--backed</code> flag, which will attempt to lazily load data as needed (caveat: subsequent data access may be slower).</li>
|
||||||
<li>If your dataset size exceeds the size of memory (RAM) on the host computer, differential expression calculations will be extremely slow (or fail, if you run out of virtual memory). In this case, we recommend running with the <code class="highlighter-rouge">--disable-diffexp</code> flag. For datasets that are extremely large, you may also find the <code class="highlighter-rouge">--backed</code> flag improves your ability to explore them.</li>
|
<li>If your dataset size exceeds the size of memory (RAM) on the host computer, differential expression calculations will be extremely slow (or fail, if you run out of virtual memory). In this case, we recommend running with the <code class="language-plaintext highlighter-rouge">--disable-diffexp</code> flag. For datasets that are extremely large, you may also find the <code class="language-plaintext highlighter-rouge">--backed</code> flag improves your ability to explore them.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h4 id="im-following-the-developer-instructions-and-get-an-error-about-missing-files-and-directories-when-trying-to-build-the-client">I’m following the developer instructions and get an error about “missing files and directories” when trying to build the client</h4>
|
<h4 id="im-following-the-developer-instructions-and-get-an-error-about-missing-files-and-directories-when-trying-to-build-the-client">I’m following the developer instructions and get an error about “missing files and directories” when trying to build the client</h4>
|
||||||
|
|||||||
@@ -2,10 +2,38 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
@import "{{ site.theme }}";
|
@import "{{ site.theme }}";
|
||||||
body { color: #3b3a3a;}
|
body {
|
||||||
section { width: 500px; float: right; padding-bottom: 50px; padding-top:15px}
|
color: #3b3a3a;
|
||||||
a { color: #9E2364; text-decoration: none; }
|
}
|
||||||
a:hover, a:focus { color: #9E2364; font-weight: bold; }
|
section {
|
||||||
a small { font-size: 11px; color: #9E2364; margin-top: -0.3em; display: block; }
|
width: 500px;
|
||||||
a:hover small { color: #9E2364; }
|
float: right;
|
||||||
body { font: 14px/1.5 "Roboto", "Arial", Helvetica, Arial, sans-serif; color: #000000; font-weight: 400; }
|
padding-bottom: 50px;
|
||||||
|
padding-top: 15px;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: #9e2364;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
a:hover,
|
||||||
|
a:focus {
|
||||||
|
color: #9e2364;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
a small {
|
||||||
|
font-size: 11px;
|
||||||
|
color: #9e2364;
|
||||||
|
margin-top: -0.3em;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 644 KiB After Width: | Height: | Size: 80 KiB |
@@ -36,7 +36,7 @@ Compatible annotations are tabular, with category names as column headers; `annd
|
|||||||
|
|
||||||
There are two options for updating draft annotations.
|
There are two options for updating draft annotations.
|
||||||
|
|
||||||
### Autodetect annotations csv
|
### Autodetect annotations CSV
|
||||||
|
|
||||||
Cellxgene will automatically find and reload your draft annotations in editable mode.
|
Cellxgene will automatically find and reload your draft annotations in editable mode.
|
||||||
|
|
||||||
@@ -45,9 +45,9 @@ This assumes that:
|
|||||||
2 - You launch cellxgene from the `annotations-directory` (i.e., the directory that contains your CSV)
|
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)
|
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
|
### Specify an annotations CSV
|
||||||
|
|
||||||
**This mode is only appropriate for single-user, local cellxgene instances**
|
**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:
|
If you'd like to specify the complete file path for your annotations, you can do so by running:
|
||||||
|
|
||||||
|
|||||||
37
docs/posts/cellxgene_cziscience_com.md
Normal file
37
docs/posts/cellxgene_cziscience_com.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
title: cellxgene.cziscience.com
|
||||||
|
subtitle: cellxgene.cziscience.com
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
|
||||||
|
# cellxgene.cziscience.com
|
||||||
|
|
||||||
|
Chan Zuckerberg has an online repository of public single-cell datasets for exploration with cellxgene.
|
||||||
|
|
||||||
|
If you have a public dataset which you would like hosted for visualization on this site,
|
||||||
|
with a link to embed on your own site, please drop us a note at <mailto:cellxgene@chanzuckerberg.com>.
|
||||||
|
|
||||||
|
<table class="fixed-layout">
|
||||||
|
<thead style="width: 100%">
|
||||||
|
<tr>
|
||||||
|
<th>cellxgene link</th>
|
||||||
|
<th>Source</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody style="width: 100%">
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://cellxgene.cziscience.com/d/krasnow_lab_human_lung_cell_atlas_10x-1.cxg/" target="_blank">Krasnow Lab Human Lung Cell Atlas, 10X</a></td>
|
||||||
|
<td>
|
||||||
|
<a href="http://cmgm-new.stanford.edu/krasnow/">Krasnow Lab</a>,
|
||||||
|
<a href="https://github.com/krasnowlab/hlca">HLCA website</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><a href="https://cellxgene.cziscience.com/d/krasnow_lab_human_lung_cell_atlas_smartseq2-2.cxg/" target="_blank">Krasnow Lab Human Lung Cell Atlas, Smart-seq2</a></td>
|
||||||
|
<td>
|
||||||
|
<a href="http://cmgm-new.stanford.edu/krasnow/">Krasnow Lab</a>,
|
||||||
|
<a href="https://github.com/krasnowlab/hlca">HLCA website</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
@@ -6,29 +6,39 @@ layout: default
|
|||||||
|
|
||||||
# Features
|
# Features
|
||||||
|
|
||||||
### Cross-filter cells and color by metadata
|
### Cross-filter cells and color by metadata
|
||||||
|
|
||||||
<img src="../images/crossfilter.gif" width="600"/>
|
<img src="../images/crossfilter.gif" width="600"/>
|
||||||
|
|
||||||
### Compare groups of cells with differential expression
|
### Compare groups of cells with differential expression
|
||||||
|
|
||||||
<img src="../images/diffexp.gif" width="600"/>
|
<img src="../images/diffexp.gif" width="600"/>
|
||||||
|
|
||||||
### See how metadata and gene expression break down across categories
|
### See how metadata and gene expression break down across categories
|
||||||
|
|
||||||
<img src="../images/category-breakdown.gif" width="600"/>
|
<img src="../images/category-breakdown.gif" width="600"/>
|
||||||
|
|
||||||
### Find cells where a gene is expressed
|
### Find cells where a gene is expressed
|
||||||
|
|
||||||
<img src="../images/gene-expression.gif" width="600"/>
|
<img src="../images/gene-expression.gif" width="600"/>
|
||||||
|
|
||||||
### Compare expression of multiple genes
|
### Compare expression of multiple genes
|
||||||
|
|
||||||
<img src="../images/compare-genes.gif" width="600"/>
|
<img src="../images/compare-genes.gif" width="600"/>
|
||||||
|
|
||||||
# Interactive demos
|
# Interactive demos
|
||||||
|
|
||||||
Several groups have independently [deployed](hosted) various versions of cellxgene to the web.
|
Several groups have independently [deployed](hosted) various versions of cellxgene to the web.
|
||||||
Check out the cool data that our users are using cellxgene to explore!
|
Check out the cool data that our users are using cellxgene to explore!
|
||||||
|
|
||||||
### [Kidney cell atlas](https://www.kidneycellatlas.org/)
|
### [Kidney cell atlas](https://www.kidneycellatlas.org/)
|
||||||
### [Tabula muris senis](https://tabula-muris-senis.ds.czbiohub.org/)
|
|
||||||
|
### [Tabula muris senis](https://tabula-muris-senis.ds.czbiohub.org/)
|
||||||
|
|
||||||
### [Hemocytes](https://hemocytes.cellgeni.sanger.ac.uk/)
|
### [Hemocytes](https://hemocytes.cellgeni.sanger.ac.uk/)
|
||||||
|
|
||||||
### [Melanoma](https://melanoma.cellgeni.sanger.ac.uk/)
|
### [Melanoma](https://melanoma.cellgeni.sanger.ac.uk/)
|
||||||
|
|
||||||
|
### [CZI's own cellxgene site](cellxgene_cziscience_com)
|
||||||
|
|
||||||
_Want us to link to your dataset here? [Just send us a note!](contact)_
|
_Want us to link to your dataset here? [Just send us a note!](contact)_
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ cellxgene launch mydataset.h5ad --open
|
|||||||
|
|
||||||
You should see your web browser open with the following
|
You should see your web browser open with the following
|
||||||
|
|
||||||
<img width="450" src="https://raw.githubusercontent.com/chanzuckerberg/cellxgene/master/docs/cellxgene-opening-screenshot.png" pad="50px">
|
<img width="600" src="../images/cellxgene-opening-screenshot.png" pad="50px">
|
||||||
|
|
||||||
**Note**: automatic opening of the browser with the `--open` flag only works on some platforms (eg, OSX). On other platforms you'll need to directly point to the provided link in your browser.
|
**Note**: automatic opening of the browser with the `--open` flag only works on some platforms (eg, OSX). On other platforms you'll need to directly point to the provided link in your browser.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user