单细胞测序学习记录20231126

文章讲述了作者在使用scPred时遇到的版本兼容问题,涉及到R版本升级、Seurat版本选择以及rownames的修改。通过安装特定版本的R和rtools,解决了Seurat4.3.0与scPred的配合问题。同时,也提及了在Seurat4中处理rownames的方法。最后提到对hopf分岔学习的困惑和明日计划。
摘要由CSDN通过智能技术生成

上午

1,关于R4.3.2、scPred和Seurat5版本不兼容的问题

最初的目的是使用scPred官网的示例(Introduction to scPred • scPred (powellgenomicslab.github.io))跑一遍,然后复现文章里的图。跑scPred示例的时候

query <- scPredict(query, reference)

报错,提示"assay" must be one of "RNA",not "data"。更改DefaultAssay()无效。询问后可能是Seurat版本不对,因为Seurat5的数据存储格式改变了。于是下载历史版本的Seurat。

但是R4.3.2一直安装不上Seurat4,4.3.1也装不上,所以去查了scPred用的R的版本,R4.1.0,安装R4.1.0后seurat4.3.0出现在已安装的程序包中,说明确实可能是R版本太高了装不了低版本的Seurat了,但是又出现好多其他包的版本对不上的问题。

于是下载了R4.1.3,仍然提示rtools版本不对,那就下载一个对应版本的rtools吧(镜像网站上有说明对应哪些版本可用The Comprehensive R Archive Network (tsinghua.edu.cn)

下载rtools:

Sys.which("make")  #查看是否已安装make
pkgbuild::find_rtools(debug = TRUE)  #查看是否已安装rtools
R.version #查看当前R的版本

 从镜像网站上下载下来相应的.exe文件,然后双击开始安装就可以。rtools40还需要配置环境,镜像网站上也有教程,在R里使用下面的命令:

write('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', file = "~/.Renviron", append = TRUE)
# 配置环境

 就可以用rtools了。

下载scPred:

devtools::install_github("immunogenomics/harmony")
devtools::install_github("powellgenomicslab/scPred")

 使用 Seurat4.3.0 和 SeuratObject4.1.3 可以跑成功scPred的示例代码了。

2,关于seurat对象的rownames修改的问题

Seurat5中直接用rownames(Seurat_obj)<-...就可以改。

Seurat4中用上面的命令报错了:Error in dimnames(x) <- dn : 'dimnames'只能用于陈列。

下午

找到这个解决办法(How to change a gene name · Issue #1049 · satijalab/seurat · GitHub),虽然约等于没解决,但是来自seurat包的作者,可信度高哇。

所以就是说这个直接修改rownames(Seurat_obj)是不可行的,那么就试一下修改RNA里data的rownames吧,修改成功,并且再次rownames(Seurat_obj)也变成了新的gene名了。但是新的错误出现了, NormalizeData(Seurat_obj)的时候,报错:类别为“Assay”的对象不对: 'meta.features' must have the same number of rows as 'data'。

所以最后解决办法是:先更换RNA里的data的rownames,再用这个data重新建一个SeuratObject,然后在新的obj里做后续的分析即可。

晚上

hopf分岔学习,好像还是不太会在matlab里直接实现代码,熟练度根本不够,主要是这个知识原理还不太明白,导致算法不会写,最终导致代码敲不出来。希望明天可以想通hopf的原理。

今日总结

 解决了两个问题,其中第一个困扰我已久,今天有很大的进步,我真棒!

明日提醒

记得看论文,距离本学期汇报还有17天 。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值