CGC 723基因的版本中有15基因名称不是标准名

在使用clusterProfiler包时,CGC的部分ID被和谐了

CGC中723个基因通过ClusterProfilerbitr函数转换后,有15个基因无法匹配到对应的EntrezID。我通过与genecard比较,找出了作妖的原因。
究竟是什么原因呢?
ID不对!CGC提供的id不是标准的ID,无法通过org.Hs.eg.db索引到相应的其他类型ID。我用了一个笨办法,从genecard逐个挑出了这些基因的标准ID,贴上了对应的EntrezID。

Gene Symbol GeneCardID  EntrezID
C2orf44 WDCP    80304
CASC5   KNL1    57082
FAM46C  TENT5C  54855
KIAA1598    SHTN1   57698
LHFP    LHFPL6  10186
MKL1    MRTFA   57591
MLLT4   AFDN    4301
RUNDC2A SNX29   92017
SEPT5   SEPTIN5 5413
SEPT6   SEPTIN6 23157
SEPT9   SEPTIN9 10801
WHSC1   NSD2    7468
WHSC1L1 NSD3    54904
ZNF198  ZMYM2   7750
ZNF278  PATZ1   23598

随后将这15基因的GeneCardID作为输入,能正确匹配对应ID。

cgc.genecard <- c("WDCP","KNL1","TENT5C","SHTN1","LHFPL6",
                  "MRTFA","AFDN","SNX29","SEPTIN5","SEPTIN6","SEPTIN9",
                  "NSD2","NSD3","ZMYM2","PATZ1")

bitr(cgc.genecard, 
     fromType="SYMBOL", 
     toType="ENTREZID", 
     OrgDb="org.Hs.eg.db",
     drop = F) 
'select()' returned 1:1 mapping between keys and columns
    SYMBOL ENTREZID
1     WDCP    80304
2     KNL1    57082
3   TENT5C    54855
4    SHTN1    57698
5   LHFPL6    10186
6    MRTFA    57591
7     AFDN     4301
8    SNX29    92017
9  SEPTIN5     5413
10 SEPTIN6    23157
11 SEPTIN9    10801
12    NSD2     7468
13    NSD3    54904
14   ZMYM2     7750
15   PATZ1    23598

哎,有没有什么办法比较轻松的解决CGC与genecard中标准基因名不一致的问题?
哎,用了clusterProfiler就得用org.Hs.eg.db,怎么更好的解决org.Hs.eg.db和ensemble间的不协调呢?

org.Hs.eg.db包也有待商榷

剔除了15个基因后,剩余708个基因。但通过bitr转换ID后,发现我获得了709个观测。WTF!

View(as.data.frame(table(geneid$SYMBOL)))

原来,这家伙作妖了。。

TEC	7006
TEC	100124696

随后,在google中以关键词tec 100124696确实也搜到了相关的记录。原来,7006指位于chr4的TEC对应tec protein tyrosine kinase,而100124696指位于chr19上的transient erythroblastopenia of childhood
命名不规范带来的镇痛,恶心!
想做个好点儿的生信分析,怎么处处都是陷阱?

--- 这是一条分割线 ---

bioMart转换基因ID

require(biomaRt)

load('../Rdata/CGC723.Rdata')
ensembl = useMart("ensembl",dataset="hsapiens_gene_ensembl")
gene <- as.character(CGC723$`Gene Symbol`)
geneid <- getBM(attributes = c("hgnc_symbol","entrezgene_id"),
                filters = 'hgnc_symbol',
                values = gene,
                mart = ensembl)
dim(geneid)
[1] 703   2

好家伙,竟然又丢了5个基因。
话说,CGC用的基因名,ensemble不能完全识别吗?你们当真只是一起扎堆到了西欧而已?难道你们没有内部交流?还是说,我的道行太浅,很多东西不知道?其实,我更希望是后者,因为我终究获得越来越多的知识。

posted @ 2019-09-04 22:28  yuwq  阅读(387)  评论(0编辑  收藏  举报