On this page you'll both find the CellexalVR program as well as some example prepared datasets to try. We do keep a few older versions of the program here but we recommend you to download the latest one.
Available downloads:
Downloads require an HTML5 ready browser.
CellexalVR 0.14.0 and later uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here.
The FFmpeg source code used in our project can be downloaded from here.
Always follow all the steps in the setup guide and update the R package when installing a new version. If you want to try a dataset that has already been prepared for CellexalVR
you can find some examples further down on this page
Major refactoring - Many parts of CellexalVR have been refactored to improve performance, stability and code maintainability. This covers most things involving raycasts (laser pointers), selecting cells, colouring graphs, and many file related I/O operations.
Facs boxplots - Boxplots are now separated by group after a selection is made. One set of boxplots is created from all selected cells (like previous version of CellexalVR), and then one additional set per group.
OpenXR support - The back-end for communicating with the VR-hardware has been changed from SteamVR to OpenXR in order to support more VR headsets. CellexalVR now supports any headset that uses the OpenXR runtime.
Scarf Backend - An optional statistical backend using Scarf has been added. This allows for importing data into CellexalVR from a Scarf object instead of plain text files, and running statistical functions, such as generating heatmaps, through Scarf's library. This is still work in progress and more features will be added in future versions of CellexalVR.
Improved camera tool - The camera tool as been improved, it is now held using the controllers and allows for certain objects to be filtered out.
Config profiles - Profiles have been added to the settings menu. Profiles lets you save a set of settings under a name and apply them later.
Menu Unfolder - The menu can now be detached from the controller and can be left floating in the environment, when the menu is dettached it will unfold to a flat menu instead of a four-sided cuboid.
Transcription factor networks arcs - The menu for toggling the lines between common pairs of genes in transcription factor networks has been improved. Buttons to toggle the arcs has also been added to the networks themselves.
Selection tool undo shapes - The selection tool now features shapes to remove cells from your current selection as well. These can be accessed moving the action controller's touchpad or joystick up or down to cycle through the available shapes.
Download together with prepared Mouse HSPC, Pancreas (with velocity data) and Liver Cell Atlas (with velocity data) here -
Release notes:
Fly By Feature - Added a video making feature we call Fly By. The user can set up a path that a camera will follow to record a video. The video will be rendered and saved using FFmpeg.
Average Velocity - To add to the individual cell velocity animations users can now also activate a more classic grid like velocity output. It instead averages the velocities over an area.
Transparancy - Graph points can optionally be transparent.
Pseudotime analysis - Using the selection tool, the user traces a path through the data which uses this information to define the start and stop clusters for a slingshot analysis.
Bundle Lines - When tracking cells between graphs using the 'Draw lines between cells feature' you can choose to bundle together lines that start from the same vicinity and ends up in the same vicinity.
When tracking cells between graphs in bigger datasets this is necessary to avoid too many lines being drawn and introducing lag.
Graph Legend - For the graph legend a gene expression histogram tab is now also available. Also an attribute tab is added to the legend.
Draw Tool - Draw Tool has been updated so lines drawn close to graphs gets connected to the graph and will follow it around when moved.
Colour Map - Colour maps can be generated by setting a number and either randoming colours or getting a rainbow of interpolated colours.
The default colour map has been changed from jet to viridis.
Logging - Logging functionality has been updated.
Attributes - The Select All Attributes button will now only select all the attributes in the same category.
Added a filter creator - A filter creator used to create selection filters has been added. It lets you make a filter using logical gates.
A user can, like before, create filters by creating a text file. However, the syntax has changed. Read more about it here.
Improved lines between graphs - When lines are drawn between the same cells in different graph representations a new graph is created in the middle of the two.
This graph is created in the same way, by clustering and combining the meshes. This means it can be coloured just as the others and can allow for a lot more lines than before.
It solves the known bug from 0.12.0. The visuals of the lines has also been changed.
Added heatmap attribute bar - On the heatmap, above the selection group bar, a new bar showing the attribute of each cell is displayed.
Using the laser tool the user can hover over the group to show the name of it. A new "Reorder Attributes" button has also been added to the heatmap.
Clicking this button will reorder the heatmap so the cells within a group will be ordered by attribute. Click it again and it will go back to the original ordering.
Read more here.
Improved RNA velocity - More functionality has been added to the velocity feature. The functionality can be found in the velocity sub menu (found by clicking the velocity menu button).
The new functionality includes changing speed, frequency and threshold as well as toggling the colours of the velocity arrows from a gradient to have the same colour as the graphpoints.
It is also possible to toggle the graphpoints on/off for greater visibility of the velocity. The user can now also visualise velocity for subgraphs created via the attribute menu as well as having multiple velocities running at the same time.
Read more about velocity here.
Floor grid pulse - The floor will give visual cues to the user when a job, such as generating a heatmap, is running.
When the job is finished the floor will give another visual cue.
Setting R path - Setting the R path can now be done in two ways. The old way was to go into the config.xml and manually changing the RScriptPath field.
Now when a user launches CellexalVR and is faced with the launcher menu a new "Set R Script Path" field can be seen.
The user can either enter the path here or click "Find" to browse for the path.
Config color multiuser sync - Different users most likely have different configurations. Selection colours and such will probably vary.
This can cause problems in multi-user sessions since group 1 for one user is red but for the other it could be blue.
To solve this a synchronisation of configs has been added. All users will temporarily use a copy of the config file of user that created the room.
If any user in the room changes a setting in the settings menu, this setting will be communicated to the others so they will remain synchronised.
Zero expression colour - Instead of zero gene expression getting placed in the lowerst bin and getting coloured as blue they are now placed in a separate bin and gets a different colour (default is grey but can be changed in the settings menu).
Graph point size and quality - The graph point size can be changed in the settings menu. Three sizes are available: Small, Standard, Large.
Which size is recommended depends on personal preference as well as size and structure of the dataset.
The graph point quality can also be changed in the settings menu. The available qualities are: Low and Standard. Setting the quality to low will allow users to load more data, up to around 1 million cells.
Skybox tint - The brightness (or colour tint) of the skybox (the surroundings) can be changed via the settings menu.
Known bugs:
Connect controllers too late/start cellexal in steamvr menu - This is an issue caused by some misscommunication between SteamVR and CellexalVR.
If the user is in SteamVR settings when the program is started then controllers will not be loaded properly. This can also happed if the controllers are turned off when CellexalVR is started, or if they are not tracking well enough. If this happens, restart CellexalVR.
We have noticed a few times during multi-user sessions that disconnects from the joined room can occur, caused by the Photon Unity Networking framework we use. If this happens the user needs to reconnect again to the room.
Updated Unity version to 2019.1.8f1 - This will enable more features in the future.
Velocity - Velocity information can now be visualised, check out the manual entry for more information.
Annotating - Use the keyboard to give your selected groups names, check out the manual entry for more information.
Known bugs:
Selecting the cubes on the lines between cells barely works when using the paddle selection tool, use the sphere or small stick version instead (press up or down on the touchpad to change the shape).
R session - CellexalVR now runs a continuous R session in the background which significantly speeds up all R calculations as data no longer needs to be read from the start every time a new R script should run.
Tutorial - The tutorial has been improved based on feedback. It now features videos that explain each step and some more general steps teaching first time users the basics of using an HTC Vive.
In-headset notifications - CellexalVR now displays a small notification when things such as heatmaps or networks are done calculating.
New graph-skeletons - A low resolution representation of the graphs using transparent lines used when creating attribute sub graphs and gene correlation networks. These are now created by CellexalVR and not pre-calculated by cellexalvrR.
Multiple console commands from file - Run multiple console commands from a file using the
rcf command. Read this manual page for more information.
Console auto-complete - Click tab to autcomplete commands and file paths.
Behind the scenes changes making future development of CellexalVR smoother. This includes a scenebuilder
script and an upgrade to VRTK version 3.3.0.
Increased maximum number of cells - A big rewrite of how the graphs are generated and how the selections work have increased the amount of cells that can be loaded into the environment. In previous versions the limit was ~20 000(depending
on hardware) but now it is ~200 000.
Sub graphs of attributes - For dense point clouds it can be hard to see what points are coloured by an attribute since they can be obscured by other points. As a way around this you can now select attributes and then create a new graph containing only
the points with the attributes of interest. The graph can in this way be built up attribute by attribute.
FACS data selection - You can now, either from a selection or all cells, create a new graph where the dimensions are three surface markers of interest. You can then do a new selection from this new graph and project against three other surface markers
and so on. Selected cells in the newly created graphs can be mapped back to the original graph.
Settings menu - A settings menu that allows users to customize their experience has been added. Here users can for example change colormap of the heatmap, graphpoints and so on. Users can also select between different methods to use when calculating the
differentially expressed genes.
Top gene highlight markers - When colouring the graph according to a gene the top 10% expressed cells will be highlighted with a red circle to draw the users attention. This feature can be turned on and off in the settings menu.
Heatmap backend optimization - The calculation of the heatmap has been optimized and the run time reduces significantly. The user can change between different methods in the settings menu.
Spectator View - It is now possible for users without a VR headset to join a CellexalVR session. The user then instead uses the keyboard and mouse to fly around with limited interaction.
Teleporting - The user is now able to teleport around the environment.
Console - A console has been added that can manipulate the environment. A feature mainly for developers.
Magnifier tool removed - The rewrite of the graphs is not compatible with the old magnifier. The magnifier was seen as not useful enough to update.
Selection Tool - The default colours on the selection tool are now shared by the attribute colours.
Datasets to try
Download one of the datasets below and put the folder inside the CellexalVR/Data folder so the file structure is the same as shown in the setup guide.