单细胞Day4

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.单细胞的应用方向

单细胞的应用方向.png
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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容