hierarchische clustering mit der gen-expression matrix in python
wie kann ich einen hierarchischen clustering (in diesem Fall für die gen-expression-Daten) in Python in einer Weise, die zeigt, dass die matrix der gene-expression-Werte zusammen mit der das dendrogramm? Was ich meine ist, wie das Beispiel hier:
http://www.mathworks.cn/access/helpdesk/help/toolbox/bioinfo/ug/a1060813239b1.html
gezeigt, nach Punkt 6 (Abbildung 1), wobei das das dendrogramm geplottet auf der linken Seite der gen-expression matrix, wo die Reihen wurden neu geordnet, spiegeln die clustering.
Wie kann ich dies in Python mit numpy/scipy oder andere tools? Auch ist es sehr praktisch, dies zu tun mit einer matrix aus rund 11.000 Genen, unter Verwendung der euklidischen Distanz als Metrik?
EDIT: Viele haben vorgeschlagen clustering-Pakete, aber ich bin noch unsicher, wie eine Darstellung der Art der Bilder, die ich im Zusammenhang mit oben in Python. Wie kann ich ein overlay das dendrogramm neben einer heatmap-matrix, mit Matplotlib zum Beispiel?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Viele clustering-Methoden, einschließlich
scipy.cluster
starten Sie durch Sortieren aller paarweisen Distanzen,~ 60 Millionen in Ihrem Fall, nicht zu groß.
Wie lange gilt das folgende für Sie ?
Wie permutiert die matrix und das Grundstück hübsch war, fragte
hier
So im März, mit einer teilweisen Antwort.
Können Sie dies mit scipy ist cluster.Hierarchie Modul. Die Befehle sind eigentlich auch sehr ähnlich. Allerdings müssen Sie
correlation
stattcorr
als parameter anpdist
und eher alscluster
den Namen der Funktion scipy cluster-Modul istfcluster
. Auch, für die das dendrogramm, die Funktion istdendrogram
in scipy als Gegensatz zuclustergram
in Matlab.Können Sie auf jeden Fall die Verwendung einer euklidischen Metrik (denke es ist der Standard für
pdist
). Ich denke, es sollte machbar sein, dies zu tun mit 11.000 Gene, weil das wird werden 11000*(11000-1)/2 = 60494500 (11000 wählen 2) Distanzen berechnet werden. Das ist eine große Zahl, aber sicherlich machbar, würde ich denken.matplotlib
Modul. Es könnte helfen, dieses Dokument anzusehen: cs.swarthmore.edu/~turnbull/cs67/s09/labs/lab05.pdf Es nutzt die scipy-cluster Paket (hcluster), die ich bin ziemlich sicher, dass ist das, was gebracht worden ist, in der scipy.cluster.Hierarchie-Modul.Ein paar Leute haben einige gute Fortschritte bei der Schaffung eines Prototyp-Modul für hierarchische clustering-und heatmap-Visualisierung mit scipy und matplotlib:
Wie man flat clustering der entsprechenden Farbe Clustern in der das dendrogramm erstellt von scipy
Ich habe die Anpassung dieser code, um ein vollwertiges hierarchische clustering-Modul, das ich integrieren kann in eine meiner Transkriptom-Analyse Pakete. Ich bin ziemlich zufrieden mit dem endgültigen Produkt, das Sie produzieren eine heatmap mit verschiedenen clustering-Metriken und Methoden und färben von Farbverläufen. Der code und ein Beispiel für die Ausgabe wird hier gezeigt:
http://altanalyze.blogspot.com/2012/06/hierarchical-clustering-heatmaps-in.html