saezlab/OmnipathR

How to obtain output from import_intercell_networks and and nichenet_networks for mouse?

lgeistlinger opened this issue · 2 comments

Hi thanks for a great package! I understand that the functions import_intercell_networks and nichenet_networks return network knowledge for human that can be provided as input for cell-cell interaction inference tools such as CellPhoneDB and NicheNet, respectively.

I was wondering whether you can suggest an approach to obtain such networks also for mouse? I understand that this will likely involve some sort of orthology transfer, and I was just wondering whether you have something easy and convenient as eg available for nichenetr? That would be very helpful. Thanks!

Hi,

With OmnipathR you can do easy orthology translation based on NCBI HomoloGene data. For UniProt IDs use this function, for Gene Symbols or Entrez Gene IDs this one.

library(OmnipathR)

human_mouse_uniprot <- homologene_uniprot_orthology(mouse, human)
human_mouse_uniprot                                                                                                                                                                 
# A tibble: 15,035 × 2
   source target
   <chr>  <chr> 
 1 P11310 P45952
 2 P49748 P50544
 3 P24752 Q8QZT1
 4 Q04771 P37172
 5 Q16586 P82350
 6 P30566 P54822
 7 P20933 Q64191
 8 P13716 P10518
 9 P22557 P08680
10 P23109 Q3V1D3
# … with 15,025 more rows
# ℹ Use `print(n = ...)` to see more rows

human_mouse_genesymbol <- homologene_download(mouse, human)
human_mouse_genesymbol                                                                                                                                                              
# A tibble: 17,355 × 3
   hgroup genesymbol_source genesymbol_target
    <int> <chr>             <chr>            
 1      3 ACADM             Acadm            
 2      5 ACADVL            Acadvl           
 3      6 ACAT1             Acat1            
 4      7 ACVR1             Acvr1            
 5      9 SGCA              Sgca             
 6     12 ADSL              Adsl             
 7     13 AGA               Aga              
 8     14 AGT               Agt              
 9     16 ALAD              Alad             
10     17 ALAS2             Alas2            
# … with 17,345 more rows
# ℹ Use `print(n = ...)` to see more rows

With these tables you can do two inner_joins to translate a network data frame. A convenient single call function will be soon available, we are only waiting for some developments in our Ensembl based orthology translation methods.

Great, thanks, that is very helpful!