Informatique en Biologie 2004, Institut Pasteur
Search in Protein Interaction NetworkSPIN
Elizabeth RemyKarine RobbeMathieu Barthelemy
Recherche pour une protéine à partir de son identifiant de l’ensemble des protéines du même organisme qui pourraient lui être associées structuralement ou fonctionnellement.
Le « spider » :
Projet encadré par Thierry Rose
Rosetta
Base de données d’interactions
DIP (fichier XML)
BIND Données personnelles
Liste de paires au format simplifié
SPIN spider
Interface utilisateur
Identifiant dela protéine
Requête
graphe
SPIN spider : parcours de graphe
Protéine de la requête
G_7 8400738 0 0 0 9606 G_12 627657 0 0 0 9606 Immunoprecipitation qu file pointer
Le réseau d’interactions protéine-protéine obtenu est un graphe:- connexe et cyclique- un vertex = une protéine (identifiant gi)- une arête = une interaction protéine-protéine- il peut exister plusieurs arrêtes entre 2 vertex (plusieurs méthodes)
Protéome del’organismede requête
SPIN spider : interaction prédictive déduite du BlastProtéine de la requête
Protéome del’organismede requête
Autre organisme
Blast
Protéines de la basede données d’interactions
SPIN spider : interaction prédictive déduite du BlastProtéine de la requête
Protéome del’organismede requête
Autre organisme
Blast
Protéines de la basede données d’interaction
SPIN spider : interaction prédictive déduite du BlastProtéine de la requête
Protéome del’organismede requête
Autre organisme
Blast
Protéines de la basede données d’interaction
Blast
Protéines de la base de donnéesnon redondante du NCBI
Method = ‘Blast predictive’
SPIN spider : problèmes des identifiants du NCBIgi et taxon-id
la ligne d’interaction utilise le gi et le taxon-id:
gi - 2 gi différents pour la même protéine- base de données pas formatable pour le Blast Prend le premier gi de la liste
taxon-id
G_7 8400738 0 0 0 9606 G_12 627657 0 0 0 9606 Immunoprecipitation qu file pointer
- lors de la remontée du Blast, l’organisme est un nom est en latin=> Il faut trouver le taxon-id
Format fasta
SPIN spider : parseur de la sortie du Blast
Choix de l’algorithme: Parcours en largeur
Premiers tests de création/parcours de graphe:
Le réseau comportant la protéine peut être très important (exemple: un réseau de la levure S. saccharomyces cerevisiae : 15340 interactions, 4927 protéines)
Introduire la notion de niveau pour l’utilisateur, qui correspondra a la distance entre le vertex (la protéine) considéré et le vertex (la protéine) de départ
Parcours en largeur :Inspiré de l’algorithme du BFS (Breadth First Search)
Protéine de la requête
SPIN spider: Structure du programme
Protein__dict__
Attributs
dict_index
Fonctionsfind_interactions()add-interaction()fasta_file()
instance__dict__
Attributs
giorggraphinteractfind_interdistance
__class__
BFS()black_interaction()print_interaction()Class Protein
Spider
Blastinterrog_blast()parse_blast()find_predictive_interactions()
Protéine de la requête
SPIN spider: Structure du programme
Protein__dict__
Attributs
dict_index
Fonctionsfind_interactions()add-interaction()fasta_file()
instance__dict__
Attributs
giorggraphinteractfind_interdistance
__class__
BFS()black_interaction()print_interaction()Class Protein
Spider
Blastinterrog_blast()parse_blast()find_predictive_interactions()
Protéine de la requête
SPIN spider: Structure du programme
Protein__dict__
Attributs
dict_index
Fonctionsfind_interactions()add-interaction()fasta_file()
instance__dict__
Attributs
giorggraphinteractfind_interdistance
__class__
BFS()black_interaction()print_interaction()Class Protein
Spider
Blastinterrog_blast()parse_blast()find_predictive_interactions()
Protéine de la requête
SPIN spider: Structure du programme
Protein__dict__
Attributs
dict_index
Fonctionsfind_interactions()add-interaction()fasta_file()
instance__dict__
Attributs
giorggraphinteractfind_interdistance
__class__
BFS()black_interaction()print_interaction()Class Protein
Spider
Blastinterrog_blast()parse_blast()find_predictive_interactions()
Protéine de la requête
SPIN spider: Structure du programme
Protein__dict__
Attributs
dict_index
Fonctionsfind_interactions()add-interaction()fasta_file()
instance__dict__
Attributs
giorggraphinteractfind_interdistance
__class__
BFS()black_interaction()print_interaction()Class Protein
Spider
Blastinterrog_blast()parse_blast()find_predictive_interactions()
Protéine de la requête
SPIN spider: Structure du programme
Protein__dict__
Attributs
dict_index
Fonctionsfind_interactions()add-interaction()fasta_file()
instance__dict__
Attributs
giorggraphinteractfind_interdistance
__class__
BFS()black_interaction()print_interaction()Class Protein
Spider
Blastinterrog_blast()parse_blast()find_predictive_interactions()
Protéine de la requête
SPIN spider: exemple de résultats par niveaux
0
10
20
30
40
50
60
0 5 10 15
Homo sapiens gi:1070666 Homo sapiens gi :66820
0
500
1000
1500
2000
2500
3000
0 2 4 6 8
S. cerevisiae gi :82888
0
500
1000
1500
2000
2500
0 2 4 6 8
S. cerevisiae gi :1077878 fichier level
4926 protéines
285 protéines285 protéines
4926 protéines
0
10
20
30
40
50
60
70
0 2 4 6
E. coli gi :749025
115 protéines
Nombre protéines nouvelles par niveau = f (niveau)
0
10
20
30
40
50
60
0 5 10 15
Niveau = nombre d’intermédiaires
fichier pairs
niveau A orgA B orgB méthode
0
20
40
60
80
100
120
140
160
180
200
0 2 4 6
Test 1: gi=1070666 niveau= 1, 2 et 4
3 2155 514 5604 1187 6711 131
0
1000
2000
3000
4000
5000
6000
7000
8000
0 2 4 6 8
Test 2: gi=8288 niveau= 3, 4 et 7
SPIN spider: Optimisation
Protein__dict__
Attributs
dict_indexFonctions
find_interactions()add-interaction()fasta_file()
instance__dict__
Attributs
giorggraphinteractfind_interdistance
__class__
Calcul en CPU.s = f (niveau)
1 2,83 2,832 45,63 3,044 181,62 4,34
niveau + index- index
niveau + index- index
SPIN spider: entrée/sortie DIP (fichier XML)
Liste de paires au format simplifié
fasta databaseindex
gml
file2fasta database-index
simple2gml
SPIN spider
level
gml
Requête(gi,niveau)
pairs list_gi fasta
simple2gml
Liste_simple
fichier mis au format gml
Sortie graphiqueSur yEd Graph Editor
Rosetta
Base de données d’interactions
DIP (fichier XML)
BIND Données personnelles
Liste de paires au format simplifié
SPIN spider
Interface utilisateur
Identifiant dela protéine
Requête
Rosetta
Base de données d’interactions
DIP (fichier XML)
BIND Données personnelles
Liste de paires au format simplifié
Interface utilisateur
Requête
Grapher: interfaceTK
Client form
CGI
- Identifiant de la protéine (gi)- Niveau (distance)- Méthode (immunoprécipitation)
http
http
SPIN spider
Création de 5 fichiers temporaires (propriétaire =www)
Ecriture