R splatter包学习
转自:http://www.bioconductor.org/packages/release/bioc/vignettes/splatter/inst/doc/splatter.html
1.quickstart
library(splatter) library(scater)# 创建模拟数据 set.seed(1) sce <- mockSCE() params <- splatEstimate(sce)
跑上面的代码时,出现了Error in mockSCE() : could not find function "mockSCE" 错误,emmm。
这个函数是scater包里的函数,引入了这个包为啥找不到函数呢。
可能是和R的版本有关系,我目前使用的是3.5.1,但有warning:
Warning messages: 1: 程辑包‘scater’是用R版本3.5.2 来建造的 2: 程辑包‘ggplot2’是用R版本3.5.3 来建造的
所以尝试使用3.5.2版本的R。
还是不行,依旧会报这个错误:
> sce <- mockSCE()
Error in mockSCE() : could not find function "mockSCE"
> sce <- scater::mockSCE() Error: 'mockSCE'不是'namespace:scater'内的出口对象
看到一个博客说可能是这个函数没有了,所以找到了包的手册。
这个函数还是有的啊,而且给出了例子。
在library(scater)的过程中出现以下:
载入需要的程辑包:ggplot2 载入程辑包:‘scater’ The following object is masked from ‘package:S4Vectors’: rename The following object is masked from ‘package:stats’: filter Warning message: 程辑包‘ggplot2’是用R版本3.5.3 来建造的
尝试> library('ggplot2') 在3.5.2下是可以正常使用的。
可能是3.5版本的都没有这个函数???
全网都搜不到相关的问题。
直接换3.6.2版本的R,在安装时还遇到了这个问题Do you want to install from sources the packages which need compilation
之前一直都默认选的yes,但是看来好像应该选no,https://community.rstudio.com/t/meaning-of-common-message-when-install-a-package-there-are-binary-versions-available-but-the-source-versions-are-later/2431
原来真的是因为R版本的问题,3.5的是没有这个函数的,只有3.6版本安装的scater包有这个。。。并且在选择上面问题时选择了no。emmm
最后,这个官方手册还是很不错的。
可以学习到不同group不同群体,也就是说,比如小鼠和人?还是说患病的人和不患病的人的同一组织的细胞?
2.log-normal
library size的normal和log之后的normal,有什么区别是需要注意一下的。
3.simpleSimulate
这个函数也是splatter包里的,
从一个简单的负二项分布仿真数据,没有library size和差异表达等。
4.与真实数据or分布的比较
忽然一下子明白了这个比较,simple它是根据负二项分布直接生成的数据, 而这里进行比较就是查看仿真的数据和负二项分布的差异,这个是一方面,可以用来对一个数据集是否符合负二项分布来说,也可以用来判断两个数据集的分布是否相似;非常有用的点!
5.cpm
作图多次出现这个单位,搜了一下https://www.jianshu.com/p/1a80c66a8510
流行的转换包括每百万次计数(CPM),每百万次计数(log-CPM),每千克转录本的读数(RPKM)和每千万转录本的百万分率(FPKM)。
//基本搞定,比较简单,可以用来仿真数据,并且对仿真结果与真实的对比。