silico.biotoul.fr
 

M1 BBS Graphes TP Visualisation

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m
m (Statistiques sur le graphe)
 
(22 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 v11.0. Tout d'abord, '''trouvez''' le site de STRING et '''visualisez''' les partenaires de ''dnaJ'' d'''Escherichia coli'' K12-MG1655. Le menu ''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. Dans le même menu, on peut sélectionner le type de sources de données affichées (textmining, experiments, ...). On peut aussi afficher davantage de sommetsavec le bouton ''More''.
 +
 
 +
Dans la partie ''Download'' du site, vous allez récupérer des fichiers pour ''Escherichia coli''. Il faut d'abord restreindre les données à l'organisme considéré. Vous utiliserez la souche K-12 substr. MG1655. Ensuite récupérez :
 +
* le fichier contenant les liens avec les scores détaillés pour chaque type de données : <tt>511145.protein.links.detailed.v11.0.txt.gz</tt>
 +
* le fichier contenant la description des sommets : <tt>511145.protein.info.v11.0.txt.gz</tt>
 +
 
 +
Décompressez-les ensuite pour répondre aux questions suivantes :
 +
* combien de protéines ?
 +
* combien d'arêtes ?
 +
 
 +
Le graphe étant un peu gros pour les exercices qui suivent vous allez filtrez les liens pour ne garder que ceux qui ont un score supérieur ou égal à 700 parmi les types ''neighborhood'', ''coexpression'' et ''experimental''.
 +
 
 +
<!--
 +
cat 511145.protein.links.detailed.v11.0.txt  | awk '{if ($3>=700 ||$6>=700 || $7>=700) {print}}' > 511145.protein.links.filtered.txt
 +
cat 511145.protein.links.detailed.v11.0.txt  | awk '{if ($1<$2 && ($3>=700 ||$6>=700 || $7>=700)) {print}}' > 511145.protein.links.filtered.undirected.txt
 +
-->
= Visualisation avec Cytoscape =
= Visualisation avec Cytoscape =
[http://www.cytoscape.org 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.
[http://www.cytoscape.org 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.
 +
== Import d'un graphe à partir d'un fichier ==
 +
 +
Importez le graphe à partir du menu ''File → import → Network from file...''. Il faut alors dans les paramètres avancés changer le délimiteur de colonnes et ensuite spécifier quels sont les attributs correspondant aux extrémités des arêtes.
 +
 +
<!--
== 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    stringdb    YAEE
  ABC    stringdb    YAEE
  ABC    stringdb    METK
  ABC    stringdb    METK
Line 17: Line 37:
  ...
  ...
-
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>).
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.
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 : du texte de type CSV. 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 :
  Gene    Description
  Gene    Description
Line 43: Line 65:
  ACCB (stringdb) HPT = 566
  ACCB (stringdb) HPT = 566
  ...
  ...
 +
-->
 +
 +
Importez le fichier précédemment récupéré <tt>511145.protein.info.v11.0.txt</tt> à partir du menu ''File → import → Table from file...'' en modifiant le délimiteur de colonnes si besoin, '''en précisant bien''' s'il s'agit de données sur les sommets ou les arêtes, et en indiquant quelle colonne permet d'identifier les sommets.
 +
<!--
'''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]].
'''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''' 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.
+
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é <tt>nodelinkouturl.NOM_DU_LIEN</tt> (dans la section <tt>linkout</tt>), par exemple et c'est ce que vous devrez faire <tt>nodelinkouturl.STRING</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>https://string-db.org/network/%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 ==
== 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.
+
'''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 ainsi qu'un dégradé reflétant le score de l'attribut ''experimental'' (bleu → jaune par exemple).
== 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 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 d'un sous graphe induit par les sommets sélectionnés : <tt>New Network From Delection (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.
+
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 àsur la gauche l'onglet ''Filter'' vous permettant d'éditer les paramètres du filtre. '''Sélectionnez''' toutes les arêtes ayant une valeur de coexpression ET une valeur experimental supérieures ou égales à 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 (From selected nodes, selected edges)</tt>. Ou alors, 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 [[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]].
'''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''==
Line 68: Line 103:
  ACCA FABD 0 537 997
  ACCA FABD 0 537 997
  ...
  ...
 +
 +
-->
= Statistiques sur le graphe =
= 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 :
+
Des informations globales sur le graphe peuvent être obtenues ''via'' le menu ''Tools → Analyze network'' comme :
* le nombre de composantes connexes,
* le nombre de composantes connexes,
-
* ...
 
* le nombre moyen de voisins,
* le nombre moyen de voisins,
 +
* ...
 +
 +
Le résumé apparaît dans une autre sous-fenêtre à droite onglet ''Analyzer''.
 +
 +
'''Observez''' les attributs supplémentaires des sommets et arêtes.
 +
 +
'''Modifiez''' l'apparence du graphe pour colorer les sommets en fonction de leur coefficient d'agglomération.

Current revision as of 16:53, 16 November 2020

Contents

Données

Les données sur lesquelles vous allez travailler provienne de la base de données STRING v11.0. Tout d'abord, trouvez le site de STRING et visualisez les partenaires de dnaJ d'Escherichia coli K12-MG1655. Le menu 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. Dans le même menu, on peut sélectionner le type de sources de données affichées (textmining, experiments, ...). On peut aussi afficher davantage de sommetsavec le bouton More.

Dans la partie Download du site, vous allez récupérer des fichiers pour Escherichia coli. Il faut d'abord restreindre les données à l'organisme considéré. Vous utiliserez la souche K-12 substr. MG1655. Ensuite récupérez :

  • le fichier contenant les liens avec les scores détaillés pour chaque type de données : 511145.protein.links.detailed.v11.0.txt.gz
  • le fichier contenant la description des sommets : 511145.protein.info.v11.0.txt.gz

Décompressez-les ensuite pour répondre aux questions suivantes :

  • combien de protéines ?
  • combien d'arêtes ?

Le graphe étant un peu gros pour les exercices qui suivent vous allez filtrez les liens pour ne garder que ceux qui ont un score supérieur ou égal à 700 parmi les types neighborhood, coexpression et experimental.


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.

Import d'un graphe à partir d'un fichier

Importez le graphe à partir du menu File → import → Network from file.... Il faut alors dans les paramètres avancés changer le délimiteur de colonnes et ensuite spécifier quels sont les attributs correspondant aux extrémités des arêtes.


Attributs sur les sommets et arêtes

Importez le fichier précédemment récupéré 511145.protein.info.v11.0.txt à partir du menu File → import → Table from file... en modifiant le délimiteur de colonnes si besoin, en précisant bien s'il s'agit de données sur les sommets ou les arêtes, et en indiquant quelle colonne permet d'identifier les sommets.

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.STRING. 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% : https://string-db.org/network/%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 ainsi qu'un dégradé reflétant le score de l'attribut experimental (bleu → jaune par exemple).

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 àsur la gauche l'onglet Filter vous permettant d'éditer les paramètres du filtre. Sélectionnez toutes les arêtes ayant une valeur de coexpression ET une valeur experimental supérieures ou égales à 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 (From selected nodes, selected edges). Ou alors, 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.


Statistiques sur le graphe

Des informations globales sur le graphe peuvent être obtenues via le menu Tools → Analyze network comme :

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

Le résumé apparaît dans une autre sous-fenêtre à droite onglet Analyzer.

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

Modifiez l'apparence du graphe pour colorer les sommets en fonction de leur coefficient d'agglomération.