玩轉(zhuǎn)單細(xì)胞(7):修改Seurat對象基因名稱

玩轉(zhuǎn)單細(xì)胞(2):Seurat批量做圖修飾玩轉(zhuǎn)單細(xì)胞(3):堆疊柱狀圖添加比例
玩轉(zhuǎn)單細(xì)胞(4):單細(xì)胞相關(guān)性
玩轉(zhuǎn)單細(xì)胞(5):單細(xì)胞UMAP圖只標(biāo)記特定細(xì)胞群寻馏、圈定細(xì)胞群及坐標(biāo)軸修改
玩轉(zhuǎn)單細(xì)胞(6):單細(xì)胞差異基因展示之對角散點圖
之前的玩轉(zhuǎn)單細(xì)胞系列,還是受到很多人的喜歡的,這里的都是一些小問題擒贸,但是遇到的話一時半會覺得無從下手矢门,因為都是寫細(xì)枝末節(jié)的問題誉结,學(xué)習(xí)了也是錦上添花董虱。同樣的店煞,今天的問題也是一直以來沒有想過的苞慢,只不過是在做項目的時候需要诵原,查詢了相關(guān)的解決辦法,這里分享驗證一下挽放。問題:我們在構(gòu)建seurat對象的時候绍赛,使用表達(dá)矩陣,基因名一般是gene symbol辑畦,如果是ID的話吗蚌,網(wǎng)上的教程也是建議轉(zhuǎn)為symbol再構(gòu)建,因為構(gòu)建好seurat后無法修改纯出,確實是蚯妇,因為seurat沒有專門的函數(shù)進(jìn)行修改。另外就是進(jìn)行同源轉(zhuǎn)化的時候潦刃,只有seurat對象侮措,那就很難受。 解決辦法:在閱讀一篇文章的時候作者寫過一個函數(shù)乖杠,github上也有:

RenameGenesSeurat <- function(obj = ls.Seurat[[i]], newnames = tmp) { # Replace gene names in different slots of a Seurat object. Run this before integration. Run this before integration. It only changes obj@assays$RNA@counts, @data and @scale.data.
  print("Run this before integration. It only changes obj@assays$RNA@counts and @data ")
  RNA <- obj@assays$RNA

  if (nrow(RNA) == length(newnames)) {
    if (length(RNA@counts)) RNA@counts@Dimnames[[1]]            <- newnames
    if (length(RNA@data)) RNA@data@Dimnames[[1]]                <- newnames
    # if (length(RNA@scale.data)) RNA@scale.data@Dimnames[[1]]    <- newnames
  } else {"Unequal gene sets: nrow(RNA) != nrow(newnames)"}
  obj@assays$RNA <- RNA
  return(obj)
}

但是后來在一個帖子上發(fā)現(xiàn)分扎,作者說github的函數(shù)不是通用形的,且不能全局修改胧洒,作者提供了一種改寫函數(shù)畏吓。為了尊重勞動成果墨状,這里就不直接貼出來函數(shù)了,附上作者函數(shù)的帖子菲饼,自行查看:http://www.reibang.com/p/6495706bac53這里我們進(jìn)行演示肾砂,看看效果,我們用小鼠的seurat對象進(jìn)行人同源轉(zhuǎn)化:這里也提一種同源轉(zhuǎn)化R包homologene宏悦。

library(Seurat)
library(nichenetr)
library(dplyr)
install.packages('homologene')
library(homologene)#基因同源轉(zhuǎn)化R包
# homologene::taxData
#    tax_id                      name_txt
# 1   10090                  Mus musculus
# 2   10116             Rattus norvegicus
# 3   28985          Kluyveromyces lactis
# 4  318829            Magnaporthe oryzae
# 5   33169         Eremothecium gossypii
# 6    3702          Arabidopsis thaliana
# 7    4530                  Oryza sativa
# 8    4896     Schizosaccharomyces pombe
# 9    4932      Saccharomyces cerevisiae
# 10   5141             Neurospora crassa
# 11   6239        Caenorhabditis elegans
# 12   7165             Anopheles gambiae
# 13   7227       Drosophila melanogaster
# 14   7955                   Danio rerio
# 15   8364 Xenopus (Silurana) tropicalis
# 16   9031                 Gallus gallus
# 17   9544                Macaca mulatta
# 18   9598               Pan troglodytes
# 19   9606                  Homo sapiens
# 20   9615        Canis lupus familiaris
# 21   9913                    Bos taurus
# A <- homologene(rownames(mouse_data), inTax = 10090, outTax = 9606)
# inTax輸入物種镐确、outTax輸出物種
#將鼠的基因名轉(zhuǎn)化為人的
mouse_data <- readRDS("D:/mouse_data.rds")
gene_trans = rownames(mouse_data) %>% convert_mouse_to_human_symbols()
gene_trans <- as.data.frame(gene_trans)
gene_mouse <- as.data.frame(rownames(mouse_data))
gene_use <- cbind(gene_trans, gene_mouse)
gene_use <- na.omit(gene_use)
mouse_data_trans <- subset(mouse_data,features=gene_use$`rownames(mouse_data)`)

#轉(zhuǎn)化
mouse_data_trans <- RenameGenesSeurat(mouse_data_trans, 
                                      newnames = gene_use$gene_trans,
                                      gene.use = gene_use$`rownames(mouse_data)`,
                                      de.assay = 'RNA')

轉(zhuǎn)化前:



轉(zhuǎn)化后:



可以看到,轉(zhuǎn)化后不論是哪個assay饼煞,都變成了人的基因源葫。接下來我們做一下差異基因的分析,看看會不會出錯砖瞧。發(fā)現(xiàn)沒有任何問題息堂。而且作圖也是一樣的,說明轉(zhuǎn)化的成功块促。
#測試一下荣堰,差異基因
DEGs <- FindMarkers(mouse_data_trans, 
                    min.pct = 0.25,
                    logfc.threshold = 0.25,
                    group.by = "orig.ident",
                    ident.1 ="10X_ntph_F",
                    ident.2="10X_ntph_M")

DEGs1 <- FindMarkers(mouse_data, 
                    min.pct = 0.25,
                    logfc.threshold = 0.25,
                    group.by = "orig.ident",
                    ident.1 ="10X_ntph_F",
                    ident.2="10X_ntph_M")

p1 <- FeaturePlot(mouse_data_trans, features = 'LTF')
p2 <- FeaturePlot(mouse_data, features = 'Ltf')
p1|p2

最后,我們對這個數(shù)據(jù)進(jìn)行重聚類竭翠,發(fā)現(xiàn)這個過程沒有任何問題振坚!


#重聚類
mouse_trans_human <- ScaleData(mouse_data_trans, vars.to.regress = c("nCount_RNA"), verbose = FALSE)
mouse_trans_human <- FindVariableFeatures(mouse_trans_human, nfeatures = 4000)
mouse_trans_human <- RunPCA(mouse_trans_human, npcs = 50, verbose = FALSE)
mouse_trans_human <- FindNeighbors(mouse_trans_human, reduction = "pca", dims = 1:50)
mouse_trans_human <- FindClusters(mouse_trans_human, resolution=0.8)
mouse_trans_human <- RunUMAP(mouse_trans_human, reduction = "pca", dims = 1:50)
DimPlot(mouse_trans_human, label = T,pt.size = 1)

最后,再次感謝這個提供函數(shù)的作者逃片,這個函數(shù)特別有用屡拨,不僅在需要同源轉(zhuǎn)化的分析中,在跨物種的分析中也同樣適用褥实。覺得分享有用的點個贊、分享下再走唄裂允。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末损离,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绝编,更是在濱河造成了極大的恐慌僻澎,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件十饥,死亡現(xiàn)場離奇詭異窟勃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)逗堵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門秉氧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蜒秤,你說我怎么就攤上這事汁咏⊙钦” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵攘滩,是天一觀的道長帅刊。 經(jīng)常有香客問我,道長漂问,這世上最難降的妖魔是什么赖瞒? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮蚤假,結(jié)果婚禮上冒黑,老公的妹妹穿的比我還像新娘。我一直安慰自己勤哗,他們只是感情好抡爹,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著芒划,像睡著了一般冬竟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上民逼,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天泵殴,我揣著相機(jī)與錄音,去河邊找鬼拼苍。 笑死笑诅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疮鲫。 我是一名探鬼主播吆你,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼俊犯!你這毒婦竟也來了妇多?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤燕侠,失蹤者是張志新(化名)和其女友劉穎者祖,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绢彤,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡七问,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了茫舶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片械巡。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坟比,到底是詐尸還是另有隱情芦鳍,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布葛账,位于F島的核電站柠衅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏籍琳。R本人自食惡果不足惜菲宴,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望趋急。 院中可真熱鬧喝峦,春花似錦、人聲如沸呜达。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽查近。三九已至眉踱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霜威,已是汗流浹背谈喳。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留戈泼,地道東北人婿禽。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像大猛,于是被迫代替她去往敵國和親扭倾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容