SkillAgentSearch skills...

VRNetzer

A Virtual Reality platform for interactive, immersive network exploration.

Install / Use

/learn @menchelab/VRNetzer
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

THERE IS A NEW VERSION OF THIS BEING DEVELOPED HERE: DataDiVR PLEASE USE THE NEW VERSION IF YOU WANT TO TRY THE APPLICATION, THIS REPOSITORY IS ONLY HERE FOR HISTORIC REASONS

VRNetzer - A Virtual Reality Framework for Network Visualization and Analytics

alt text

Networks provide a powerful representation of complex systems of interacting components. In addition to a wide range of available analytical and computational tools, networks also offer a visual interface for exploring large data in a uniquely intuitive fashion. <br>However, the size and complexity of many networks render static visualizations on common screen or paper sizes impractical and result in proverbial 'hairballs'. Here, we introduce an immersive Virtual Reality (VR) platform that overcomes these limitations and unlocks the full potential of visual, interactive exploration of large networks. <br>Our platform is designed towards maximal customization and extendability, with key features including import of custom code for data analysis, easy integration of external databases, and design of arbitrary user interface elements. As a proof of concept, we show how our platform can be used to interactively explore genome-scale molecular networks for identifying genetic aberrations responsible for rare diseases and develop hypotheses on their respective pathobiological mechanisms. <br>Our platform represents a first-of-its-kind, general purpose VR data exploration platform in which human intuition can work seamlessly together with state-of-the-art analysis methods for large and diverse data. <br> <br> Note: This project is still in an infant state of development. This is a public beta release, meaning it is not fit to be used in any critical applications yet and may still contain some bugs. You can get in touch with us if you would like to contribute to the further development of this project. <br> <br>

Content

Hardware Requirements

Installation: Quick Start

Installation: Stand Alone

Desktop Mode

Data Logging

Take screenshots and record videos

Tutorial 1: Using the Uploader to add your own network

VRNetzer Architecture Overview

Tutorial 2: Creating custom User Interfaces

Tutorial 3: Creating a route on the backend

USE CASE Gene prioritization

VRnet API Documentation

Dependencies

License

Hardware Requirements

We are running the platform on an MSI gaming laptop with the following specs:

  • CPU: i7 - 7820HK
  • RAM: 16 GB
  • GPU: NVIDIA 1070 TI
  • OS: WINDOWS 10

and a VR HEADSET - we tested the following:

  • HTC VIVE VR Headset + controllers
  • OCULUS QUEST (tethered to windows with link) + controllers

Installation: Quick Start

Time required ~ 10min

For a quick start, you can just download the VR Module executable and run VR_Module.exe on your windows computer with a SteamVR compatible headset. Please watch this video that will help to get you started. The VR Module comes preconfigured to connect to the other modules that we already installed on our server to make it easy for you to get a first impression. It has the ability to upload your own datasets, but we don't recommend it. Do NOT upload any sensitive data here, this is only for demonstration purposes and for the whole world to see. We don't guarantee your data's safety! If you want to work with your own data you should use the Stand Alone version.

Installation: Stand Alone

Time required ~ 60min

However, if you want to implement your own datasets and functionalities, you can also run everything localy on your machine (the SAFE option if you are dealing with sensitive data) or run the Analytics Module and UI Module on a networkserver or cloud service (if you need scalability and processing power).<br>Here is a step by step guide how to do a local installation on a windows computer. Note that the Analytics Module and the UI Module can also run on a (linux) server, while the VR Module needs to run on a windows 10 machine as gaming hardware is required for Virtual Reality which is best supported under windows.

1.) Set up a MySql Database

  • download and install MySql Workbench
  • download the .dump file of our database from here
  • Create a new database, user and password and upload .sql file to it

you have now a clone of our database on your local machine.

2.) Clone the Analytics Module repository into a new folder somewhere on your computer called "VRNetzer"

  • install python >3.6 <3.9, make sure its added to path variable

  • install pip for python

  • edit VRNetzer/Analytics_Module/db_config.py to match the database host and user you created before and save

  • right click on VRNetzer/Analytics_Module/runAnalytics_Module.ps1 -> "run with power shell" <br>alt text

  • if the output of the console window that just opened ends with "Running on http://127.0.0.1:1337/" you are good to go, if there are errors you will need to install dependencies.

3.) Clone the UI Module repository into "VRNetzer"

  • install python >3.6, make sure its added to path variable

  • install pip for python

  • edit VRNetzer/uiserver/static/js/UI_Module_Config.js and set "dbprefix" to the address of your dataServer , here: 'http://127.0.0.1:1337' and save.

  • edit VRNetzer/UI_Module/static/js/ UI_Module_Config.js and set "dbprefix" to the address of your Analytics Module, here: 'http://127.0.0.1:1337' and save.

  • right click on VRNetzer/UI_Module/run_UI_Module.ps1 -> "run with power shell"

  • if the output of the console window that just opened ends with "Running on http://127.0.0.1:5000/" you are good to go, if there are errors you will need to install dependencies.

4.) Download the VR Module executable and extract it to "VRNetzer"

  • if you haven't already, make a Steam account and install SteamVR and test your headset
  • edit VRNetzer/VRnet/viveNet/Content/data/Config.txt and change the address to the one where your UI Module is, here http://127.0.0.1:5000/
  • run VR_Module.exe

Desktop Mode

It is possible to run the VR Module in desktop mode which is useful for development tasks but does not provide the full functionality as with a headset.<br>To do so, change the value "vr":true in the config file of the VR Module to "vr":false and restart the VR Module.

Data Logging

The VR Module can produce log files that contain a list of all that has happened during a VR session. This produces quite big textfiles and is therefore turned off by default. <br>To enable logging change the value "logging":false in the config file of the VR Module to "logging":true and restart the VR Module. The log files are generated in VRNetzer/VR_Module/viveNet/Content/data.

Take screenshots and record videos

If you want you can take screenshots and videos of the running application using nvidia geforce experience, which is a free download for nvidia graphics cards, find it here: geforce experience. After installation the default key combination for taking a screenshot is alt+f1 and to start or stop a video recording you press alt+f9. Depending on your setup you might need to enable the ingame overlay and enable desktop recording in the privacy settings in the geforce experience settings if the hotkeys do not work right away.

Tutorial 1: Using the Uploader to add your own network

WINDOWS

  • right click on VRNetzer/ Analytics_Module/runAnalyticsModule.ps1 -> "run with power shell" to start the Analytics Module
  • right click on VRNetzer/ UI_Module/run_UI_Module.ps1 -> "run with power shell" to start the UI Module
  • open the web frontend of the UI Module in a browser /http://127.0.0.1:5000/upload

MAC/LINUX

  • open terminal, cd to Analytics_Module and run app.py with python3
  • open terminal, cd to UI_Module and run json_io.py with python3

  • open the web frontend of the UI Module in a browser http://127.0.0.1:5000/upload <br> alt text
<!--- - tick "Create Project" and choose a name that isn't already in the dropdown menu -->
  • select .csv files to upload, they must be formatted after these guidelines as sketched in the picture above.
  • Required is as least a layout file with xyz coordinated (normalized each in [0,1]) and colors and you will obtain a 3D point cloud.
  • If you add an edge list that refers to the identifiers given in the 1st column of the layout file you will obtain a network with nodes and edges.
  • Uploading a node file with symbols, names and functions/features (optional, can remain empty) you will find the symbols as labels in VR and the node characteristics on the node panel when clicking on a node.
  • restart the VR Module and load your pro
View on GitHub
GitHub Stars39
CategoryDevelopment
Updated4mo ago
Forks4

Security Score

92/100

Audited on Nov 24, 2025

No findings