我们很多时候都很好奇作者的r包是如何写出来的,手痒的时候就想学习一下源码,顺便改一 问题来源 为什么要写今天这个推文呢? 起因是因为我想使用seurat自带函数画热图,奈何这个图不是那么好看 DoHeatmap(pbmc,features = features,draw.lines = FALSE ) 于是,我想自己手动改一下这个热图 我们接下来使用r,打开两个文件看一下看一下 file.edit('~/gzh/seurat_codes_learning/seurat-release-5.0.2/R/mixscape.R') file.edit ('~/gzh/seurat_codes_learning/seurat-release-5.0.2/R/visualization.R') 最后就顺利找到了源代码,可以看到DoHeatmap的画图功能其实来自于另外一个函数 那为什么两个p不一样呢 主要还是因为两个数据格式不一样嘛,一个是seurat产生的对象,另外一个是pheatmap产生的对象。如果感兴趣,可以去看看pheatmap的源码是什么,然后比较一下。
序 第三单元第十讲:使用Seurat包 载入数据,创建对象 rm(list = ls()) Sys.setenv(R_MAX_NUM_DLLS=999) ## 首先载入文章的数据 load(file= TRUE 17429 7153 # 存在7000多个基因在任何一个细胞中都没表达 右图显示了:大部分细胞都包含2000个以上的有表达的基因 开始使用CreateSeuratObject构建Seurat 对象: 因为Seurat存在两个版本,并且应用都比较多,所以这里会列出两种版本的代码 # 使用Seurat V3版本(以下简写"V3")(版本3有大量的参数从之前的genes改成了features) sce min.genes = 2000, project = "sce") > sce An object of class Seurat 预处理之归一化 关于Seurat归一化原理,可以看这一篇:https://www.biorxiv.org/content/biorxiv/early/2019/03/18/576827.full.pdf
Seurat是一个分析转录组数据的R包,我们之前的推文对其进行过描述: Seurat 学习笔记 该包于去年新推出了整合功能。 步骤如下: 数据预处理 作者把单细胞数据放在了SeuratData等一系列包中,如果你的网速不行,可以直接到网页下载数据。 library(Seurat) #devtools::install_github('satijalab/seurat-data') library(SeuratData) #InstallData FindIntegrationAnchors(object.list = reference.list, dims = 1:30) 然后我们将这些锚点传递给IntegrateData函数,该函数返回一个Seurat pancreas.integrated <- IntegrateData(anchorset = pancreas.anchors, dims = 1:30) 现在我们得到了seurat对象——一个整合后的表达矩阵
Seurat是分析单细胞数据一个非常好用的包,几句代码就可以出图,如feature plot,violin plot,heatmap等,但是图片有些地方需要改善的地方,默认的调整参数没有提供,好在Seurat 默认的feature plot是坐标轴形式 FeaturePlot(seurat.object,features = c("Thy1")) ? image.png 改成加框: FeaturePlot(seurat.object,features = c("Thy1"))+annotate(geom = 'segment', y = Inf, yend image.png 去掉框顺便改个颜色 FeaturePlot(object = seurat.object, features = c('Thy1'),cols = c("lightgrey" ,"#
library(Seurat) #import data #C_data T_data 为要分析的data.frame Control<-CreateSeuratObject(counts =C_data
GSE84465 目的是复现文献的第一幅总图 文献 二、大致思路 (1)根据GEO号下载表达矩阵,以及meta信息; (2)根据meta信息筛选tumor cell 的表达矩阵; (3)根据表达矩阵构建Seurat 4、构建Seurat对象,以及质控、可视化 group=data.frame(group=new.b[index,3], row.names = colnames(a_filt )) library("Seurat") scRNA = CreateSeuratObject(counts=a_filt, meta.data (unique(sort(top20))) #这里选取的是wilcox方法挑选的差异基因 p3_2 <- DoHeatmap(scRNA, features = top20, group.by = "<em>seurat</em>_clusters 但是原文使用的limma<em>包</em>识别,去重后仅有96个gene,而我自己尝试的或还有227个,相差比较大。
本文链接:https://blog.csdn.net/shiliang97/article/details/102699401 4-11 Isomorphic (10 分) Two trees, T1
使用 ProvidePlugin 后,能够在通过 webpack 编译的每个模块中,通过访问一个变量来获取到 package 包。 image.png 本质上,我们所做的,就是告诉 webpack,如果你遇到了至少一处用到 lodash 变量的模块实例,那请你将 lodash package 包引入进来,并将其提供给需要用到它的模块 image.png 3. polyfills 除了处理那些遗留的 package 包,shimming 的另一个作用就是处理 polyfills。有很多方法来载入 polyfills。
二、用R语言的Seurat包读入数据,并创建Seurat对象 参考教程:单细胞实战(1)数据下载-数据读取-seurat对象创建-腾讯云开发者社区-腾讯云 (tencent.com) 重点介绍我加载Seurat ‘Matrix’ 1.5-3,但需要的是>= 1.6.1 表明 Seurat 包需要比当前安装的 Matrix 包版本更高的版本 尝试先卸载再重新安装: remove.packages("Matrix" ) install.packages("Matrix") 安装完成后,再次尝试加载 Seurat 包: library(Seurat) 仍然报错??? 移除旧版本的包: remove.packages('Matrix') remove.packages('SeuratObject') remove.packages('Seurat') 确保包已被卸载 ") # 应返回‘1.6-1’ 最后安装 Seurat 包 install.packages("Seurat") library(Seurat) 注如果安装 Seurat 包还有问题 手动下载:https
/seurat/seurat_files_nbt.zip 同时还提供两个公共数据的实战演练教程: https://www.dropbox.com/s/4d00eyd84qscyd2/IntegratedAnalysis_Examples.zip pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz ## 下载整个压缩包解压即可重现整个流程 # Load the PBMC dataset list.files 包里面被封装成了函数:FindMarkers,有一系列参数可以选择,然后又4种找差异基因的算法: ROC test (“roc”) t-test (“t”) LRT test based on zero-inflated - FindMarkers(object = pbmc, ident.1 = 0, thresh.use = 0.25, test.use = "roc", only.pos = TRUE) 同时,该包提供了一系列可视化方法来检查差异分析的结果的可靠性 后面还有一个10X的单细胞实战,用的就是这个包,敬请期待。
以前还真没有注意,主要是没有遇到上,使用Seurat包AggregateExpression/AverageExpression函数计算基因平均表达量的时候,发现celltype如果有一些特殊字符会发生改变 "LAMPs" 其实一开始还真想不到是AggregateExpression/AverageExpression的问题,然后查询之后才知道(https://github.com/satijalab/seurat /issues/7893),但是在最新的seurat中会出现warning,提示您这个信息,如果之前的版本不提示那真的是抓耳挠腮!
目前已经给大多数共享服务器的公共R包库中的seurat4升级到了seurat5。 2解决办法 我们先登录网页版Rstudio 用.libPaths()函数查看一下我们目前载入R包的路径 最初Rb包路径 其中第一个是自己家目录下的(拥有读写权限),第二三个是服务器公共的,普通用户是没有 而我们日常调用的Seurat5就装在第二个路径下,因此我们可以把.libPaths() 中的2的路径删掉,不使用服务器提供的公共R包库/home/data/refdir/Rlib 。 删掉 /home/data/refdir/Rlib 路径就不会载入服务器上公用的 Seurat5,但是这样设置之后,一堆包也不会载进来,所以下面需要自己配置 Seurat4和其依赖的环境 注意,修改路径这里我把自己的默认路径 这时候在R中敲.libPaths()还是原先的R包路径,点击session Restar R重启R 然后就是我们更改后的.libPaths了 我们下载的包会默认装在第一个路径下面, 我们先下载 Seurat5
本期Seurat weekly 就和大家探索一下Seurat 的交互系统。 在Seurat中交互的参数一般是interactive,我们需要找到哪些函数有这个参数。 思考:如何查一个R包中哪些函数有某一参数? 先载入R包和数据,并执行简单的降维。 开发比较小的,或作为辅助功能的Shiny,miniUI是比较实用的,而且还支持多种展示形式,如下: 除了内置的交互形式之外,也有热心的Seurat开发了在线版的Seurat:SeuratV3Wizard 除了直接在线分析也可以在自己的R中安装azimuth 包,以方便本地使用。 if (! 之后用Shiny包装它并不是复杂,如Azimuth的源码,shiny完成的是对Seurat包的调用程序。
但是这样的转化总有需求,于是,Seurat团队开发了SeuratDisk包,希望满足数据在Seurat和Scanpy之间快速搬家的需求。 and https://mojaveazure.github.io/seurat-disk/index.html 显然,作者这是在提示我们安装新的R包:seurat-disk,于是我们挺听话地去安装了 debug(LoadH5Seurat) cellxgene <- LoadH5Seurat('some.processed.gzip.h5seurat', assays ="RNA") # 一波回车 debug( as.Seurat) #因为LoadH5Seurat里面用了这个函数,所以在LoadH5Seurat的debug环境种再debug as.Seurat Seurat Weekly 专栏总结(送圣诞礼物) Seurat Weekly NO.0 || 开刊词 Seurat Weekly NO.1 || 到底分多少个群是合适的?!
装好了,但是我4月30号手欠的听从了R的指示,说要安装limma去做后面的亚群差异分析的时候,我的服务器的后台装东西的时候又把我的Seurat挤掉了,我又开始在服务器当中不断去添加依赖库的过程。 首先是R语言版本的升级 我在尝试了对R4.0版本的安装Seurat后,发现我的编译路径一直在报错,因为我们的服务器目前是有两个R语言的版本,一个低版本的,一个是4.0以上的,所以有的时候如果没有将路径给全 -fPIC CXX14=/opt/rh/devtoolset-9/root/usr/bin/g++ -std=c++14 -fPIC 接下来就是跳转到R下面,进行install.packages("Seurat 接下来开始对每个缺少的包进行安装。 首先是stringi包 // 输入最传统的install.packages的方法 install.packages("stringi") [图片.png] 相比于昨天也是成功的装了stringi包,如果是后台缺少相关的环境条件
写在前面 单细胞分析的小伙伴们一定对 Seurat 不陌生,它几乎是所有scRNA-seq入门必备的“瑞士军刀”。 今天要介绍的是一款让你在 Seurat 世界里“如虎添翼”的神器—— SeuratExtend:基于Seurat的强大拓展包! 它不仅兼容原生Seurat工作流,还提供了大量一行命令即可实现的高质量可视化、数据统计与特征分析功能。 用到的包 rm(list = ls()) library(Seurat) library(SeuratExtend) 示例数据 pbmc 降维图 基本用法 DimPlot2(pbmc) 可视化不同变量
以前我们做了一个Seurat包官方的可视化函数投票:可视化单细胞亚群的标记基因的5个方法,下面的5个基础函数相信大家都是已经烂熟于心了: VlnPlot(pbmc, features = c("MS4A1 标准流程 端到端的单细胞管道SCP-快速开始 SCP—为单细胞分析设计的端到端解决方案 端到端的单细胞管道SCP-安装 接下来分享另外一个本身珍藏已久的年度爱用包(scillus)给大家,此包的 官方完整名字是 folder,这取决于输入数据的格式,构造方式如下: # 注意 此包目前仅支持Seurat v4版本的绘图,v5会报错 library(Seurat, lib.loc = "/nas2/zhangj/biosoft (metadata = m) 3、功能二:单细胞结果可视化 # 注意 此包目前仅支持Seurat v4版本的绘图,v5会报错 # 注意2:单独提供Seurat也可以绘图!! 作者将其打包变成了一个超级好的包!
只好求助jimmy老师了,在Jimmy的指导下,参阅了下面的教程完成了单个H5文件读入和转化为Seurat对象合并然后作图的方法: https://nbisweden.github.io/workshop-scRNAseq /labs/compiled/seurat/seurat_01_qc.html 确实很简单,我马上就可以开始做起来了。 rm(list=ls()) options(stringsAsFactors = F) library(Seurat) # H5文件读入和转化为Seurat对象 # https://nbisweden.github.io /workshop-scRNAseq/labs/compiled/seurat/seurat_01_qc.html setwd('GSE146981_RAW/') fs=list.files(pattern ) # H5文件读入和转化为Seurat对象 # https://nbisweden.github.io/workshop-scRNAseq/labs/compiled/seurat/seurat_01
文章目录 一、创建 Seurat 对象 二、标准预处理流程 1.基因质控指标来筛选细胞 2.归一化数据 3.识别高异质性特征 4.缩放数据 5.线性维度约化 PCA VizDimLoadings 方法一:JackStrawPlot 方法二:ElbowPlot 6.聚类细胞 7.非线性维度约化(UMAP/TSNE) 8.发现差异表达特征(cluster bioers) 9.识别细胞类型 一、创建 Seurat amazonaws.com/10x.files/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz library(dplyr) library(Seurat /data/pbmc3k/filtered_gene_bc_matrices/hg19/") # Initialize the Seurat object with the raw (non-normalized 5.确定数据集的维度 为了克服在单细胞数据中在单个特征中的技术噪音,Seurat 聚类细胞是基于PCA分数的。每个PC代表着一个‘元特征’(带有跨相关特征集的信息)。
前言 前面介绍了自己利用cellranger count的结果进行seurat分析,但是整合数据方面做得还是不如原作者优秀,虽然我们不知道他们是如何处理的,但还是可以继续向下进行,而且这一次将会使用他们合并好的数据 # 作者利用的是Seurat V2的ExtractField函数 # for Seurat V2 timePoints <- sapply(colnames(dataPBMC), 按照常理,10X的数据应该能做到平均表达800个基因 创建Seurat对象 # Seurat V2 PBMC <- CreateSeuratObject(raw.data = dataPBMC, 保存对象 save(PBMC,file = 'patient1.PBMC.output.Rdata') # 结果有1.9G ---- 附加 一个问题:Seurat2、3得到的结果差别大吗? Seurat V2结果 探究一下Seurat2和3的分群结果 起初我认为这两个版本的差异蛮大的,因为看tsne图明显感觉V2更好一些,导致我得出了错误的结论,认为两个版本的包处理结果千差万别。