silico.biotoul.fr
 

M1 BBS Graphes TP Visualisation

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (Données)
m (Importation d'un fichier sif et algorithmes de dessin)
(17 intermediate revisions not shown)
Line 1: Line 1:
= Données =
= Données =
-
Les données sur lesquelles vous allez travailler provienne de la base de données STRING v8.2. Tout d'abord, '''trouvez''' le site de STRING et '''visualisez''' les partenaires de wbbJ d'''Escherichia coli'' K12-MG1655. Le menu ''View Settings'' permet de choisir le rendu du graphe avec des des liens ''confidence'' ou ''evidence'' en affichant soit des arêtes de tailles reflétant le niveau de confiance du lien, soit des multi-arêtes indiquant les sources de données intervenant dans un lien, soit le type d'interaction. Le menu ''Data Settings'' permet de changer les paramètres de sélection des sommets et arêtes, , notamment de récupérer davantage de protéines.
+
Les données sur lesquelles vous allez travailler provienne de la base de données STRING v8.2. Tout d'abord, '''trouvez''' le site de STRING et '''visualisez''' les partenaires de wbbJ d'''Escherichia coli'' K12-MG1655. Le menu ''View Settings'' permet de choisir le rendu du graphe avec des des liens ''confidence'' ou ''evidence'' en affichant soit des arêtes de tailles reflétant le niveau de confiance du lien, soit des multi-arêtes indiquant les sources de données intervenant dans un lien, soit le type d'interaction. Le menu ''Data Settings'' permet de changer les paramètres de sélection des sommets et arêtes, notamment de récupérer davantage de protéines.
= Visualisation avec Cytoscape =
= Visualisation avec Cytoscape =
Line 8: Line 8:
== Importation d'un fichier ''sif'' et algorithmes de dessin==
== Importation d'un fichier ''sif'' et algorithmes de dessin==
-
Vous allez dans un premier temps utiliser un graphe au format [http://cytoscape.org/manual/Cytoscape2_8Manual.html#SIF%20Format sif] (simple interaction format). Il s'agit d'un format de stockage très simple de la forme :
+
Vous allez dans un premier temps utiliser un graphe au format [http://manual.cytoscape.org/en/stable/Supported_Network_File_Formats.html#sif-format SIF] (simple interaction format). Il s'agit d'un format de stockage très simple de la forme :
-
  ABC    coexpression   YAEE
+
  ABC    stringdb   YAEE
-
  ABC    coexpression   METK
+
  ABC    stringdb   METK
-
  ABC    coexpression   META
+
  ABC    stringdb   META
-
  ACCA    coexpression   FABD
+
  ACCA    stringdb   FABD
-
  ACCA    coexpression   PPA
+
  ACCA    stringdb   PPA
-
  ACCB    coexpression   HPT
+
  ACCB    stringdb   HPT
  ...
  ...
-
où ''coexpression'' est le type de l'arête.
+
où ''stringdb'' est le type de l'arête.
'''Récupérez''' le fichier [[Media:String_EcolA_coexpression.sif|String_EcolA_coexpression.sif]] contenant une partie du réseau d'interaction basé sur la co-expression chez ''Escherichia coli'' K12 avec un seuil de 0.5 pour la confiance dans une arête et '''ouvrez'''-le dans Cytoscape (menu <tt>File->Import->Network</tt>).
'''Récupérez''' le fichier [[Media:String_EcolA_coexpression.sif|String_EcolA_coexpression.sif]] contenant une partie du réseau d'interaction basé sur la co-expression chez ''Escherichia coli'' K12 avec un seuil de 0.5 pour la confiance dans une arête et '''ouvrez'''-le dans Cytoscape (menu <tt>File->Import->Network</tt>).
-
Par défaut, les sommets du graphes sont disposés sur une grille. '''Expérimentez''' différents algorithmes de dessin (layout in english donc dans le menu <tt>layout</tt>). Attention, certains ne sont pas adaptés et d'autres plutôt gourmands en temps de calcul.
+
Si le graphe est "gros", les sommets du graphes sont disposés sur une grille. Pour celui-ci, un algorithme de dessin est utilisé pour disposer les sommets. '''Expérimentez''' différents algorithmes de dessin (''layout'' in english donc dans le menu <tt>layout</tt>). Attention, certains ne sont pas adaptés et d'autres plutôt gourmands en temps de calcul.
== Attributs sur les sommets et arêtes ==
== Attributs sur les sommets et arêtes ==
-
Il est possible de charger des attributs associés aux sommets et/ou aux arêtes. Il s'agit là encore d'un format très simple. Pour les attributs portant sur les sommets, il prend la forme suivante :
+
Il est possible de charger des attributs associés aux sommets et/ou aux arêtes. Il s'agit là encore d'un format très simple : du texte de type CSV. Pour les attributs portant sur les sommets, il prend la forme suivante :
-
  Description
+
  Gene    Description
-
  AAS = 2-acyl-glycerophospho-ethanolamine acyltransferase; acyl-acyl-carrier protein synthetase
+
  AAS     2-acyl-glycerophospho-ethanolamine acyltransferase; acyl-acyl-carrier protein synthetase
-
  AAT = leucyl, phenylalanyl-tRNA-protein transferase
+
  AAT     leucyl, phenylalanyl-tRNA-protein transferase
-
  ABC = ATP-binding component of a transporter
+
  ABC     ATP-binding component of a transporter
  ...
  ...
-
où la première ligne contient le nom de l'attribut. Vous trouverez plus d'information dans la [http://cytoscape.org/manual/Cytoscape2_8Manual.html#Node%20and%20Edge%20Attributes documentation de Cytoscape].
+
où la première ligne contient le nom de l'attribut. Vous trouverez plus d'information dans la [http://manual.cytoscape.org/en/stable/Node_and_Edge_Column_Data.html documentation de Cytoscape].
Pour les arêtes, le format est très similaire :
Pour les arêtes, le format est très similaire :
  coexpression
  coexpression
-
  ABC (coexpression) YAEE = 831
+
  ABC (stringdb) YAEE = 831
-
  ABC (coexpression) METK = 590
+
  ABC (stringdb) METK = 590
-
  ABC (coexpression) META = 663
+
  ABC (stringdb) META = 663
-
  ACCA (coexpression) FABD = 537
+
  ACCA (stringdb) FABD = 537
-
  ACCA (coexpression) PPA = 543
+
  ACCA (stringdb) PPA = 543
-
  ACCB (coexpression) HPT = 566
+
  ACCB (stringdb) HPT = 566
  ...
  ...
-
'''Récupérez''' le fichier contenant les annotations des gènes - [[Media:EcolA_Genes_Description.noa|EcolA_Genes_Description.noa]] - et '''chargez'''-le (Menu <tt>File->Import->Node Attributes</tt>) dans Cytoscape. De même, pour les niveaux de confiance sur les liens de coexpression avec le fichier [[Media:String_EcolA_coexpression.eda|String_EcolA_coexpression.eda]].
+
'''Récupérez''' le fichier contenant les annotations des gènes - [[Media:EcolA_Genes_Description.tab|EcolA_Genes_Description.tab]] - et '''chargez'''-le (Menu <tt>File->Import->Table</tt>) dans Cytoscape. De même, pour les niveaux de confiance sur les liens de coexpression avec le fichier [[Media:String_EcolA_coexpression_scores.attrs|String_EcolA_coexpression_scores.attrs]].
-
Comme dans la plupart des logiciels et systèmes d'exploitation, un clic droit sur un objet fait apparaître un menu contextuel dans Cytoscape. Un clic droit sur une arête ou un sommet fait apparaître un tel menu. '''Remarquez''' la dernière entrée du menu : ''LinkOut'' qui permet d'ouvrir une URL, typiquement à partir de l'identifiant du sommet ou de l'arête, ce qui permet par exemple d'atteindre la page de description d'une protéine dans UniProt. Il est possible d'ajouter ses propres "liens externes" à partir du menu <tt>Edit->Preferences->Properties...</tt> : pour un lien externe à partir d'un noeud, il faut ajouter une propriété <tt>nodelinkouturl.NOM_DU_LIEN</tt>, par exemple et c'est ce que vous devrez faire <tt>nodelinkouturl.CGDB</tt>. Dans le champ valeur, il s'agit de spécifier l'URL avec une ou plusieurs variables, ici nous utiliserons simple l'identifiant du noeud noté %ID% : <tt><nowiki>http://www-abcdb.biotoul.fr/#/entry/findbestmatch/ID/EcolA.%ID%</nowiki></tt>. Pour les liens sur les arêtes, il s'agit de la propriété <tt>edglelinkouturl.NOM_DU_LIEN</tt> avec %ID1% et %ID2% les extrémités de l'arête, cf. la [http://cytoscape.org/manual/Cytoscape2_8Manual.html#Linkout documentation de Cytoscape] pour plus de détails.
+
Comme dans la plupart des logiciels et systèmes d'exploitation, un clic droit sur un objet fait apparaître un menu contextuel dans Cytoscape. Un clic droit sur une arête ou un sommet fait apparaître un tel menu. '''Remarquez''' l'avant-dernière entrée du menu : ''Extrenal Links'' qui permet d'ouvrir une URL, typiquement à partir de l'identifiant du sommet ou de l'arête, ce qui permet par exemple d'atteindre la page de description d'une protéine dans UniProt. Il est possible d'ajouter ses propres "liens externes" à partir du menu <tt>Edit->Preferences->Properties...</tt> : pour un lien externe à partir d'un noeud, il faut ajouter une propriété <tt>nodelinkouturl.NOM_DU_LIEN</tt> (dans la section <tt>linkout</tt>), par exemple et c'est ce que vous devrez faire <tt>nodelinkouturl.CGDB</tt>. Dans le champ valeur, il s'agit de spécifier l'URL avec une ou plusieurs variables, ici nous utiliserons simple l'identifiant du noeud noté %ID% : <tt><nowiki>http://www-abcdb.biotoul.fr/#/entry/findbestmatch/ID/EcolA.%ID%</nowiki></tt>. Pour les liens sur les arêtes, il s'agit de la propriété <tt>edglelinkouturl.NOM_DU_LIEN</tt> avec %ID1% et %ID2% les extrémités de l'arête, cf. la [http://manual.cytoscape.org/en/stable/Linkout.html documentation de Cytoscape] pour plus de détails.
-
 
+
-
== Rendu à partir des valeurs des attributs : ''VizMapper'' ==
+
-
'''Explorez''' à présent les possibilités offertes par l'outil ''VizMapper''. '''Essayez''' notamment de faire afficher des épaisseurs d'arêtes proportionnelles à la confiance du lien de coexpression.
+
 +
== Rendu à partir des valeurs des attributs ==
 +
'''Explorez''' à présent les possibilités offertes par l'onglet ''Style'' (à gauche). '''Essayez''' notamment de faire afficher des épaisseurs d'arêtes proportionnelles à la confiance du lien de coexpression.
== Sélection, filtres et opérations sur les graphes ==
== Sélection, filtres et opérations sur les graphes ==
-
Une boite de recherche est disponible au niveau de la barre d'outil. '''Essayez'''-la pour par exemple sélectionner le gène wbbJ. Il s'agit en fait d'un filtrage sur la sélection de tous les sommets (ou toutes les arêtes). Pour élaborer un filtre plus complexe, vous avez à gauche de la boite de recherche un bouton vous permettant d'éditer les paramètres du filtre. '''Sélectionnez''' toutes les arêtes ayant une valeur de coexpression supérieure à 800. Une fois la sélection réalisée, les boutons encore plus à gauche vous permettent d'extraire un sous graphe à partir de la sélection. Par défaut, il s'agit d'un sous graphe induit par les sommets sélectionnés. Après avoir réalisé la sélection des arêtes >800, le menu <tt>Select->Nodes->Nodes connected by selected edges</tt> vous permet de sélectionner les extrémités des arêtes sélectionnées.
+
Une boite de recherche est disponible au niveau de la barre d'outil. '''Essayez'''-la pour, par exemple, sélectionner le gène wbbJ. Il s'agit en fait d'un filtrage sur la sélection de tous les sommets (ou toutes les arêtes). Pour élaborer un filtre plus complexe, vous avez à gauche l'onglet ''Select'' vous permettant d'éditer les paramètres du filtre. '''Sélectionnez''' toutes les arêtes ayant une valeur de coexpression supérieure à 800. Une fois la sélection réalisée, un bouton à gauche de la boite de recherche vous permettent d'extraire un sous graphe à partir de la sélection. Par défaut, il s'agit du sous graphe induit par les sommets sélectionnés : <tt>New Network From Selection (all edges)</tt>. Après avoir réalisé la sélection des arêtes >800, le menu <tt>Select->Nodes->Nodes connected by selected edges</tt> vous permet de sélectionner les extrémités des arêtes sélectionnées.
-
'''Importez''' à présent le graphe contenu dans le fichier [[Media:String_EcolA_experimental.sif|String_EcolA_experimental.sif]] correspondant aux données STRING portant sur les interactions protéine-protéine. '''Importez''' également la confiance de ces relations à partir du fichier [[Media:String_EcolA_experimental.eda|String_EcolA_experimental.eda]].
+
'''Importez''' à présent le graphe contenu dans le fichier [[Media:String_EcolA_experimental.sif|String_EcolA_experimental.sif]] correspondant aux données STRING portant sur les interactions protéine-protéine. '''Importez''' également la confiance de ces relations à partir du fichier [[Media:String_EcolA_experimental_scores.attrs|String_EcolA_experimental_scores.attrs]].
-
Vous pouvez fusionner les 2 graphes en les sélectionnant tous les deux (maintenir la touche ''Control'' enfoncée) puis en allant dans le menu <tt>Plugins->Advanced Network Merge</tt>. Une fois cette opération réalisée, '''modifiez''' le rendu pour avoir des épaisseurs d'arêtes proportionnelles à la coexpression et un dégradé de couleur d'arête reflétant la confiance dans le lien d'interaction protéine-protéine.
+
Vous pouvez fusionner les 2 graphes en utilisant <tt>Tools->Merge->Networks...</tt> en les sélectionnant tous les deux. Une fois cette opération réalisée, '''modifiez''' le rendu pour avoir des épaisseurs d'arêtes proportionnelles à la coexpression et un dégradé de couleur d'arête reflétant la confiance dans le lien d'interaction protéine-protéine.
== Importation d'un graphe au format ''table''==
== Importation d'un graphe au format ''table''==
Il est également possible d'importer un graphe dans un format tabulé, ce qui permet de charger plusieurs attributs en même temps sur les arêtes. '''Récupérez''' le fichier [[Media:String_EcolA_selection.tab|String_EcolA_selection.tab]] qui contient les deux fichiers précédents ainsi que le score combiné des différentes sources disponibles dans STRING. Le fichier est de la forme :
Il est également possible d'importer un graphe dans un format tabulé, ce qui permet de charger plusieurs attributs en même temps sur les arêtes. '''Récupérez''' le fichier [[Media:String_EcolA_selection.tab|String_EcolA_selection.tab]] qui contient les deux fichiers précédents ainsi que le score combiné des différentes sources disponibles dans STRING. Le fichier est de la forme :
  id1 id2 experimental coexpression combined
  id1 id2 experimental coexpression combined
-
  AAS SECA 546 0 546
+
  AAS SECA 546 0 546
-
  AAS ACPP 653 0 653
+
  AAS ACPP 653 0 653
-
  ABC YAEE 900 831 999
+
  ABC YAEE 900 831 999
-
  ABC METK 0 590 591
+
  ABC METK 0 590 591
-
  ABC META 0 663 663
+
  ABC META 0 663 663
-
  ACCA FABD 0 537 997
+
  ACCA FABD 0 537 997
  ...
  ...
 +
 +
= Statistiques sur le graphe =
 +
Des informations globales sur le graphe peuvent être obtenues ''via'' le menu <tt>Tools->NetwortkAnalyzer->Network Analysis->Analyse Network...</tt> comme :
 +
* le nombre de composantes connexes,
 +
* le nombre moyen de voisins,
 +
* ...
 +
 +
'''Observez''' les attributs supplémentaires des sommets et arêtes.
 +
 +
'''Modifiez''' l'apparence du graphe pour colorer les arêtes en fonction de leur centralité (bouton <tt>Visualize Parameters</tt> de la fenêtre de résultats).

Revision as of 09:58, 18 November 2019

Contents

Données

Les données sur lesquelles vous allez travailler provienne de la base de données STRING v8.2. Tout d'abord, trouvez le site de STRING et visualisez les partenaires de wbbJ d'Escherichia coli K12-MG1655. Le menu View Settings permet de choisir le rendu du graphe avec des des liens confidence ou evidence en affichant soit des arêtes de tailles reflétant le niveau de confiance du lien, soit des multi-arêtes indiquant les sources de données intervenant dans un lien, soit le type d'interaction. Le menu Data Settings permet de changer les paramètres de sélection des sommets et arêtes, notamment de récupérer davantage de protéines.

Visualisation avec Cytoscape

Cytoscape est un logiciel de visualisation et d'exploration de graphes. Il a été développé dans le cadre de graphes et réseaux biologiques. Un certain nombre de plugins ou greffons sont disponibles par exemple pour récupérer/télécharger des voies métaboliques (BioCyc) directement depuis Cytoscape.

Importation d'un fichier sif et algorithmes de dessin

Vous allez dans un premier temps utiliser un graphe au format SIF (simple interaction format). Il s'agit d'un format de stockage très simple de la forme :

ABC     stringdb    YAEE
ABC     stringdb    METK
ABC     stringdb    META
ACCA    stringdb    FABD
ACCA    stringdb    PPA
ACCB    stringdb    HPT
...

stringdb est le type de l'arête.

Récupérez le fichier String_EcolA_coexpression.sif contenant une partie du réseau d'interaction basé sur la co-expression chez Escherichia coli K12 avec un seuil de 0.5 pour la confiance dans une arête et ouvrez-le dans Cytoscape (menu File->Import->Network).

Si le graphe est "gros", les sommets du graphes sont disposés sur une grille. Pour celui-ci, un algorithme de dessin est utilisé pour disposer les sommets. Expérimentez différents algorithmes de dessin (layout in english donc dans le menu layout). Attention, certains ne sont pas adaptés et d'autres plutôt gourmands en temps de calcul.

Attributs sur les sommets et arêtes

Il est possible de charger des attributs associés aux sommets et/ou aux arêtes. Il s'agit là encore d'un format très simple : du texte de type CSV. Pour les attributs portant sur les sommets, il prend la forme suivante :

Gene    Description
AAS     2-acyl-glycerophospho-ethanolamine acyltransferase; acyl-acyl-carrier protein synthetase
AAT     leucyl, phenylalanyl-tRNA-protein transferase
ABC     ATP-binding component of a transporter
...

où la première ligne contient le nom de l'attribut. Vous trouverez plus d'information dans la documentation de Cytoscape.

Pour les arêtes, le format est très similaire :

coexpression
ABC (stringdb) YAEE = 831
ABC (stringdb) METK = 590
ABC (stringdb) META = 663
ACCA (stringdb) FABD = 537
ACCA (stringdb) PPA = 543
ACCB (stringdb) HPT = 566
...

Récupérez le fichier contenant les annotations des gènes - EcolA_Genes_Description.tab - et chargez-le (Menu File->Import->Table) dans Cytoscape. De même, pour les niveaux de confiance sur les liens de coexpression avec le fichier String_EcolA_coexpression_scores.attrs.

Comme dans la plupart des logiciels et systèmes d'exploitation, un clic droit sur un objet fait apparaître un menu contextuel dans Cytoscape. Un clic droit sur une arête ou un sommet fait apparaître un tel menu. Remarquez l'avant-dernière entrée du menu : Extrenal Links qui permet d'ouvrir une URL, typiquement à partir de l'identifiant du sommet ou de l'arête, ce qui permet par exemple d'atteindre la page de description d'une protéine dans UniProt. Il est possible d'ajouter ses propres "liens externes" à partir du menu Edit->Preferences->Properties... : pour un lien externe à partir d'un noeud, il faut ajouter une propriété nodelinkouturl.NOM_DU_LIEN (dans la section linkout), par exemple et c'est ce que vous devrez faire nodelinkouturl.CGDB. Dans le champ valeur, il s'agit de spécifier l'URL avec une ou plusieurs variables, ici nous utiliserons simple l'identifiant du noeud noté %ID% : http://www-abcdb.biotoul.fr/#/entry/findbestmatch/ID/EcolA.%ID%. Pour les liens sur les arêtes, il s'agit de la propriété edglelinkouturl.NOM_DU_LIEN avec %ID1% et %ID2% les extrémités de l'arête, cf. la documentation de Cytoscape pour plus de détails.

Rendu à partir des valeurs des attributs

Explorez à présent les possibilités offertes par l'onglet Style (à gauche). Essayez notamment de faire afficher des épaisseurs d'arêtes proportionnelles à la confiance du lien de coexpression.

Sélection, filtres et opérations sur les graphes

Une boite de recherche est disponible au niveau de la barre d'outil. Essayez-la pour, par exemple, sélectionner le gène wbbJ. Il s'agit en fait d'un filtrage sur la sélection de tous les sommets (ou toutes les arêtes). Pour élaborer un filtre plus complexe, vous avez à gauche l'onglet Select vous permettant d'éditer les paramètres du filtre. Sélectionnez toutes les arêtes ayant une valeur de coexpression supérieure à 800. Une fois la sélection réalisée, un bouton à gauche de la boite de recherche vous permettent d'extraire un sous graphe à partir de la sélection. Par défaut, il s'agit du sous graphe induit par les sommets sélectionnés : New Network From Selection (all edges). Après avoir réalisé la sélection des arêtes >800, le menu Select->Nodes->Nodes connected by selected edges vous permet de sélectionner les extrémités des arêtes sélectionnées.

Importez à présent le graphe contenu dans le fichier String_EcolA_experimental.sif correspondant aux données STRING portant sur les interactions protéine-protéine. Importez également la confiance de ces relations à partir du fichier String_EcolA_experimental_scores.attrs.

Vous pouvez fusionner les 2 graphes en utilisant Tools->Merge->Networks... en les sélectionnant tous les deux. Une fois cette opération réalisée, modifiez le rendu pour avoir des épaisseurs d'arêtes proportionnelles à la coexpression et un dégradé de couleur d'arête reflétant la confiance dans le lien d'interaction protéine-protéine.

Importation d'un graphe au format table

Il est également possible d'importer un graphe dans un format tabulé, ce qui permet de charger plusieurs attributs en même temps sur les arêtes. Récupérez le fichier String_EcolA_selection.tab qui contient les deux fichiers précédents ainsi que le score combiné des différentes sources disponibles dans STRING. Le fichier est de la forme :

id1	id2	experimental	coexpression	combined
AAS	SECA	546		0		546
AAS	ACPP	653		0		653
ABC	YAEE	900		831		999
ABC	METK	0		590		591
ABC	META	0		663		663
ACCA	FABD	0		537		997
...

Statistiques sur le graphe

Des informations globales sur le graphe peuvent être obtenues via le menu Tools->NetwortkAnalyzer->Network Analysis->Analyse Network... comme :

  • le nombre de composantes connexes,
  • le nombre moyen de voisins,
  • ...

Observez les attributs supplémentaires des sommets et arêtes.

Modifiez l'apparence du graphe pour colorer les arêtes en fonction de leur centralité (bouton Visualize Parameters de la fenêtre de résultats).