heatmap
4
0
Entering edit mode
Liaw, Andy ▴ 360
@liaw-andy-125
Last seen 9.6 years ago
The wisdom of looking at such a thing aside, has anyone implemented `heatmap' in R? (That's the one where the data matrix is shown in a color image, with dendrograms on the top and left sides of it indicating the clustering of rows and columns.) I tried looking for it on the BioConductor website but didn't see any, so I went ahead and whipped up a heatmap function to do it. If anyone is interested, let me know. Cheers, Andy Andy I. Liaw, PhD Biometrics Research Phone: (732) 594-0820 Merck & Co., Inc. Fax: (732) 594-1565 P.O. Box 2000, RY84-16 Rahway, NJ 07065 mailto:andy_liaw@merck.com ---------------------------------------------------------------------- --------
• 1.5k views
ADD COMMENT
0
Entering edit mode
@anthony-rossini-10
Last seen 9.6 years ago
"Liaw, Andy" <andy_liaw@merck.com> writes: > The wisdom of looking at such a thing aside, has anyone implemented > `heatmap' in R? (That's the one where the data matrix is shown in a color > image, with dendrograms on the top and left sides of it indicating the > clustering of rows and columns.) > > I tried looking for it on the BioConductor website but didn't see any, so I > went ahead and whipped up a heatmap function to do it. If anyone is > interested, let me know. I'm interested... ideally, you'd have the 2-way heat map (i.e. gene and experiment clusters) but that is another story... (gosh, and I'd be asking for alot, eh?) best, -tony -- A.J. Rossini Rsrch. Asst. Prof. of Biostatistics U. of Washington Biostatistics rossini@u.washington.edu FHCRC/SCHARP/HIV Vaccine Trials Net rossini@scharp.org -------------- http://software.biostat.washington.edu/ ---------------- FHCRC: M: 206-667-7025 (fax=4812)|Voicemail is pretty sketchy/use Email UW: Th: 206-543-1044 (fax=3286)|Change last 4 digits of phone to FAX (my tuesday/wednesday/friday locations are completely unpredictable.)
ADD COMMENT
0
Entering edit mode
@wilkinson-mark-124
Last seen 9.6 years ago
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C2D9FA.48C66C50 Content-Type: text/plain; charset="iso-8859-1" I'm definitely interested. I've been working on such a function. It works for me, but it's not at the stage of releasing it into the wild. It also so happens that Adaikalavan Ramasamy posted to R-help ([R] Rearranging subtrees and Eisen Cluster) asking a similar question. He is trying to reproduce the graphics of Eisen's cluster software. I'm attaching output of my function. <<heatmap.png>> Mark Wilkinson Informatics Analyst St. Jude Children's Research Hospital Department of Pharmaceutical Sciences The opinions expressed here are my own and do not necessarily represent those of St. Jude Children's Research Hospital. -----Original Message----- From: Liaw, Andy [mailto:andy_liaw@merck.com] Sent: Friday, February 21, 2003 3:35 PM To: 'bioconductor@stat.math.ethz.ch' Subject: [BioC] heatmap The wisdom of looking at such a thing aside, has anyone implemented `heatmap' in R? (That's the one where the data matrix is shown in a color image, with dendrograms on the top and left sides of it indicating the clustering of rows and columns.) I tried looking for it on the BioConductor website but didn't see any, so I went ahead and whipped up a heatmap function to do it. If anyone is interested, let me know. Cheers, Andy Andy I. Liaw, PhD Biometrics Research Phone: (732) 594-0820 Merck & Co., Inc. Fax: (732) 594-1565 P.O. Box 2000, RY84-16 Rahway, NJ 07065 mailto:andy_liaw@merck.com ---------------------------------------------------------------------- ------ -- _______________________________________________ Bioconductor mailing list Bioconductor@stat.math.ethz.ch http://www.stat.math.ethz.ch/mailman/listinfo/bioconductor ------_=_NextPart_000_01C2D9FA.48C66C50 Content-Type: application/octet-stream; name="heatmap.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="heatmap.png" iVBORw0KGgoAAAANSUhEUgAAAkAAAAMACAMAAAD7ayjcAAABIFBMVEUAAAAABAAACAAADA AAEAAA FAAAGAAAHAAAIAAAJAAAKAAALAAAMAAANAAAOAAAPAAAQQAARQAASQAATQAAUQAAVQAAWQ AAXQAA YQAAZQAAaQAAbQAAcQAAdQAAeQAAfQAAggAAhgAAigAAjgAAkgAAlgAAmgAAngAAogAApg AAqgAA rgAAsgAAtgAAugAAvgAAwwAAxwAAywAAzwAA0wAA1wAA2wAA3wAA4wAA5wAA6wAA7wAA8w AA9wAA +wAA/wAIAAAQAAAYAAAhAAApAAAxAAA5AABCAABKAABSAABaAABjAABrAABzAAB7AACEAA CMAACU AACcAAClAACtAAC1AAC9AADGAADOAADWAADeAADnAADvAAD3AAD/AAD///+nst0zAAAgAE lEQVR4 nO2dCdv0tHWGlZUsNCGBhKRAgATIQknapmm2NqEsKWRvErLCN///XxT45tzj8ZH8ynM0nl fy81wt eT9LlqVzbnvsx7KdDpIUULp1B6S+JYCkkASQFJIAkkISQFJIAkgKSQBJIQkgKSQBJIUkgN 5Xel8f /He2sFB3uXxvUhQeovD+/wugS6QoHElIR4Ye0nT+n4dVrGxaJCkIHEpSmv8ff6VCuSSAMg Ad0uRQ c0KFg5EAmkhRyPyEHSZHICoIoKwUhelJdOknzKrpJ8xJUThML+M/AMPOj89+zGa1rFxSEK olYHJS UKolgHJSUKSQBJAUkgCSQhJAUkgCSApJAEkhCSApJAEkhSSApJBaA5RupMbDkGrVHKDG7d 3vzUoC SIpJAEkhCSApJAEkhSSApJAEkBSSAJJCEkBSSAJICkkASSEJICkkASSFJICkkASQFJIAkk ISQFJI AkgKSQBJIQkgKSQBJIUkgKSQBJAUkgCSQhJAUkgCSApJAEkh3XeA9Az9Pde9B+jsH/tV47 C2U18A XXNL91r3d7ACqAvd38EKoOvo1j95d6jhQNs1df32egLo1h0oqjFF3QDkxl3c0vb78/3VYk TbJqiR rgfQ/I8yQI270LEEkAAKSQAJoJAEkAAKSQAJoMu0cCotgO7akgBaNDwE0F1bEkACKNOeAF ojAeTa KwN0iZs2ugSQa28BoNomdiQB5NqrAOha5n+HEkCuvRqA1vSoCW33FrrMTuWL2m6pke4PQH fked7R pY63hO0OVQdmWQvBuZ8AXS0UAYCKTc3WurvfdzRVre0Y6w+gqzd8PYCWas3rrs1mmIQa6B Z7XPFH SAJoFUD8UQnD4g/jQllVrYUu9AvQpTva3Q3P/1gFkO+Nb++idBT+XV5efQxZcZjx/+oYoM ZbaAXQ mvbuhq20w5S7X+hWee01B8ZMw2v+CEkAVbRXm4VqXCrW3j1AlUfqCxq+syTzr+sDlKHjog PZQlHx l9X/awSA2myrH4Cu3vDyP8YFKHvWWH1cuiwvq3b++ir3FaCLxtsPQNkt1aK0XcJ7Bije8M W6GUCV fRFA/jjTuqMh3QCghdNNfxwSQNfvaEi3AKj8h+9Rx3nppqMhCSABFJIAEkAh3S+A1lyP3v u8dNPR kO4ZQAO1109HQxJAAigkASSAQhJAAigkASSAQhJAAigkASSAQhJAAigkASSAQoq3cueEMe ke6z4A 9OCo/zV93vS26ZemP5t+YfqtyZr5lYm13zX9xvRH00dNvza9brIQfdz0mulR07MmltAtIs xa75i+ eBRVWIlhPmmizldMROnLpseO+h8Tw3zD9DXTKyaC86qJ1f9y1O9MdIJAkqF8+j/kKvefDC 4CSABl mEjZ/wggAZQB6MMfsvf/P9mRJs/OIdlhSAAJoAlADyGBmyJA6eHpbhSg5CWAugbImIGWPE CpgMtq gPwSAdQ3QPbjlPiVypw/Hw8+AkgAZY5AKxkQQAJo+TL+OgAdO+GXW+ossF8EgT+YiCyjhJ vfm2y4 b5oeMVlE/kIADLYH4EKeXzS9Nhfbpn/0GMjIFAkiifTYMvaW6WMmgPy+6UsmcKEXXzd97q gvmKjC thnmKfMOcCpbbFhAe+wDFG0KUKG+ABoOoKKRGLqMF0B7AahoJKZM/gXQ7gFKNUaiABJABY DqjES7 xo8D5CWAugaozkic3M+IAZRZLoD6BqjKSIyeRGcv4AXQEABtYiTmTp8E0BgAxdQAIOsVQy HU2MN/ NRFr2KLye0fhw4ILjMGNTy+2K7145iiy+lkTK33aRHvQi7tM7rCQDaDnTeweIPCUiTwzXh oG47fn 8kw8Z4KFj5jYCT5lsoDSzCdMhJYiASSArgBQaTJi7kRGAAmgbLL9FXyeFwG0e4CqjMTSVb wA2j1A dUbiBKKLASpJAHUNUOWMxDhAxSIB1DdAdUaiABJAxSNQHQOryZjWEkDjAhRTA4D+fhQJx6 Kln580 YfkSm/8z2biJMMMlsgBEOkg4k1LJs60EJWzbn8Z91wTg/2RiDMyetcSz9rdNL5v8FoCMgb v9zaa2 PsYOw8xdDG0AIsZsgVDY2uQDA5r40QkBJICuANDCzdQLfSABtCeAytM5Lj6JFkADA5Q2eL RZAI0L 0Boj8eJbGUcnIC8B1DVAqx5tDgKULxNAfQNUZSR+sIXwT5gAGhKg7YxEATQkQDHVApQeHs NyZWYh Y44y75JRYkn/yulPJoswM1lBizja5M/PkQ4STvQ/PhfBgiQQJYfgQtdfMLEWmLx0FE+lM4 v2GybG QHrJPJui61ZCkBg4ewXtfdXELvQZE/2zEsvLewDJDYF/mDYDaKGuABoOoPLrES8+BxJAOw IofxUm gARQHqBUZyQWzrcF0N4BWmEk5s6DVwGUlwDqGqA1MxKDP2GFMgHUN0BVRqIAEkDlI1AVAx egIYB2 AVBMAkgA3Rog6zB3HP5mYr4zdyXghsp2I+TvNqkZv52VCBZZ+K2770HQSatxw4xgpk0DG2 yxErFm hjFzormVYVOrnzBBCdDyKgVIp+tM0aY9biuYmFH9iBOhIALcwSAUFmIAohMkhpXqjcTgjE QBtCOA cldhXKIJIAE0A6jSSDyk3AFIAO0eoDVGYoaEVQDljUQB1DVAK2YkxgHKlgmgvgGqMhJTok AACaDZ EaiKgWU0BNB+AYpJAAmgrQDKXcR9sNgMVHxO3qrKcGEBC5RsMhYbHM3gzBKa3zgRWb4j5d ZiAzCB eUsz1CHPPi/Y1vY2AxbQDJY5712AklPKTEBr5jevZnjMiWFCpu8fobWp0ESftXH92d1WG4 khgApH IAE0GEBLRmLkKkwAjQlQqjEST26iABJAZwDVGYknJygEUFYCqGuA1nxsJUPLKoDyZQKob4 CqjMSJ myiABNDsCFTFwBIaAmjPAMUkgATQNgAVbMT3C8znxFPGS+ZFBwyXEFOHtWz8eKy4wjQDHP 9swmbG MOZdrIbCG87pZd4qRe4NrK+SedYCih8cZa+BfQbqSDhZZd4qs1Ox4OHPOsEQaI93KuAl0x ssfTCh yCJL/PiGFXvtaaV8SoseYuAqrHARL4DGA2jBAhJAAsgBlKpmJIZvZQigQQGqMxIP5gOGAU pOAqhr gGofbW71E+YRFEB9A1RvJAogAZQ9AlUxUEZDAO0boJgEkADaDKCHcmXWGQ+HH7efycpYzI lm3LSH N00zzM0kJHz1iPZsSzyyz3Pl/hF7vGnyAqu0x1xU+947r3YFrSdNDo43eCSe7gCZwcvo2D ZcEwpM b8ZLBMDO3slKibfM2fZKIzGX/nqACisIoNEAyl2FpTMILgAoCaBRAUr1MxIDRqIAGhWgOi NxagYF AXISQF0DtGZGYguAfJkA6hugFUZii58wATQaQNsYiQJoWIBiEkAC6NYAWff4qhCUEBIMXl ggJHyU yBa87TLPXFTSy0qE+FsmVrcFPLCO00vwMch9j2GLjjIx1N4cSrdYyS9BAEQd3shpnjf9Y9 u86ZP4 0WPIxOuGdPdxJ8z5B06rjUQBJIDuBKh4FZazEgXQ7gFKa96ReClAmTUF0BgA1RmJdicjAF BRAqhr gLZ5R+KCVyCAOgeoykhMKfaORAE0LkCbGIkCaFyAYhJAAujWANkUVHrF4EDKI4Df7Crz3D bf+mEl 5pkSLBKEu8yD+bYSEebj9RjGcENeAJL5qvQCv9lRwiRcvG7GwPPuuMFMwsUWtgBQhfGyha dNTHJl bbqOf23N0AkGjgENqwJIAF0BoPITPVc5iRZAgwFU9IGudBUmgPoGKNU/G68jkAByANU50e mI1+UA lSWAugao9tn44BFooUwA9Q1QlRMtgARQ+QhUxUAp/QJo7wDF1AAg803JoTc8yRS4sIS5rf YCSAig hASRTGKNyUqISZBZv0xXxeAlLwSUhmEL/xoTmLQaSMwhpT0+EU7uGCaVSTgN29pklQ94+y 1Qh92C UDi3ny19xcTaJ+ddAAmg9gAVz4ECPpAA2g9AxauwyHwgATQsQGmFkSiABNAcoI2MxNNfTg Koa4DW GIkZWlYD5MsEUN8A1RuJx8OQABJA50egKgZKaAigvQMU0zqAMoewQ7Kh4OIyb9XPPMWbZq YowzSA SCbN8JEZgoW3SmSJNfyZ1U0VsoqPjUEOLsxbZdorSPE9IPtgDq/U/LJb4vcT0kvmWfL6XJ TQsH9a nheFMjwCaXstYaMKzZy87q0Byh2BBNBoAF3hJZsCaEcAZS/j88kXQAKozkjEJBJAAugcoE ojceII xQDyEkBdA1RnJDYDKFMmgPoGqM5IDL5gSgCNC9CWRqIAGhCgmFYA9EEXcmUWWG+O4kQzgZ UsUAQm toA8wxhvi2QeJwiQZ7YJSZYO5sGSVZggHcmJr+swtxVobZjUpT2caCxuEMAy95uyrAIQ3j n9e9OJ 7xUxXmLy3lHEj93DSt4jH9sCVDgCCaDRALrSUxkCaCcAZa+9QifRSQANDFCqe8lm5AgkgA YGqM5I bArQLAACqGuAtni0eQ6QjkAjAVRnJAogAVQ8AtUwUGRDAO0doJhWAvRQ54U2JlAgNJ4SDx B5MQeZ qGGXMm4mpfLKSlKGCXyKzVGE72UTdrN/cp080zAIsHHLMythaGMhU0SewZgixmlcMyWYTt AeSFEE tBj38GdmPxsgWvji2PVbA5RbRwANB1Dzm6kCaFcA5a7C7PzFrVAPUOnJDAHUOUCpxkic2N ECSABN AaozEtsegc4lgLoGaMWMxFYAzQoFUN8A1RmJ8ZNoATQoQFsZiQJoUIBiagCQdZw8QwmTKn GXCQmW KtMs7QF4PulNCQ1jtmJJ/8xEXmjYAPqRiQjjbPP0vf9Ctn3b++vQRtHjR7GfYAaTKaC1uo 9DB2n9 mslW4utEbJKXArB70Ay9ASCegLdBkQamv5IGOiGABNAVACqf/lzlHEgADQbQwlWYABJADi DLbtrM SBRAIwG0wkhM6cK3cxwBKkgAdQ3QKiMxdAQqFQqgvgFaYSQKIAGUOwLVMFBkQwDtHaCYBJ AAujVA Fj66h+lP5kk4UGCmkzsr4SYHASBBNEz4uFXwoonMm/vP2qDFHQy2zc0IcsetB+4iuHsG9O YJE1VY CSieNdFj7iu8dBR1CaTvOh2FVXctw7sZKPmh6bYzEgXQXgDKX4BN/roIoOKplgDqHKBU9W hzMstI AAmgC2YkHo4URQFKGQmgrgGqfbR58p8IQDoCDQfQCiMxchItgEYFaCMjUQCNClBMAkgAbQ dQ5iT8 /YWWTMbNtGRYwJIGIOow8/mPc5FMDGjaw0n104cJm3m2rO03SYJIOO9U4KtRvFeWdmwDZJ Vp3XSC dz6AFO3BPu96sE5gJdMwEQAX2OedD6+Yvmky9GkGHxvkGdQ6IzFFr8JyXzoQQMMBlLsKO7 sUE0AC aAJQqjISD9H5QAJoUIBqjcQ8P6sBykgAdQ1QpZFYvIZaB1CuUAD1DVCVkfjw/FkACaDcEa iGgSIb AmjvAMUkgATQrQEyexNflwT9w0SHQYD3mD4o6pdOvKOB9nBm8WEJumWMtQkodYGNZDIG8v yCibUM FygGDv/OWADHZuatDfjX1gmmv7I2/XvdiSICyRLbT9grmNLK6EhMvZF4aHEzVQDtAqDyZX zcSBRA 4wGUqmckBo9AKX+6LoD6BqjOSLTsB45AVE4zCaCuAaqdkRj+CSu1IYA6B6jKSGxwEi2ABg VoKyNR AA0KUEwCSABtDND8iJcsjnSPz8XjwzI45lISfTftFUOb0FDXs0URbBF92zYPwJOxN53o34 KpzPPu 9n5UqrAS82AJBQ1DB7RRZHNc/Veo6LHf1FdNHil7oJ4S6tItphhvaSQKoL0AVPSBclagAN o9QKlu RqIAEkBZgOqMRPsJawLQTAKoa4A2NxLnawigzgHa2kgUQIMBtKWR+KEE0FgAxbQKoOwaAk gAxQCy CJNVHmpnCQ9lk2fYwlS2urxkk3mwVAE/2MLXTU5WhXmrZIHeEGJShiXN/Feetafh7xzF9F zMb9aG Etxgnk8HWsZgPjEdxV6HOob5LRP7CdDyNSuLvje0uUXAeAWQALoCQNd5P5AA2gtA+cv4yV 8CSABN AErVU1pTChqJAmhAgGqd6HZHoLkEUNcA1TrRzQByhQKob4DqnOh2J9ECaDCANnSiBdCIAM XUACCb HgkTGMaYwKSDoIMJUNi4eTaeZlgbJ5Vm+HoNH7ZhEulTR7ln2k8TWHHBnzfBAnnB+yWtti WyQLdg gkfs33AC2k/O5XEGqV87MXCelscpt8hi6fNsPBFlFxJAAugKAG18DiSABgModxV2dj0mgA TQBKBU N6VVAAmgLEC1RqJVDQPkLncEUNcAVRqJJ4bCAOkINBZAVUZiShQIIAE0OwLVMFBkQwDtHa CY1gKU /Jxo6xUuM8mkw1iqBAm3mpDYcKnC2hjaZIoQP2eCXnJnuODi8sEcnhUn4cwmxULm3ZXeH7 YpqDi9 GLx0gifhWQlDmy2QeRsC3YJ0Zp7SMEUY2tDBZ4BsQjG7JiSxNoO6AUD+CCSARgNo4bGe8E m0ABof oPxVWO4STAAJoGojMWUPQAJo9wBtbCQmbyQKoK4BWvFsfBuAXKEA6hugKiPRTqJ9+tcAlL I/ggKo b4C2fDZeR6ABAYqpAUDm9AIQBjSmMgHFkAUgjGKrSzNQwrhpz5usQEaCbJMQSid+YCILpP fnJpxe LGkekrfeOCv5kwBJ1+kxtLlmwISVGAJdp2E+28Nu9rSJMRjOTAlmk7RHhgSQALoCQOXJiN FzIAG0 B4DyV2F2hi2ABNA5QKn60WYdgQSQB6jWSDQCogB5CaCuAVrxaHMMoJTyhoEA6hygOiMx9h Nmv48C aECAtjAST8c2ATQcQDE1AMhQIFgMjofayZ1/SB532RYAhwcISggAefEBNfHMOM/Ge6+b6a CsxTe4 WYvh2ePu7AwAhGHsn5an6/QYJ9rg+I0T26Zb3hfHRKc9Gx0G+ZdMLOFegQASQFcAqP2jzQ JoTwAV r8JyNk4NQEkAjQxQWmEkCiABNAdoAyPxBFBWAqhrgNYYiRlaVgGULxVAfQNUbySmdNljPQ JoaICu byQKoKEBiqkBQM6J9nMpCQmWKk40dJhLSqJIL2uzBJOVEPM2y1fnesZEzJnkSlbxfjFtyf PHTHw6 x+q+5sQW4Ia5vPQPekmi7VyU+NNM+seHd2ABpAjtg7kw09kk9r8AEkBXAGjjcyABNBhAC5 fxQR9I AI0IULr6jEQBNDJAa4zERj7QbHQCqGuAbmAknq8jgDoHqN5IFEACKHsEqmCgDIcA2jtAMQ kgAbQl QA/Hc15q71ClV9xoYEx/c28OZSwEyb221a/kb2WAyTdMzHO2dHD3hKzSLe6wfNlkr3Z9is nHJIjb E45Zf8+FNzzAFs0w2ZoxWDP+bgf3SCCTF0SwKTbOfZTfzcXoIIl9fZ2R2OAyPtOKABoNoN xV2NQM EkACaApQqjESj9fwAkgAzQGqMxLbAnQuAdQ1QHVGYlOAZqUCqG+AVhiJQYBSynlOAqhzgL YzEgs3 QwRQ3wDFJIAE0K0BMm6wh3GOGSVJhA7qEC0bP28AYEa1s1Yf4GPzRgF8YmJt2wYXtkTD+M QkHN+Z vGAC8xJVyzOvReULU+BM7hg4G6cy+5utxIsiXjCBKJsioi+a6Cj7h31+i32UbbOEaK00Ej PnMAJI AGWYKD7anKssgPYNUKqekZi7iBJAeweozkg8TP+KAJSRAOoaoBUzEmMA5Y5fOgINANAKIz HyE1as K4A6B2gjI1EAjQpQTAJIAN0aIHNUMYzJM2PCfn3LYUJ+bdwwhjNLXmiYSal+GigfmTcUiB rcEFC2 QDMY2pDE3FHWMqJ4IwP9+6aJunjdtOc3bu1BMaMjz7D1YxM9BiBibMwSYtLALo5dv85IzJ 0HCyAB lGFi6elCASSAzgBK28xIFECDAlRnJJZ95DUA5SWAugZozYzEIECFUgHUN0BrjEQBJIAyR6 AKBsrp F0B7BygmASSAbg2QecqkjqfbiRETOhkLtOHV2ixLEv6mE80w15MtYEBjGFtgyTO+M+ng9a UgwMtZ mTuKZe5miJI69gF2D9KL3ezf+spEU7Om8bxhDARwotkCzVCHXcj2RNCnYQx85rauMxKjN1 MF0D4A us50DgE0KkBVRuLDqzMBJIAcQHVG4qHVEShjJAqgrgHaakZisb4A6hygNUZi/CRaAA0H0L ZGogAa DqCYBJAA2gygD7vnS40bUKCfTN9klNQBIIznP81FFQDC1wUyYsMWwMRAYpOfcoJDOvqKiW bYOLmz RIEzCfdb8D42uxn8GQo8jg/gONF+bisDB1GcaLPrCSR7LUEC+Xoj8cAVfwCgbH0BNBpARR 8oPB9I AI0IUJ2ReGhwFSaARgSo1kjkij8IkJcA6hqgWiOxEUCZUgHUN0B1RmKrnzABNBxA2xiJ+U t4ATQA QDFVArRQVwAJoBhA1nFzQP/xnoncEWveLElliuwdlgQWOxduiAQ+LJWJNd60bZvUcdbPlF HS6/H7 iYl3a+JEm4tLCWY1Bi+dYF+i6wDJEhsC/eMr8WwBwInWt01wTR0DiBB7g5zxCiABdAWArn A3XgDt CKDcZfz0gl4ACaApQFVOtLmMAkgAzQCqc6LbHIHyEkBdA7Ti2fgoQIVSAdQ3QHVOdIuTaA E0JECb ONECaFyAYqpoIXPqfVZsY2ImKx2GJHqOb0r4+CaPMUGiSC9VaJjH3KmD94sha+0xdfQLJi xaEoT3 C23Mdv2OiY1bz79nYiV8YtrjM+LY6pjo7AQ/P4pmiJZfwr7EngOikGmxIR/UZeCsJIAE0B UAWjgH uuQkWgDtDKDCtVfuGkwACaAVz8ZfeBUmgIYGqM5IPEz/czlAWSNRAHUN0Ipn4xsAlCsWQH 0DdHUj UQCNDdDVjUQBNDZAMdUCdDzfyRXb4Lz9CkC8HZPw4YVSZNx4jxpKWIl0UMQZGVNGrS7zVq mCZ+un jJKyH5moTBrMd37GREfhmufxIQkg6QUJN/saShgUexnw0lH2BsZLL6yfRPY1J9jaEKBibQ E0HEDX OAcSQPsB6CpXYQJoWIC2MRIF0KgAbWQkJvvTSwB1DdBGRmK5ngDqHKBNjMQFs0kAdQ7QJk aiABoX oJgaAGQdJgA4xwyB4BM1MKGOGbM8Iu6HS0CxkL9mIkFswb6cw4RTHifHtSYLkORpoxcssX 2ABSSc KbwU8VlyNg6QT5psk4wOJljC6KCEKLGEjdueQ7fecdr22XgBtDeANj4HEkCDAZS7Cju7Hh NAAmj9 SzZjl/ECaFiAao3EPD/1AJUlgLoGqNJILPBTDdBCsQDqG6AqIzHZYUQACSB3BLqbgYX0C6 C9AxRT A4AsoOSFSalkHlwoIi8AZPhRheEy+ZPpqs5u/vWrThZYgv99E1/n9gmnPfqHqczbQG0DPJ 5ODtn2 cyacaMjES2Z2qg0cXNgH2E+SE+zzofKXTGb/MxZwwcDnpoEAEkBXAChrHwaNRAG0H4CKl/ GXG4lL 51kCqHOAUvWMxIsBWqwmgPoGqM5ITBTEAPIjSQKob4BqZyS2OQLlrEgB1DdAVUZi7CRaAI 0M0AZG ogAaGaCY6gF62PFM8VePWnjFJG6wj8S7JoMD1xqAeKSblQCSkJAO681XHz2KEjxgOsoEWx 5hJ3cU kSAQMOqoi+XLptiXcOdh3yNlVbDDGRTwvmACv+dNxIT2LPr2HfW/MiGWJVs/G798O1YAjQ ZQ8xmJ AmhXAGUv40sACKDdA5TqZyTqCCSAHEB1RqKlPnwEykgAdQ3QmhmJcYByxQKob4CqjMSUKL gMoFS0 mwRQ5wBtYiQu1BRAnQMUkwASQLcGyPx7UCCgeOikg6nBv3CyewfcX4ASbitwqwCXnlgDLU F/8Shu jdAwyaQ9ZhjzSlc/k5pM2a0R5mOzbXLIPQi2yX0K7nswcFsAQIyOuzCwDwv0hk2x57jY8H krBkWP 643E4M1UAbQjgPJXYYVLKQG0e4BSnZFYuJQ6LfCnJ0gADQzQCiNx+QhUPBYZQCUJoK4Baj Yj8S6A isUCqG+AqozEipNoAbRTgFoZiQJopwDFJIAE0K0Bsn6e7E0TJGEqs4Tp0gzKDGi+CEUJL2 tw05Jf 9WwRUPOJiSOp+w8TzjE9BiC4wRgnrfZyVnD5vIkt0K2PmdiCn/ls1jQvYnjLCQ6ZbM2oCC QmtbvK 8SVEq95IvHtGogASQJBwyTsSBdBOAUrVMxIFkADyAK0wEo+MXQiQ65dJAHUNULMZiXcCpC PQmABV GYkp3TkjUQDtFKCtjEQBNChAMQkgAbQBQB9utVRsb0cgIvSTwZEF6vBOBWxS59lSBS+ZJS QTMuEG RA0/kgngUMJ33umE93Vxg5mmai4uVjIcYmjDls8dkH3FZBNsgY30+iUgRZQYHq9bsBDT82 dNRItO rDQSM5BUArRQLoBGA6jsIV58Ei2ABgYo1T/arCOQAHIArTESYwCVJIC6BmiVkRgBqFgsgP oGaIWR KIAEUO4ItJDdO1UF0OImBFDnAMVUA9BCmQASQGGAjBKevPYu6S+d8Fb/MBd5/ouT97F5zP 3vJibC 2iPnrE2emWD7HRN5IeiwAKtgZz2nPdL7uhMNs00GDkDu8/PAwX7HMNkmyNNR2jOAaI/+wb W9N+DR eiMxchUmgPYFUPPLeAE0NEB1RmJkTrQAGhmgOiPxwyup3OVUJUBLEkBdA7Ti0ebLf8KWJI A6B6jK SBRAAqh8BFpO8B3pF0B7BygmASSAbg2Q2Zt8RYkAYCFjgZLeB86/Nl+XmBM+qCML1GFty8 IznNvb ezOZKUpASa+3h/mOFHl2zvZvrC6dIKsMHAOa2a70DyCxma0ZgvRTE5mHksdNAATyhMt2QE JM/Ojf KQICSAC1B6j1+4EE0L4AKhqJOUdQAO0eoDon+sAVvwASQFOA6pzoNmssJzwAABHvSURBVD 5Q3okW QF0DtMaJzjCyDqBssQDqG6B6JzqlS++FCaCBAdrQiRZAIwIUUz1AuePXh8vNdybCZJV+4g YzKOKI O2oZIy+klw/cEAncarbAayiZ4vn0UXzenSo45SSI9libN16SF97ead1iSitjAQGQoj3myn 7XxMAN Lbx41gY/OgGZIP+Ik4s1YWNnYOCbAlQ6Agmg0QC6jpEogPYC0JWMRAE0KECp2kgUQALIA7 TCSIwD lJUA6hqgFUZiGKB8sQDqG6B6I/Hi9wM9lAAaE6CrG4l3lAugzgGKqQFA9gpM73N6S5ppr7 w4k8qW Qz7yDUlEgpmdtEdsvPf75FE8Gf6yCZeZbZNndoK3nahjiac3fpgkHO8cyGgPgKznjtDkKW YwIPCS 6fsm230ZC68AoBNMABZAAugKADU+BxJAOwOoaCTmKBBAuweo3kjUEUgAeYBWGIk5ClYAVJ IA6hqg Vc/GRwAqgiWA+gbo6kaiABoboK2MRAE0KEAxNQDInsl+3sST17z3kQ9tU4dx/8xkRirOMT ECKZxe 8sJHdXhanrA9mAs7nO+TQzFr49WCC5DRjpFOVmmPWap43SDlenOSzfKlGUoYJktwq5l7y2 7m3H4i 8Z6J0WGiCyABdAWA8l/rOZ1JCyABtARQ7iqsOCVDAO0eoCojMU2uxwSQAJoAVGckWmEbH+ jcSBRA XQNUZySeuYlxgM7+IYD6BqjOSJy8aVMACaDzI1B95pdYEEA7BSim9QDNz6Q4FyLzTLeEEu xhnp9n fqnNPH36W0fx1DcBACDiyKRZQkzK3pqLlajCElLGNimCG5zjBQRM3pKm63i/fiKsIx4UCO TvnIAC b59NWRXGC+mszbZvAtD8CCSARgOoaCQ2uQoTQKMDlL0Ay1+DCSABtOJrPZkDkADaPUB1Ru Jh+lcc oKwEUJcA1c5IbAnQ+b8FUN8ArTASW/yEuTYEUOcAbWwkCqDRAIqpAUAWAPqJAU0Sf2D6dx Of1Wa+ pbm43zNhtmK/EjW4ATJiw2Pulg66RYJoBoDAhfbYAi+xZHVzjtlzKHnHyUMGHfTCCGWYhI 080z+Q or0/O9kQWBuSgI21BZAAugJAC0aiABJAdwK0ZCTGr8IE0GgArTISBZAAmgG0tZHoDUQB1D VAWxuJ vgUB1DdAWxuJAmgwgLY2EgXQYADFJIAE0K0BstsAfJPoX03/YrLbFN/6L9OPTT832Y0QXh LgUDiJ EPNyBYqIlk1qZr4zNxp8FsDFZ56EczPCJhazgE36ey6IIkZFfq1/AOTXpoj+sXcxr5v2bI G/yUF7 1L2FkSiARgcodxWWKBBAAugcoCoj0SxEASSAZgDVGYmnmxkNATqeQwqgrgFa82hzhpEQQA //K4D6 BqjeSGxzL0wADQbQ7YxEATQEQDEJIAF0G4D4PUz2caJ/MzHxGVP5RZO9OvVJ6kCSfSwdgE iQp4S3 BPAdeqJFNm3aNB41azPNmZUAEtp87qhsvaGEZNIMFjd1/BiY1+3SS8LBhWFS5Efl+KPD2O t0FIpv aCRyTi6ARgOoeAHW1EgUQKMAtGJGogASQA6gOiPxMP2rGUAPJYC6BuhWMxKpLoA6B6jeSG x4Ej2x JAVQ5wDdxEhMOgINA1BMAkgA3RogmzLKFE8sX76RDkAs+brpUyZ7fysvYiBYkMS4iQQJJ3 ywZXYz cWTtd5zYAnNHQYCZp251X+KTSe546yvbBCk3wZaB4zI/cMIgpz0qO+LBj94QpJVGYgYSAS SAMiku fGyl4Um0ABoGoDUzEgWQAJoDVGcknm5mNAMICaCuAVozI7EZQNPfQgHUOUArjEQBJIByR6 C6zC/w IID2DFBMAkgA3Rogm8DKx474ALp9wemRV0y8kxUflne7WglzXH06iCxLiCOVqWOMURdKmN CJc0wd 2PftUccyRjp48ap3ej3gvutvzEUzIEV7sEAdOkodFxIEN8BbbyQemt5MFUAjA1S8AEsZSg TQ7gG6 xYxEATQOQJVG4hGzZgBNJIC6Bqh2RmI6pT8M0BmHAqhzgOqMxKYn0QJoJIBuYCQKoJEAik kACaBb A2Th4zvvzG3lBZqccAMQc1ttJutPHz/qWdM7LlNkHhPYZ4HH3N2cT0p8ZGkG95ai8saZVQ qZNEOe sYexuH02bSVm2jIrl7qQxDbBxc9tLYve0NEbGYkCaGiArm8kCqCRAFphJLbygQTQQACtMB IbHoGm EkBdA7TCSGwH0NkCAdQ3QLcwEgXQQADdwkgUQAMBFJMAEkCbAuQfcE02J5WH2pml+kWTt6 SfM/3E 9MRRUIdnS/iIBF/gIY44s2D37lzYrzSMd056gQx32fNnWWBLPuG/dQI/D4XrOYOiLkvKvv jptaAW G7btv1cEvLcBKAmgsQG65ks2BdD4AOWNxAP/I4AE0BSgbae0CqDRAKpzog9HipoBNHGiBV DXAK14 yWaOkosB0hFoFIDqnOhWL9kUQMMBtK0TLYCGAyimywCankwlM6DtZZsfYbqqMfEEz7vjRP O0PF/0 +dxRONEECwPVW76EBDqIlqOO6aU+jqSDoLNxEoRRbAmHMXpDR/2mWPI7JxsU9jVjYQn4EV p6wxbo scGGh87XieDwhlNa7fEyATQwQAt34xudRAugkQHKX4W5e1gCSACtfDa+3VWYABoHoDoj0U 572/2E nSSAugZo42fj/TsaBFDnANUZiYfGP2ECaBiAbmAkHgTQQADF1ACgZ476hgkEnjLhO/ORHu oAmZnV PCyPVeuT+cDJP+ZuIOFR/9WJHJIggs4UWWxm6LXXZbIlOkF7TLml62yBjTMYRwkDB/DPmm CB/vlJ uNZhYKMZhkC3bgJQEkCDA3TlGYkCaHCA8j7Qgf8RQAJoCtAKI1EACSAHUJ2ReCjdy7gQoK kEUNcA rZmRmGHkMoDOlgigvgGqMxJtHo8AEkDuCFSV+RIQAmjvAMXUACCzkAHoE6avmODmS6Yfmn inps1k /Y6JAODiftSEpUrUsJBdEeHDvCULrE1kyZ1HFJvZFuB5gwKssgQoAJz+0Z5xyEpUYSXvvL Mp3Gq6 Y1XYGahLBGhPAAmgKwB0fSNRAI0MUO4qrHgdJoB2D1CVkZgaPtosgIYCqM5IPHOEWgA0MR IFUNcA 1RmJ7QHSEWgUgOqNxJYn0QJoGIBuYyQKoGEAiukigM4fbbaZrD8wMYGVeas8hI4lTR2+/2 0LSC+4 MAGTPGMP4/2yhNiYQ8u5GiUg5QFiCdCSVni2KuTZO72+x3SUJa6jbJsSJs36mbaQyVpuVL 5/LIG6 2wA0W08AjQbQlR9tFkCDA5S/9spdggkgAVRpJGae5xJAAugf9UYiBa0AOkkAdQ3QikebWw I0WSKA +gaozkg8NDQSBdBQAG1vJAqgoQCKSQAJoFsDZAQ8b+I9q7yc9QXTyyaKyO+Pj/qkieGSTH JIZIkE c4Q9C040XFP0rpNtkhxSwhI6Qe4AiCXcabBbGgyBTvibGzTD2uw5BMc2QNhYiXsaxK/eSE zp9JYp ASSAlgDK+0AFSgTQ7gGqNxJzkAigvQNUZyQeSvcyJgBVylUUQF0D1OzR5jrpCDQcQHVG4m wWmAAS QKcj0EoGBJAAWr6MF0ACqCeAbE40vjPTnL9g+m8TkNlKn2OJrcT3nwjNx02ncZuYNUxlwm bBZ66w s37/SjJxv4k104fLkLElSvCJSaa9wfZVEs5gwM69owHf2W+bFzowXrYJZAY4Jb4ZerPOSF y+mVoL 0LwRATQaQLmrsHQqCwLkVhFAnQNUZSSm07FIAAmgKUB1RuLEDGoC0NRIFEBdA7Ti0eaWAE 2WCKC+ AVpjJDb7CRNA4wC0sZEogEYDKCYBJIBuAND0qMfnnmCCD8h/zQRJvFyByl82PX4UcPgA8P JTQgwd LCF3toA848MSakiiCICwhX30XXsY0LTH6yXoFpY5a9GeWwAcMMaLGPwYXDO/t/jRDPudM9 NXPNqc CndTBZAAyuZ4fgHG6bYAEkDnAFUZiY2vwgTQOADVGYmHY2EjH2jqIwqgvgFaMyOx3U/YdI kA6hug FUaiABJAuSPQSgbiACUBNBBAMQkgAXRrgL531GOml0zAwZRWEo4Bzdfm//MoHrEnHX6WKu n9tAlM 3GPpxNE+0/QawcfHJvhkynNDZdthKIE6EsQ2PS6IJLrdw9fFgKYOwaHHzH+1SFAFC54g0f BKI7HV ZbwAGhqgBSOx0XQOATQSQDcwEgXQQACtMBJzvFwI0FQCqGuAVhmJbQA6P5AJoM4BWmEktv kJm60k gDoHaHMjUQCNBVBMAkgA3Rog+8rT0yY+5cQn4HkSng9A8bl4WHj0KF6/SWhgAl8XpDwCPv omwvcn J6a0vm5ayKZVoVuU+Cmt9Ng3gz9s7UHAu05+bfZEZqfCyxyk0ysFfHsrjcQ2N1MF0OAAlY 3E65xE C6C+AVphJOoIJIAcQKuMxFYAnUkAdQ3Q9jMS50sEUN8ArTASBZAAyh2BVjIggATQFKCYBJ AAujVA 9kg8TjQzWRklhrHNW33cPz//ylGfMTFTlFDTHgEAP5fe1+0ZdCJMQKkLh3i1cIO7DFvk17 pFM793 gn0ahnRscNxlK8G+Lu8DmfHSHsFxk13ZNl48XAsgAXQFgBamtLaYziGABgdowYmuAUIA7Q ygzae0 CqChAFrlRPv8XwLQuREtgPoGaPsprbN1BFDnAK1wohv9hAmgoQDa3okWQEMBFNNqgNLcC0 ifPYru 8ZFvPrzDEJjkit9s3Lzy3aOoQgBomDdfkhcyRWVenGnGLCX4xLz5EjLJHUjBDRuHDku8z6 F3ehk4 KWObdMfApBNusuvptZuICLBxigx91qYu28a13h4gv44AGg6g0o14d/AQQAIon9/MVRjn2w JIAJ0B tO2UVgE0GkB1RuLDX68GtzI+XOdcAqhrgGqNRH/9fTFAsxYEUN8A1RmJAkgAFY9AofQLoL 0DFEx/ vAWpY90DgKRdSwBJIQkgKaQWAOV+S9N5EVbmAT8qUzSfdJLzrqYXnrPKbGF+uzfTCV/31D 03PK5h Uzpf+zBr2I0lEwoXgaVupUyHaK8USN+/SVfmYYuqQUMnA8pOy05/2CamdlSaL5n9kQjRUs PTlc4r z9fKbdJ166zhw2wM56vnBlX+I9PjvF+33HAutCm/VqE3h+ySsFoCNGmMXeBAAE5ByiAwS9 AJv/kt mNMuekqHC+h5d6ZElTI17XE636brcRa/UuYnDfsI1AOUD+1sJ53uLY5ZT3Gbo1CLRnI9se S5bp7G XPrJSb5utnReOc3/KPdv4SdsXjXT44XL34pf82l7pd4sXmCf9otDvjt+gStqws6sbUm6QG 2OQHfv QQt13B+rDK7TuaQ70vDDks522+MB/DBdkm2G5twftDY/1z394dorbyFT1/dvocfuj4yudq Bo0PDk p9v9kTmbvvOPzNoLfxx/2M9OSM6LTlX8CW1NM/M/cufF/g/XXnELubq+fws9nv1RFTb7o0 32GzSR Z+J8l10L0MIh4Kzh8xC7IqpM/od91Z+Szosyf/jz4gxA7lqhtIVcXd+/hR7n/jiP1qnnvi ioFg3d 9ifsUBxEmv1/tmY6r5spKmC7tlvlLSwMoabH/o+qZhrpag1L+1Cb30HzpRr9ofY2bC8oAb T39oJq 8xNWPt+87A+1t2F7MbVpRdqtGgC0yneo+EPtbdhePPstGpH2K50D7b69mFodxlLLP9Tehu 0FJYD2 3l5QbRqxM7JGf6i9DdsLqglA0n7VBiBgbvSH2tuwvZjaNtLoD7W3YXtBtQFoQn6LP9Tehu 0FpSPQ 3tsLSkegvbcXVHMQR9gp99ZeRG0AAuZGf6i9DduLqRGFdlxs84fa27C9oATQ3tsLqs1xTN qtWh2B mv6h9jZsLyj9hO29vaBaYTjQLrm39mJqA5C0WwkgKSQBJIUkgKSQBJAUkgCSQhJAUkgCSA pJAEkh CSApJAEkhSSApJAEkBSSAJJCEkBSSAJICkkASSEJICkkASSFJICkkASQFJIAkkISQFJIAk gKSQBJ IQkgKSQBJIUkgKSQBJAUkgCSQhJAUkgCSApJAEkhCSApJAEkhSSApJAEkBSSAJJCEkBSSA JICkkA SSEJICkkASSFJICkkASQFJIAkkL6f5Pgd+sTYCQQAAAAAElFTkSuQmCC ------_=_NextPart_000_01C2D9FA.48C66C50--
ADD COMMENT
0
Entering edit mode
Liaw, Andy ▴ 360
@liaw-andy-125
Last seen 9.6 years ago
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C2DA03.22F84C10 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I probably should have given more detail on my attempt. The help file looks like the following: ================== Heatmap of a data matrix Description: Given a data matrix and clustering of its rows and columns, draw a heatmap along with dendrograms in the margins. Usage: heatmap(x, r.hc, c.hc, add.expr, ...) Arguments: x: The data matrix. r.hc: An `hclust' object representing clustering of rows. c.hc: An `hclust' object representing clustering of columns. add.expr: An expression used to add graphics to the color image. ...: Arguments to be passed to `image', which draws the heatmap. Details: `layout' is used to partition the plots. If `x' has row and column names, they will be used to label the heatmap. Otherwise the row and column indices are used. Value: `NULL' Author(s): Andy Liaw See Also: `image', `hclust' Examples: set.seed(132) x <- matrix(runif(1000), 50, 20) row.hc <- hclust(dist(x)) col.hc <- hclust(dist(t(x))) heatmap(x, row.hc, col.hc, add.expr=abline(h=20.5, col="blue", lwd=2)) =============================== (The output of the example code is attached.) So, the clustering is done *before* the function is called. It basically rely on the plot(as.dendrogram(hclust.object)) to draw the dendrograms (thus requires the "mva" package be loaded). Also, I have not figured out a good way to scale the size of the row and column labels. If anyone can suggest a good way to do that, I'll be very grateful. The function is rather simple, so I'll show it below. Any comments/fixes/improvements etc. welcomed. Cheers, Andy ============================================================== heatmap <- function (x, r.hc, c.hc, add.expr, ...) { op <- par(no.readonly = TRUE) on.exit(par(op)) r.cex <- 0.2 + 1/log10(nrow(x)) c.cex <- 0.2 + 1/log10(ncol(x)) x <- x[r.hc$order, c.hc$order] layout(matrix(c(0, 3, 2, 1), 2, 2, byrow = TRUE), widths = c(1, 4), heights = c(1, 4), respect = TRUE) par(mar = c(5, 0, 0, 5)) image(1:ncol(x), 1:nrow(x), t(x), axes = FALSE, xlim = c(0.5, ncol(x) + 0.5), ylim = c(0.5, nrow(x) + 0.5), xlab = "", ylab = "", ...) axis(1, 1:ncol(x), las = 2, line = -0.5, tick = 0, labels = if (is.null(colnames(x))) (1:ncol(x))[c.hc$order] else colnames(x), cex.axis = c.cex) axis(4, 1:nrow(x), las = 2, line = -0.5, tick = 0, labels = if (is.null(rownames(x))) (1:nrow(x))[r.hc$order] else rownames(x), cex.axis = r.cex) if (!missing(add.expr)) eval(substitute(add.expr)) par(mar = c(5, 3, 0, 0)) plot(as.dendrogram(r.hc), horiz = TRUE, axes = FALSE, yaxs = "i") par(mar = c(0, 0, 3, 5)) plot(as.dendrogram(c.hc), axes = FALSE, xaxs = "i") invisible(NULL) } > -----Original Message----- > From: rossini@blindglobe.net [mailto:rossini@blindglobe.net] > Sent: Friday, February 21, 2003 5:03 PM > To: Liaw, Andy > Cc: 'bioconductor@stat.math.ethz.ch' > Subject: Re: [BioC] heatmap > > > "Liaw, Andy" <andy_liaw@merck.com> writes: > > > > The wisdom of looking at such a thing aside, has anyone implemented > > `heatmap' in R? (That's the one where the data matrix is > shown in a color > > image, with dendrograms on the top and left sides of it > indicating the > > clustering of rows and columns.) > > > > I tried looking for it on the BioConductor website but > didn't see any, so I > > went ahead and whipped up a heatmap function to do it. If anyone is > > interested, let me know. > > I'm interested... ideally, you'd have the 2-way heat map (i.e. gene > and experiment clusters) but that is another story... (gosh, and I'd > be asking for alot, eh?) > > best, > -tony > > -- > A.J. Rossini Rsrch. Asst. Prof. of > Biostatistics > U. of Washington Biostatistics > rossini@u.washington.edu > FHCRC/SCHARP/HIV Vaccine Trials Net rossini@scharp.org > -------------- http://software.biostat.washington.edu/ > ---------------- > FHCRC: M: 206-667-7025 (fax=4812)|Voicemail is pretty > sketchy/use Email > UW: Th: 206-543-1044 (fax=3286)|Change last 4 digits of phone to FAX > (my tuesday/wednesday/friday locations are completely unpredictable.) > ---------------------------------------------------------------------- -------- ====================================================================== ======== ------_=_NextPart_000_01C2DA03.22F84C10 Content-Type: application/octet-stream; name=heatmap.png Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=heatmap.png iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAALVBMVEUAAAAAAP//AAD/IA D/QAD/ YAD/gAD/nwD/vwD/3wD//wD//yr//4D//9X///+uUG5BAAAWIklEQVR4nO3d65qrOA6FYW a6e049 nfu/3HlmJxDyGZAFshxcSz/2LgpsjF5zMJDU9FAMHVPvBijahoAHDwEPHgIePAQ8eAh48B Dw4CHg wUPAg4eABw8BDx4CHjwEPHgIePAQ8OAh4MFDwIOHgAcPAQ8eAh48BDx4CHjwEPDgIeDBQ8 CDh4AH DwEPHgIePAQ8eAh48BDw4CHgwUPAg4eABw8BDx4CHjwEPHgIePDoCjzdIXomKCD6AvdceW XcoY1H MTZw771/jtbbeZSCjutOAG69groQ8G1XUBcCvu0Kttb5XUft2wN/3Ymxrl4BN68jG7jT/p zXkxrt WPcBPlEmIL7uUBENnH7sFjB+fzHdl+dHmwvY14De8+sXMpYVMH5v7ES1O9nXAjc6Q9Q2Jz y8QFen rd+b86PPGVENdkY/4MbT1u/N+dEVCjh4+uohPPyccrH+kzEusDFt/T79nNLoXPxjgc18dm 8gG3Qu fi6wMd29AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO9 29AQJu O929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQ JuO929 AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO9 29AQJu O929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AQJuO929AXcDVlyL1/ fEuL9+ R8D3iOn5z7T87CqouEdMH/+5yrSLvyP+hfgT8Rvid8S/Ef9F/AfB8pz/TwTX/xtXwAJs0B +IfyBY ngnh8iWWgIcEfp18v+4cLOD778G7X7w7CXgM4KOZAo4Bfu0w7q8pFfA9gPsMk2q++NZKML eP+WH+ mH8LjPWx/F8ItrfoUayAG8D5bAB7NDsQl1/n+uH/ouFrwBV1CDgG+Jno7D24og4BRwIn36 qcgY+u ogUcBjw9Ou3BhyHgGODVRbSABwSenvtv2h5c/3cjeNXPfHH7LHDWx3yxvOXF9dPnN67Q6l GczwZw 3MjYGwc/coGrCws4BHhaDZNOSLlDwNl78DPfU9bDBgF3AP51keU1CwE+GiYJOAp4se0AfL CkgIOA JwEPDTx1Aa542sD2E4QJZz44TmX+mV/Wx/mWR5FwNog9iBUSiA1mj2Wwvscq1Xm3KqeDqc 8QcAjw aSoBC7goUhwmPK/sCPj7gV3FBBwKnPGwQcBdgCf/FfSpAl5gbi/bz/wRiMMY5p/5Y4fg+u nD5Tm/ WIA9lMENJCAbzPLc4CXrAh4a2Jv3dakTRQTcCThjHAzg/Rd2Nu9FC/jyHpx8kWXUIOBIYL +ZgO8D XHPrf1PLGQLuB5x3iP480R4EQbj9zCdBuP2sj8vTw3r4Y3kWFVgDbauB1tMmrv8DOOVhw3 Q4yRBw EPB07l6lgAVsFDGGSQKOAZ5OWUUAGyHgUOCshw31IeAQ4OWNjrZaJ4qwvcwPRw2cT2DWx1 EF88Vg fq31Fw0kKJcnKHsQh02uYVJ7YPdluoCDgKdzp2E3sPbgrsDNx8EbwMdX0QKOAZ7euW96kb UFfFhA wEHAU869aAH3AV7fFRbwgMC/Ep3x+eBP4IqnDQRxj0MRBGI+OQwlsFU/22cGK+AKuYHsMN Y4eZ3t hIcNALarEHAQsFd2TeRbXsCd9uBTN6MjgF3DJAHfA7jqYf//Q8D3PAdPtaUFHAL8tE28ij 4NzO3h KIPbZ4FwlGGNaph/rt/do6xhFXucBc4GzolPvtEh4GTg1RsdAh4ZOPkcbISA4w7Rj7w92P XMSsCh 5+Dmr+y4e5GAQ4Bfe1XKVbSvnDdf3F4G6yMg79Uzv+wQbA/nFwtYPYIr5HwCc3k+jFjlXs DjA2fc 6PCVE3AQ8OulSgGPCvx48nrNTgNXhYCjgd1mZ4GrQ8AxwK+r6LRhUnUIOAT4tet+4R7MhD O84JzP /FgdhPnl+pnfP7gAx6lcng20EmDFnPjnrvt9e7CAY4BXyRewgM+DbS9/cBUt4DDgM75RwP sFBBwF fMpXwLcBnqb1fxfB6pd/H4t3gvlhcFRCEA6DOEqxgNgBWB+jaCATTmCCMtgg9jDWz4QsiV +PlM6D eZc33+wQcAjw/LgwfZgk4KQ9uNc5WMA/A3h/mCTg2wLXnQ8EHAqc9sB/WaFVQMBBwPOjYO d1tHeH dwOz/Xy4QjALhPOt/Frl6VUAW+NeroANsDoM62OClmxP+KFSzLOwgPsBr1ItYAFDybF4AW y9siPg aOCmF1kFsBkCDjoHTymfbHhXXrseAYcAz5fP7i/qOA9cWZTDHm4/t4/gzB+33+oQXL/VQV h/8Vkb NpjBFVo9mvVz/opqOvHChYBvBdz8YYOA+wE/HgkfXSmBratoAYcBz0fo3D3YqkDAUcDJ42 AB5wKv js0CHhD49agh9xBddUnHhyPcXms+h6F8GMP5zBeHoZzP8hymmm8FMtiDWJ8Fugf8zHXmRV ZdBQIO AT6DdaaMgH8esDFMEnAY8Bnf68BWCDgGePWwwSfmWlrA3S6yVm/rtL+K9twwY3uZUA5rGM yX9UoT PdiBLB/Wb36PFYdJbDB7LBPC+dygFdSZ9yrPATsKCjgEeD0kFfCAwAtWyjmYwEdX0QIOA8 67VVkA H5QQcBTwe2DqEvMsLOCOwMsZOBXYvh/N9nuBCEAw7zCM9bM9hThBCUhgq8FsIHs0yy9Qr6 wnA5uV CDgEOPdhg4Dz9+B3rgU8MvDkJYsBPhgmCXgA4KMQcBjw9HlDq1LMs7CAuwMvBtVinoU/gC s7E9vP BDM/TDiD5dlBmB/Wz/IclhYrZAUcFzPYAIKyg3wrcG1xAQcBvz+5IuCxgTvswUdX0QKOAV 50M77C oQA+KCHgKODEzwcLOB34dUTMPweb19JsP8N6ukRAjjrowfIWoDWs+pMgVg/lCq1xmrUHLF BJV9Fb oAJuD/y+0dF2D94sJOAU4EfGHrxZSMBZwO2vojcLeYZJAr4E7DYLAT4KAYcBpzxscBcScC iwm6w5 MIeJBGVw+6xhJ5dnMN/sMAQueiCB2GA2iD3I26M4/537+UbHCTHn4gLuAFz7lQqbYs7FBf xzgHcv oOerAQHHAJ96VhgBbJUQcDBw9h5slRBwCPB8RPReY10Arnxnhw9HuD3MDwE4CrEe1lj1cz 7r5/qL l8S4QlbAFbCHWT2K5d+5f46R8oDrygs4CHj+7IqAhwZOvIo23taZj98CjgGeqnepWGAzBC xgAdvA 7yvatFuVAk7dgxfZbwPmMLAYZyKscTLD6gDML/PH+jj/T4ITiD2IDbDKWz36nXsBDw188k +AnwN2 PHYW8A2BN0vuDJMEHAP8ftrfDBi7bQG8XUrAUcDNX9nB6yICzgR+yXYCPlotgbn93B6CW/ kjIOtj PjnqYX3F059CHMEKuAICsjw3gOWXdJ/6qsog4IOaBBwDnDBMEnBnYLeYc3ELuO4qWsDXgB u+smMA 74SAg87ByxsdaYfozz1VwI2Bn/kHQkvgykoEPDiwBWSBMgjIfHFca3Uoq77ioyaczwosMK s8Pyqz pFjAQwO/TsFOMwHfBvj5Ty/gg3eyBBwC/OgKfBQCjgHOvxddGQIe4BB9FATi9nMUYT7dMY LDImvU w/lsT/F0hyuwgKzy3OC778ECPgf8FNAe/AOAs/fg3Uvo7atoAZ8Gfuq2+xqlPeDjUgKOAV 6dewU8 IPD768DzgCseJT3KP23HBDOf1iiD+WF9HBZ5yxO8+AvULMBxHoHYAIJzfTvA76fBWY8LK/ uTgIOA l+fBHl4B3wbYT1vFw0UF3PMQfUY4APh4mCTgoD24G7ARAg7ag5fr2eyLLCMEHLwHp710V1 nUejpE YOaL2898EZTBDuMd5v5l9RgLiMENZP2sb872vAcLeEzgt0AWcGVPEvAAwJ6HDQI+DfwC6A F8UErA UcCvM3DiJxuqKhFwEPD7L9slPWx4r+dwjQRlQgnA7ePyDObbGpYxv5zP+gpAVsDlLVDOt8 aFS/bn /At4RODXrivgUYEfPc/Brld2BHwF2H9LOgT4qJSA7wu83lEF3Bj49bzffafjAnBdHQIOAX 7J/vqu ne8C5jCPQEwwg+NWa5zL8tbDIPoVDSAIeywBrR5p9XDOX6V5yrnIKg7MAk4BPvfU/wwwSw p4dOCj YZKAw4Anr1gU8GEIOAq4+V8fFXBX4Lxhkg+YQEw4H95w+ywglme+uH6W5/LF0yQCskJrHM j57KEc FnH9S/YFPDLw+2GDgIcEnofBTrMI4P1r6F+XAwKOOkR3Az4uJWABC9hzDm7/wN8H/DfFtV glf74b nQRc87BQwJdjBZD1sMFVA49APOTyCMb5POLxkMr6rSMej7A8YnJ+cUxnAd4psTbAOqTzlF AICHhM 4Neu2wH4eJgk4NA9eHKRhQAbIeAw4E7nYCMEHAU8ZX1XpQ/Yuz0WAPNteXD9fDhED3agYm BsrZAb yOXZIbg8N3hJfs442H2IEHAI8PutyrbAziIPAUcBP6ZlD3Pl/yrw0TV01ScbBFy5B+fciy 6BrVIC jgJO+fvBRREB5wCvHjbk7cFVvYnDFiac228FQSxwejGf9CvGWVaDCEYg1scGs8ftDJOWV3 YaAa8s 38A15QUcA/y+z9HmImva2oNrygs4DPjx3I8FPDKw+07TZWBrmCTg2D04G9gMAccAv+5kNR smCbgv 8PS8lZW5B1f2JGscSwArn+wgXmB2EGtc/DuBrHEsG2j1cDaA9a8IWj5N2gCuKyvgKOBH9h 4s4FTg qfGNjj1g6ypawDffg60KBBwD3PpetID7Ak+OlMcB11zS8aqf+WN+rPwyHwRlfjif5Zlvds jiE+sc V3E+V2D1QG7w7jApH7iqAgHHAE/vOx0e31PA03rXFXAKsF/2DVe73FT8pqYCAUceov1xHd gYJgn4 5sBWCDgMOOsc7Csp4CjgtHGwryS3n9vHfFkgHNcyf8wP57M9Vgcsgj2IwQZyPjeYG8gePa d7452p Srja5QTcE3h171/AAnYzbQFXhIDjDtHVA9Mo4MoQcBDwfA52Mgj4HsDLEdGr0ByY28d8cV TC+QRi /qwOwvqZTwIXYfVQgrBBVgI4TuP8t9N0BkHAtwJOeSfLFwIO3YPdcRXYvIoWcAjw+z5WNr BVUMAx wB4sF9B7OQH3PES7T761QO/lBNz7HFyL6gJ6L1cuWtOp2H7mj/MJYA0TmU/mx8ov57M9v3 EB9jir h7E+dhjOZ/2OXO/A1S63AVxRXsAxwGdHMQIW8L7lVDFMEnAQ8Dnfy8BmCDgGeL4VnffKTm VhAYcA vx40ZL6yU1mYCbWGRQRkPrj9XJ7zOaxi/s1hEitggzjfaiATwPqYkFWuBSzgU0av5T4Wrb 6zIuAY 4EfyORhdaf8qWsBBwI/kPRjAuwUFHHSInqamf5xSwH2BX/meHt6nhteBjbMxhznWsInbx+ 3nqIWj FOaTweVZvxnsIQS2GsTlCc74BJ7y92DjtCDgEOD5a0g7XGQJOAV4+V4y5y1LAd8F2E71Hl ztcofA u8MkAd8ZuOJuh4BjgF/DJPebO37gCSsRcAbw+mDp8T0DjHJGDQRlcPsJyODyXg/OZwcsVm j1SI57 veNgBpef0zzvVQIeE3hJdfNzsID7AKcNkwpg3ys7Ar62Bzt9A4CNEHAMcOJVtKucgGOA59 Mvh6s1 cLXLnQNmPhjcPqsDEIT55DCLyxOY6y+A2CBWyGERg/WxPBvMWGVdwOMCLw8b8i+yjBBwDP CSdAEP C3zG9zxwVQg4EPjUMPg0cHUIOAh4vlGZdKuyOgQcAzy93pr1CjQH5vYyXxaQ1SEsUM4nMO cXwFYP 4AZy4M3y1vIch7+yvlxFC3hI4HXimwHzSXBVCDgWuOE5eKNExVW0gG+zB28B2wUFHAO8On gKeEjg 9D248nzM7SOw9UqTBWqBeTsU6ys+oM0C1gZYwyqrAyxpXy6gs4DrSgs4BHgexbS80YGfBJ wK7B+/ EK52uQ9g+ypawFF7sP8+9HXgihBwzDnYg7UNV7ucgHsBt/50IX4ScCbw0zb9KroiOMxjvq zt57DQ GoZa78zRj8sz3+Yn8FkBwVkfH49xg7i+Od3LswZfCPgmwI/J/8Kdg0nA3wLc6xy8O0wScN Ah+nUe dpjFAu8VFHDoOdh9w+ME8OZzYQG3BX6lPOMquvjNca/i9rP9zAe3l+X5dIn54nx2IAbbU7 w0xh5C MPZgVsiweijXv8p4L+DDegQcCpxwiC5+I+Ak4EfXPXjvKlrAcXtwzvPgbeDdEHAMcN5V9P o3FesT cAjw+otmM4HtKgQctAc/vhSYABxGWg9nrA7AfLA+grLDcD49i8ddXKHVIHYAa+C+swe/xs HZh2gB JwE/nxa+zovVuqbO0XICzgV+fD4Uro0I4MN3sgQcCuwxuwpcdzYQcAzwtBonVetuwnmWE3 DaRdbz H/9bHc2BuT0MJtgaRhGQ+bOArWFVMayxANhAroAdhgngBjDmVC97cKVYPdHBcgJOA36mO+ OVHWdp AQcBnzsFXwU2QsAt9uDEi6yKEHD0OTjzKroiBBwCPF9Fuy2aA3N7mT9uL/PB7SWY1UGsfD OKCvlw gfO9FbKBXJ4dZpV/AY8L/L2HaAHHAK9GwAIeEnhB+LJhkoCDgb/tTpaAo4Cn1+PCL7sXLe AQ4PlP By8PaWujGnj3GGwEH7YwXwQgqNUBmD/mh2ENa4uwHj9ZDWB5bgA3kAlZAbR8q/J0aQHHAF e/QuMn ulZawLcGtq+iBXxn4IoQsIAFfGdgRVQIePBY3lH2l1KMGwIePAQ8eAh48BDw4NEceOtDTY +PN/SX H9fPs6fPBcp77Nb8oyZ9rNBuoLW+eXnU9PkCxmq+sbx/g46iPfDGdqz+wMRj9ZHXFfA69d Oq5FIj KlhPmy36XKHdQGt9OwPUD2Bu0MHyGz9ciIw9+CODm5TrhG2lkmWngwr4NLOY5vIVDTxaX9 ngjRXu 9I2jBuLHs5FziF4fn95r/dicyQNs9pCiBeXk9FGf0UAPMI88FvDW8ttNPxM5wL9+mI7yNR 8WA4AN Ya6wqoEu4MfnnmgCbyy/2fJTkQe8+kVxDn7+8MrXtKb+WGCnwPzP7nule8LsQJUN5Pqm9S /fiy6t 2dqgg+U3frgQ+cDlVXT5w+erR8VV66qeef7mmqwmbQPvNXB/fVtXvR8f9TQ2iMvf6ir6x4 b7k9pt KAQ8eNwBGHdCFJ64Qc7e1zM3aOzXRfeccZhv35gwbmSYKzDmW8v7tyh4vrM116uIbsG0Pb kMJI4H QRUrMOZfTkl0gy5Ff2BLeDVa2TkVSziprrNRLVx3I6NiBcb8kYS/AdiK0Ds7Py2Us8FDwI OHgAcP AQ8eAh48BDx4CHjwEPDgIeDBQ8CDh4AHDwEPHgIePAQ8eAh48BDw4CHgwUPAg4eABw8BDx 4CHjwE PHgIePAQ8OAh4MFDwIOHgAcPAQ8eAh48BDx4CHjwEPDgIeDBQ8CDh4AHDwEPHgIePAQ8eA h48BDw 4PE/Ukmmfls6BzwAAAAASUVORK5CYII= ------_=_NextPart_000_01C2DA03.22F84C10--
ADD COMMENT
0
Entering edit mode
@adaikalavan-ramasamy-167
Last seen 9.6 years ago
Thanks to Mark Wilkinson for pointing out my previous e-mail regarding the Eisen Cluster & Treeview like plots. It is in my humble opinion that a biologists/microarray like to see pictures on a green and red scale indicating under/over expression. The function plot.mat() by Sandrine Dudoit does the green-red coloring. You can further include an option to z-score the rows before plotting. You can easily break my function (which I think you can find in the archives, otherwise email me) so that the clusterings can be done separately. As with you, the other problem I had was that the row labels being 'squashed' too close. Another nice feature to include would be to have interactive names. i.e. when you click on the plot, the name of the corresponding gene pops up (like Treeview). Regards, Adai. -----Original Message----- From: Liaw, Andy [mailto:andy_liaw@merck.com] Sent: Saturday, February 22, 2003 7:44 AM To: 'rossini@u.washington.edu' Cc: 'bioconductor@stat.math.ethz.ch' Subject: RE: [BioC] heatmap I probably should have given more detail on my attempt. The help file looks like the following: ================== Heatmap of a data matrix Description: Given a data matrix and clustering of its rows and columns, draw a heatmap along with dendrograms in the margins. Usage: heatmap(x, r.hc, c.hc, add.expr, ...) Arguments: x: The data matrix. r.hc: An `hclust' object representing clustering of rows. c.hc: An `hclust' object representing clustering of columns. add.expr: An expression used to add graphics to the color image. ...: Arguments to be passed to `image', which draws the heatmap. Details: `layout' is used to partition the plots. If `x' has row and column names, they will be used to label the heatmap. Otherwise the row and column indices are used. Value: `NULL' Author(s): Andy Liaw See Also: `image', `hclust' Examples: set.seed(132) x <- matrix(runif(1000), 50, 20) row.hc <- hclust(dist(x)) col.hc <- hclust(dist(t(x))) heatmap(x, row.hc, col.hc, add.expr=abline(h=20.5, col="blue", lwd=2)) =============================== (The output of the example code is attached.) So, the clustering is done *before* the function is called. It basically rely on the plot(as.dendrogram(hclust.object)) to draw the dendrograms (thus requires the "mva" package be loaded). Also, I have not figured out a good way to scale the size of the row and column labels. If anyone can suggest a good way to do that, I'll be very grateful. The function is rather simple, so I'll show it below. Any comments/fixes/improvements etc. welcomed. Cheers, Andy ============================================================== heatmap <- function (x, r.hc, c.hc, add.expr, ...) { op <- par(no.readonly = TRUE) on.exit(par(op)) r.cex <- 0.2 + 1/log10(nrow(x)) c.cex <- 0.2 + 1/log10(ncol(x)) x <- x[r.hc$order, c.hc$order] layout(matrix(c(0, 3, 2, 1), 2, 2, byrow = TRUE), widths = c(1, 4), heights = c(1, 4), respect = TRUE) par(mar = c(5, 0, 0, 5)) image(1:ncol(x), 1:nrow(x), t(x), axes = FALSE, xlim = c(0.5, ncol(x) + 0.5), ylim = c(0.5, nrow(x) + 0.5), xlab = "", ylab = "", ...) axis(1, 1:ncol(x), las = 2, line = -0.5, tick = 0, labels = if (is.null(colnames(x))) (1:ncol(x))[c.hc$order] else colnames(x), cex.axis = c.cex) axis(4, 1:nrow(x), las = 2, line = -0.5, tick = 0, labels = if (is.null(rownames(x))) (1:nrow(x))[r.hc$order] else rownames(x), cex.axis = r.cex) if (!missing(add.expr)) eval(substitute(add.expr)) par(mar = c(5, 3, 0, 0)) plot(as.dendrogram(r.hc), horiz = TRUE, axes = FALSE, yaxs = "i") par(mar = c(0, 0, 3, 5)) plot(as.dendrogram(c.hc), axes = FALSE, xaxs = "i") invisible(NULL) } > -----Original Message----- > From: rossini@blindglobe.net [mailto:rossini@blindglobe.net] > Sent: Friday, February 21, 2003 5:03 PM > To: Liaw, Andy > Cc: 'bioconductor@stat.math.ethz.ch' > Subject: Re: [BioC] heatmap > > > "Liaw, Andy" <andy_liaw@merck.com> writes: > > > > The wisdom of looking at such a thing aside, has anyone implemented > > `heatmap' in R? (That's the one where the data matrix is > shown in a color > > image, with dendrograms on the top and left sides of it > indicating the > > clustering of rows and columns.) > > > > I tried looking for it on the BioConductor website but > didn't see any, so I > > went ahead and whipped up a heatmap function to do it. If anyone is > > interested, let me know. > > I'm interested... ideally, you'd have the 2-way heat map (i.e. gene > and experiment clusters) but that is another story... (gosh, and I'd > be asking for alot, eh?) > > best, > -tony > > -- > A.J. Rossini Rsrch. Asst. Prof. of > Biostatistics > U. of Washington Biostatistics > rossini@u.washington.edu > FHCRC/SCHARP/HIV Vaccine Trials Net rossini@scharp.org > -------------- http://software.biostat.washington.edu/ > ---------------- > FHCRC: M: 206-667-7025 (fax=4812)|Voicemail is pretty > sketchy/use Email > UW: Th: 206-543-1044 (fax=3286)|Change last 4 digits of phone to FAX > (my tuesday/wednesday/friday locations are completely unpredictable.) > ---------------------------------------------------------------------- -- ------ ====================================================================== == ======
ADD COMMENT

Login before adding your answer.

Traffic: 434 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6