Protein α-helix structure is made by H-bonds
between nitrogen and oxygen atoms at the two nearest turns of the spiral
(between blue and red balls in the figure to the right).
See also wikipedia.org/wiki/Peptide_bond and
en.wikipedia.org/wiki/Protein_secondary_structure.
You can see from α-helix in sphere mode,
that it is not a real spiral, but a tightly packed spiral structure.
Spiral bands are used just to show protein molecule structure.
PDB file thanks to V.Tsvetkov from www.bashedu.ru.
Protein interaction demo (see
Water-mediate interaction at aprotein-protein interface).
For some reason the model includes 3 pairs of molecules matching each other.
A few big molecules to test VR usefulness and performance:
PDB 6VAK, 6AUI
(is too big and slow for Oculus Go).
RCSB PDB server: 6LU7, Paclitaxel 1JFF, 1H69, 4CR2
(can't plot VERY BIG molequles e.g. 6OM0).
PubChem CID: Doxorubicin 31703, chlorogenic acid 1794427, 2335.
Old big VR GLMol test does not work in VR for me but
You can load and see in VR any files: RCSB PDB or
PubChem CID.
I will try to add local files download on your request.
Comments
Navigation in small tests works thanks to Brandon and Meduzo from Discord #aframe.
I failed yet to make model rotation controls.
Model movement doesn't work in Oculus browser with A-Frame > 1.0.0
(I made an issue,
1.0.0 box test).
For quick tests one can use
repl.it/@meduzo/molview.
Camera look-controls works in A-Frame 1.0.4 with VR BOX gamepad. So is it Oculus feature?
The application is modifed a little to load files from URL.
We need an expert to make interesting models with animations and explanations!
Very simple animation demo.
Animations
GLmol A-frame port now can generate large biomolecule VR models.
There are multi-frame PDB data files. So in principle, it is possible
to make animations by model interpolation between frames.
To avoid data transfer every frame one could morph meshes in a shader.
Animations
made with UCSF Chimera:
"Folding of the engrailed homeodomain" One 1ENH frame has only 500 atoms (~40kb).
For a keyframe animation (Aframe + ThreeJS). Can I morph model between
two samples (with similar meshes) in a shader on GPU, i.e. aPos = aPos1*t + aPos2*(1-t)?
I've found THREEjs "morphing shaders" at
https://threejsfundamentals.org/threejs/lessons/threejs-optimize-lots-of-objects-animated.html
how to use that in A-frame next :)
Links
github.com/SBUtltmedia/aframe-glmol-component
Protein Database Viewer it.stonybrook.edu
My old (2012) WebGL demo
Design and Architecture of GLmol