Informatique en Biologie 2004, Institut Pasteur SPIN Search in Protein Interaction Network Elizabeth Remy Karine Robbe Mathieu Barthelemy Projet encadré par Thierry Rose Le « spider » : 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.
SPIN spider Base de données d’interactions Rosetta Interface utilisateur DIP (fichier XML) BIND Données personnelles Identifiant de la protéine Requête Liste de paires au format simplifié SPIN spider graphe
SPIN spider : parcours de graphe Protéome de l’organisme de requête 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)
SPIN spider : interaction prédictive déduite du Blast Protéine de la requête Protéome de l’organisme de requête Blast Protéines de la base de données d’interactions Autre organisme
SPIN spider : interaction prédictive déduite du Blast Protéine de la requête Protéome de l’organisme de requête Blast Protéines de la base de données d’interaction Autre organisme
SPIN spider : interaction prédictive déduite du Blast Protéine de la requête Protéome de l’organisme de requête Method = ‘Blast predictive’ Blast Blast Protéines de la base de données d’interaction Protéines de la base de données non redondante du NCBI Autre organisme
SPIN spider : problèmes des identifiants du NCBI gi et taxon-id la ligne d’interaction utilise le gi et le taxon-id: G_7 8400738 0 0 0 9606 G_12 627657 0 0 0 9606 Immunoprecipitation qu file pointer 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 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 __dict__ Attributs Spider Protein dict_index BFS() black_interaction() print_interaction() Class Protein Fonctions find_interactions() add-interaction() fasta_file() __class__ __dict__ Blast instance Attributs gi org graph interact find_inter distance interrog_blast() parse_blast() find_predictive_interactions() Protéine de la requête
SPIN spider: Structure du programme __dict__ Attributs Spider Protein dict_index BFS() black_interaction() print_interaction() Class Protein Fonctions find_interactions() add-interaction() fasta_file() __class__ __dict__ Blast instance Attributs gi org graph interact find_inter distance interrog_blast() parse_blast() find_predictive_interactions() Protéine de la requête
SPIN spider: Structure du programme __dict__ Attributs Spider Protein dict_index BFS() black_interaction() print_interaction() Class Protein Fonctions find_interactions() add-interaction() fasta_file() __class__ __dict__ Blast instance Attributs gi org graph interact find_inter distance interrog_blast() parse_blast() find_predictive_interactions() Protéine de la requête
SPIN spider: Structure du programme __dict__ Attributs Spider Protein dict_index BFS() black_interaction() print_interaction() Class Protein Fonctions find_interactions() add-interaction() fasta_file() __class__ __dict__ Blast instance Attributs gi org graph interact find_inter distance interrog_blast() parse_blast() find_predictive_interactions() Protéine de la requête
SPIN spider: Structure du programme __dict__ Attributs Spider Protein dict_index BFS() black_interaction() print_interaction() Class Protein Fonctions find_interactions() add-interaction() fasta_file() __class__ __dict__ Blast instance Attributs gi org graph interact find_inter distance interrog_blast() parse_blast() find_predictive_interactions() Protéine de la requête
SPIN spider: Structure du programme __dict__ Attributs Spider Protein dict_index BFS() black_interaction() print_interaction() Class Protein Fonctions find_interactions() add-interaction() fasta_file() __class__ __dict__ Blast instance Attributs gi org graph interact find_inter distance interrog_blast() parse_blast() find_predictive_interactions() Protéine de la requête
SPIN spider: exemple de résultats par niveaux Nombre protéines nouvelles par niveau = f (niveau) Homo sapiens gi:1070666 Homo sapiens gi :66820 E. coli gi :749025 285 protéines 285 protéines 115 protéines S. cerevisiae gi :82888 S. cerevisiae gi :1077878 fichier level 4926 protéines 4926 protéines Niveau = nombre d’intermédiaires
fichier pairs niveau A orgA B orgB méthode
SPIN spider: Optimisation Calcul en CPU.s = f (niveau) Test 1: gi=1070666 niveau= 1, 2 et 4 niveau - index + index __dict__ Attributs Protein dict_index Fonctions find_interactions() add-interaction() fasta_file() __class__ __dict__ instance Attributs Test 2: gi=8288 niveau= 3, 4 et 7 gi org graph interact find_inter distance niveau - index + index
SPIN spider: entrée/sortie DIP (fichier XML) Liste de paires au format simplifié simple2gml Requête (gi,niveau) file2fasta database -index Liste_simple fasta database index gml SPIN spider gml level pairs list_gi fasta simple2gml
fichier mis au format gml Sortie graphique Sur yEd Graph Editor
SPIN spider Base de données d’interactions Rosetta Interface utilisateur DIP (fichier XML) BIND Données personnelles Identifiant de la protéine Requête Liste de paires au format simplifié SPIN spider
Création de 5 fichiers temporaires Grapher: interfaceTK Base de données d’interactions Rosetta Interface utilisateur DIP (fichier XML) Client form BIND Données personnelles Requête Identifiant de la protéine (gi) Niveau (distance) Méthode (immunoprécipitation) http Liste de paires au format simplifié http Ecriture Création de 5 fichiers temporaires (propriétaire =www) CGI SPIN spider