silico.biotoul.fr
 

M2 BBS TP GRNs

From silico.biotoul.fr

Jump to: navigation, search

Contents

Introduction

Le but de cette séance est de mettre en pratique les méthodes d'inférence de réseau de régulation (de l'expression des gènes) à l'échelle du génome. Une fois les différents réseaux obtenus à partir de différentes méthodes, il s'agira d'évaluer leur qualité, par rapport à un réseau de référence.

Une des difficultés majeure est l'obtention d'un réseau de référence. En effet, un certain nombre de régulations sont connues et disponibles à travers certaines banques spécialisées ou la littérature scientifique (exemples positifs). Par contre, l'absence de régulation (exemples négatifs) peut correspondre à une régulation encore non mise en évidence in vivo. Il est donc difficile de constituer un lot d'exemples négatifs sans que ceux-ci ne soient triviaux ou incorrects. C'est pour ces raisons que bien souvent l'évaluation des méthodes d'inférence de réseau de régulation utilise des jeux de données synthétiques (un ou des réseaux artificiels sont générés et les données pour l'inférence sont simulées). Cela a été le cas pour le DREAM4 - In Silico Network Challenge de 2009 au cours duquel plusieurs jeux de données d'expression synthétiques étaient proposés (mais pas les réseaux) afin de mettre en compétition les équipes désirant participer au challenge. Ces données ont été reprises par la suite par la communauté scientifique. Elles permettent d'évaluer et de comparer les méthodes développées et sont souvent citées dans des publications scientifiques. L'année suivante d'autres données ont été proposées dans le même but pour le challenge DREAM5 - Network Inference. Il s'agit de réseaux concernant Escherichia coli (RegulonDb), Staphylococcus aureus et Saccharomyces cerevisiae et de données expérimentales. Le tout est décrit dans l'article Wisdom of crowds for robust gene network inference dont la lecture vous est vivement conseillée. Nous utiliserons donc pour cette séance, les réseaux proposés comme réseaux de référence ainsi que les données d'expression fournies pour tester les différentes méthodes.

Déroulement de la séance

Pour la presque totalité de la séance, nous utiliserons R :

  • Chargement des données d'expression
  • pour les méthodes CLR, ARACNe, MRNET : inférence de matrices de corrélation ou d'information mutuelle à partir des profils d'expression. GENIE3 utilisent directement les données d'expression.
    • pour cela plusieurs estimateurs sont disponibles et travaillent, pour la plupart, sur des variables discrètes. Il faudra donc effectuer une discrétisation au préalable (fonctions fournies dans la librairie).
  • inférence du réseau à partir de la matrice précédente
  • Évaluation de la qualité du réseau par rapport à un réseau de référence
    • courbes PR-C et ROC
  • Choix d'un seuil, extraction du graphe obtenu et visualisation sous Cytoscape

Données fournies

Dans l'archive, pour chaque organisme 'ORGN', les fichiers suivants sont disponibles :

  • Réseau de référence : ORGN-DREAM5_NetworkInference_GoldStandard_Network.tsv
  • Données d'expression : ORGN-expression_data.tsv
  • Facteurs de transcription : ORGN-transcription_factors.tsv
  • Correspondance nom de gènes / identifiant de gènes : ORGN-gene_ids.tsv


Archive à télécharger


Réseau de référence

A partir de l'archive téléchargée précédemment, visualiser le réseau de E. coli avec cytoscape.

Vérifiez que la régulation de l'opéron lactose (régulateur lacI) ainsi que celle du D-xylose (régulateur xylR) sont présentes dans le réseau.

Inférence du réseau à partir de données d'expression

Nous allons utiliser maintenant la librairie minet (Meyer PE, Lafitte F, Bontempi G., 2008) pour reconstruire le réseau. Une version plus complète de la vignette (nom de la documentation/tutorial en R) se trouve ici.

Cette librairie résultant d'une étude sur la construction d'un estimateur de l'information mutuelle entre 2 variables, la documentation est très axée sur les estimateurs proposés. Pour aujourd'hui, chacun d'entre vous pourra prendre un estimateur différent (y compris la matrice de corrélation) afin de comparer les résultats obtenus.

Suivez-donc le tutoriel, en adaptant les commandes aux jeux de données d'expression fourni. Les étapes sont les suivantes :

  1. chargement des données d'expression
  2. discrétisation (optionnel pour la matrice de corrélation) (plusieurs méthodes possibles). Pour la dernière version de minet, la fonction se trouve dans la librairie infotheo : infotheo::discretize.
  3. construction de la matrice de corrélation ou d'information mutuelle (plusieurs méthodes ou estimateurs disponibles avec la fonction build.mim). Pour cette étape, vous utiliserez les coefficients de corrélation car les méthodes basées sur l'information mutuelle prennent trop de temps de calcul. Vous trouverez néanmoins une matrice d'information mutuelle précalculée pour les données de coli discrétisées avec la méthode equalfreq et avec l'estimateur mi.empirical ici.
  4. inférence du réseau (seuil à déterminer pour prédire la présence d'un(e) arc/arête) à l'aide des fonctions fournies par la librairie minet : clr, aracne et mrnet.

Ensuite, vous aurez besoin de charger le réseau de référence sous la forme d'une matrice d'adjacence avec les mêmes lignes/colonnes que la matrice obtenue par les fonctions clr, aracne ou mrnet afin de pouvoir utiliser la fonction validate qui calcule les vrais positifs, faux positifs, etc.

Tracez les courbes ROC et PRC.

Est-ce que l'opéron lactose et la régulation du D-Xylose sont bien prédits ?


A présent, nous allons utiliser GENIE3 pour faire le même travail mais à l'aide de forêts aléatoires. Le code R est disponible sur la page http://www.montefiore.ulg.ac.be/~huynh-thu/software.html

Les instructions pour charger les données d'expression et construire le réseau sont dans le README.txt contenu dans l'archive.

Remarque : l'utilisation de GENIE3 sur la totalité des données d'expression sera trop coûteuse en temps de calcul. Il est conseillé de se concentrer sur une partie seulement des données d'expression. Par exemple, en ne sélectionnant que les gènes apparaissant dans le réseau de référence. Il est aussi possible dans les options de se restreindre à un certains régulateurs.