The code and jupyternotebooks to go along with the Medium Spiny Neuron Diversity in the Primate Nucleus Accumbens publication. This github details the analysis performed on single nucleus RNA-seq data sampled from the Rhesus macaque striatum. The resulting analysis yielded precise gene markers for call cell types in the macaque straitum and a characterization of the diversity of medium spiny neurons as well as their regional distribution in the nucleus accumbens vs the putamen anc caudate. You can follow along the analysis with the Jupyter notebooks below. The statstical test scripts contain code to run the cell type identification and cluster validation statstical testing
-
R>3.6.0
-
python>3.5.1
-
STAR>2.7.2b
The rest of the requirements can be installed by running:
- pip install pip_requirements.txt
- Rscript installation.R
Alignment of the rhesus macaque straitum nuclei data was performed using STAR version 2.7.2b on the rhemac10 genome. Scripts for the alignmet are located in the alignment scripts folder.
The analysis was composed of the following steps and can be viewed in the analysis jupyer notebooks.
Computational Step | Software Packages | Associated Notebook |
---|---|---|
Empty Droplet Removal | DropletUtils | remove_noise_droplets.ipynb |
Doublet Removal | SCDS | remove_noise_droplets.ipynb |
Combining Brain Regions | ---- | combine_brain_regions.ipynb |
Poor Quality Nuclie Removal | Scanpy | preclustering_and_qc.ipynb |
Preclustering | Scanpy | preclustering_and_qc.ipynb |
Normalization | Scran | scran_normalization.ipynb |
Full Striatum Clustering and Marker analyis | Scanpy | full_nuclei_analysis.ipynb |
Medium Spiny Neuron Clustering and Marker analyis | Scanpy | msn_analysis.ipynb |
We are also providing our own code for the following statistical tests
Statistical Test | Purpose | Script |
---|---|---|
Cluster-cell type enrichment test | Computes the marker gene enrichment between a single nuclei cluster and set of cell types in a gene marker database | cluster_profile.py |
Archetype Factorization | Performs dirchlet simplex nest factorization on anndata objects | archetype_utilities.py |
Archetype Discontinuity Test | Computes Regression Discontinuity statitics on the archetype axes | split_testing.py |
Compute Archetype Stability Heuristic Metrics | Computes stability metrics for k archetypes in order to select k | select_archetypes.py |
Permuation Significance Testing | Performs permutation testing for p-value correction of the regression discontinuity test | permutation_testing.py |
Dirichlet Simplex Nest | Extended from the Dirichlet Simplex Nest Github | vlad.py |