Package FlexClust : Flexible Cluster Algorithms Permet la classification des profils d’expression de sondes/gènes sur plusieurs échantillons. K-means : On doit préciser le nombre de groupes que l’on souhaite Qtclust (Quality Threshold clustering) : On précise des contraintes sur les groupes (distance maximale au sein d’un groupe, taille minimale, …) qtclust détermine le nombre de groupes et leurs compositions
Package FlexClust : Etapes de la classification Matrice de signal {n;m} n = 40.000 / m = 3 10 .. Filtre (pValue, FC, …) (+ moyenne / condition, lignée) Matrice filtrée {n’;m’} n’ = quelques dizaines à quelques milliers QtClust (contraintes sur les clusters) K clusters Package gcExplorer 1 carte des K clusters
Package FlexClust : Mise en oeuvre library(flexclust) #Paramètres de recherche des clusters my_control_parameters=list( iter.max=1000, ntry=nrow(m), #au maximum mais on peut prendre un nombre inférieur (gain en rapidité) min.size=10 ) #Conversion de l’objet en objet flexclustControl my_control_parameters=as(my_control_parameters,"flexclustControl") #Choix de la fonction de mesure de distance pearsonFamily<-kccaFamily(dist=distCor) qtClust <- qtclust( m, #Matrice filtrée de signal radius=(1-0.9), #Distance maximale à la centroide kcca=TRUE, #Lance la fonction kcca après détermination des clusters #permet de récupérer des informations sur le cluster (ex : « av_dist ») #et d’utiliser les fonctions plots du package flexclust control=my_control_parameters,family=pearsonFamily )
Package FlexClust : Eléments rendus par la fonction attributes(qtClust)$cluster : (Vecteur) N° du cluster auquel appartient la sonde (ou NA si ne satisfait pas aux contraintes) attributes(qtClust)$clusinfo[,"av_dist"] : (Vecteur) Distance moyenne à la centroïde, par cluster faible = cluster homogène / forte = cluster hétérogène attributes(qtClust)$clusinfo[, "size"] : (Vecteur) Nombre d’éléments par cluster attributes(qtClust)$centers[no_cluster,] : (Vecteur) valeurs calculées de la centroïde pour le cluster no_cluster nécessite « kcca=TRUE » > bwplot(qtClust,m)
Package FlexClust : Analyses plus fines des enrichissements fonctionnels
Cluster 1
Cluster 2
Cluster 5
Package gcExplorer : Cartographie de la similarité entre clusters
Package gcExplorer : Cartographie de la similarité entre clusters Intensité du nœud Taille du cluster Intensité du lien proximité des clusters library(gcExplorer) gcExplorer( qtClust, interactive=TRUE, #Vous allez pouvoir cliquer sur les noeuds du réseau que gcExplorer va afficher (1 noeud=1 cluster) panel.function=gcProfile, #Quand vous cliquez sur un noeud, les profils d'expression de ce cluster vont s'afficher dans une fenêtre panel.args=alist(legend=F,data=m,ylim=c(min(m),max(m)),data.type="other"), #Arguments passés à la fonction qui affiche les profils d'expression node.function=node.size, #Plus le cluster contient d'éléments, plus le noeud qui le représente apparait foncé. #De même, plus deux clusters sont similaires, plus le lien qui relie leurs noeuds apparait foncé. theme="blue" #Couleur utilisée pour colorier les noeuds et arcs )
Package gcExplorer : Cartographie de la similarité entre clusters Démo …
Start with a randomly chosen center. QtClust algorithm : Start with a randomly chosen center. 2. Iteratively add the gene that minimizes the increase in cluster diameter. 3. Continue until no gene can be added without surpassing the diameter threshold. 4. Repeat from 1. for ntry −1 further centers. 5. Select the largest candidate cluster and remove the genes it contains from further consideration. 6. Goto 1. on the smaller dataset. 7. Stop when the largest remaining cluster has fewer than some prespecified num- ber of elements (from http://www.ci.tuwien.ac.at/papers/Scharl+Leisch-2006.pdf)