可能是個生物信息學數據超市吧
biomaRt這個包很久以前我就給它寫過教程(點擊閱讀),但是排版不好,可讀性很差,所以我用R Markdown重新來一個。 當然了,它本身有官方的英文版教程(點擊閱讀),我在翻譯的基礎上面,加入了自己的理解, 下面是正文:
biomaRt是一個超級網路資源庫,裡面的信息非常之多,就是網頁版的biomaRt的R語言介面。谷歌搜索the biomart user』s guide filetype:pdf這個關鍵詞,就看到關於這個包的詳細介紹以及例子,我這裡簡單總結一下它的用法。
包的安裝
Bioconductor系列包的安裝方法都一樣
選擇資料庫
然後我們就可以載入這個包來看看它的一些性質啦,大家也可以根據這個包的說明書裡面的代碼一行行代碼敲進去看看效果,這樣學習最快也最容易記住。
三個主要函數getBM,getSequence,getLDS
我們選擇好了資料庫就要開始幹活啦,這個資料庫的檢索主要是三個函數getBM,getSequence,getLDS, 其中getBM這個函數可以部分用select語句替代。
首先我們講講getBM函數,它就四個參數。
getBM函數唯一的用處,就是做各種ID轉換。
可以查看filter和attribute有哪些東西。
getSequence函數大同小異,建議大家活用help函數去查看每個函數的幫助文檔。
簡單講幾個例子咯: Ps:這些都是在線注釋,所以都是要網路的,網速慢的會非常坑
幾個實用的例子
一.對幾個晶元探針的ID號,注釋它所捕獲的基因的entrezID
可以看到結果裡面已經成功的把affymetrix的晶元探針ID,轉為了對應的基因的entrez ID
二.對剛才的那三個探針ID號進行多個內容注釋,每個探針都對應著基因名已經染色體及起始終止坐標。
三.對給定的基因ID號進行GO注釋
四.通過染色體及起始終止坐標來挑選基因
五.對特定的GO ID號來查詢該go通路上面的基因是哪些。
六.根據refseq資料庫的NM系列ID號來獲取信息
這個例子的代碼有錯誤,因為refseq的信息沒有 refseq_dna Error in getBM(attributes = c(「refseq_dna」, 「interpro」, 「interpro_description」), : Invalid attribute(s): refseq_dna Please use the function 『listAttributes』 to get valid attribute names 我簡單檢查了一下,發現需要更正為 refseq_mrna
很明顯,是沒有refseq_dna的,只有refseq_mrna
然後我用了新的代碼
就成功的完成了轉換
七.根據基因的entrez ID號來挑選該基因的指定上下游區域信息或者蛋白序列
這樣就得到了三條序列,是給定基因的上游100bp序列 coding_gene_flank entrezgene
其實這個getSequence函數還有非常多的用法,當然主要的變化在其readme上面可以看到,主要是seqType可以有多個選擇。
getSequence函數返回的對象是一個data.frame,可以用exportFASTA()函數導出成fasta文件。
八,選擇其它資料庫來進行查詢,比如snp資料庫
當然還有一些資料庫的小技巧,第一個是參數 archive = TRUE,設置只用能獲取的資料庫
然後是設置特定選取hg19對應的信息。
還可以選取其它物種,比如秀麗隱桿線蟲
下面這個代碼是過時了的,你們需要自己去看說明書找到現在最新的代碼
寫在最後
最後我簡單提一下select函數是如何部分替代getBM函數的,因為biomaRt是在線資料庫,本來只能用它自己的getBM系列函數,但是為了對接其它bioconductor系列包,也可以用select函數來操作這個在線資料庫。
而且這個包更新也比較頻繁,所以大家如果看到比較老舊的教程,可能無法模仿,或者多年以後,你看到我這個教程,也會發現,重複不出來咯。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※lncRNA實戰項目-第五步-差異表達的mRNA和lncRNA
※比較不同的對單細胞轉錄組數據聚類的方法
TAG:生信技能樹 |