Getting started with 10X Chromium 3' digital expression analysis
The short tutorial below explains how to process a small (example) 10X Chromium 3’ digital expression data.
- Begin by making sure you have the (correct versions) of the necessary programs installed:
- Install kallisto.
- Install python. It is convenient to work on a linux server for the processing of single-cell data (due to large files and the utility of multithreading) and an easy way to install python is via Anaconda. Python 2.7 suffices and can be installed with
bash Anaconda2-4.0.0-Linux-x86_64.sh
. - Install Jupyter Notebook (this will not be necessary if you’ve installed python with Anaconda as Jupyter Notebook is bundled along with other packages and libraries you will need). To run Jupyter Notebook remotely on a server type
ipython notebook --no-browser --port=8889
. Start an SSH tunnel on the local machine withssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host
. You can then run Juypter Notebook remotely via a local web-browser athttp://localhost:8888
. - Make sure that the installed version of
scikit-learn
is at most 0.16.1. The latest version 0.17.1 has problems with the tSNE algorithm that is called in some of the Jupyter Notebooks you will use.
-
Download the “human-mouse” transcriptome from the kallisto transcriptome website.
-
Build the kallisto index for the transcriptome with the command
kallisto index -i transcripts.idx Mus_musculus.GRCm38.rel79_Homo_sapiens.GRCh38.rel79.cdna.mix.fa.gz
. -
Copy the
config.json
file from here to a working directory of choice and edit the paths in the file as needed. If necessary also change the NUM_THREADS parameter to a value appropriate for the machine on which the example is to be processed. -
Copy the
10xDetect_and_Prep.py
script to your working directory. -
Type
python 10xDetect_and_Prep.py config.json
. -
Copy the
10x_results.ipynb
from the notebook folder to your working directory where theconfig.json
file is located. -
Run the notebook locally by typing
jupyter notebook 10x_results.ipynb
or see instructions above for working with a notebook remotely. -
The result obtained should be identical to the one in
10xResults_hgmm_small.ipynb
. - We strongly recommend performing the first step of the workflow interactively using the
10xGet_cell_barcodes.ipynb
. See the README for how to do this with your own data.