Tool:Cubemaker - visualize three-dimensional datasets via the web
1
5
Entering edit mode
8.4 years ago

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

utility visualization • 4.1k views
ADD COMMENT
0
Entering edit mode

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!

ADD REPLY
0
Entering edit mode

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 the cubemaker-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.

ADD REPLY
0
Entering edit mode
7.2 years ago
#### ▴ 220

Hi,

I have two components to be plotted in 3D plot, I am using RNA-Seq 6 samples data.

How can your tool be used to input such huge data ?

I have gone through the overview of tool and found that input should be in the form of 3 column or 4 column matrix (along with the names) In my case I have RNA-Seq data , where I have two groups, each group has 3 samples and there are 1000's of genes each sample (which will be data point). I have used prcomp() function to calculate the component values. How shall I use cubemaker for 3D plot with two components.

ADD COMMENT
0
Entering edit mode

Perhaps start with a simple example.

Create a three-column spreadsheet or tab-delimited text file (matrix) that contains three column headers for each of the three principle components: PC1, PC2, PC3. These are the three axes of the cube. Underneath the headers, you have a three-dimensional data point that shows the principle component score of that gene/sample.

Once you import this, you have a scatterplot that you can begin to think about labeling, by adding a fourth and subsequent columns to your matrix file.

In the fourth column, you can add labels for each point, such as gene name. Reimport the file and move the mouse pointer over each datapoint.

In the fifth column, you can add a category label to each point. You might have three category labels, one for each of the three samples. Each point is assigned a specific sample label.

As you mouse over the datapoints, you'll see the gene name and sample label. Additionally, category labels are used to color points. In this way, you can see clusters of datapoints, especially after you manipulate the cube's rotation in the browser window.

You can add sixth and subsequent columns to your matrix, to include additional categorizations. For example, you might have treatment categories, dosage range categories, timepoint categories, etc. Each have their own color scheme. You can switch between these categorizations with the pull-down menu at the bottom of the screen, and quickly see any clustering by color and spacial position.

ADD REPLY

Login before adding your answer.

Traffic: 2732 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