2013-06-24 2 views
0

J'ai un fichier avec des données génomiques pour lequel j'essaie de créer une carte thermique des données avec une barre latérale pour les informations chromosomiques. Pour rendre le heatmap I converti les valeurs numériques de mon fichier permet de créer une matrice de données que j'ai alors pu tracer:Création d'une barre latérale avec heatmap.2

Heatmap <- heatmap.2(DataMatrix, trace="none", col=greenred, key=T, keysize=1.5, labRow=NA, density.info="none", Colv=FALSE) 

Cependant, je voudrais ajouter une barre latérale de couleur supplémentaire pour indiquer l'emplacement chromosomique de lesdites données. En particulier je voudrais juste avoir deux couleurs, dites "noir" si c'est de "chrX" ou "jaune" de n'importe quel autre chromosome. La colonne avec cette information n'est pas dans ma matrice de données et je ne suis pas sûr comment inclure cette information dans ma heatmap. Toute aide serait grandement appréciée!

Répondre

4

La fonction heatmap.2 a un argument RowSideColors à cet effet, comme vous pouvez déduire de la documentation:

RowSideColors: (facultatif) vecteur de caractères de longueur 'nrow (x)' contenant les noms de couleurs pour une barre latérale verticale pouvant être utilisée pour annoter les rangées de 'x'.

J'ai récemment découvert la fonction aheatmap dans le package NMF, ce qui rend heatmaps agréable avec un nombre arbitraire de lignes/colonnes annotations sur votre heatmap. Inclus sur cette page d'accueil, vous trouverez several links à heatmap examples.

+0

Merci pour le pointeur vers de nouveaux heatmaps et packages. Le code 'heatmap.2' peut être difficile à modifier s'il n'y a pas de hook du type nécessaire pour une tâche particulière. Et bienvenue dans la région de la baie. –

+0

@SteveLianoglou - J'ai vu l'option RowSideColors mais je ne sais pas comment l'implémenter dans mon code - j'essaierai le paquetage NMF et je verrai s'il est plus facile de travailler avec ... – user2165857

+1

@ user2165857: 'RowSideColors' est un vecteur qui a comme de nombreux éléments tels que 'x' ont des lignes. Chaque élément de ce vecteur est la couleur de la ligne correspondante de 'x'. Les couleurs de 'RowSideColors' seront mélangées avec les lignes de' x' car 'x' est ré-ordonné via le clustering. –