Read the Docs build information
Build id: 202061
Project: icb-scanpy
Version: latest
Commit: 0401341877e586e36412db1e178601bf1f545037
Date: 2019-04-17T16:54:09.776654Z
State: finished
Success: True
[rtd-command-info] start-time: 2019-04-17T16:56:35.178231Z, end-time: 2019-04-17T16:56:35.189295Z, duration: 0, exit-code: 0
git remote set-url origin https://github.com/theislab/scanpy.git
[rtd-command-info] start-time: 2019-04-17T16:56:35.249618Z, end-time: 2019-04-17T16:56:36.777352Z, duration: 1, exit-code: 0
git fetch --tags --prune --prune-tags --depth 50
From https://github.com/theislab/scanpy
- [deleted] (none) -> origin/cli
- [deleted] (none) -> origin/return-formatting
5a2003a..0401341 master -> origin/master
[rtd-command-info] start-time: 2019-04-17T16:56:37.453855Z, end-time: 2019-04-17T16:56:37.473054Z, duration: 0, exit-code: 0
git checkout --force origin/master
Previous HEAD position was 5a2003a Implemented a CLI (#604)
HEAD is now at 0401341 Doc overhaul (#610)
[rtd-command-info] start-time: 2019-04-17T16:56:37.535310Z, end-time: 2019-04-17T16:56:37.545687Z, duration: 0, exit-code: 0
git clean -d -f -f
[rtd-command-info] start-time: 2019-04-17T16:56:38.245884Z, end-time: 2019-04-17T16:56:42.006639Z, duration: 3, exit-code: 0
python3.6 -mvirtualenv --no-site-packages --no-download
Using base prefix '/home/docs/.pyenv/versions/3.6.4'
New python executable in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python3.6
Not overwriting existing python script /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python (you must use /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/bin/python3.6)
Installing setuptools, pip, wheel...
done.
[rtd-command-info] start-time: 2019-04-17T16:56:42.069787Z, end-time: 2019-04-17T16:56:42.948727Z, duration: 0, exit-code: 0
python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip pip
Requirement already up-to-date: pip in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (19.0.3)
[rtd-command-info] start-time: 2019-04-17T16:56:43.009015Z, end-time: 2019-04-17T16:56:50.405299Z, duration: 7, exit-code: 0
python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip Pygments==2.3.1 setuptools<41 docutils==0.14 mock==1.0.1 pillow==5.4.1 alabaster>=0.7,<0.8,!=0.7.5 commonmark==0.8.1 recommonmark==0.5.0 sphinx<2 sphinx-rtd-theme<0.5 readthedocs-sphinx-ext<0.6
Requirement already up-to-date: Pygments==2.3.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (2.3.1)
Requirement already up-to-date: setuptools<41 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (40.9.0)
Requirement already up-to-date: docutils==0.14 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (0.14)
Collecting mock==1.0.1
Requirement already up-to-date: pillow==5.4.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (5.4.1)
Requirement already up-to-date: alabaster!=0.7.5,<0.8,>=0.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (0.7.12)
Requirement already up-to-date: commonmark==0.8.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (0.8.1)
Requirement already up-to-date: recommonmark==0.5.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (0.5.0)
Collecting sphinx<2
Using cached https://files.pythonhosted.org/packages/7d/66/a4af242b4348b729b9d46ce5db23943ce9bca7da9bbe2ece60dc27f26420/Sphinx-1.8.5-py2.py3-none-any.whl
Requirement already up-to-date: sphinx-rtd-theme<0.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (0.4.3)
Requirement already up-to-date: readthedocs-sphinx-ext<0.6 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (0.5.17)
Requirement already satisfied, skipping upgrade: future in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from commonmark==0.8.1) (0.17.1)
Requirement already satisfied, skipping upgrade: requests>=2.0.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (2.21.0)
Requirement already satisfied, skipping upgrade: packaging in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (19.0)
Requirement already satisfied, skipping upgrade: imagesize in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (1.1.0)
Requirement already satisfied, skipping upgrade: sphinxcontrib-websupport in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (1.1.0)
Requirement already satisfied, skipping upgrade: Jinja2>=2.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (2.10.1)
Requirement already satisfied, skipping upgrade: babel!=2.0,>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (2.6.0)
Requirement already satisfied, skipping upgrade: six>=1.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (1.12.0)
Requirement already satisfied, skipping upgrade: snowballstemmer>=1.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx<2) (1.2.1)
Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<2) (2.8)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<2) (2019.3.9)
Requirement already satisfied, skipping upgrade: urllib3<1.25,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<2) (1.24.1)
Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.0.0->sphinx<2) (3.0.4)
Requirement already satisfied, skipping upgrade: pyparsing>=2.0.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from packaging->sphinx<2) (2.4.0)
Requirement already satisfied, skipping upgrade: MarkupSafe>=0.23 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from Jinja2>=2.3->sphinx<2) (1.1.1)
Requirement already satisfied, skipping upgrade: pytz>=0a in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from babel!=2.0,>=1.3->sphinx<2) (2019.1)
tables 3.5.1 has requirement mock>=2.0, but you'll have mock 1.0.1 which is incompatible.
Installing collected packages: mock, sphinx
Found existing installation: mock 2.0.0
Uninstalling mock-2.0.0:
Successfully uninstalled mock-2.0.0
Found existing installation: Sphinx 1.8.3
Uninstalling Sphinx-1.8.3:
Successfully uninstalled Sphinx-1.8.3
Successfully installed mock-1.0.1 sphinx-1.8.5
[rtd-command-info] start-time: 2019-04-17T16:56:50.530295Z, end-time: 2019-04-17T16:56:54.061959Z, duration: 3, exit-code: 0
python -m pip install --exists-action=w --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/.cache/pip -r docs/requirements.txt
Requirement already satisfied: sphinx_rtd_theme>=0.3.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 2)) (0.4.3)
Collecting sphinx>=2.0.1 (from -r docs/requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/9a/b0/a8cf1d35237aebefd63f05543ed49ea24d302239828ca89409b0c1a35b27/Sphinx-2.0.1-py2.py3-none-any.whl
Requirement already satisfied: sphinx-autodoc-typehints in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 6)) (1.6.0)
Requirement already satisfied: scanpydoc>=0.3.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 7)) (0.3.3)
Requirement already satisfied: anndata>=0.6.18 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 9)) (0.6.19)
Requirement already satisfied: matplotlib>=2.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 10)) (3.0.3)
Requirement already satisfied: pandas>=0.21 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 11)) (0.24.2)
Requirement already satisfied: scipy in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 12)) (1.2.1)
Requirement already satisfied: seaborn in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 13)) (0.9.0)
Requirement already satisfied: h5py in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 14)) (2.9.0)
Requirement already satisfied: tables in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 15)) (3.5.1)
Requirement already satisfied: scikit-learn>=0.19.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 16)) (0.20.3)
Requirement already satisfied: networkx in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 18)) (2.3)
Requirement already satisfied: natsort in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 19)) (6.0.0)
Requirement already satisfied: joblib in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 20)) (0.13.2)
Requirement already satisfied: numba in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 21)) (0.43.1)
Requirement already satisfied: tqdm in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from -r docs/requirements.txt (line 22)) (4.31.1)
Requirement already satisfied: alabaster<0.8,>=0.7 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (0.7.12)
Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (40.9.0)
Requirement already satisfied: Jinja2>=2.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2.10.1)
Collecting sphinxcontrib-devhelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/b0/a3/fea98741f0b2f2902fbf6c35c8e91b22cd0dd13387291e81d457f9a93066/sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl
Requirement already satisfied: Pygments>=2.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2.3.1)
Requirement already satisfied: babel!=2.0,>=1.3 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2.6.0)
Requirement already satisfied: imagesize in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (1.1.0)
Collecting sphinxcontrib-applehelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/13/9a/4428b3114d654cb1cd34d90d5e6fab938d5436f94a571155187ea1dd78b4/sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl
Collecting sphinxcontrib-htmlhelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/e4/35/80a67cc493f4a8a9634ab203a77aaa1b84d79ccb1c02eca72cb084d2c7f7/sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl
Collecting sphinxcontrib-qthelp (from sphinx>=2.0.1->-r docs/requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/ce/5b/4747c3ba98b3a3e21a66faa183d8f79b9ded70e74212a7988d236a6eb78a/sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl
Requirement already satisfied: packaging in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (19.0)
Requirement already satisfied: snowballstemmer>=1.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (1.2.1)
Requirement already satisfied: requests>=2.5.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2.21.0)
Requirement already satisfied: docutils>=0.12 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (0.14)
Collecting sphinxcontrib-serializinghtml (from sphinx>=2.0.1->-r docs/requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/57/b3/3648e48fa5682e61e9839d62de4e23af1795ceb738d68d73bd974257a95c/sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl
Collecting sphinxcontrib-jsmath (from sphinx>=2.0.1->-r docs/requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl
Requirement already satisfied: future-fstrings in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from scanpydoc>=0.3.2->-r docs/requirements.txt (line 7)) (1.0.0)
Requirement already satisfied: get_version in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from scanpydoc>=0.3.2->-r docs/requirements.txt (line 7)) (2.0.6)
Requirement already satisfied: numpy~=1.14 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from anndata>=0.6.18->-r docs/requirements.txt (line 9)) (1.16.2)
Requirement already satisfied: cycler>=0.10 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requirements.txt (line 10)) (0.10.0)
Requirement already satisfied: python-dateutil>=2.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requirements.txt (line 10)) (2.8.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requirements.txt (line 10)) (2.4.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from matplotlib>=2.2->-r docs/requirements.txt (line 10)) (1.0.1)
Requirement already satisfied: pytz>=2011k in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from pandas>=0.21->-r docs/requirements.txt (line 11)) (2019.1)
Requirement already satisfied: six in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from h5py->-r docs/requirements.txt (line 14)) (1.12.0)
Requirement already satisfied: numexpr>=2.6.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from tables->-r docs/requirements.txt (line 15)) (2.6.9)
Collecting mock>=2.0 (from tables->-r docs/requirements.txt (line 15))
Using cached https://files.pythonhosted.org/packages/e6/35/f187bdf23be87092bd0f1200d43d23076cee4d0dec109f195173fd3ebc79/mock-2.0.0-py2.py3-none-any.whl
Requirement already satisfied: decorator>=4.3.0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from networkx->-r docs/requirements.txt (line 18)) (4.4.0)
Requirement already satisfied: llvmlite>=0.28.0dev0 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from numba->-r docs/requirements.txt (line 21)) (0.28.0)
Requirement already satisfied: MarkupSafe>=0.23 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from Jinja2>=2.3->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (1.1.1)
Requirement already satisfied: certifi>=2017.4.17 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2019.3.9)
Requirement already satisfied: idna<2.9,>=2.5 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (2.8)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (3.0.4)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from requests>=2.5.0->sphinx>=2.0.1->-r docs/requirements.txt (line 5)) (1.24.1)
Requirement already satisfied: pbr>=0.11 in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages (from mock>=2.0->tables->-r docs/requirements.txt (line 15)) (5.1.3)
Installing collected packages: sphinxcontrib-devhelp, sphinxcontrib-applehelp, sphinxcontrib-htmlhelp, sphinxcontrib-qthelp, sphinxcontrib-serializinghtml, sphinxcontrib-jsmath, sphinx, mock
Found existing installation: Sphinx 1.8.5
Uninstalling Sphinx-1.8.5:
Successfully uninstalled Sphinx-1.8.5
Found existing installation: mock 1.0.1
Uninstalling mock-1.0.1:
Successfully uninstalled mock-1.0.1
Successfully installed mock-2.0.0 sphinx-2.0.1 sphinxcontrib-applehelp-1.0.1 sphinxcontrib-devhelp-1.0.1 sphinxcontrib-htmlhelp-1.0.2 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.2 sphinxcontrib-serializinghtml-1.1.3
[rtd-command-info] start-time: 2019-04-17T16:56:54.576142Z, end-time: 2019-04-17T16:56:54.637065Z, duration: 0, exit-code: 0
cat docs/conf.py
import sys
from pathlib import Path
from datetime import datetime
import matplotlib # noqa
# Don’t use tkinter agg when importing scanpy → … → matplotlib
matplotlib.use('agg')
HERE = Path(__file__).parent
sys.path.insert(0, str(HERE.parent))
import scanpy # noqa
# -- General configuration ------------------------------------------------
needs_sphinx = '1.7' # autosummary bugfix
# General information
project = 'Scanpy'
author = scanpy.__author__
copyright = f'{datetime.now():%Y}, {author}.'
version = scanpy.__version__.replace('.dirty', '')
release = version
# default settings
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
default_role = 'literal'
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
pygments_style = 'sphinx'
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.doctest',
'sphinx.ext.coverage',
'sphinx.ext.mathjax',
'sphinx.ext.napoleon',
'sphinx.ext.autosummary',
# 'plot_generator',
# 'plot_directive',
'sphinx_autodoc_typehints', # needs to be after napoleon
# 'ipython_directive',
# 'ipython_console_highlighting',
'scanpydoc',
]
# Generate the API documentation when building
autosummary_generate = True
autodoc_member_order = 'bysource'
# autodoc_default_flags = ['members']
napoleon_google_docstring = False
napoleon_numpy_docstring = True
napoleon_include_init_with_doc = False
napoleon_use_rtype = True # having a separate entry generally helps readability
napoleon_use_param = True
napoleon_custom_sections = [('Params', 'Parameters')]
todo_include_todos = False
intersphinx_mapping = dict(
anndata=('https://anndata.readthedocs.io/en/latest/', None),
bbknn=('https://bbknn.readthedocs.io/en/latest/', None),
leidenalg=('https://leidenalg.readthedocs.io/en/latest/', None),
louvain=('https://louvain-igraph.readthedocs.io/en/latest/', None),
matplotlib=('https://matplotlib.org/', None),
networkx=('https://networkx.github.io/documentation/networkx-1.10/', None),
numpy=('https://docs.scipy.org/doc/numpy/', None),
pandas=('http://pandas.pydata.org/pandas-docs/stable/', None),
python=('https://docs.python.org/3', None),
scipy=('https://docs.scipy.org/doc/scipy/reference/', None),
sklearn=('https://scikit-learn.org/stable/', None),
)
# -- Options for HTML output ----------------------------------------------
html_theme = 'sphinx_rtd_theme'
html_theme_options = dict(
navigation_depth=4,
logo_only=True, # Only show the logo
)
html_context = dict(
display_github=True, # Integrate GitHub
github_user='theislab', # Username
github_repo='scanpy', # Repo name
github_version='master', # Version
conf_py_path='/docs/', # Path in the checkout to the docs root
)
html_static_path = ['_static']
html_logo = '_static/img/Scanpy_Logo_RGB.png'
def setup(app):
app.add_stylesheet('css/custom.css')
app.connect('autodoc-process-docstring', insert_function_images)
# -- Options for other output formats ------------------------------------------
htmlhelp_basename = f'{project}doc'
doc_title = f'{project} Documentation'
latex_documents = [
(master_doc, f'{project}.tex', doc_title, author, 'manual'),
]
man_pages = [
(master_doc, project, doc_title, [author], 1)
]
texinfo_documents = [
(master_doc, project, doc_title, author, project, 'One line description of project.', 'Miscellaneous'),
]
# -- Images for plot functions -------------------------------------------------
def insert_function_images(app, what, name, obj, options, lines):
path = Path(__file__).parent / 'api' / f'{name}.png'
if what != 'function' or not path.is_file(): return
lines[0:0] = [f'.. image:: {path.name}', ' :width: 200', ' :align: right', '']
print(*lines, sep='\n')
# -- Test for new scanpydoc functionality --------------------------------------
import re
from sphinx.ext.napoleon import NumpyDocstring
def process_return(lines):
for line in lines:
m = re.fullmatch(r'(?P\w+)\s+:\s+(?P[\w.]+)', line)
if m:
# Once this is in scanpydoc, we can use the fancy hover stuff
yield f'**{m["param"]}** : :class:`~{m["type"]}`'
else:
yield line
def scanpy_parse_returns_section(self, section):
lines_raw = list(process_return(self._dedent(self._consume_to_next_section())))
lines = self._format_block(':returns: ', lines_raw)
if lines and lines[-1]:
lines.append('')
return lines
NumpyDocstring._parse_returns_section = scanpy_parse_returns_section
# -- Debug code ----------------------------------------------------------------
# Just do the following to see the rst of a function:
# rm -f _build/doctrees/api/scanpy..doctree; DEBUG=1 make html
import os
if os.environ.get('DEBUG') is not None:
import sphinx.ext.napoleon
pd = sphinx.ext.napoleon._process_docstring
def pd_new(app, what, name, obj, options, lines):
pd(app, what, name, obj, options, lines)
print(*lines, sep='\n')
sphinx.ext.napoleon._process_docstring = pd_new
###########################################################################
# auto-created readthedocs.org specific configuration #
###########################################################################
#
# The following code was added during an automated build on readthedocs.org
# It is auto created and injected for every build. The result is based on the
# conf.py.tmpl file found in the readthedocs.org codebase:
# https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl
#
import importlib
import sys
import os.path
from six import string_types
from sphinx import version_info
# Get suffix for proper linking to GitHub
# This is deprecated in Sphinx 1.3+,
# as each page can have its own suffix
if globals().get('source_suffix', False):
if isinstance(source_suffix, string_types):
SUFFIX = source_suffix
elif isinstance(source_suffix, (list, tuple)):
# Sphinx >= 1.3 supports list/tuple to define multiple suffixes
SUFFIX = source_suffix[0]
elif isinstance(source_suffix, dict):
# Sphinx >= 1.8 supports a mapping dictionary for mulitple suffixes
SUFFIX = list(source_suffix.keys())[0] # make a ``list()`` for py2/py3 compatibility
else:
# default to .rst
SUFFIX = '.rst'
else:
SUFFIX = '.rst'
# Add RTD Static Path. Add to the end because it overwrites previous files.
if not 'html_static_path' in globals():
html_static_path = []
if os.path.exists('_static'):
html_static_path.append('_static')
# Add RTD Theme only if they aren't overriding it already
using_rtd_theme = (
(
'html_theme' in globals() and
html_theme in ['default'] and
# Allow people to bail with a hack of having an html_style
'html_style' not in globals()
) or 'html_theme' not in globals()
)
if using_rtd_theme:
theme = importlib.import_module('sphinx_rtd_theme')
html_theme = 'sphinx_rtd_theme'
html_style = None
html_theme_options = {}
if 'html_theme_path' in globals():
html_theme_path.append(theme.get_html_theme_path())
else:
html_theme_path = [theme.get_html_theme_path()]
if globals().get('websupport2_base_url', False):
websupport2_base_url = 'https://readthedocs.com/websupport'
websupport2_static_url = 'https://media.readthedocs.com/'
#Add project information to the template context.
context = {
'using_theme': using_rtd_theme,
'html_theme': html_theme,
'current_version': "latest",
'version_slug': "latest",
'MEDIA_URL': "https://media.readthedocs.com/media/",
'STATIC_URL': "https://media.readthedocs.com/",
'PRODUCTION_DOMAIN': "readthedocs.com",
'versions': [
("latest", "/en/latest/"),
("stable", "/en/stable/"),
],
'downloads': [
("htmlzip", "//readthedocs.com/projects/icb-scanpy/downloads/htmlzip/latest/"),
],
'subprojects': [
],
'slug': 'icb-scanpy',
'name': u'scanpy',
'rtd_language': u'en',
'programming_language': u'py',
'canonical_url': 'https://icb-scanpy.readthedocs-hosted.com/en/stable/',
'analytics_code': 'None',
'single_version': False,
'conf_py_path': '/docs/',
'api_host': 'https://readthedocs.com',
'github_user': 'theislab',
'github_repo': 'scanpy',
'github_version': 'master',
'display_github': True,
'bitbucket_user': 'None',
'bitbucket_repo': 'None',
'bitbucket_version': 'master',
'display_bitbucket': False,
'gitlab_user': 'None',
'gitlab_repo': 'None',
'gitlab_version': 'master',
'display_gitlab': False,
'READTHEDOCS': True,
'using_theme': (html_theme == "default"),
'new_theme': (html_theme == "sphinx_rtd_theme"),
'source_suffix': SUFFIX,
'ad_free': False,
'user_analytics_code': '',
'global_analytics_code': 'UA-17997319-2',
'commit': '04013418',
}
if 'html_context' in globals():
html_context.update(context)
else:
html_context = context
# Add custom RTD extension
if 'extensions' in globals():
# Insert at the beginning because it can interfere
# with other extensions.
# See https://github.com/rtfd/readthedocs.org/pull/4054
extensions.insert(0, "readthedocs_ext.readthedocs")
else:
extensions = ["readthedocs_ext.readthedocs"]
[rtd-command-info] start-time: 2019-04-17T16:56:54.724468Z, end-time: 2019-04-17T16:58:04.270066Z, duration: 69, exit-code: 0
python sphinx-build -T -E -b readthedocs -d _build/doctrees-readthedocs -D language=en . _build/html
Running Sphinx v2.0.1
loading translations [en]... done
making output directory... done
loading intersphinx inventory from https://anndata.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://bbknn.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://leidenalg.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://louvain-igraph.readthedocs.io/en/latest/objects.inv...
loading intersphinx inventory from https://matplotlib.org/objects.inv...
loading intersphinx inventory from https://networkx.github.io/documentation/networkx-1.10/objects.inv...
loading intersphinx inventory from https://docs.scipy.org/doc/numpy/objects.inv...
loading intersphinx inventory from http://pandas.pydata.org/pandas-docs/stable/objects.inv...
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://docs.scipy.org/doc/scipy/reference/objects.inv...
loading intersphinx inventory from https://scikit-learn.org/stable/objects.inv...
[autosummary] generating autosummary for: api/index.rst, api/plotting.rst, api/scanpy.Neighbors.compute_eigen.rst, api/scanpy.Neighbors.compute_neighbors.rst, api/scanpy.Neighbors.compute_transitions.rst, api/scanpy.Neighbors.connectivities.rst, api/scanpy.Neighbors.distances.rst, api/scanpy.Neighbors.distances_dpt.rst, api/scanpy.Neighbors.eigen_basis.rst, api/scanpy.Neighbors.eigen_values.rst, ..., api/scanpy.tl.sim.rst, api/scanpy.tl.tsne.rst, api/scanpy.tl.umap.rst, basic_usage.rst, examples.rst, index.rst, installation.rst, references.rst, release_notes.rst, tutorials.rst
building [mo]: targets for 0 po files that are out of date
building [readthedocs]: targets for 214 source files that are out of date
updating environment: 214 added, 0 changed, 0 removed
reading sources... [ 0%] api/index
reading sources... [ 0%] api/plotting
reading sources... [ 1%] api/scanpy.Neighbors
reading sources... [ 1%] api/scanpy.Neighbors.compute_eigen
reading sources... [ 2%] api/scanpy.Neighbors.compute_neighbors
reading sources... [ 2%] api/scanpy.Neighbors.compute_transitions
reading sources... [ 3%] api/scanpy.Neighbors.connectivities
reading sources... [ 3%] api/scanpy.Neighbors.distances
reading sources... [ 4%] api/scanpy.Neighbors.distances_dpt
reading sources... [ 4%] api/scanpy.Neighbors.eigen_basis
reading sources... [ 5%] api/scanpy.Neighbors.eigen_values
reading sources... [ 5%] api/scanpy.Neighbors.getdoc
reading sources... [ 6%] api/scanpy.Neighbors.laplacian
reading sources... [ 6%] api/scanpy.Neighbors.to_igraph
reading sources... [ 7%] api/scanpy.Neighbors.transitions
reading sources... [ 7%] api/scanpy.Neighbors.transitions_sym
reading sources... [ 7%] api/scanpy._settings.ScanpyConfig
reading sources... [ 8%] api/scanpy._settings.ScanpyConfig.autosave
reading sources... [ 8%] api/scanpy._settings.ScanpyConfig.autoshow
reading sources... [ 9%] api/scanpy._settings.ScanpyConfig.cachedir
reading sources... [ 9%] api/scanpy._settings.ScanpyConfig.categories_to_ignore
reading sources... [ 10%] api/scanpy._settings.ScanpyConfig.datasetdir
reading sources... [ 10%] api/scanpy._settings.ScanpyConfig.figdir
reading sources... [ 11%] api/scanpy._settings.ScanpyConfig.file_format_data
reading sources... [ 11%] api/scanpy._settings.ScanpyConfig.file_format_figs
reading sources... [ 12%] api/scanpy._settings.ScanpyConfig.getdoc
reading sources... [ 12%] api/scanpy._settings.ScanpyConfig.logfile
reading sources... [ 13%] api/scanpy._settings.ScanpyConfig.max_memory
reading sources... [ 13%] api/scanpy._settings.ScanpyConfig.n_jobs
reading sources... [ 14%] api/scanpy._settings.ScanpyConfig.plot_suffix
reading sources... [ 14%] api/scanpy._settings.ScanpyConfig.set_figure_params
reading sources... [ 14%] api/scanpy._settings.ScanpyConfig.verbosity
reading sources... [ 15%] api/scanpy._settings.ScanpyConfig.writedir
reading sources... [ 15%] api/scanpy.api
reading sources... [ 16%] api/scanpy.api.Neighbors
reading sources... [ 16%] api/scanpy.api.Neighbors.compute_eigen
reading sources... [ 17%] api/scanpy.api.Neighbors.compute_neighbors
reading sources... [ 17%] api/scanpy.api.Neighbors.compute_transitions
reading sources... [ 18%] api/scanpy.api.Neighbors.connectivities
reading sources... [ 18%] api/scanpy.api.Neighbors.distances
reading sources... [ 19%] api/scanpy.api.Neighbors.distances_dpt
reading sources... [ 19%] api/scanpy.api.Neighbors.eigen_basis
reading sources... [ 20%] api/scanpy.api.Neighbors.eigen_values
reading sources... [ 20%] api/scanpy.api.Neighbors.getdoc
reading sources... [ 21%] api/scanpy.api.Neighbors.laplacian
reading sources... [ 21%] api/scanpy.api.Neighbors.to_igraph
reading sources... [ 21%] api/scanpy.api.Neighbors.transitions
reading sources... [ 22%] api/scanpy.api.Neighbors.transitions_sym
reading sources... [ 22%] api/scanpy.api.datasets.blobs
reading sources... [ 23%] api/scanpy.api.datasets.krumsiek11
reading sources... [ 23%] api/scanpy.api.datasets.moignard15
reading sources... [ 24%] api/scanpy.api.datasets.paul15
reading sources... [ 24%] api/scanpy.api.datasets.pbmc3k
reading sources... [ 25%] api/scanpy.api.datasets.pbmc68k_reduced
reading sources... [ 25%] api/scanpy.api.datasets.toggleswitch
reading sources... [ 26%] api/scanpy.api.export_to.spring_project
reading sources... [ 26%] api/scanpy.api.logging.print_versions
reading sources... [ 27%] api/scanpy.api.pp.bbknn
reading sources... [ 27%] api/scanpy.api.pp.calculate_qc_metrics
reading sources... [ 28%] api/scanpy.api.pp.dca
reading sources... [ 28%] api/scanpy.api.pp.downsample_counts
reading sources... [ 28%] api/scanpy.api.pp.filter_cells
reading sources... [ 29%] api/scanpy.api.pp.filter_genes
reading sources... [ 29%] api/scanpy.api.pp.filter_genes_dispersion
reading sources... [ 30%] api/scanpy.api.pp.highly_variable_genes
reading sources... [ 30%] api/scanpy.api.pp.log1p
reading sources... [ 31%] api/scanpy.api.pp.magic
reading sources... [ 31%] api/scanpy.api.pp.mnn_correct
reading sources... [ 32%] api/scanpy.api.pp.neighbors
reading sources... [ 32%] api/scanpy.api.pp.normalize_per_cell
reading sources... [ 33%] api/scanpy.api.pp.pca
reading sources... [ 33%] api/scanpy.api.pp.recipe_seurat
reading sources... [ 34%] api/scanpy.api.pp.recipe_weinreb17
reading sources... [ 34%] api/scanpy.api.pp.recipe_zheng17
reading sources... [ 35%] api/scanpy.api.pp.regress_out
reading sources... [ 35%] api/scanpy.api.pp.scale
reading sources... [ 35%] api/scanpy.api.pp.subsample
reading sources... [ 36%] api/scanpy.api.queries.mitochondrial_genes
reading sources... [ 36%] api/scanpy.api.read
reading sources... [ 37%] api/scanpy.api.read_10x_h5
reading sources... [ 37%] api/scanpy.api.read_10x_mtx
reading sources... [ 38%] api/scanpy.api.read_csv
reading sources... [ 38%] api/scanpy.api.read_excel
reading sources... [ 39%] api/scanpy.api.read_h5ad
reading sources... [ 39%] api/scanpy.api.read_hdf
reading sources... [ 40%] api/scanpy.api.read_loom
reading sources... [ 40%] api/scanpy.api.read_mtx
reading sources... [ 41%] api/scanpy.api.read_text
reading sources... [ 41%] api/scanpy.api.read_umi_tools
reading sources... [ 42%] api/scanpy.api.set_figure_params
reading sources... [ 42%] api/scanpy.api.tl.cyclone
reading sources... [ 42%] api/scanpy.api.tl.diffmap
reading sources... [ 43%] api/scanpy.api.tl.dpt
reading sources... [ 43%] api/scanpy.api.tl.draw_graph
reading sources... [ 44%] api/scanpy.api.tl.leiden
reading sources... [ 44%] api/scanpy.api.tl.louvain
reading sources... [ 45%] api/scanpy.api.tl.paga
reading sources... [ 45%] api/scanpy.api.tl.pca
reading sources... [ 46%] api/scanpy.api.tl.phate
reading sources... [ 46%] api/scanpy.api.tl.rank_genes_groups
reading sources... [ 47%] api/scanpy.api.tl.sandbag
reading sources... [ 47%] api/scanpy.api.tl.score_genes
reading sources... [ 48%] api/scanpy.api.tl.score_genes_cell_cycle
reading sources... [ 48%] api/scanpy.api.tl.sim
reading sources... [ 49%] api/scanpy.api.tl.tsne
reading sources... [ 49%] api/scanpy.api.tl.umap
reading sources... [ 50%] api/scanpy.datasets.blobs
reading sources... [ 50%] api/scanpy.datasets.ebi_expression_atlas
reading sources... [ 50%] api/scanpy.datasets.krumsiek11
reading sources... [ 51%] api/scanpy.datasets.moignard15
reading sources... [ 51%] api/scanpy.datasets.paul15
reading sources... [ 52%] api/scanpy.datasets.pbmc3k
reading sources... [ 52%] api/scanpy.datasets.pbmc68k_reduced
reading sources... [ 53%] api/scanpy.datasets.toggleswitch
reading sources... [ 53%] api/scanpy.external
reading sources... [ 54%] api/scanpy.external.exporting.cellbrowser
reading sources... [ 54%] api/scanpy.external.exporting.spring_project
reading sources... [ 55%] api/scanpy.external.pl.phate
reading sources... [ 55%] api/scanpy.external.pp.bbknn
reading sources... [ 56%] api/scanpy.external.pp.dca
reading sources... [ 56%] api/scanpy.external.pp.magic
reading sources... [ 57%] api/scanpy.external.pp.mnn_correct
reading sources... [ 57%] api/scanpy.external.tl.cyclone
reading sources... [ 57%] api/scanpy.external.tl.palantir
reading sources... [ 58%] api/scanpy.external.tl.phate
reading sources... [ 58%] api/scanpy.external.tl.phenograph
reading sources... [ 59%] api/scanpy.external.tl.sandbag
reading sources... [ 59%] api/scanpy.logging.print_versions
reading sources... [ 60%] api/scanpy.pl.clustermap
reading sources... [ 60%] api/scanpy.pl.diffmap
reading sources... [ 61%] api/scanpy.pl.dotplot
.. image:: scanpy.pl.dotplot.png
:width: 200
:align: right
Makes a *dot plot* of the expression values of `var_names`.
For each var_name and each `groupby` category a dot is plotted. Each dot
represents two values: mean expression within each category (visualized by
color) and fraction of cells expressing the var_name in the
category (visualized by the size of the dot). If groupby is not given, the
dotplot assumes that all data belongs to a single category.
**Note**: A gene is considered expressed if the expression value in the adata
(or adata.raw) is above the specified threshold which is zero by default.
An example of dotplot usage is to visualize, for multiple marker genes,
the mean value and the percentage of cells expressing the gene accross multiple clusters.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param expression_cutoff: Expression cutoff that is used for binarizing the gene expression and determining the fraction
of cells expressing given genes. A gene is expressed only if the expression value is greater than
this threshold.
:type expression_cutoff: `float` (default: `0.`)
:param mean_only_expressed: If True, gene expression is averaged only over the cells expressing the given genes.
:type mean_only_expressed: `bool` (default: `False`)
:param color_map: String denoting matplotlib color map.
:type color_map: `str`, optional (default: `Reds`)
:param dot_max: If none, the maximum dot size is set to the maximum fraction value found (e.g. 0.6). If given,
the value should be a number between 0 and 1. All fractions larger than dot_max are clipped to
this value.
:type dot_max: `float` optional (default: `None`)
:param dot_min: If none, the minimum dot size is set to 0. If given,
the value should be a number between 0 and 1. All fractions smaller than dot_min are clipped to
this value.
:type dot_min: `float` optional (default: `None`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or group,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'group'}, optional (default: None)
:param smallest_dot: If none, the smallest dot has size 0. All expression levels with `dot_min` are potted with
`smallest_dot` dot size.
:type smallest_dot: `float` optional (default: 0.)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `matplotlib.pyplot.scatter`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.dotplot(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True)
reading sources... [ 61%] api/scanpy.pl.dpt_groups_pseudotime
reading sources... [ 62%] api/scanpy.pl.dpt_timeseries
reading sources... [ 62%] api/scanpy.pl.draw_graph
reading sources... [ 63%] api/scanpy.pl.embedding_density
reading sources... [ 63%] api/scanpy.pl.filter_genes_dispersion
reading sources... [ 64%] api/scanpy.pl.heatmap
.. image:: scanpy.pl.heatmap.png
:width: 200
:align: right
Heatmap of the expression values of genes.
If `groupby` is given, the heatmap is ordered by the respective group. For
example, a list of marker genes can be plotted, ordered by clustering. If
the `groupby` observation annotation is not categorical the observation
annotation is turned into a categorical by binning the data into the number
specified in `num_categories`.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or observation,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'obs'}, optional (default: None)
:param swap_axes: By default, the x axis contains `var_names` (e.g. genes) and the y axis the `groupby`
categories (if any). By setting `swap_axes` then x are the `groupby` categories and y the `var_names`.
:type swap_axes: `bool`, optional (default: `False`)
:param show_gene_labels: By default gene labels are shown when there are 50 or less genes. Otherwise the labels are removed.
:type show_gene_labels: `bool`, optional (default: `None`).
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `matplotlib.imshow`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.heatmap(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True, swap_axes=True)
reading sources... [ 64%] api/scanpy.pl.highest_expr_genes
reading sources... [ 64%] api/scanpy.pl.highly_variable_genes
reading sources... [ 65%] api/scanpy.pl.matrixplot
.. image:: scanpy.pl.matrixplot.png
:width: 200
:align: right
Creates a heatmap of the mean expression values per cluster of each var_names
If groupby is not given, the matrixplot assumes that all data belongs to a single
category.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or group,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'group'}, optional (default: None)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `matplotlib.pyplot.pcolor`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.matrixplot(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True)
reading sources... [ 65%] api/scanpy.pl.paga
reading sources... [ 66%] api/scanpy.pl.paga_compare
reading sources... [ 66%] api/scanpy.pl.paga_path
reading sources... [ 67%] api/scanpy.pl.pca
reading sources... [ 67%] api/scanpy.pl.pca_loadings
reading sources... [ 68%] api/scanpy.pl.pca_overview
reading sources... [ 68%] api/scanpy.pl.pca_variance_ratio
reading sources... [ 69%] api/scanpy.pl.rank_genes_groups
reading sources... [ 69%] api/scanpy.pl.rank_genes_groups_dotplot
.. image:: scanpy.pl.rank_genes_groups_dotplot.png
:width: 200
:align: right
Plot ranking of genes using dotplot plot (see `scanpy.api.pl.dotplot`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.dotplot`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `scanpy.api.pl.dotplot`.
:type \*\*kwds: keyword arguments
reading sources... [ 70%] api/scanpy.pl.rank_genes_groups_heatmap
.. image:: scanpy.pl.rank_genes_groups_heatmap.png
:width: 200
:align: right
Plot ranking of genes using heatmap plot (see `scanpy.api.pl.heatmap`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.heatmap`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param \*\*kwds: Are passed to `scanpy.api.pl.heatmap`.
:type \*\*kwds: keyword arguments
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
reading sources... [ 70%] api/scanpy.pl.rank_genes_groups_matrixplot
.. image:: scanpy.pl.rank_genes_groups_matrixplot.png
:width: 200
:align: right
Plot ranking of genes using matrixplot plot (see `scanpy.api.pl.matrixplot`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.matrixplot`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `scanpy.api.pl.matrixplot`.
:type \*\*kwds: keyword arguments
reading sources... [ 71%] api/scanpy.pl.rank_genes_groups_stacked_violin
.. image:: scanpy.pl.rank_genes_groups_stacked_violin.png
:width: 200
:align: right
Plot ranking of genes using stacked_violin plot (see `scanpy.api.pl.stacked_violin`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.stacked_violin`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `scanpy.api.pl.stacked_violin`.
:type \*\*kwds: keyword arguments
reading sources... [ 71%] api/scanpy.pl.rank_genes_groups_violin
reading sources... [ 71%] api/scanpy.pl.ranking
reading sources... [ 72%] api/scanpy.pl.scatter
reading sources... [ 72%] api/scanpy.pl.sim
reading sources... [ 73%] api/scanpy.pl.stacked_violin
.. image:: scanpy.pl.stacked_violin.png
:width: 200
:align: right
Stacked violin plots.
Makes a compact image composed of individual violin plots (from `seaborn.violinplot`)
stacked on top of each other. Useful to visualize gene expression per cluster.
Wraps `seaborn.violinplot` for :class:`~anndata.AnnData`.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param stripplot: Add a stripplot on top of the violin plot.
See `seaborn.stripplot`.
:type stripplot: `bool` optional (default: `True`)
:param jitter: Add jitter to the stripplot (only when stripplot is True)
See `seaborn.stripplot`.
:type jitter: `float` or `bool`, optional (default: `True`)
:param size: Size of the jitter points.
:type size: int, optional (default: 1)
:param order: Order in which to show the categories.
:type order: list of str, optional (default: `True`)
:param scale: The method used to scale the width of each violin. If 'area', each
violin will have the same area. If 'count', the width of the violins
will be scaled by the number of observations in that bin. If 'width',
each violin will have the same width.
:type scale: {'area', 'count', 'width'}, optional (default: 'width')
:param row_palette: The row palette determines the colors to use in each of the stacked violin plots. The value
should be a valid seaborn palette name or a valic matplotlib colormap
(see https://seaborn.pydata.org/generated/seaborn.color_palette.html). Alternatively,
a single color name or hex value can be passed. E.g. 'red' or '#cc33ff'
:type row_palette: `str` (default: `muted`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or observation,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'obs'}, optional (default: None)
:param swap_axes: By default, the x axis contains `var_names` (e.g. genes) and the y axis the `groupby` categories.
By setting `swap_axes` then x are the `groupby` categories and y the `var_names`. When swapping
axes var_group_positions are no longer used
:type swap_axes: `bool`, optional (default: `False`)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `seaborn.violinplot`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.stacked_violin(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True)
reading sources... [ 73%] api/scanpy.pl.tsne
reading sources... [ 74%] api/scanpy.pl.umap
reading sources... [ 74%] api/scanpy.pl.violin
.. image:: scanpy.pl.violin.png
:width: 200
:align: right
Violin plot.
Wraps `seaborn.violinplot` for :class:`~anndata.AnnData`.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param keys: Keys for accessing variables of `.var_names` or fields of `.obs`.
:type keys: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param multi_panel: Display keys in multiple panels also when `groupby is not None`.
:type multi_panel: `bool`, optional (default: `False`)
:param stripplot: Add a stripplot on top of the violin plot.
See `seaborn.stripplot`.
:type stripplot: `bool` optional (default: `True`)
:param jitter: Add jitter to the stripplot (only when stripplot is True)
See `seaborn.stripplot`.
:type jitter: `float` or `bool`, optional (default: `True`)
:param size: Size of the jitter points.
:type size: int, optional (default: 1)
:param order: Order in which to show the categories.
:type order: list of str, optional (default: `True`)
:param scale: The method used to scale the width of each violin. If 'area', each
violin will have the same area. If 'count', the width of the violins
will be scaled by the number of observations in that bin. If 'width',
each violin will have the same width.
:type scale: {'area', 'count', 'width'}, optional (default: 'width')
:param xlabel: Label of the x axis. Defaults to `groupby` if `rotation` is `None`,
otherwise, no label is shown.
:type xlabel: `str`, optional (default: `''`)
:param rotation: Rotation of xtick labels.
:type rotation: `float`, optional (default: `None`)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `seaborn.violinplot`.
:type \*\*kwds: keyword arguments
:returns: A :class:`~matplotlib.axes.Axes` object if `ax` is `None` else `None`.
reading sources... [ 75%] api/scanpy.plotting
.. image:: scanpy.pl.heatmap.png
:width: 200
:align: right
Heatmap of the expression values of genes.
If `groupby` is given, the heatmap is ordered by the respective group. For
example, a list of marker genes can be plotted, ordered by clustering. If
the `groupby` observation annotation is not categorical the observation
annotation is turned into a categorical by binning the data into the number
specified in `num_categories`.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or observation,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'obs'}, optional (default: None)
:param swap_axes: By default, the x axis contains `var_names` (e.g. genes) and the y axis the `groupby`
categories (if any). By setting `swap_axes` then x are the `groupby` categories and y the `var_names`.
:type swap_axes: `bool`, optional (default: `False`)
:param show_gene_labels: By default gene labels are shown when there are 50 or less genes. Otherwise the labels are removed.
:type show_gene_labels: `bool`, optional (default: `None`).
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `matplotlib.imshow`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.heatmap(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True, swap_axes=True)
.. image:: scanpy.pl.dotplot.png
:width: 200
:align: right
Makes a *dot plot* of the expression values of `var_names`.
For each var_name and each `groupby` category a dot is plotted. Each dot
represents two values: mean expression within each category (visualized by
color) and fraction of cells expressing the var_name in the
category (visualized by the size of the dot). If groupby is not given, the
dotplot assumes that all data belongs to a single category.
**Note**: A gene is considered expressed if the expression value in the adata
(or adata.raw) is above the specified threshold which is zero by default.
An example of dotplot usage is to visualize, for multiple marker genes,
the mean value and the percentage of cells expressing the gene accross multiple clusters.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param expression_cutoff: Expression cutoff that is used for binarizing the gene expression and determining the fraction
of cells expressing given genes. A gene is expressed only if the expression value is greater than
this threshold.
:type expression_cutoff: `float` (default: `0.`)
:param mean_only_expressed: If True, gene expression is averaged only over the cells expressing the given genes.
:type mean_only_expressed: `bool` (default: `False`)
:param color_map: String denoting matplotlib color map.
:type color_map: `str`, optional (default: `Reds`)
:param dot_max: If none, the maximum dot size is set to the maximum fraction value found (e.g. 0.6). If given,
the value should be a number between 0 and 1. All fractions larger than dot_max are clipped to
this value.
:type dot_max: `float` optional (default: `None`)
:param dot_min: If none, the minimum dot size is set to 0. If given,
the value should be a number between 0 and 1. All fractions smaller than dot_min are clipped to
this value.
:type dot_min: `float` optional (default: `None`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or group,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'group'}, optional (default: None)
:param smallest_dot: If none, the smallest dot has size 0. All expression levels with `dot_min` are potted with
`smallest_dot` dot size.
:type smallest_dot: `float` optional (default: 0.)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `matplotlib.pyplot.scatter`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.dotplot(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True)
.. image:: scanpy.pl.violin.png
:width: 200
:align: right
Violin plot.
Wraps `seaborn.violinplot` for :class:`~anndata.AnnData`.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param keys: Keys for accessing variables of `.var_names` or fields of `.obs`.
:type keys: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param multi_panel: Display keys in multiple panels also when `groupby is not None`.
:type multi_panel: `bool`, optional (default: `False`)
:param stripplot: Add a stripplot on top of the violin plot.
See `seaborn.stripplot`.
:type stripplot: `bool` optional (default: `True`)
:param jitter: Add jitter to the stripplot (only when stripplot is True)
See `seaborn.stripplot`.
:type jitter: `float` or `bool`, optional (default: `True`)
:param size: Size of the jitter points.
:type size: int, optional (default: 1)
:param order: Order in which to show the categories.
:type order: list of str, optional (default: `True`)
:param scale: The method used to scale the width of each violin. If 'area', each
violin will have the same area. If 'count', the width of the violins
will be scaled by the number of observations in that bin. If 'width',
each violin will have the same width.
:type scale: {'area', 'count', 'width'}, optional (default: 'width')
:param xlabel: Label of the x axis. Defaults to `groupby` if `rotation` is `None`,
otherwise, no label is shown.
:type xlabel: `str`, optional (default: `''`)
:param rotation: Rotation of xtick labels.
:type rotation: `float`, optional (default: `None`)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `seaborn.violinplot`.
:type \*\*kwds: keyword arguments
:returns: A :class:`~matplotlib.axes.Axes` object if `ax` is `None` else `None`.
.. image:: scanpy.pl.stacked_violin.png
:width: 200
:align: right
Stacked violin plots.
Makes a compact image composed of individual violin plots (from `seaborn.violinplot`)
stacked on top of each other. Useful to visualize gene expression per cluster.
Wraps `seaborn.violinplot` for :class:`~anndata.AnnData`.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param stripplot: Add a stripplot on top of the violin plot.
See `seaborn.stripplot`.
:type stripplot: `bool` optional (default: `True`)
:param jitter: Add jitter to the stripplot (only when stripplot is True)
See `seaborn.stripplot`.
:type jitter: `float` or `bool`, optional (default: `True`)
:param size: Size of the jitter points.
:type size: int, optional (default: 1)
:param order: Order in which to show the categories.
:type order: list of str, optional (default: `True`)
:param scale: The method used to scale the width of each violin. If 'area', each
violin will have the same area. If 'count', the width of the violins
will be scaled by the number of observations in that bin. If 'width',
each violin will have the same width.
:type scale: {'area', 'count', 'width'}, optional (default: 'width')
:param row_palette: The row palette determines the colors to use in each of the stacked violin plots. The value
should be a valid seaborn palette name or a valic matplotlib colormap
(see https://seaborn.pydata.org/generated/seaborn.color_palette.html). Alternatively,
a single color name or hex value can be passed. E.g. 'red' or '#cc33ff'
:type row_palette: `str` (default: `muted`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or observation,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'obs'}, optional (default: None)
:param swap_axes: By default, the x axis contains `var_names` (e.g. genes) and the y axis the `groupby` categories.
By setting `swap_axes` then x are the `groupby` categories and y the `var_names`. When swapping
axes var_group_positions are no longer used
:type swap_axes: `bool`, optional (default: `False`)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `seaborn.violinplot`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.stacked_violin(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True)
.. image:: scanpy.pl.matrixplot.png
:width: 200
:align: right
Creates a heatmap of the mean expression values per cluster of each var_names
If groupby is not given, the matrixplot assumes that all data belongs to a single
category.
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param var_names: `var_names` should be a valid subset of `adata.var_names`.
:type var_names: `str` or list of `str`
:param groupby: The key of the observation grouping to consider.
:type groupby: `str` or `None`, optional (default: `None`)
:param log: Plot on logarithmic axis.
:type log: `bool`, optional (default: `False`)
:param use_raw: Use `raw` attribute of `adata` if present.
:type use_raw: `bool`, optional (default: `None`)
:param num_categories: Only used if groupby observation is not categorical. This value
determines the number of groups into which the groupby observation
should be subdivided.
:type num_categories: `int`, optional (default: `7`)
:param figsize: Figure size when multi_panel = True. Otherwise the rcParam['figure.figsize] value is used.
Format is (width, height)
:type figsize: (`float`, `float`), optional (default: `None`)
:param dendrogram: If True or a valid dendrogram key, a dendrogram based on the hierarchical clustering
between the `groupby` categories is added. The dendrogram information is computed
using :ref:`scanpy.tl.dendrogram`. If `tl.dendrogram` has not been called previously
the function is called with default parameters.
:type dendrogram: `bool` or `str`, optional (default, `False`)
:param gene_symbols: Column name in `.var` DataFrame that stores gene symbols. By default `var_names`
refer to the index column of the `.var` DataFrame. Setting this option allows
alternative names to be used.
:type gene_symbols: string, optional (default: `None`)
:param var_group_positions: Use this parameter to highlight groups of `var_names`.
This will draw a 'bracket' or a color block between the given start and end positions. If the
parameter `var_group_labels` is set, the corresponding labels are added on
top/left. E.g. var_group_positions = [(4,10)] will add a bracket
between the fourth var_name and the tenth var_name. By giving more
positions, more brackets/color blocks are drawn.
:type var_group_positions: list of `tuples`.
:param var_group_labels: Labels for each of the var_group_positions that want to be highlighted.
:type var_group_labels: list of `str`
:param var_group_rotation: Label rotation degrees. By default, labels larger than 4 characters are rotated 90 degrees
:type var_group_rotation: `float` (default: `None`)
:param layer: Name of the AnnData object layer that wants to be plotted. By default adata.raw.X is plotted.
If `use_raw=False` is set, then `adata.X` is plotted. If `layer` is set to a valid layer name,
then the layer is plotted. `layer` takes precedence over `use_raw`.
:type layer: `str`, (default `None`)
:param standard_scale: Whether or not to standardize that dimension between 0 and 1, meaning for each variable or group,
subtract the minimum and divide each by its maximum.
:type standard_scale: {'var', 'group'}, optional (default: None)
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `matplotlib.pyplot.pcolor`.
:type \*\*kwds: keyword arguments
:returns: List of :class:`~matplotlib.axes.Axes`
.. rubric:: Examples
>>> adata = sc.datasets.pbmc68k_reduced()
>>> sc.pl.matrixplot(adata, ['C1QA', 'PSAP', 'CD79A', 'CD79B', 'CST3', 'LYZ'],
... groupby='bulk_labels', dendrogram=True)
.. image:: scanpy.pl.rank_genes_groups_stacked_violin.png
:width: 200
:align: right
Plot ranking of genes using stacked_violin plot (see `scanpy.api.pl.stacked_violin`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.stacked_violin`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `scanpy.api.pl.stacked_violin`.
:type \*\*kwds: keyword arguments
.. image:: scanpy.pl.rank_genes_groups_heatmap.png
:width: 200
:align: right
Plot ranking of genes using heatmap plot (see `scanpy.api.pl.heatmap`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.heatmap`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param \*\*kwds: Are passed to `scanpy.api.pl.heatmap`.
:type \*\*kwds: keyword arguments
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
.. image:: scanpy.pl.rank_genes_groups_dotplot.png
:width: 200
:align: right
Plot ranking of genes using dotplot plot (see `scanpy.api.pl.dotplot`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.dotplot`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `scanpy.api.pl.dotplot`.
:type \*\*kwds: keyword arguments
.. image:: scanpy.pl.rank_genes_groups_matrixplot.png
:width: 200
:align: right
Plot ranking of genes using matrixplot plot (see `scanpy.api.pl.matrixplot`)
:param adata: Annotated data matrix.
:type adata: :class:`~anndata.AnnData`
:param groups: The groups for which to show the gene ranking.
:type groups: `str` or `list` of `str`
:param n_genes: Number of genes to show.
:type n_genes: `int`, optional (default: 10)
:param groupby: The key of the observation grouping to consider. By default,
the groupby is chosen from the rank genes groups parameter but
other groupby options can be used. It is expected that
groupby is a categorical. If groupby is not a categorical observation,
it would be subdivided into `num_categories` (see `scanpy.api.pl.matrixplot`).
:type groupby: `str` or `None`, optional (default: `None`)
:param key: Key used to store the ranking results in `adata.uns`.
:type key: `str`
:param show: Show the plot, do not return axis.
:param save: If `True` or a `str`, save the figure. A string is appended to the default
filename. Infer the filetype if ending on {'.pdf', '.png', '.svg'}.
:param ax: A matplotlib axes object. Only works if plotting a single component.
:param \*\*kwds: Are passed to `scanpy.api.pl.matrixplot`.
:type \*\*kwds: keyword arguments
reading sources... [ 75%] api/scanpy.pp.calculate_qc_metrics
reading sources... [ 76%] api/scanpy.pp.combat
reading sources... [ 76%] api/scanpy.pp.downsample_counts
reading sources... [ 77%] api/scanpy.pp.filter_cells
reading sources... [ 77%] api/scanpy.pp.filter_genes
reading sources... [ 78%] api/scanpy.pp.filter_genes_dispersion
reading sources... [ 78%] api/scanpy.pp.highly_variable_genes
reading sources... [ 78%] api/scanpy.pp.log1p
reading sources... [ 79%] api/scanpy.pp.neighbors
reading sources... [ 79%] api/scanpy.pp.normalize_per_cell
reading sources... [ 80%] api/scanpy.pp.normalize_total
reading sources... [ 80%] api/scanpy.pp.pca
reading sources... [ 81%] api/scanpy.pp.recipe_seurat
reading sources... [ 81%] api/scanpy.pp.recipe_weinreb17
reading sources... [ 82%] api/scanpy.pp.recipe_zheng17
reading sources... [ 82%] api/scanpy.pp.regress_out
reading sources... [ 83%] api/scanpy.pp.scale
reading sources... [ 83%] api/scanpy.pp.subsample
reading sources... [ 84%] api/scanpy.queries.mitochondrial_genes
reading sources... [ 84%] api/scanpy.read
reading sources... [ 85%] api/scanpy.read_10x_h5
reading sources... [ 85%] api/scanpy.read_10x_mtx
reading sources... [ 85%] api/scanpy.read_csv
reading sources... [ 86%] api/scanpy.read_excel
reading sources... [ 86%] api/scanpy.read_h5ad
reading sources... [ 87%] api/scanpy.read_hdf
reading sources... [ 87%] api/scanpy.read_loom
reading sources... [ 88%] api/scanpy.read_mtx
reading sources... [ 88%] api/scanpy.read_text
reading sources... [ 89%] api/scanpy.read_umi_tools
reading sources... [ 89%] api/scanpy.set_figure_params
reading sources... [ 90%] api/scanpy.tl.dendrogram
reading sources... [ 90%] api/scanpy.tl.diffmap
reading sources... [ 91%] api/scanpy.tl.dpt
reading sources... [ 91%] api/scanpy.tl.draw_graph
reading sources... [ 92%] api/scanpy.tl.filter_rank_genes_groups
reading sources... [ 92%] api/scanpy.tl.leiden
reading sources... [ 92%] api/scanpy.tl.louvain
reading sources... [ 93%] api/scanpy.tl.paga
reading sources... [ 93%] api/scanpy.tl.pca
reading sources... [ 94%] api/scanpy.tl.rank_genes_groups
reading sources... [ 94%] api/scanpy.tl.score_genes
reading sources... [ 95%] api/scanpy.tl.score_genes_cell_cycle
reading sources... [ 95%] api/scanpy.tl.sim
reading sources... [ 96%] api/scanpy.tl.tsne
reading sources... [ 96%] api/scanpy.tl.umap
reading sources... [ 97%] basic_usage
reading sources... [ 97%] examples
reading sources... [ 98%] index
reading sources... [ 98%] installation
reading sources... [ 99%] references
reading sources... [ 99%] release_notes
reading sources... [100%] tutorials
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/api/__init__.py:docstring of scanpy.api:210: WARNING: duplicate label settings, other instance in /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/api/index.rst
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/external/_tools/_palantir.py:docstring of scanpy.external.tl.palantir:114: WARNING: Bullet list ends without a blank line; unexpected unindent.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/plotting/_tools/__init__.py:docstring of scanpy.pl.embedding_density:10: WARNING: Unexpected section title.
Parameters
----------
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/plotting/_tools/__init__.py:docstring of scanpy.pl.embedding_density:33: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/plotting/_tools/__init__.py:docstring of scanpy.pl.embedding_density:40: WARNING: Unexpected section title.
Examples
--------
looking for now-outdated files... none found
pickling environment... done
checking consistency... /home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:32: WARNING: Citation [Ester96] is not referenced.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:45: WARNING: Citation [Fruchterman91] is not referenced.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:49: WARNING: Citation [Hagberg08] is not referenced.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:53: WARNING: Citation [Hastie09] is not referenced.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:70: WARNING: Citation [Huber15] is not referenced.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:90: WARNING: Citation [Krumsiek10] is not referenced.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/references.rst:138: WARNING: Citation [Murphy12] is not referenced.
done
preparing documents... done
writing output... [ 0%] api/index
writing output... [ 0%] api/plotting
writing output... [ 1%] api/scanpy.Neighbors
writing output... [ 1%] api/scanpy.Neighbors.compute_eigen
writing output... [ 2%] api/scanpy.Neighbors.compute_neighbors
writing output... [ 2%] api/scanpy.Neighbors.compute_transitions
writing output... [ 3%] api/scanpy.Neighbors.connectivities
writing output... [ 3%] api/scanpy.Neighbors.distances
writing output... [ 4%] api/scanpy.Neighbors.distances_dpt
writing output... [ 4%] api/scanpy.Neighbors.eigen_basis
writing output... [ 5%] api/scanpy.Neighbors.eigen_values
writing output... [ 5%] api/scanpy.Neighbors.getdoc
writing output... [ 6%] api/scanpy.Neighbors.laplacian
writing output... [ 6%] api/scanpy.Neighbors.to_igraph
writing output... [ 7%] api/scanpy.Neighbors.transitions
writing output... [ 7%] api/scanpy.Neighbors.transitions_sym
writing output... [ 7%] api/scanpy._settings.ScanpyConfig
writing output... [ 8%] api/scanpy._settings.ScanpyConfig.autosave
writing output... [ 8%] api/scanpy._settings.ScanpyConfig.autoshow
writing output... [ 9%] api/scanpy._settings.ScanpyConfig.cachedir
writing output... [ 9%] api/scanpy._settings.ScanpyConfig.categories_to_ignore
writing output... [ 10%] api/scanpy._settings.ScanpyConfig.datasetdir
writing output... [ 10%] api/scanpy._settings.ScanpyConfig.figdir
writing output... [ 11%] api/scanpy._settings.ScanpyConfig.file_format_data
writing output... [ 11%] api/scanpy._settings.ScanpyConfig.file_format_figs
writing output... [ 12%] api/scanpy._settings.ScanpyConfig.getdoc
writing output... [ 12%] api/scanpy._settings.ScanpyConfig.logfile
writing output... [ 13%] api/scanpy._settings.ScanpyConfig.max_memory
writing output... [ 13%] api/scanpy._settings.ScanpyConfig.n_jobs
writing output... [ 14%] api/scanpy._settings.ScanpyConfig.plot_suffix
writing output... [ 14%] api/scanpy._settings.ScanpyConfig.set_figure_params
writing output... [ 14%] api/scanpy._settings.ScanpyConfig.verbosity
writing output... [ 15%] api/scanpy._settings.ScanpyConfig.writedir
writing output... [ 15%] api/scanpy.api
writing output... [ 16%] api/scanpy.api.Neighbors
writing output... [ 16%] api/scanpy.api.Neighbors.compute_eigen
writing output... [ 17%] api/scanpy.api.Neighbors.compute_neighbors
writing output... [ 17%] api/scanpy.api.Neighbors.compute_transitions
writing output... [ 18%] api/scanpy.api.Neighbors.connectivities
writing output... [ 18%] api/scanpy.api.Neighbors.distances
writing output... [ 19%] api/scanpy.api.Neighbors.distances_dpt
writing output... [ 19%] api/scanpy.api.Neighbors.eigen_basis
writing output... [ 20%] api/scanpy.api.Neighbors.eigen_values
writing output... [ 20%] api/scanpy.api.Neighbors.getdoc
writing output... [ 21%] api/scanpy.api.Neighbors.laplacian
writing output... [ 21%] api/scanpy.api.Neighbors.to_igraph
writing output... [ 21%] api/scanpy.api.Neighbors.transitions
writing output... [ 22%] api/scanpy.api.Neighbors.transitions_sym
writing output... [ 22%] api/scanpy.api.datasets.blobs
writing output... [ 23%] api/scanpy.api.datasets.krumsiek11
writing output... [ 23%] api/scanpy.api.datasets.moignard15
writing output... [ 24%] api/scanpy.api.datasets.paul15
writing output... [ 24%] api/scanpy.api.datasets.pbmc3k
writing output... [ 25%] api/scanpy.api.datasets.pbmc68k_reduced
writing output... [ 25%] api/scanpy.api.datasets.toggleswitch
writing output... [ 26%] api/scanpy.api.export_to.spring_project
writing output... [ 26%] api/scanpy.api.logging.print_versions
writing output... [ 27%] api/scanpy.api.pp.bbknn
writing output... [ 27%] api/scanpy.api.pp.calculate_qc_metrics
writing output... [ 28%] api/scanpy.api.pp.dca
writing output... [ 28%] api/scanpy.api.pp.downsample_counts
writing output... [ 28%] api/scanpy.api.pp.filter_cells
writing output... [ 29%] api/scanpy.api.pp.filter_genes
writing output... [ 29%] api/scanpy.api.pp.filter_genes_dispersion
writing output... [ 30%] api/scanpy.api.pp.highly_variable_genes
writing output... [ 30%] api/scanpy.api.pp.log1p
writing output... [ 31%] api/scanpy.api.pp.magic
writing output... [ 31%] api/scanpy.api.pp.mnn_correct
writing output... [ 32%] api/scanpy.api.pp.neighbors
writing output... [ 32%] api/scanpy.api.pp.normalize_per_cell
writing output... [ 33%] api/scanpy.api.pp.pca
writing output... [ 33%] api/scanpy.api.pp.recipe_seurat
writing output... [ 34%] api/scanpy.api.pp.recipe_weinreb17
writing output... [ 34%] api/scanpy.api.pp.recipe_zheng17
writing output... [ 35%] api/scanpy.api.pp.regress_out
writing output... [ 35%] api/scanpy.api.pp.scale
writing output... [ 35%] api/scanpy.api.pp.subsample
writing output... [ 36%] api/scanpy.api.queries.mitochondrial_genes
writing output... [ 36%] api/scanpy.api.read
writing output... [ 37%] api/scanpy.api.read_10x_h5
writing output... [ 37%] api/scanpy.api.read_10x_mtx
writing output... [ 38%] api/scanpy.api.read_csv
writing output... [ 38%] api/scanpy.api.read_excel
writing output... [ 39%] api/scanpy.api.read_h5ad
writing output... [ 39%] api/scanpy.api.read_hdf
writing output... [ 40%] api/scanpy.api.read_loom
writing output... [ 40%] api/scanpy.api.read_mtx
writing output... [ 41%] api/scanpy.api.read_text
writing output... [ 41%] api/scanpy.api.read_umi_tools
writing output... [ 42%] api/scanpy.api.set_figure_params
writing output... [ 42%] api/scanpy.api.tl.cyclone
writing output... [ 42%] api/scanpy.api.tl.diffmap
writing output... [ 43%] api/scanpy.api.tl.dpt
writing output... [ 43%] api/scanpy.api.tl.draw_graph
writing output... [ 44%] api/scanpy.api.tl.leiden
writing output... [ 44%] api/scanpy.api.tl.louvain
writing output... [ 45%] api/scanpy.api.tl.paga
writing output... [ 45%] api/scanpy.api.tl.pca
writing output... [ 46%] api/scanpy.api.tl.phate
writing output... [ 46%] api/scanpy.api.tl.rank_genes_groups
writing output... [ 47%] api/scanpy.api.tl.sandbag
writing output... [ 47%] api/scanpy.api.tl.score_genes
writing output... [ 48%] api/scanpy.api.tl.score_genes_cell_cycle
writing output... [ 48%] api/scanpy.api.tl.sim
writing output... [ 49%] api/scanpy.api.tl.tsne
writing output... [ 49%] api/scanpy.api.tl.umap
writing output... [ 50%] api/scanpy.datasets.blobs
writing output... [ 50%] api/scanpy.datasets.ebi_expression_atlas
writing output... [ 50%] api/scanpy.datasets.krumsiek11
writing output... [ 51%] api/scanpy.datasets.moignard15
writing output... [ 51%] api/scanpy.datasets.paul15
writing output... [ 52%] api/scanpy.datasets.pbmc3k
writing output... [ 52%] api/scanpy.datasets.pbmc68k_reduced
writing output... [ 53%] api/scanpy.datasets.toggleswitch
writing output... [ 53%] api/scanpy.external
writing output... [ 54%] api/scanpy.external.exporting.cellbrowser
writing output... [ 54%] api/scanpy.external.exporting.spring_project
writing output... [ 55%] api/scanpy.external.pl.phate
writing output... [ 55%] api/scanpy.external.pp.bbknn
writing output... [ 56%] api/scanpy.external.pp.dca
writing output... [ 56%] api/scanpy.external.pp.magic
writing output... [ 57%] api/scanpy.external.pp.mnn_correct
writing output... [ 57%] api/scanpy.external.tl.cyclone
writing output... [ 57%] api/scanpy.external.tl.palantir
writing output... [ 58%] api/scanpy.external.tl.phate
writing output... [ 58%] api/scanpy.external.tl.phenograph
writing output... [ 59%] api/scanpy.external.tl.sandbag
writing output... [ 59%] api/scanpy.logging.print_versions
writing output... [ 60%] api/scanpy.pl.clustermap
writing output... [ 60%] api/scanpy.pl.diffmap
writing output... [ 61%] api/scanpy.pl.dotplot
writing output... [ 61%] api/scanpy.pl.dpt_groups_pseudotime
writing output... [ 62%] api/scanpy.pl.dpt_timeseries
writing output... [ 62%] api/scanpy.pl.draw_graph
writing output... [ 63%] api/scanpy.pl.embedding_density
writing output... [ 63%] api/scanpy.pl.filter_genes_dispersion
writing output... [ 64%] api/scanpy.pl.heatmap
writing output... [ 64%] api/scanpy.pl.highest_expr_genes
writing output... [ 64%] api/scanpy.pl.highly_variable_genes
writing output... [ 65%] api/scanpy.pl.matrixplot
writing output... [ 65%] api/scanpy.pl.paga
writing output... [ 66%] api/scanpy.pl.paga_compare
writing output... [ 66%] api/scanpy.pl.paga_path
writing output... [ 67%] api/scanpy.pl.pca
writing output... [ 67%] api/scanpy.pl.pca_loadings
writing output... [ 68%] api/scanpy.pl.pca_overview
writing output... [ 68%] api/scanpy.pl.pca_variance_ratio
writing output... [ 69%] api/scanpy.pl.rank_genes_groups
writing output... [ 69%] api/scanpy.pl.rank_genes_groups_dotplot
writing output... [ 70%] api/scanpy.pl.rank_genes_groups_heatmap
writing output... [ 70%] api/scanpy.pl.rank_genes_groups_matrixplot
writing output... [ 71%] api/scanpy.pl.rank_genes_groups_stacked_violin
writing output... [ 71%] api/scanpy.pl.rank_genes_groups_violin
writing output... [ 71%] api/scanpy.pl.ranking
writing output... [ 72%] api/scanpy.pl.scatter
writing output... [ 72%] api/scanpy.pl.sim
writing output... [ 73%] api/scanpy.pl.stacked_violin
writing output... [ 73%] api/scanpy.pl.tsne
writing output... [ 74%] api/scanpy.pl.umap
writing output... [ 74%] api/scanpy.pl.violin
writing output... [ 75%] api/scanpy.plotting
writing output... [ 75%] api/scanpy.pp.calculate_qc_metrics
writing output... [ 76%] api/scanpy.pp.combat
writing output... [ 76%] api/scanpy.pp.downsample_counts
writing output... [ 77%] api/scanpy.pp.filter_cells
writing output... [ 77%] api/scanpy.pp.filter_genes
writing output... [ 78%] api/scanpy.pp.filter_genes_dispersion
writing output... [ 78%] api/scanpy.pp.highly_variable_genes
writing output... [ 78%] api/scanpy.pp.log1p
writing output... [ 79%] api/scanpy.pp.neighbors
writing output... [ 79%] api/scanpy.pp.normalize_per_cell
writing output... [ 80%] api/scanpy.pp.normalize_total
writing output... [ 80%] api/scanpy.pp.pca
writing output... [ 81%] api/scanpy.pp.recipe_seurat
writing output... [ 81%] api/scanpy.pp.recipe_weinreb17
writing output... [ 82%] api/scanpy.pp.recipe_zheng17
writing output... [ 82%] api/scanpy.pp.regress_out
writing output... [ 83%] api/scanpy.pp.scale
writing output... [ 83%] api/scanpy.pp.subsample
writing output... [ 84%] api/scanpy.queries.mitochondrial_genes
writing output... [ 84%] api/scanpy.read
writing output... [ 85%] api/scanpy.read_10x_h5
writing output... [ 85%] api/scanpy.read_10x_mtx
writing output... [ 85%] api/scanpy.read_csv
writing output... [ 86%] api/scanpy.read_excel
writing output... [ 86%] api/scanpy.read_h5ad
writing output... [ 87%] api/scanpy.read_hdf
writing output... [ 87%] api/scanpy.read_loom
writing output... [ 88%] api/scanpy.read_mtx
writing output... [ 88%] api/scanpy.read_text
writing output... [ 89%] api/scanpy.read_umi_tools
writing output... [ 89%] api/scanpy.set_figure_params
writing output... [ 90%] api/scanpy.tl.dendrogram
writing output... [ 90%] api/scanpy.tl.diffmap
writing output... [ 91%] api/scanpy.tl.dpt
writing output... [ 91%] api/scanpy.tl.draw_graph
writing output... [ 92%] api/scanpy.tl.filter_rank_genes_groups
writing output... [ 92%] api/scanpy.tl.leiden
writing output... [ 92%] api/scanpy.tl.louvain
writing output... [ 93%] api/scanpy.tl.paga
writing output... [ 93%] api/scanpy.tl.pca
writing output... [ 94%] api/scanpy.tl.rank_genes_groups
writing output... [ 94%] api/scanpy.tl.score_genes
writing output... [ 95%] api/scanpy.tl.score_genes_cell_cycle
writing output... [ 95%] api/scanpy.tl.sim
writing output... [ 96%] api/scanpy.tl.tsne
writing output... [ 96%] api/scanpy.tl.umap
writing output... [ 97%] basic_usage
writing output... [ 97%] examples
writing output... [ 98%] index
writing output... [ 98%] installation
writing output... [ 99%] references
writing output... [ 99%] release_notes
writing output... [100%] tutorials
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/docs/api/index.rst:147: WARNING: undefined label: pandas:/io.rst#io-tools-text-csv-hdf5 (if the link has no caption the label must precede a section header)
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/api/__init__.py:docstring of scanpy.api:150: WARNING: undefined label: pandas:/io.rst#io-tools-text-csv-hdf5 (if the link has no caption the label must precede a section header)
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/plotting/_anndata.py:docstring of scanpy.pl.dotplot:36: WARNING: undefined label: scanpy.tl.dendrogram (if the link has no caption the label must precede a section header)
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/plotting/_anndata.py:docstring of scanpy.pl.heatmap:30: WARNING: undefined label: scanpy.tl.dendrogram (if the link has no caption the label must precede a section header)
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/plotting/_anndata.py:docstring of scanpy.pl.matrixplot:26: WARNING: undefined label: scanpy.tl.dendrogram (if the link has no caption the label must precede a section header)
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/plotting/_anndata.py:docstring of scanpy.pl.stacked_violin:29: WARNING: undefined label: scanpy.tl.dendrogram (if the link has no caption the label must precede a section header)
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/checkouts/latest/scanpy/tools/_rank_genes_groups.py:docstring of scanpy.tl.filter_rank_genes_groups:22: WARNING: undefined label: scanpy.tl.rank_genes_groups (if the link has no caption the label must precede a section header)
generating indices... genindex py-modindex
writing additional pages... search
copying images... [ 11%] api/scanpy.pl.dotplot.png
copying images... [ 22%] api/scanpy.pl.heatmap.png
copying images... [ 33%] api/scanpy.pl.matrixplot.png
copying images... [ 44%] api/scanpy.pl.rank_genes_groups_dotplot.png
copying images... [ 55%] api/scanpy.pl.rank_genes_groups_heatmap.png
copying images... [ 66%] api/scanpy.pl.rank_genes_groups_matrixplot.png
copying images... [ 77%] api/scanpy.pl.rank_genes_groups_stacked_violin.png
copying images... [ 88%] api/scanpy.pl.stacked_violin.png
copying images... [100%] api/scanpy.pl.violin.png
copying static files... done
copying readthedocs static files... done
copying searchtools... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 19 warnings.
The HTML pages are in _build/html.
/home/docs/checkouts/readthedocs.org/user_builds/icb-scanpy/envs/latest/lib/python3.6/site-packages/sphinx_rtd_theme/search.html:20: RemovedInSphinx30Warning: To modify script_files in the theme is deprecated. Please insert a