{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# scEU-seq: cell cycle kinetic analysis\n", "\n", "This tutorial demonstrates single-cell kinetic analysis of cell cycle dynamics using {mod}`dynamo` with scEU-seq technology. We analyze the cell cycle dataset from [Battich, et al (2020)](https://science.sciencemag.org/content/367/6482/1151), which represents the first tutorial in our scEU-seq series. For organoid dataset analysis, please refer to the [organoid tutorial](https://dynamo-release.readthedocs.io/en/latest/scEU_seq_organoid_analysis_kinetic.html).\n", "\n", "Recently Battich and colleagues reported scEU-seq as a method to sequence mRNA labeled with 5-ethynyl-uridine (EU) in single cells. By developing a very creative labeling strategy (personally this is my favorite labeling strategy from all available labeling based scRNA-seq papers!) they are able to estimate RNA transcription and degradation rates in single cell across time.\n", "\n", "They applied scEU-seq and the labeling strategy to study the transcription and degradation rates for both the cell cycle and differentiation processes. Similar to what has been discovered in bulk studies, they find the transcription rates are highly dynamic while the degradation rate tend to be more stable across different time points. Furthermore, by quantifying the correlation between the transcription rate and degradation rates across time, they reveal major regulatory strategies.\n", "\n", "For both the cell cycle and the organoid systems, the authors use kinetics and a mixture of pulse and chase experiment to label the cells. I had a lot of fun to analyze this complicated dataset. But for the sake of simplicity, here I am going to only use the fraction of kinetics experiment for demonstrating how {mod}`dynamo` can be used to estimate labeling based RNA velocity and to reconstruct vector field function." ] }, { "cell_type": "raw", "metadata": {}, "source": [ "# get the latest pypi version\n", "# to get the latest version on github and other installations approaches, see:\n", "# https://dynamo-release.readthedocs.io/en/latest/ten_minutes_to_dynamo.html#how-to-install\n", "!pip install dynamo-release --upgrade --quiet" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using already downloaded Arial font from: /tmp/dynamo_arial.ttf\n", "Registered custom font as: Arial\n", "\n", "\n", " ███ ████████ \n", "█████ █████ █████ █████ ███ █████ \n", " ██████ ██████ ██████ ████████ ████ \n", " ___ ████ ███\n", " | \\ _ _ _ _ __ _ _ __ ___ ███\n", " | |) | || | ' \\/ _` | ' \\/ _ \\█████ ███ \n", " |___/ \\_, |_||_\\__,_|_|_|_\\___/█████ ████ \n", " |__/ ███ █████ \n", "Tutorial: https://dynamo-release.readthedocs.io/ \n", " █████ \n", "\n" ] }, { "data": { "text/html": [ "
| package | \n", "umap-learn | \n", "typing-extensions | \n", "tqdm | \n", "statsmodels | \n", "setuptools | \n", "session-info | \n", "seaborn | \n", "scipy | \n", "requests | \n", "pynndescent | \n", "pre-commit | \n", "pandas | \n", "openpyxl | \n", "numdifftools | \n", "numba | \n", "networkx | \n", "mudata | \n", "matplotlib | \n", "loompy | \n", "leidenalg | \n", "igraph | \n", "dynamo-release | \n", "colorcet | \n", "anndata | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| version | \n", "0.5.7 | \n", "4.13.2 | \n", "4.67.1 | \n", "0.14.4 | \n", "79.0.0 | \n", "1.0.1 | \n", "0.13.2 | \n", "1.11.4 | \n", "2.32.3 | \n", "0.5.13 | \n", "4.2.0 | \n", "2.2.3 | \n", "3.1.5 | \n", "0.9.41 | \n", "0.60.0 | \n", "3.4.2 | \n", "0.3.1 | \n", "3.10.3 | \n", "3.0.8 | \n", "0.10.2 | \n", "0.11.8 | \n", "1.4.2rc1 | \n", "3.1.0 | \n", "0.11.4 | \n", "