安装包版本是4.3.1,看到有4.4.1,所以从安装这部分内容开始,引用资料图片文字等来源于花花老师的生信星球公众号,我的生信入门公众号。
要先安装R,注意直接下载太慢,用镜像会好一点,注意要先安装R,不要更改安装目录,不要更改安装目录,不要更改安装目录,重要的事情多说几遍,之后安装rstudio。简单介绍一下R,R是一种编程语言,也是统计计算和绘图的环境,它汇集了许多函数,能够提供强大的功能。R语言软件界面简陋,通常不直接使用,而是用图形界面的Rstudio。这个要注意设置权限为完全控制(R的Library,R.exe,还有rstudio)。
用Rproject管理工作目录,注意一个项目最好有一个单独的文件夹,有一个新建的Rproject,这样不容易弄混,因为R语言只能和一个文件夹互动,如果换来换去会非常麻烦。
标量是一个,向量是多个元素有序排列组成的
赋值
> a
[1] 1 2 5 8 9
> a<- 1:15 #从1-15之间所有的整数x
> a
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> c<- seq(1,5,by = 0.5) #1-5之间每隔0.5取一个数(注意是逗号不是分号)
> c
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
> a<- rep(1:3,times=3) #1-3 重复3次
> a
[1] 1 2 3 1 2 3 1 2 3
提取
> a[4] #a第4个元素
[1] 1
> a[-4]#除了第4个元素之外剩余的元素
[1] 1 2 3 2 3 1 2 3
> a[3:4]#第3到4个元素
[1] 3 1
> a[-(2:4)]#除了第2-4个元素
[1] 1 2 3 1 2 3
> a[c(1,3)] #第1个和第3个元素
[1] 1 3
> a[a==2]#等于2的元素
[1] 2 2 2
> a[a>1]
[1] 2 3 2 3 2 3
> a[a %in% c(1,2)]#存在于向量c(1,2)中的元素
[1] 1 2 1 2 1 2
一个几行几列的数据形式
提取方式用的是中括号
a[x,y]#第x行第y列
a[x,]#第x行
a[,y]#第y列
a[y] #也是第y列
a[a:b]#第a列到第b列
a[c(a,b)]#第a列和第b列
a$列名#也可以提取列(Tab自动补全)
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.westlake.edu.cn/bioconductor")
#安装来自cran的stringr包
install.packages("stringr")
#安装来自Biocductor的limma包
BiocManager::install("limma")
library(dplyr) #用library加载,不报错就行
#首先是设置镜像
options("repos"="https://mirrors.ustc.edu.cn/CRAN/")
if(!require("BiocManager")) install.packages("BiocManager",update = F,ask = F)
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
#来自cran的包放在一个向量里
cran_packages <- c('tidyverse',
'msigdbr',
'patchwork',
'SeuratObject',
'Seurat'
)
#来自bioconductor的包放在一个向量里
Biocductor_packages <- c('sva',
'monocle',
'GOplot',
'GSVA',
'plotmo',
'regplot',
'scRNAseq',
'BiocStyle',
'celldex',
'SingleR',
'BiocParallel'
)
#用for循环批量安装来自cran的包
for (pkg in cran_packages){
if (! require(pkg,character.only=T,quietly = T) ) {
install.packages(pkg,ask = F,update = F)
require(pkg,character.only=T)
}
}
#用for循环批量安装来自bioconductor的包
for (pkg in Biocductor_packages){
if (! require(pkg,character.only=T,quietly = T) ) {
BiocManager::install(pkg,ask = F,update = F)
require(pkg,character.only=T)
}
}
#再次加载所有包,检查有没有没安装好的
for (pkg in c(Biocductor_packages,cran_packages)){
require(pkg,character.only=T) #require也可以换成library,livbrary没有error就行,require中一些warning需解决,非常幸运没有,yeah。
}
#查看Seurat的版本
packageVersion("Seurat")
require 可以返回逻辑值,这个是第一次听说呀,直接判断是否安装
as.logical(require(limma))
## [1] TRUE
as.logical(require(dplyr))
## Loading required package: dplyr
## [1] FALSE
条件语句,判断是否执行
if(TRUE)print("Hello")
## [1] "Hello"
if(FALSE)print("Hello")
for (pkg in cran_packages){
if (! require(pkg,character.only=T,quietly = T) ) {
install.packages(pkg,ask = F,update = F)
require(pkg,character.only=T)
}
}
ask = F,update = F必须要加是因为装包经常被问是否更新,如果一个包被问了,后面的代码就会被当作对“是否更新”这个问题的回答,那循环里的其他包就执行不下去了。
character.only=T是为了消除歧义,不要把pkg这三个字母识别为一个包名,因为他是变量名,每次执行代码时会换不同的包名。有些时候可能不能理解,但是你会用就行。
可以都翻一翻看,最常用的还是GEO
1.Gene Expression Omnibus (GEO): GEO是一个公共数据库,收集了来自全球研究机构的大量基因表达数据,其中包括很多单细胞测序数据。
2.Single Cell Portal: Single Cell Portal是Broad Institute开发的在线平台,提供了丰富的单细胞测序数据资源和分析工具。https://singlecell.broadinstitute.org/single_cell
3.Human Cell Atlas: 人类细胞图谱计划(Human Cell Atlas)是一个国际合作项目,旨在建立人类所有细胞类型的细胞图谱。他们提供了大量的单细胞 RNA 测序数据。
https://www.humancellatlas.org/
4.Single Cell Expression Atlas: Single Cell Expression Atlas 是由欧洲生物信息研究所(EMBL-EBI)开发的在线数据库。
https://www.ebi.ac.uk/gxa/sc/home
5.UCSC Cell Browser: UCSC Cell Browser 是加州大学圣克鲁兹分校(UCSC)开发的在线平台,用于浏览和分析单细胞RNA测序数据。
GEO是综合数据库,不只有单细胞
从首页这里点进去。
常规转录组和单细胞转录组数据都在这个分类里,二者没有单独区分,要点表格第一列的GSExxxx编号,点进去看看网页上的描述,单细胞的数据就会有“scRNA”和“single cell” 这样的字眼,比如这个:
有些有参考文献
数据下载的位置在页面最底下
有一个注意,各种格式都有,不同的格式对应着不同的读取方式,可以看这个:https://mp.weixin.qq.com/s/W7szy-Kg6G1N1ENHNRjGiw。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。