1.批量安装包
首先是设置镜像
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)
}
#查看Seurat的版本
packageVersion("Seurat")
1.1 require和library
区别:(1)library 会在包没有安装时抛出错误,终止执行。require 会在包没有安装时返回 FALSE,允许继续执行后续代码。(2)require在需要的时候可以提供逻辑值。能加载成功的包会返回TRUE,不能加载成功的包返回FALSE
as.logical(require(limma))
## [1] TRUE
as.logical(require(dplyr))
## Loading required package: dplyr
## [1] FALSE
或加!(逆转逻辑值符号,!TRUE就是FALSE,!FALSE 就是TRUE)
!require(limma)
## [1] FALSE
!require(huahua)
## Loading required package: huahua
## [1] TRUE
1.2 if
if(TRUE)print("Hello")
## [1] "Hello"
if(FALSE)print("Hello")
1.3 require与if语句的结合
先判断是否安装包,没找到再执行安装
if(!require("BiocManager")) install.packages("BiocManager",update = F,ask = F)
1.4 for循环
ps = c("tidyr","dplyr","stringr")
for (p in ps) {
print(p)
}
对于每一个在向量ps里的元素p,都执行一遍{}里的命令
1.5 循环时必须要加的参数ask,updat,character.only
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)
}
}
#character.only = TRUE pkg 是一个变量名,而不是直接的包名称字符串。
#quietly = TRUE 在加载包时不显示加载信息。
#ask = FALSE 在安装过程中不需要用户确认。
#update = FALSE 不更新已经安装的包。
2.单细胞的应用方向
2.1 数据库
1.Gene Expression Omnibus (GEO)
2.Single Cell Portal: 在线平台,提供了单细胞测序数据资源和分析工具。https://singlecell.broadinstitute.org/single_cell
3.Human Cell Atlas: 人类细胞图谱计划,旨在建立人类所有细胞类型的细胞图谱,提供了大量的单细胞 RNA 测序数据。
https://www.humancellatlas.org/
4.Single Cell Expression Atlas
https://www.ebi.ac.uk/gxa/sc/home
5.UCSC Cell Browser: 在线平台,用于浏览和分析单细胞RNA测序数据。
https://cells.ucsc.edu/
2.2 单细胞数据格式
(1)10X标准文件 (包含barcodes.tsv.gz,features.tsv.gz和matrix.mtx.gz)
(2)表达矩阵文件(csv,tsv,txt)
(3)h5格式文件 (.h5)
(4)h5ad格式文件(.h5ad)
具体可见https://mp.weixin.qq.com/s/W7szy-Kg6G1N1ENHNRjGiw