16
Laurent Risser 14/10/2014 Cytoscape pour la visualisation et le traitement de grands graphes Laurent Risser Laurent Risser 14/10/2014 CNRS, Institut de Mathématiques de Toulouse 01/16

Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Cytoscape pour la visualisation et le traitement de grands graphes

Laurent Risser

Laurent Risser 14/10/2014

CNRS, Institut de Mathématiques de Toulouse

01/16

Page 2: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

1) Principaux logiciels

02/16

Outils libres pour la visualisation et traitement de gros graphs ? → De bonnes pistes après quelques recherches:

Tulip Better Visualisation Through Research

Page 3: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

On ne présente plus R ni ses packages :-)

… par contre, je souhaite : •  Visualiser de très gros graphs •  Développer des algorithmes pour l'analyse de ces graphs •  Distribuer les algorithmes à des non informaticiens / mathématiciens

R ne répond pas tout à fait à ce que je cherche

http://www.r-project.org/

1) Principaux logiciels

03/16

Page 4: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Tulip Better Visualisation Through Research

•  Développé par l'INRIA – LaBRI •  Vraisemblablement le logiciel plus puissant (numériquement parlant) •  Visualisation de graphs en 3D •  Développé en C++ avec GPU •  Possibilité de générer des plugins •  Installation difficile → Rebute pas mal de biologistes.

http://tulip.labri.fr/

1) Principaux logiciels

04/16

Page 5: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

http://gephi.github.io/

1) Principaux logiciels

•  Disponible sur Windows/linux/Mac OSX •  Développé sous Java •  Simple d’installation et d’utilisation •  Relativement généraliste •  Création et distribution de plugins possible

05/16

Page 6: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

http://www.cytoscape.org/

1) Principaux logiciels

•  Disponible sur Windows/linux/Mac OSX •  Développé sous Java •  Création et distribution de plugins possible Comparaison avec Gephi : - Prise en main plus lente - Visualisation de très gros graphs apparemment moins efficace + Bien plus utilisé (standard en sciences de la vie) + Importe plus de formats de données + Logiciel plus ‘mature’ (1ere version en 2002) → ouvre plus de possibilités 06/16

Page 7: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Présentation de Cytoscape 3 et non Cytoscape 2 : •  Cytoscape 2 est encore beaucoup utilisé mais n’est plus développé •  Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans son organisation générale (distinction données / traitements / visualisation) Il existe aussi cytoscape.js : •  Partage des caractéristiques avec Cytoscape 3 •  Conçu pour la visualisation dynamique de graphs sur le web •  Exemple : http://jsbin.com/wuvac/4/edit Présentation adaptée du tutoriel (pour Cytoscape 2) et de la doc Cytoscape 3 : •  http://opentutorials.cgl.ucsf.edu/index.php/Tutorial:Introduction_to_Cytoscape •  http://opentutorials.cgl.ucsf.edu/index.php/Tutorial:Introduction_to_Cytoscape-part2 •  http://wiki.cytoscape.org/Cytoscape_3/UserManual Nécessité d’installer Java Virtual Machine (JVM) avant Cytoscape 3

2) Utilisation de Cytoscape – Quelques remarques

→ Let's get started! 07/16

Page 8: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Barre d’outils : Raccourcis pour les taches courantes

2) Utilisation de Cytoscape – Présentation générale

Fenêtre principale de visualisation du réseau

Control Panel : Gestion du/des réseau(x)

Fenêtre secondaire de visualisation

du réseau

Liste des précédentes tâches Table Panel : Paramètres du réseau – modification manuelle les données Etat de la mémoire

08/16

Page 9: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

2) Utilisation de Cytoscape – Charger des données

Charger des données : •  File → open → [CytoscapeDir]/sampleData/galFiltered.sif Créer manuellement un réseau : •  File → New → Network Charger des données : •  File → Import → Network → File… → [CytoscapeDir]/sampleData/galFiltered.csv •  Select interaction Définition (Source node / Default Interaction / Target Node) •  Regarder les informations dans Table Panel → Node Table •  Regarder les informations dans Table Panel → Edge Table •  … ca serait quand même sympa de rajouter de l’information à ce pauvre graph ! Assigner des informations à un réseau : •  File → Import → Data → File… → [CytoscapeDir]/sampleData/galFiltered.nodeAttrTable.xlsx •  File → Import → Data → File… → [CytoscapeDir]/sampleData/galFiltered.edgeAttrTable.xls En plus : •  Jouer avec le réseau (zoom, sélection d’un nœud, sélection de plusieurs nœuds) •  Rajouter manuellement des colonnes dans le Table panel •  Rajouter manuellement des nœuds/arrêtes avec des clics droits dans la fenêtre de

visualisation

09/16

Page 10: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

2) Utilisation de Cytoscape – Visualiser des données

Utilisation du VizMapper pour les couleurs, labels, … : •  Modifier Fill Color dans Control Panel → Style → Node •  Modifier Label dans Control Panel → Style → Node •  Modifier Width dans Control Panel → Style → Edge (mettre le min à 300) •  Modifier Background Paint dans Control Panel → Style → Network •  Sauvegarder le style dans File → Export → Style •  Charger File → Import → Style → [CytoscapeDir]/sampleData/sampleStyles.xml •  Jouer avec différents styles dans Control Panel → Style Gestion du Layout pour la distribution spatiale des nœuds : •  Aller dans Layout et tester différentes options •  En profiter pour supprimer les nœuds non-reliés au graph principal (selection souris puis

Edition → Delete Selected Nodes and Edges) •  Sauvegarde d’une jolie illustration : File → Export → Network View as Graphics

10/16

Page 11: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

2) Utilisation de Cytoscape – Filtrer et analyser les données

Pour filtrer les données : •  Aller dans Control Panel → Select •  + → Column Filter → Node: Size String •  is between 200 and 400 •  Jouer avec New Network from Selection et autres outils de la barre d’outils

Lancer enfin : NetworkAnalysis → Network Analyser → Analyse Network

11/16

Page 12: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Un des points forts de Cytoscape est la multitude de plugins qu’il propose ! → http://apps.cytoscape.org/

3) Apps Cytoscape – Présentation générale

12/16

Page 13: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Pour installer une application : •  Soit naviguer dans l’App store et cliquer sur Install •  Soit, dans Cytoscape, aller dans Apps → App Manager Les Apps installées sont ensuite visibles dans Apps Exemple : Lancer Apps → MCODE Comment les utiliser?

3) Apps Cytoscape – Instalation et utilisation d’une App

13/16

Page 14: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Premier point : Les Apps sont écrites en Java ! Une App écrite pour une version actuelle de Cytoscape 3.x fonctionnera pour toutes les futures versions de Cytoscape 3.x Informations disponibles sur : http://wiki.cytoscape.org/Cytoscape_3/AppDeveloper Deux types d’Apps : Simple Apps et Bundle Apps

3) Apps Cytoscape – Ecrire et distribuer une App

Simple Apps don't require any understanding of OSGi or Maven. They are single jars. They can't take full advantage of the Cytoscape 3.0 architecture.

Bundle Apps are OSGi bundles that have all the benefits of the Cytoscape 3.0 architecture. With bundle apps, you can reference third-party jars in a consistent way and avoid the library clashes. We will host third-party jars to support your apps, if they are not already hosted by maven central or our nexus repository.

14/16

Page 15: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014

Informations sur le site de Cytoscape avec pas mal d’exemples :

•  Comment créer une simple App

•  Comment créer une Bundle App en ligne de commandes

•  "Livre de cuisine" pour faire des Apps Cytoscape 3 (exemples élémentaires) Soumettre une App :

3) Apps Cytoscape – Ecrire et distribuer une App

15/16

Page 16: Cytoscape pour la visualisation et le traitement de grands ... inge_stat... · • Cytoscape 3 est plus moderne, notamment dans l'utilisation d'Apps et dans ... • Comment créer

Laurent Risser 14/10/2014 16/16

4) Conclusion

Ce que l’on doit retenir :

•  Logiciel puissant pour la visualisation, le traitement et l’analyse de gros graphs

•  Installation simple sur Mac OS/Windows/Linux

•  Prise en main un peu lente mais bonne maitrise après une journée

•  Multitude d’applications et large communauté d’utilisateurs

•  Possibilité d’écrire et distribuer des Apps

•  Ecriture des Apps en Java