1. 简介:本次课程为该系列的第二次课程,在大家进行了一段时间的 R语言 与 Linux 学习后即可开始跟随课程正式开始系列课程的学习。本次课程我们首先会教大家如何 安装 、加载分析所需要的 全套R包,然后简单的介绍一下可用于Seurat对象创建的 各类数据结构及读取方式 ( Cellranger 输出文件、表达矩阵、工程文件等)。2. 视频及测试文件 2.1 视频教程 2.2 测试文件 请在推送中获取:手把手教你做单细胞测序数据分析
(二):各种输入文件的读取方式 3. 环境准备 考虑到大家遇到最多的Bug可能是版本冲突,因此需要保证您的 R 与 Packages 的版本都与我一致 版本环境点击跳转 4. 代码: 注意,本教程以 Seurat 的 V5 版本进行演示,Seurat V4和V5的不同之处可参考快速上手Seurat V5(订阅用户请在龙年订阅资料下载连接中找,无需再次付费)。
# 可以参考下面流程安装Seurat:# if(!require(Signac))install.packages('Signac') # remotes::install_github("satijalab/seurat-data", quiet = TRUE) # remotes::install_github("satijalab/azimuth", quiet = TRUE) # remotes::install_github("satijalab/seurat-wrappers", quiet = TRUE) # # if(!require(Seuratdata))devtools::install_github('satijalab/seurat-data') # # setRepositories(ind = 1:3, addURLs = c('https://satijalab.r-universe.dev', 'https://bnprks.r-universe.dev/')) # install.packages(c("BPCells", "presto", "glmGamPoi")) # # 安装Seurat V5,本教程编译的2024年 # install.packages('Seurat') # 安装conda # wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh # bash Miniconda3-latest-Linux-x86_64.sh # source ~/.bashrc 4.1 加载R包 # 服务器账号已经安装好了Seurat,可以直接加载 library (Seurat) library (magrittr) library (mindr) # 确认一下自己的安装版本,是V5后再进行下面的教程 packageVersion ( 'Seurat' ) # [1] '5.1.0' # 设置工作目录 setwd ( "/path/to/project" ) # 删除当前可能存在的所有环境变量 rm ( list = ls ) 4.2 读取数据并创建Seurat对象 # 判断依赖包是否存在:if ( ! require (multtest))BiocManager :: install ( "multtest" ) if ( ! require (Seurat)) install.packages ( "Seurat" ) if ( ! require (dplyr)) install.packages ( "dplyr" ) if ( ! require (tidyverse)) install.packages ( "tidyverse" ) # 读取单样本数据 # 方法一:10x标准三个输出文件 obj1 <- Read10X ( data.dir = "./filtered_gene_bc_matrices/hg19/" ) # 创建Seurat对象 obj1 <- CreateSeuratObject ( counts = obj1, project = "教程作者" ) obj1 # An object of class Seurat # 32738 features across 2700 samples within 1 assay # Active assay: RNA (32738 features, 0 variable features) # 1 layer present: counts # 方法二:仅有一个稀疏矩阵 # 读取时间受到文件大小影响,文件较大,读取时间相应较长 obj2 <- read.table ( "./single_cell_datamatrix.txt" , sep= " \t " , header= T, row.names= 1 ) # 查看数据维度,即细胞数和基因数 dim (obj2) # [1] 13714 2700 # 创建Seurat对象 obj2 <- CreateSeuratObject ( counts = obj2) obj2 # An object of class Seurat # 13714 features across 2700 samples within 1 assay # Active assay: RNA (13714 features, 0 variable features) # 1 layer present: counts # 方法三:RDS文件 obj3 <- readRDS ( "./panc8.rds" ) obj3 # An object of class Seurat # 13714 features across 2638 samples within 1 assay # Active assay: RNA (13714 features, 2000 variable features) # 3 layers present: counts, data, scale.data # 3 dimensional reductions calculated: pca, umap, tsne 4.3 Seurat对象网络图查看 # 前期准备 # 安装pdftools需要的库libpoppler-cpp-dev # sudo apt install libpoppler-cpp-dev # install.packages("pdftools") # 安装完pdftools再安装mindr # devtools::install_github("pzhaonet/mindr") # 这一部分由于版本原因我们做了较大的修改 out2 <- str (obj2) %>% capture.output (.) %>% gsub ( pattern = " \\ . \\ . " , replacement = " , x = . ) %>% gsub ( pattern = " \\ . \\ .@" , replacement = "# " , x = . ) %>% gsub ( pattern= "^ \\ s+ , replace= " ) mindr :: mm ( from = out2, input_type = "markdown" , output_type = "widget" , root = "Seurat" ) # $widget 网络图的绘制报错可参考:答读者问
(十三)查看Seurat对象时的ERROR:type=‘text’ 粉丝来稿|2. ERROR:type=’text’的另一种解法