/VRmol

VRmol: an Integrative Web-Based Virtual Reality System to Explore Macromolecular Structure

Primary LanguageJavaScriptMIT LicenseMIT


VRmol: Virtual Reality for Molecular Structures

Introduction

We leverage the most cutting-edge computational technologies to develop a virtual reality (VR) system - VRmol - that provides the visualization and analysis of macromolecule structures in an infinite virtual environment on the web. VRmol is natively built with WebVR technology, providing all structural analysis functions in a fully immersive, inspiring virtual environment. It is convenient to use, runs on internet and requires no software downloading and installation. And by connecting to a number of cloud-based genomic and drug databases, it provides an integrative platform to perform advanced structural and translational research. It can be freely accessed online by typing https://VRmol.net in VR-supported browser.

News

  • 08/17/2020: VRmol is back to normal.
  • 08/16/2020: Cloud Server migration. Most features are functioning normally except drug docking.
  • 07/25/2020: VRmol accepted to Bioinformatics.
  • 06/03/2020: Wiki is online.
  • 05/18/2020: Upgrade based on the WebXR core API, which supports Chrome(>=81), Microsoft Edge (>=81).
  • 02/21/2020: Special Vis for COVID-19 from Tsinghua Univ.: [Click to Vis], NMDC: [Click to Vis] and West Lake Univ.: [Click to Vis], [Open Conformation], [Closed Conformation]
  • 05/17/2019: VRmol is back to normal.
  • 05/16/2019: The service provider is sufferring of Network Rounte Issue, VRmol server is outage.
  • 04/27/2019: VRmol is being on show at Tsinghua's 108th anniversary. News
  • 02/27/2019: VRmol is applied in teaching structural biology cource at Tsinghua University.

Demo

Documentation

Tutorials of VRmol can be accessed at here.

VRmol provides two modes:

  • VR Mode will guide you to experience VRmol in Virtual Reality environment.
  • nonVR Mode will guide you to experience VRmol on the desktop.

Video Tutorials

Practice VRmol

You could practice VRmol with VR device on WebXR supported browsers below:

  • Google Chrome(>=81)
  • Microsoft Edge (>=81) Download
  • Firefox Reality Android standalones and PC in (Q1 2020)

Supported VR devices:

  • Windows Mixed Reality*
  • HTC Vive*
  • Oculus Rift

*: indicates well tested devices.

Operation System:

  • Windows 10 (build verion: 1903+)

Also you could practice VRmol without VR device by using WebXR API Emulator extension, download the WebXR API Emulator for your supported browser below:

The source code for the extension is also available.

For Firefox: Solving the problem of CORS request did not succeed when accessing web services (genomic variation, drug docking) by setting below in firefox.

about:config: security.ssl.enable_ocsp_stapling --> False

Framework

The framework of VRmol.

Screenshot

A screenshot of structure visualization with stereo view.

Sharing by URL

URL Options

You can save a specific structural representation scene by saving operation options setting in VRmol as a URL, like https://vrmol.net/index.html?id=1dfb. And then you can load and share the scene by opening this previously-saved URL in the web browser or embedding it into your own website by using iframe, such as

<iframe src="https://vrmol.net/?id=1dfb" />

The options and their data types supported in VRmol are shown in the table below.

Options Data Type Value Comment
id String PDB code 4 charactors
panelShow Integer Show:1, Hide:0 Show menu panel or not
mainMode Integer LINE:1, DOT:2, BACKBONE:3, SPHERE:4, STICK:5, BALL_AND_ROD:6, TUBE:7, RIBBON_FLAT:8, RIBBON_ELLIPSE:9, RIBBON_RECTANGLE:10, RIBBON_STRIP:11, RIBBON_RAILWAY:12, CARTOON_SSE:13, SURFACE:14 Main Structure Representation
showSurface Integer Show:1, Hide:0 Show surface panel or not
surfaceOpc Float 0~1 Transparency of surface
surfaceType Integer Van der Waals surface:1, solvent excluded surface:2, solvent accessible surface:3, molecular surface:4 Surface type
colorMode Integer Element:601, Residue:602, Secondary Structure:603, Chain:604, Representation:605, B-Factor:606, Spectrum:607, Chain Spectrum:608, Hydrophobicity:609 Color schemes
travel Integer Show:1, Hide:0 Enter travel mode or not
vmode String nonvr, vr Visualization Mode
fragment String ['a', 7, 6] Fragmentation, label the 7th residue with Ball & Rod style

Examples for API

  1. Present structure (PDB code:1MBS) with Ball & Rod style and hide the menu panel. Try it
<iframe src="https://vrmol.net/index.html?id=1mbs&panelShow=0&mainMode=6" />
  1. Present structure (PDB code:1DDB) with Tube style and show its Van der Waals surface with transparency (0.5), and hide the menu panel. Try it
<iframe src="https://vrmol.net/index.html?id=1dfb&panelShow=0&mainMode=7&showSurface=1&surfaceOpc=0.5&surfaceType=1"  />
  1. Present structure (PDB code:1F5X) with the 7th residue labeled with Ball & Rod style in VR mode. Try it
<iframe src="https://vrmol.net/?id=1f5x&fragment=['a',7,6]&vmode=vr"  />
  1. Present structure (PDB code:2HYY) with surface in VR. Try it
https://vrmol.net/index.html?id=2hyy&panelShow=1&mainMode=13&showSurface=1&surfaceOpc=1&surfaceType=1&colorMode=609&vmode=vr

Deploy VRmol on your own server Using VRmol API Services

  • Download the code into the apache server web directory
  • Set SERVERURL as your URL (like https://example.com) at libs/core.js
  • Start the Speech Recognition service by run:
    python3 server/speech/sr.py

Setup VRmol API Services on your own server

Server Tools

  • Linux/Windows/macOS Apache
  • Integretive tool for Linux LAMP
  • Integretive tool for Windowns WAMP

Release Versions

Citation

Paper: Bioinformatics Biorxiv

@article{10.1093/bioinformatics/btaa696,
    author = {Xu, Kui and Liu, Nan and Xu, Jingle and Guo, Chunlong and Zhao, Lingyun and Wang, Hong-Wei and Zhang, Qiangfeng Cliff},
    title = "{VRmol: an Integrative Web-Based Virtual Reality System to Explore Macromolecular Structure}",
    journal = {Bioinformatics},
    year = {2020},
    month = {08},
    issn = {1367-4803},
    doi = {10.1093/bioinformatics/btaa696},
    url = {https://doi.org/10.1093/bioinformatics/btaa696},
    note = {btaa696},
    eprint = {https://academic.oup.com/bioinformatics/advance-article-pdf/doi/10.1093/bioinformatics/btaa696/33560033/btaa696.pdf},
}



@article {Xu589366,
	author = {Xu, Kui and Liu, Nan and Xu, Jingle and Guo, Chunlong and Zhao, Lingyun and Wang, Hong-wei and Zhang, Qiangfeng Cliff},
	title = {VRmol: an Integrative Cloud-Based Virtual Reality System to Explore Macromolecular Structure},
	elocation-id = {589366},
	year = {2019},
	doi = {10.1101/589366},
	publisher = {Cold Spring Harbor Laboratory},
	URL = {https://www.biorxiv.org/content/early/2019/03/27/589366.1},
	eprint = {https://www.biorxiv.org/content/early/2019/03/27/589366.1.full.pdf},
	journal = {bioRxiv}
}

Acknowledgments

VRmol is developed based on three.js and WebXR with the help of Dawei Zhang and Xun Ran, and we would like to express our special thanks to those open-source projects below.