Cubemaker is a visualization tool that lets you import, render, manipulate and share 3-dimensional matrices from within a WebGL-capable web browser.
You can import matrix files (tab-delimited text), such as what might come out of R, Excel or other tools or pipelines. A matrix file can be generic, with only three columns, or you can provide additional columns to add point labels and category/subcategory metadata. You can label points by multiple categories — tumor/normal, lineage type, gradient of drug sensitivity, etc.
Once you have loaded your data into the renderer, you can adjust point and axis coloring, title and subtitle, point size, and other attributes. You can move the mouse pointer over data points to show labels (if that metadata is available). You can also rotate and adjust zoom levels with the mouse pointer and scrollwheel, or use the arrow keys to rotate — and to animate rotation.
You can export PNG, PDF and self-animating GIF versions of a cube with your modifications.
You can also export a persistent web link that you can share and load at a later time, to reload your cube with any changes you have made.
Both features are useful for presentations, for instance, where a PNG image of the cube has a link that opens Cubemaker and permits live display and exploration. Or you can drop the animating GIF directly into your slide deck, so that your audience can see results without you jumping out to a web browser. Or you can bring the publication-quality PDF into Adobe Illustrator and mark it up for a paper.
More information is available about inputs and outputs, along with links to demonstration cubes and sample matrix files, in the Cubemaker overview.
Source code is available at: https://github.com/alexpreynolds/cubemaker
Hi Alex, I find Cubemaker super interesting. Is something you developed? I've being fighting with rgl and webGL for weeks in R, and by chance I found your answer. I tried to find more information about Cubemaker in the web, but I couldn't find any details. I was wondering where the imported data is hosted, how long are the exported links available, and what about privacy policies. I'd like to use Cubemaker to create and host some plots we want to publish as supplementary material in a paper, so copyright and stability of the links are of major importance to me. I would be very grateful for any complementary information you could give me. Thanks a lot!
Source is available here: https://github.com/alexpreynolds/cubemaker
The front-end is everything in this repository but the
cubemaker-viz-proxy
folder.To host Cubemaker data locally, you'll need a host with node.js, R (with
rgl
), and a working X11 display buffer running the proxy service in thecubemaker-viz-proxy
folder. See the README in that folder.I don't have any documentation on setting this up locally, but if you have some command-line chops, you could probably figure this out pretty easily. To keep your data secure, you can keep the server within a private network, but I don't know how that would work for a paper.
If you use my code to visualize your data, I'd appreciate a cite, of course. Feel free to contact me off-list if that's doable.