How to convert gallus gallus entrezID into human entrezID
2
1
Entering edit mode
4.2 years ago
camillab. ▴ 160

Hi,

I want to performe reactome analysis with reactomePA package but I have a chick dataset and Gallus gallus organism is not supported by the package. I want to compare the results obtained with those previously found in my human dataset. so I was wondering:

  1. it's reasonable to convert the chick entrezID into human entrezID and then performed the analysis? I have noticed that reactome website before running the analysis convert non-human identifiers into human ones

  2. if so, which package can I use to convert chick entrezID into human entrezID?

Some example IDs:

 A tibble: 16 x 3
   SYMBOL       ENSEMBL.x          ENTREZID.x
   <chr>        <chr>              <chr>     
5_8S_rRNA    NA                 NA        
5S_rRNA      NA                 NA        
7SK          NA                 NA        
A0FK60 NA                 NA        
A0MPA7 NA                 NA        
A1CF         ENSGALG00000003765 423680    
A2LD1        ENSGALG00000022758 418773    
A2M          NA                 418251    
A2ML1        NA                 418254    
A4GALT       ENSGALG00000014128 418223    
A4GNT        ENSGALG00000006600 429136    
AAAS         ENSGALG00000032843 100859661 
AACS         ENSGALG00000002899 416811

Thank you

Camilla

R RNA-Seq entrezID reactome • 1.5k views
ADD COMMENT
4
Entering edit mode
4.2 years ago

Reactome seems to support Gallus gallus already? - https://reactome.org/PathwayBrowser/#/SPECIES=49591 I am not sure of the validity of converting the genes to human and then running this on human-curated pathways.

For the conversion, you will likely find a programmatic way via Ensembl REST: https://rest.ensembl.org/

Otherwise, from a previous answer that I gave on Bioc ( https://support.bioconductor.org/p/132551/#132568 ), this is achievable; however, my experience tells me that overlap between Gallus gallus and Homo sapiens is not extensive.

1, load packages

require(biomaRt)

2, search for the chicken mart

datasets <- listDatasets(useMart('ensembl'))
datasets[grep('Chicken', datasets[,2]),]
                dataset            description version
71 ggallus_gene_ensembl Chicken genes (GRCg6a)  GRCg6a

3, 'connect to' the chicken and human marts

chicken <- useMart('ensembl', dataset = 'ggallus_gene_ensembl')
human <- useMart('ensembl', dataset = 'hsapiens_gene_ensembl')

4, create a lookup table for all chicken genes

table <- getBM(
  attributes = c('ensembl_gene_id','external_gene_name','entrezgene_id'),
  mart = chicken)

head(table[table$external_gene_name != '',], 10)

      ensembl_gene_id external_gene_name entrezgene_id
6  ENSGALG00000042750                ND1      39116926
10 ENSGALG00000043768             MT-ND2            NA
16 ENSGALG00000032142             MT-CO1            NA
19 ENSGALG00000032456               COII            NA
21 ENSGALG00000032465               ATP8      39116937
22 ENSGALG00000041091               ATP6      39116912
23 ENSGALG00000035334               COX3      39116913
25 ENSGALG00000030436                ND3      39116938
27 ENSGALG00000042478               ND4L      39116939
28 ENSGALG00000036229                ND4      39116916

5, map some chicken Entrez gene IDs to human

chicken_ids <- table$entrezgene_id[1:20]

getLDS(
  filters = 'entrezgene_id',
  values = chicken_ids,
  mart = chicken,
  attributes = c('ensembl_gene_id','external_gene_name','entrezgene_id'),
  martL = human,
  attributesL = c('hgnc_symbol','ensembl_gene_id','entrezgene_id','gene_biotype'))

      Gene.stable.ID Gene.name NCBI.gene..formerly.Entrezgene..ID HGNC.symbol
1 ENSGALG00000042750       ND1                           39116926      MT-ND1
  Gene.stable.ID.1 NCBI.gene..formerly.Entrezgene..ID.1      Gene.type
1  ENSG00000198888                                 4535 protein_coding

---------------

Edit: One can even create a 'master' lookup of all Chicken genes to human:

master <- getLDS(
  filters = 'entrezgene_id',
  values = table$entrezgene_id, 
  mart = chicken, 
  attributes = c('ensembl_gene_id','external_gene_name','entrezgene_id'),
  martL = human, 
  attributesL = c('hgnc_symbol','ensembl_gene_id','entrezgene_id','gene_biotype'))

head(master)
      Gene.stable.ID Gene.name NCBI.gene..formerly.Entrezgene..ID HGNC.symbol
1 ENSGALG00000001714     PUSL1                             419419       PUSL1
2 ENSGALG00000032413      NADK                             419403        NADK
3 ENSGALG00000001835    SCNN1D                             428184      SCNN1D
4 ENSGALG00000037713    FNDC10                          107054923      FNDC10
5 ENSGALG00000001551     CCNL2                             395124       CCNL2
6 ENSGALG00000039193      AGRN                             396538        AGRN
  Gene.stable.ID.1 NCBI.gene..formerly.Entrezgene..ID.1      Gene.type
1  ENSG00000169972                               126789 protein_coding
2  ENSG00000008130                                65220 protein_coding
3  ENSG00000162572                                 6339 protein_coding
4  ENSG00000228594                               643988 protein_coding
5  ENSG00000221978                                81669 protein_coding
6  ENSG00000188157                               375790 protein_coding

dim(master)
[1] 14591     7

Kevin

ADD COMMENT
0
Entering edit mode

thank you for the detailed answer. Reactome has chick database and I run itthere at the end but thereactomePA package don't have gallus gallus as organism.

ADD REPLY
2
Entering edit mode
4.2 years ago
GenoMax 147k

This should be doable via Entrezdirect. Will leave this stub here.

$ esearch -db homologene -query "416811" | esummary | grep -w "Homo" -A 4
            <TaxName>Homo sapiens</TaxName>
            <TaxId>9606</TaxId>
            <Symbol>AACS</Symbol>
            <Title>acetoacetyl-CoA synthetase</Title>
            <GeneID>65985</GeneID>
ADD COMMENT

Login before adding your answer.

Traffic: 1595 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6