silico.biotoul.fr
 

M1 MABS TDB TD Transcriptome - Clustering

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (Analyse de transcriptome de souches de Pseudomonas aeruginosa ayant infecté des patients atteints de mucoviscidose)
m (Clustering des profils)
Line 67: Line 67:
== Clustering des profils ==
== Clustering des profils ==
 +
Pour effectuer des analyses de clustering, nous utiliserons la fonction <tt>heatplot</tt> de la librairie <tt>made4</tt>. Cette fonction reprend les fonctionnalités de la fonction <tt>heatmap</tt> vue dans un TD précédent. Elle permet notamment d'utiliser une méthode de distance entre profils d'expression basé sur le coefficient de corrélation de Pearson.
 +
 +
Effectuer un premier clustering avec les paramètres par défaut :
 +
<source lang="rsplus">
 +
# chargement de la librairie
 +
library(made4)
 +
# on revient à un seul graphique
 +
par(mfrow=c(1,1))
 +
# affichage du clustering
 +
heatplot(rma.expr)
 +
</source>
 +
 +
Si l'affichage est lent, vous pouvez n'afficher que le dendrogramme sur les colonnes (hybridations) :
 +
<source lang="rsplus">
 +
heatplot(rma.expr, dend='column')
 +
</source>
 +
 +
Nous allons ensuite changer les couleurs pour un meilleur contraste :
 +
<source lang="rsplus">
 +
heatplot(rma.expr, dend='column', lowcol="blue",highcol="yellow")
 +
</source>
 +
 +
Puis, ajouter les informations concernant les puces que vous avez normalement chargé dans l'objet <tt>info</tt> :
 +
<source lang="rsplus">
 +
heatplot(rma.expr, dend='column', lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE)
 +
</source>
 +
 +
* Est-ce que les réplicats sont regroupés dans les mêmes clusters ?
 +
 +
* Est-ce que les différents stades/phénotypes forment de clusters ?
 +
 +
Par défaut, la méthode pour mesurer la distance entre 2 profils est basée sur le coefficient de corrélation de Pearson (<tt>1 - r</tt>). Essayer avec une autre méthode de distance : la distance euclidienne
 +
<source lang="rsplus">
 +
heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, distfun="euclidean")
 +
</source>
 +
 +
* Que pensez vous du résultat : vous paraît-il meilleur ?
 +
 +
Par défaut, la méthode pour identifier les clusters à fusionner est ''average linkage''. Essayer avec une autre méthode de distance entre clusters : ''single linkage''
 +
<source lang="rsplus">
 +
heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, method="single")
 +
</source>
 +
 +
* Que pensez vous du résultat : vous paraît-il meilleur ?
 +
 +
Essayer également avec la méthode ''complete linkage'' :
 +
<source lang="rsplus">
 +
heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, method="complete")
 +
heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, method="ward")
 +
</source>
 +
 +
Consultez l'aide de la fonction heatplot. Y a-t-il d'autres méthodes disponibles ? Essayez-les et choisissez le résultat qui vous semble le meilleur.
= Analyse d'un compendium de données de transcriptome de levure ''Saccharomyces cerevisiae'' =
= Analyse d'un compendium de données de transcriptome de levure ''Saccharomyces cerevisiae'' =

Revision as of 19:46, 23 October 2011

Contents

Analyse de transcriptome de souches de Pseudomonas aeruginosa ayant infecté des patients atteints de mucoviscidose

Etude basée sur la publicaton de Lei Yang et al. Bacterial adaptation during chronic infection revealed by independent component analysis of transcriptomic data.

Récupération des données

Récupérer les données relatives à cette publication sur GEO. Pour cela, il vous faudra retrouver dans la publication les références du jeu de données qu'ils ont utilisé.

Normalisation

Le format est celui d'Affymetrix (fichiers .CEL). Nous utiliserons donc la librarie affy de R/Bioconductor.

Après avoir désarchivé les données dans un répertoire, changer le répertoire courant dans R pour se placer dans le répertoire contenant les fichiers .CEL. L'ensemble des données contenues dans les fichiers GSMxxx.CEL est chargé sous R avec les commandes suivantes :

# chargement de la librairie
library(affy)
raw=ReadAffy()

En effet, par défaut, la fonction ReadAffy() charge tous les fichiers .CEL du répertoire courant.

On peut s'assurer du besoin de normaliser avec une boite à moustache :

boxplot(raw)

Pour la normalisation, nous utiliserons la fonction rma() (Robust Multiarray Averaging) de la librairie affy :

raw.rma=rma(raw)

L'objet raw.rma est de type ExpressionSet et contient l'ensemble des données normalisées. Nous nous intéresserons uniquement aux intensités que nous récupérons avec la commande suivante :

rma.expr=exprs(raw.rma)

Pour plus d'information sur le type ExpressionSet vous pouvez consulter l'aide :

?ExpressionSet

Le résultat de la normalisation peut aussi se visualiser avec une boite à moustache :

par(mfrow=c(2,1))
boxplot(raw)
boxplot(rma.expr)

Données annexes sur les hybridations

Afin de plus facilement analyser les données, les informations de la publication concernant le stade ou phénotype (early, late, mucoid) des bactéries a été compilé dans le fichier suivant :

Table 1 : Contenu du fichier chips_info.txt.
FileName Experience color
GSM774085_CF30-1979a.CEL CF30.1979.late red
GSM774086_CF30-1979b.CEL CF30.1979.late red
GSM774086_CF30-1979c.CEL CF30.1979.late red
GSM774088_CF43-1973a.CEL CF43.1973.early green
... ... ...

Charger ces données dans un objet que l'on appellera info.

Clustering des profils

Pour effectuer des analyses de clustering, nous utiliserons la fonction heatplot de la librairie made4. Cette fonction reprend les fonctionnalités de la fonction heatmap vue dans un TD précédent. Elle permet notamment d'utiliser une méthode de distance entre profils d'expression basé sur le coefficient de corrélation de Pearson.

Effectuer un premier clustering avec les paramètres par défaut :

# chargement de la librairie
library(made4)
# on revient à un seul graphique
par(mfrow=c(1,1))
# affichage du clustering
heatplot(rma.expr)

Si l'affichage est lent, vous pouvez n'afficher que le dendrogramme sur les colonnes (hybridations) :

heatplot(rma.expr, dend='column')

Nous allons ensuite changer les couleurs pour un meilleur contraste :

heatplot(rma.expr, dend='column', lowcol="blue",highcol="yellow")

Puis, ajouter les informations concernant les puces que vous avez normalement chargé dans l'objet info :

heatplot(rma.expr, dend='column', lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE)
  • Est-ce que les réplicats sont regroupés dans les mêmes clusters ?
  • Est-ce que les différents stades/phénotypes forment de clusters ?

Par défaut, la méthode pour mesurer la distance entre 2 profils est basée sur le coefficient de corrélation de Pearson (1 - r). Essayer avec une autre méthode de distance : la distance euclidienne

heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, distfun="euclidean")
  • Que pensez vous du résultat : vous paraît-il meilleur ?

Par défaut, la méthode pour identifier les clusters à fusionner est average linkage. Essayer avec une autre méthode de distance entre clusters : single linkage

heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, method="single")
  • Que pensez vous du résultat : vous paraît-il meilleur ?

Essayer également avec la méthode complete linkage :

heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, method="complete")
heatplot(rma.expr, dend="column", lowcol="blue",highcol="yellow", ColSideColors=as.character(info$color),cols.default=FALSE, method="ward")

Consultez l'aide de la fonction heatplot. Y a-t-il d'autres méthodes disponibles ? Essayez-les et choisissez le résultat qui vous semble le meilleur.

Analyse d'un compendium de données de transcriptome de levure Saccharomyces cerevisiae