小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

無(wú)痛解決基因全稱與縮寫的轉(zhuǎn)換

 起風(fēng)了xmj7lizp 2019-10-30

“山窮水盡疑無(wú)路,柳暗花明又一村”

某天,想收集一類藥物的作用靶點(diǎn),上了Drugbank獲取了全部數(shù)據(jù),加載到R中,解析出來(lái)后蒙圈了,它居然一個(gè)基因靶點(diǎn)對(duì)應(yīng)了多個(gè)名稱。這就很為難了。
怎么從基因全稱獲取它的縮寫呢?
我知道Uniprot可以弄,但小白一個(gè)個(gè)輸入查詢,那就很痛苦了!

能不能從基因的全稱來(lái)批量獲取其縮寫呢?

到群上提了問(wèn),又雙叒叕得到 jimmy老師的點(diǎn)撥。
當(dāng)然可以!org.Hs.eg.db包可以做!
代碼如下:

library(org.Hs.eg.db)#org.Hs.eg.db 是用于geneID轉(zhuǎn)換的包。物種為人類。Bioconductor上還有提供其他物種的。eg2Symbol=toTable(org.Hs.egSYMBOL)##將包中g(shù)ene_symbol轉(zhuǎn)換成數(shù)據(jù)框eg2name=toTable(org.Hs.egGENENAME)##將包中GENENAME轉(zhuǎn)換成數(shù)據(jù)框anno=merge(eg2Symbol,eg2name,by='gene_id')#根據(jù)gene_id合并兩個(gè)數(shù)據(jù)框genes=read.table('symbol.txt',stringsAsFactors = F)[,1]##導(dǎo)入自己的gene數(shù)據(jù)anno[match(genes,anno$gene_name),]##match函數(shù)匹配索引,獲得自己的數(shù)據(jù)在包中整出來(lái)的數(shù)據(jù)框中的行位置write.csv(anno[match(genes,anno$symbol),],'symbol2name.csv')##寫出文件0

代碼里面很巧妙地用了兩次Totable函數(shù),雖然還不太懂它的作用,但好不好用,看效果,一運(yùn)行就得到了基因和全稱對(duì)應(yīng)的數(shù)據(jù)框。
這樣的數(shù)據(jù)放到R里可是輕輕松松可以認(rèn)識(shí)的!

OK,之后導(dǎo)入數(shù)據(jù)執(zhí)行代碼。
幾秒鐘,瞬間無(wú)痛解決基因從全稱到縮寫的轉(zhuǎn)換問(wèn)題!
雖然Drugbank有點(diǎn)坑,有些基因全稱因?yàn)楹桶刑峁┑娜Q不一致所有沒(méi)辦法匹配上,但總算是最大程度解決了我的困惑。


此外,讀了下生信菜鳥團(tuán)的相關(guān)推文,發(fā)現(xiàn)這個(gè)包還有其他轉(zhuǎn)換的用法。
看一眼包中的所含的信息

keytypes(org.Hs.eg.db)#包里面有的數(shù)據(jù)注釋類別共有26個(gè)# [1] 'ACCNUM'       'ALIAS'        'ENSEMBL'    'ENSEMBLPROT'  'ENSEMBLTRANS' 'ENTREZID'    
 #[7] 'ENZYME'       'EVIDENCE'     'EVIDENCEALL'  'GENENAME'     'GO'           'GOALL'       #[13] 'IPI'          'MAP'          'OMIM'         'ONTOLOGY'     'ONTOLOGYALL'  'PATH'        #[19] 'PFAM'         'PMID'         'PROSITE'      'REFSEQ'       'SYMBOL'       'UCSCKG'      #[25] 'UNIGENE'      'UNIPROT'  

比如,可以借助select函數(shù)從ENSG0編號(hào)或是ENTREZID獲取對(duì)應(yīng)的基因名稱及全稱。當(dāng)然從基因的名稱或者全稱反過(guò)來(lái)獲取前兩者也是可以的。
select函數(shù)的結(jié)構(gòu)
select(org.Hs.eg.db, keys= , columns= , keytype=' ')

##例如 想通過(guò)基因全稱獲取它的縮寫和ENTREZID 。這里的基因名就是keytype ensids <- c('tumor protein p53')#基因的全稱cols <- c('SYMBOL','ENTREZID')#想提取的包中含有的相應(yīng)信息所在的列select(org.Hs.eg.db, keys=ensids, columns=cols, keytype='GENENAME')##keytype設(shè)置輸入的類型。這里是基因的名字。

bingo!運(yùn)行完的結(jié)果


image.png

以此類推,要獲取什么類別的信息,只要改函數(shù)中數(shù)據(jù)的key、colums對(duì)象,和keytype就好了!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多