zoukankan      html  css  js  c++  java
  • 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不能完全识别吗?你们当真只是一起扎堆到了西欧而已?难道你们没有内部交流?还是说,我的道行太浅,很多东西不知道?其实,我更希望是后者,因为我终究获得越来越多的知识。

  • 相关阅读:
    排序算法的稳定性
    字符串处理常用函数
    判断两棵二叉树是否相等
    约瑟夫环
    自加++
    Linux 安装配置 Tomcat
    在 eclipse 中将 web 项目部署到 tomcat 服务器上
    PHP连接MySQL数据库
    logback
    Log4J
  • 原文地址:https://www.cnblogs.com/yuwq/p/11461939.html
Copyright © 2011-2022 走看看