我们在处理seurat对象的时候经常会发现R对象会自动把我们的gene symbol给替换掉,比如所有的下划线被替换成了短横线。会出现如下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@reductions$pca@feature.loadings)
# 测试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)
如果有任何疑问或建议欢迎大家留言~