如何快速查找物種間對(duì)應(yīng)的同源基因

Homologous Gene ID Conversion.png

有時(shí)候,大家做實(shí)驗(yàn)以小鼠為模型,但希望查看與之對(duì)應(yīng)的人同源基因。像這種情況,我們可以不需要進(jìn)行序列比對(duì)來(lái)查找,因?yàn)楸容^麻煩。使用公共數(shù)據(jù)可能更高效。

1.基于NCBI HomoloGene數(shù)據(jù)庫(kù)查找物種間對(duì)應(yīng)的同源基因
NCBI HomoloGene數(shù)據(jù)庫(kù)收集了部分已經(jīng)完成基因組測(cè)序物種的同源基因數(shù)據(jù)。
數(shù)據(jù)庫(kù)現(xiàn)包含21個(gè)物種,共44233組同源基因;

HomoloGene的數(shù)據(jù)是開(kāi)放的:FTP
homologene.data存放著同源基因的對(duì)應(yīng)關(guān)系

HID(HomoloGene group id) Taxonomy ID Gene ID Gene Symbol Protein gi Protein accession
3 9606 34 ACADM 160961497 NP_001104286.1
3 9598 469356 ACADM 109008502 XP_001101274.1
3 10090 11364 Acadm 6680618 NP_031408.1

每個(gè)物種都有一個(gè)對(duì)應(yīng)的Taxonomy ID:

10090   Mus musculus
10116   Rattus norvegicus
28985   Kluyveromyces lactis
318829  Magnaporthe oryzae
33169   Eremothecium gossypii
3702    Arabidopsis thaliana
4530    Oryza sativa
4896    Schizosaccharomyces pombe
4932    Saccharomyces cerevisiae
5141    Neurospora crassa
6239    Caenorhabditis elegans
7165    Anopheles gambiae
7227    Drosophila melanogaster
7955    Danio rerio
8364    Xenopus (Silurana) tropicalis
9031    Gallus gallus
9544    Macaca mulatta
9598    Pan troglodytes
9606    Homo sapiens
9615    Canis lupus familiaris
9913    Bos taurus   

單個(gè)基因直接檢索,如Acadm:


批量注釋某個(gè)物種的基因?qū)?yīng)另一個(gè)物種的同源基因,可以使用R包homologene,它調(diào)用的是c中build68的數(shù)據(jù);

homologene(genes, inTax, outTax)

genes:需要查找同源基因的基因列表
inTax:輸入基因所屬物種
outTax:查找的同源基因?qū)儆谀莻€(gè)物種

例子:

genelist<-c("Acadm","Eno2","Acadvl")
homologene(genelist, inTax = 10090, outTax = 9606)
  10090 9606 10090_ID 9606_ID
1  Eno2 ENO2    13807    2026
2   Mog  MOG    17441    4340

查看homologene使用的數(shù)據(jù)版本

homologeneVersion
[1] 68
  1. 基于InParanoid 8數(shù)據(jù)庫(kù)查找物種間對(duì)應(yīng)的同源基因
    InParanoid 8提供的下載數(shù)據(jù)是Protein ID;構(gòu)建g InParanoid 8 用到的InParanoid 4.1可以獲取的,InParanoid 4.1 standalone download

    這兒我們利用InParanoid 8提供的同源基因信息進(jìn)行一個(gè)快速檢索。

根據(jù)自己研究的物種,從Downloads中下載數(shù)據(jù);8.0_current;需要值得注意的是,人類(lèi)與老鼠的同源基因文件InParanoid.H.sapiens-M.musculus.tgz 存放于H.sapiens/ ;在M.musculus/ 不會(huì)存在InParanoid.M.musculus-H.sapiens.tgz;其它類(lèi)似,所以要根據(jù)物種名首字母排序去排名靠前的物種文件夾下去找同源基因集文件。

InParanoid.H.sapiens-M.musculus.tgz 下載后解壓:

這兒使用文件,格式如下:sqltable.H.sapiens-M.musculus


數(shù)據(jù)格式和前面的NCBI HomoloGene中的homologene.data差不多;使用R處理數(shù)據(jù)時(shí),模仿了homologene包代碼;

homologene.R的代碼

homologene = function(genes, inTax, outTax){
    genes <- unique(genes) #remove duplicates
    out = homologene::homologeneData %>% 
        dplyr::filter(Taxonomy %in% inTax & (Gene.Symbol %in% genes | Gene.ID %in% genes)) %>%
        dplyr::select(HID,Gene.Symbol,Gene.ID)
    names(out)[2] = inTax
    names(out)[3] = paste0(inTax,'_ID')
    
    out2 = homologene::homologeneData %>%  dplyr::filter(Taxonomy %in% outTax & HID %in% out$HID) %>%
      dplyr::select(HID,Gene.Symbol,Gene.ID)
    names(out2)[2] = outTax
    names(out2)[3] = paste0(outTax,'_ID')
    
    output = merge(out,out2) %>% dplyr::select(2,4,3,5)

    # preserve order with temporary column
    output$sortBy <- factor(output[,1], levels = genes)
    output <- dplyr::arrange(output, sortBy)
    output$sortBy <- NULL
    
    return(output)
}

仿寫(xiě)的函數(shù)InParanoid_homo():

Hs.Mm<-read.table("sqltable.H.sapiens-M.musculus",sep = "\t",fill = T)
genes<-c("Q8WZ42","A2ASS6")
trans<-InParanoid_homo(genes,Hs.Mm)

InParanoid_homo = function(genes,database){
  colnames(database)<-c("Group","score","spieces","num","gene","Bootstrap")
  genes <- unique(genes)
  Spieces_name1<-database[1,]$spieces
  Spieces_name2<-database[2,]$spieces
  Spieces_1<-database %>% dplyr::filter(spieces %in% Spieces_name1)
  Spieces_2<-database %>% dplyr::filter(spieces %in% Spieces_name2)
  if(ANSWER <- readline(paste("Transfer",Spieces_name1,"to",Spieces_name2,"?","True/False: "))){
    genes_query<-Spieces_1 %>% dplyr::filter(gene %in% genes);head(genes_query)
    output = merge(genes_query,Spieces_2,by="Group")[,]
  }else if(ANSWER <- readline(paste("Transfer",Spieces_name2,"to",Spieces_name1,"?","True/False: "))){
    genes_query<-Spieces_2 %>% dplyr::filter(gene %in% genes);head(genes_query)
    output = merge(genes_query,Spieces_1,by="Group")[,]
  }else{
    cat("Nothing for you.")
  }
  return(output)
}

參考:
InParanoid 8: orthology analysis between 273 proteomes, mostly eukaryotic
homologene reference manual

Homologous Gene ID Conversion.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容