seurat对象中gene symbol的替换(自定义R包)

我们在处理seurat对象的时候经常会发现R对象会自动把我们的gene symbol给替换掉,比如所有的下划线被替换成了短横线。会出现如下warning


warning

这样的结果就是画出来的图里面用的symbol和原始库中的不一致。
为了解决这个问题,我写了一个R包,上传到了github上,大家可以自取,链接:
主要是针对几种不同的R数据类型进行了处理。使用起来方便快捷。

1、安装

使用本地安装是最快的

# 下载
wget -c https://codeload.github.com/myshu2017-03-14/RenameSymbolForRObject/zip/refs/heads/master -O RenameSymbolForRObject.zip
unzip RenameSymbolForRObject.zip
# 安装
R
install.packages("RenameSymbolForRObject/", repos = NULL, type = "source")
library(RenameRObject) # 导入没问题就是安装成功了

2、使用

library(RenameRObject)
# 导入包之后,需要导入reference
ref_data <- LoadReference("ref.xls")  # 注意ref.xls需要有一列gene_symbol, 并且列名必须为gene_symbol

# 测试list
gene_list <- read.table("test_data/marker_gene.xls", header = T)
new_gene_list <- RenameReference(ref_data, gene_list$gene)
# 测试,"unm_sa821" %in% new_gene_list

# 测试s4
Control <- readRDS(file = "test_data/cluster_pca.rds")
Control.plot <- RenameGenesSeurat(Control, ref_data, "RNA")
# "unm_sa821" %in% rownames(Control.plot@[email protected])

# 测试cds
cds_data <- readRDS(file="test_data/cds_data.rds")
new_cds_data  <- RenameGenesCellDataSet(cds_data, ref_data)

# 测试matrix
new_matrix <- RenameGenesMatrix(gene_list, ref_data, "gene", if_rownames=FALSE)
# "unm_sa821" %in% new_matrix$gene

# 测试tree
RenameTree("test_data/heatmap.tree_row", "test_data/heatmap.tree_row.new", ref_data)

如果有任何疑问或建议欢迎大家留言~

你可能感兴趣的:(seurat对象中gene symbol的替换(自定义R包))