|
經(jīng)常會(huì)有人問(wèn)這樣的問(wèn)題I have list of 10,000 Entrez IDs and i want to convert the multiple Entrez IDs into the respective gene names. Could someone suggest me the way to do this?等等類似的基因轉(zhuǎn)換,能做的基因轉(zhuǎn)換的方法非常多,以前不懂編程的時(shí)候,都是用各種網(wǎng)站,而最常用的就是ensembl的biomart了,它支持的ID非常多,高達(dá)幾百種,好多ID我到現(xiàn)在都不知道是什么意思。 現(xiàn)在學(xué)會(huì)編程了,我比較喜歡的是R的一些包,是bioconductor系列,一般來(lái)說(shuō),其中有biomart,org.Hs.eg.db,annotate,等等。關(guān)于biomart我就不再講了,我前面的博客至少有七八篇都提到了它。本次我們講講簡(jiǎn)單的, 我就以把gene entrez ID轉(zhuǎn)換為gene symbol 為例子把。 當(dāng)然,首先要安裝這些包,并且加載。 if(“org.Hs.eg.db” %in% rownames(installed.packages()) == FALSE) {source(“http:///biocLite.R”);biocLite(“org.Hs.eg.db”)} library(annotate) #一般都是這樣加載包 如果是用org.Hs.eg.db包,首先你只需要讀取你的待轉(zhuǎn)換ID文件,構(gòu)造成一個(gè)向量,tmp,然后只需要symbols <- org.Hs.egSYMBOL[as.character(tmp)]就可以得到結(jié)果了,返回的symbols是一個(gè)對(duì)象,需要用toTable這個(gè)函數(shù)變成數(shù)據(jù)框。但是這樣轉(zhuǎn)換容易出一些問(wèn)題,比如如果你的輸入數(shù)據(jù)tmp,里面含有一些無(wú)法轉(zhuǎn)換的gene entrez ID,就會(huì)報(bào)錯(cuò)。 而且它支持的ID轉(zhuǎn)換很有限,具體看看它的說(shuō)明書即可:https://www./packages/release/data/annotation/manuals/org.Hs.eg.db/man/org.Hs.eg.db.pdf org.Hs.eg.db 如果是用annotate包,首先你還是需要讀取你的待轉(zhuǎn)換ID文件,構(gòu)造成一個(gè)向量,tmp,然后用getSYMBOL(as.character(tmp), data=’org.Hs.eg’)這樣直接就返回的還是以向量,只是在原來(lái)向量的基礎(chǔ)上面加上了names屬性。說(shuō)明書:http://www./packages/3.3/bioc/manuals/annotate/man/annotate.pdf 然后你可以把轉(zhuǎn)換好的向量寫出去,如下: 1 A1BG PS:如果是芯片數(shù)據(jù),需要把探針的ID轉(zhuǎn)換成gene,那么一般還需要加載特定芯片的數(shù)據(jù)包才行: platformDB <- paste(eset.mas5@annotation, “.db”, sep=””) #這里需要確定你用的是什么芯片 library(annotate) # lookUp函數(shù)是屬于annotate這個(gè)包的 |
|
|
來(lái)自: zhuqiaoxiaoxue > 《生信》