上午
1,下载数据,看扩展名,导入R,看数据是什么类型的,包括哪些方面的信息,可以用data[1:4,1:4]来看具体的数据内容。
2,细胞类型注释
安装SingleR
# 没有安装BiocManager的先安装这个
# install.packages("BiocManager")
# 安装SingleR
# BiocManager::install("SingleR")
# Seurat也是从这里安装的。
下载注释数据包
# 如果有提示需要celldex包的,下载方式如下:
# BiocManager::install('celldex')
# 下载注释的数据包
hpca.se <- HumanPrimaryCellAtlasData()
下载这步需要联网,在服务器上偶尔能连接到,在我自己的电脑上根本连不到,所以可以用下面这种方式:(1)在服务器上下载好数据文件,是SummarizedExperiment类型的,保存成.Rdata文件(存到自己知道的路径下);(2)从服务器上下载到自己的电脑上,同样记得保存到自己知道的地方;(3)用的时候直接 refdata <- get(load('.../filename.Rdata')) 就相当于 refdata <- HumanPrimaryCellAtlasData()这条命令。
并且鉴于联网有失败的可能性,所以下载下来直接用是一种稳妥的办法。
经过以上,成功注释到了。
下午
1,Linux系统里用路径最前面肯定是“/”开头,不然就报错“无法打开压缩文件...,可能是因为没有那个文件或目录”。
2,对于.Rdata,如果要用的话,可以load之后加get,然后赋给一个变量名,以后直接用变量名就可以了。读取及保存.Rdata和.rds的命令如下:
# 导入并使用.Rdata
data_name <- get(load('.../rdata_name.Rdata'))
# 保存为.Rdata
save(my_data,file='.../my_rdata.Rdata')
# 保存为.rds
saveRDS(my_data,file='.../my_rdsData.rds')
# 读取RDS文件就是readRDS('.../my_rdsData.rds')
3,单细胞注释SingleR过程可以参考单细胞工具箱|singleR-单细胞类型自动注释(含数据版) - 知乎 (zhihu.com) 和 单细胞转录组基础分析四:细胞类型鉴定 (qq.com)
按着文章里的步骤画出图了。
另,对于组合两个数据库作为参考的,画出的scores图(plotScoreHeatmap命令),可以通过调整scores.use和calls.use两个参数的值来控制画出来几个:
# 默认全画,包括combined和各个分量参考数据库的
plotScoreHeatmap(pbmc)
# 都等于0就是全用combined的值
plotScoreHeatmap(pbmc,scores.use=0,calls.use=0)
# 等于1,2之类的就是画第1,2个分量数据库的值,1:2就是画前两个库的。
晚上
1,规规矩矩画出来图,做PPT总结本周工作,整理思路。
2,一个关于scPred的问题
跑官网给的代码的时候,报错如下:
> query <- scPredict(query, reference)
● Matching reference with new dataset...
─ 2000 features present in reference loadings
─ 2000 features shared between reference and new dataset
─ 100% of features in the reference are present in new dataset
Error in `GetAssayData()`:
! `assay` must be one of "RNA", not "data".
Run `rlang::last_trace()` to see where the error occurred.
> rlang::last_trace()
<error/rlang_error>
Error in `GetAssayData()`:
! `assay` must be one of "RNA", not "data".
---
Backtrace:
▆
1. └─scPred::scPredict(query, reference)
2. └─scPred::project_query(...)
3. ├─SeuratObject::GetAssayData(new, "data")
4. └─SeuratObject:::GetAssayData.Seurat(assay = "data")
Run rlang::last_trace(drop = FALSE) to see 4 hidden frames.
问了老师,原因可能是Seurat5的数据存储格式改了,所以用一个低版本的试一下吧。
安装历史版本的R包 - 简书 (jianshu.com) 参考这个链接里的可以安装旧版本的。
我用的:
require(devtools)
install_version("Seurat", version = "4.0.0", repos = "http://cran.us.r-project.org")
提示:“正在使用程序包,因此不会被安装 ”,那么只好关掉R,重新install了。