Skip to content

About

Time-course analysis of scRNA-seq from iPSC motor neurons.

Resources

Stars

0 stars

Watchers

4 watching

Forks

Latest commit

 

History

199 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iPSC-motor neuron scRNAseq

The goal is to investigate the processes of differentiation in motor neurons (MNs) derived from an iPSC model. Gene expression was assayed using single-cell RNA-sequencing (10x Genomics) and processed with CellRanger at each timepoint. Cells were collected from undifferentiated iPSC, and every 3 days until day 50. We aim to identify the regional identity and subtypes of iPSC motor neurons and transcriptomic (dis)similarity with native MNs in the fetal spinal cord.

Notebook / script numbering

Scripts in src/ are prefixed <series>_<step>_. The series prefix denotes the dataset/comparison and the step denotes order within that series:

  • 1_ - iPSC samples (day 0–day 50 differentiation time course)
  • 2_ - Human fetal spinal cord (HSC) reference and iPSC↔HSC comparison
  • 3_ & 5_ - Muscle-medium / skMCM experiment (iPSC-MN day 24 ± skeletal-muscle-conditioned medium, vs. SkM-untreated co-culture). 3_ = preprocessing/QC of these samples; 5_ = label transfer and integration with the Rayon embryonic and HSC references. ("mm_added" and "skMCM" refer to this same experiment.)
  • 4_ - Integrated analysis of iPSC + HSC + skMCM samples

Analysis steps

  1. Preprocessing (QC, filtering, normalization): *_00_*.Rmd (e.g. 1_00, 2_00, 3_00, 5_00)
  2. Integrated primary spinal-cord reference: 1_01_mack_d_iPSC_motor_neurons_ref_data.Rmd
  3. Integration of samples (scANVI): *_integration_*SCANVI.py
  4. Cell-type annotation: *_celltype_annotation.Rmd or *_label_transfer.py
  5. Cell-trajectory analysis: *_trajectories.py (CellRank 2)
  6. RNA velocity: see src/velocyto_README.md

Environment setup

Conda/mamba environments are in env/ (versions pinned to those used for the manuscript):

  • env/scanvi_gpu.yml - GPU scANVI integration + label transfer (*_SCANVI.py, *_label_transfer.py)
  • env/cellrank2.yml - CellRank 2 trajectory analysis (1_07_*, _aggregate_fate_probs.py)
  • env/velocyto.yml - RNA velocity counting
mamba env create -f env/scanvi_gpu.yml
mamba activate scanvi_gpu

The .Rmd notebooks call Python via reticulate using a scanpy_in_r conda env; adjust the absolute conda-env paths near the top of each .Rmd to your own install.

How to run

Run scripts in series/step order. They expect to be launched from the repository root (paths are written relative to it, e.g. ./results/... or ../results/...). Python scripts take arguments via argparse - run with -h to see options. GPU jobs are submitted via SLURM (src/slurm/run_gpu.slurm). Each script's header comment lists its inputs and outputs.

Data availability

Raw and processed single-cell data are deposited at [GEO/Zenodo accession - TODO add before submission]. The data/, results/, and figures/ directories are not tracked in git; download the deposited data and place it under results/ to reproduce the downstream steps.

Citation

If you use this code, please cite [manuscript citation - TODO add on acceptance].

Authors

@yebaeus & @jennylsmith

About

Time-course analysis of scRNA-seq from iPSC motor neurons.

Resources

Stars

0 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages