Articles - R

R?seau d'interaction prot?ine-prot?ine pour une liste de g?nes dans R

  |   2019  |  R


Construire un r?seau d'interactions entre un groupe de g?nes peut aider beaucoup dans la compr?hension des relations entre les ?l?ments de votre liste de g?nes. Il peut sembler difficile ? premier abord de construire un tel r?seau, mais il est moins compliqu? qu'il n'y para?t. Voici une approche que j'utilise.

Les ressources pour obtenir des informations d'interactions prot?ine-prot?ine (PPI, pour proteine-proteine interaction) sont nombreuses. Malheureusement, il n'existe pas une base de donn?es centrale pour ces interactions. Ils existent plusieurs bases de donn?es telles que : IntAct, BioGRID, HPRD, STRING,...

Pour utiliser les API (Application Programming Interface ou Interface de Programmation) d?velopp?es pour interroger ces bases de donn?es, il faudrait du temps. Heureusement, la page web NCBI Entrez gene compile les interactions de BioGRID et HPRD. Ceci est un compromis raisonnable et robuste. D'autres parts, nous pouvons utiliser le package XML de R pour analyser la page Web.


Packages R ? installer



Pour faire l'analyse un ensemble de packages R sont ? installer:

1-Installer le package XML

Code R :
 
#analyse de la page web 
install.packages('XML')
 


2-Installer le package hgu133plus2.db

Code R :
 
#Pour l'annotation des g?nes
source("http://bioconductor.org/biocLite.R")
biocLite("hgu133plus2.db")
 


Pour plus d'informations sur ce package cliquez sur ce lien


3-Installer le package igraph

Code R :
 
#pour le graphique des interactions
install.packages('igraph')
 



Fonctions R



Les fonctions R que nous allons utiliser sont dans le fichier suivant : proteine_proteine_interaction.r

L'utilisation de ces fonctions est montr?e dans la suite de cet article.


Pour pouvoir faire appel ? ces fonctions sans t?l?charger le fichier, utiliser la commande R :

Code R :
source('http://www.sthda.com/upload/proteine_proteine_interaction.r')




Graphique des interactions prot?ine-prot?ine pour une prot?ine d'inter?t



Soit FOXM1 notre prot?ine d’int?r?t. Pour r?aliser le graphique des prot?ines interagissant avec FOXM1, suivez les instructions ci-dessous.

Le d?tails des fonctions utilis?es est montr? plus bas.

Code R :
 
 
#chargement des fonctions
source('http://www.sthda.com/upload/proteine_proteine_interaction.r')
#--------------------------------------------------------
#1- Obtention de l'identifiant Entrez (NCBI) correspondant ? FOXM1
#--------------------------------------------------------
probesets<-getPROBE("FOXM1") #probesets Affymetrix correspondant ? FOXM1
entrezID<-get_probe_ENTREZID(names(probesets)) # identifiant Entrez pour FOXM1
 
#--------------------------------------------------------
#2- Obtention de la table des interactions correspondant ? FOXM1
#--------------------------------------------------------
ppi <- get.ppiNCBI(entrezID) #obtention de la table table des interactions prot?ine-prot?ine 
ppi<-annotate.ppi(ppi) # Annotation de la liste des g?nes de la table des interaction
 
#--------------------------------------------------------
#3- Graphique des interactions correspondant ? FOXM1
#--------------------------------------------------------
library("igraph")
gg <- graph.data.frame(ppi)
plot(gg, layout = layout.fruchterman.reingold,
  vertex.label = V(gg)$name,  vertex.label.color= "black",
  edge.arrow.size=0,  edge.curved=FALSE
)
 
 



L'image g?n?r?e est la suivante :




Pour faire le graphique des interactions prot?ine-prot?ine en une ligne de commande :

Code R :
#chargement des fonctions
source('http://www.sthda.com/upload/proteine_proteine_interaction.r')
table<-interactome("FOXM1") #renvoie la table des interactions et fait le graphique
 




Vous avez ?galement la possibilit? de fournir une liste de g?nes ? la fonction:

Code R :
#chargement des fonctions
source('http://www.sthda.com/upload/proteine_proteine_interaction.r')
table<-interactome(genelist) #renvoie la table des interactions et fait le graphique
 




Le d?tails des fonctions est montr? ci-dessous :

La fonction getPROBE renvoie les probesets Affymetrix correspondants ? un g?ne ou une liste de g?nes.



Code R :
#exemple 
probeset<-getPROBE(c('FGFR3', 'TP53'))
print(probeset)
 


204379_s_at 204380_s_at   201746_at 211300_s_at 
    "FGFR3"     "FGFR3"      "TP53"      "TP53"



La fonction get_probe_ENTREZID renvoie les identifiants Entrez (NCBI) correspondant ? un probeset ou une liste de probesets



La fonction prend comme param?tre un vecteur de caract?res contenant une liste de probesets et renvoie les identifiants NCBI sans doublons.

Code R :
 
#exemple
id<-get_probe_ENTREZID(c('204380_s_at','211300_s_at'))
print(id)
 


[1] "2261" "7157"



La fonction get.ppiNCBI permet d'obtenir la table des interactions prot?ine-prot?ine pour un g?ne ou une liste de g?nes.



Les donn?es sont r?cup?r?es ? partir de la page web NCBI.
La fonction prend comme param?tre les identifiants ENTREZ (NCBI) de la liste des g?nes

Code R :
 
#exemple
ppi<-get.ppiNCBI(c("55635", "2305"))
 



La fonction annotate.ppi permet d'annoter la liste des g?nes de la table des interactions en utilisant les donn?es homo sapiens(org.Hs.eg.db)



Code R :
 
#exemple
ppi<-annotate.ppi(ppi)#ppi= table des interactions
 



Elle renvoie un dataframe. Vous pouvez ?crire ce dataframe dans un fichier texte et l'importer dans Cytoscape directement, mais vous pouvez ?galement afficher votre r?seau d'interactions directement dans R en utilisant le package igraph.







Source
http://brainchronicle.blogspot.fr/

Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons