schrodinger / pymol-open-source

Open-source foundation of the user-sponsored PyMOL molecular visualization system.
https://pymol.org/
Other
1.19k stars 281 forks source link

VR support #1

Closed stewy33 closed 4 years ago

stewy33 commented 6 years ago

Sorry if this is the wrong place, we can continue this conversation over email if you would prefer (sslocum3@jh.edu).

I am currently working on scientific data visualization using Virtual Reality at work, and our team has had pretty good success and promising prototypes across several domains (astrophysics, geology/planetary science). VR has a way of making complex 3d structures look meaningful, and manipulating and examining data can become delightfully intuitive if mapped well to the domain. Just an idea, but it seems that visualizing complex 3d molecular structures could benefit greatly from virtual reality. I am not a chemist, but I think there might be potential. Could we talk a bit about VR and pymol? At least so we could determine how (if at all) it might benefit visualization?

Thanks, Stewy

JarrettSJohnson commented 6 years ago

Hi Stewy,

To my knowledge, there are a couple of institutions that have supported VR features for PyMOL. VR offers fantastic opportunities for young scientists to garner interest in the sciences and can also provide unique perspectives in visualization. We've looked into supporting this feature for a while; however, there are some inherit costs that come along including cross-platform support and dependency maintenance. We definitely would like to see more feedback from the PyMOL community regarding this. If you'd like, you can message the pymol-users mailing list to see if anyone else has ideas or concepts they'd like to share. Definitely in the near future as VR becomes more widely utilized and supported, we hope there'll be enough tools and community support for us to easily integrate the feature into PyMOL.

Jarrett J.

stewy33 commented 6 years ago

Ok, sounds good. VR has come a long way since the CAVE based attempts that I have seen with molecular visualization software in the past. I'll send out an email. Thanks

malperovich commented 5 years ago

Hi Stewy, Jarrett,

I'm pleased to inform you that PyMOL VR features are supported in recently released version at https://github.com/epam/pymol-open-source/tree/openvr

We would appreciate your feedback

Thanks Mikhail

lorton commented 5 years ago

Hi @malperovich - this is cool! We actually have a Vive in our office so we'll be able to check it out.

To the practicalities of potentially merging this code: I notice that the copyright and license were changed for this project, but the vast majority of the code still comes from PyMOL correct? So the license should probably remain completely BSD (mixing licenses for the introduced code and the old code would be a bit of a nightmare, and MIT is close anyway). Also the copyright should at least be mixed to show that all the PyMOL code is not copyrighted by EPAM. If we did want to merge it into open PyMOL and be maintained going forward as part of the release it would have to follow the contribution guidelines of transferring copyright either to us or the public domain.

Very excited to check this out!

malperovich commented 5 years ago

Hi @lorton - thanks for a prompt response and your valuable comments!

We will consider the appropriate changes and maybe ask some questions. Also looking forward to your feedback once you check it out.

malperovich commented 5 years ago

Hi @lorton

Also the copyright should at least be mixed to show that all the PyMOL code is not copyrighted by EPAM

We have updated the README at https://github.com/epam/pymol-open-source/tree/openvr

The steps towards potential merging into open PyMOL can be discussed of course.

Thanks Mikhail

lorton commented 5 years ago

Hi @malperovich - thanks, I think what you've done there will probably work from a license/copyright standpoint to allow a merge and continued maintenance. The PyMOL team has started looking over the code and is putting together a list of things we'd like to resolve before doing any merge. First of which are basic programming language problems after the fork: PyMOL is now C++11 and Python 3, but this fork predates those changes, so we'd need to handle that.

How would you like to work together with us? @speleo3 / @JarrettSJohnson - any suggestions on working together as well?

Pat

speleo3 commented 5 years ago

@lorton - we have the next 2 weeks blocked for releasing PyMOL 2.3. After that, we'll be happy to discuss a potential merge.

@malperovich - if there is any Python 3 or C++11 migration needed, we can help with that.

speleo3 commented 5 years ago

@malperovich I'm very impressed with your work! You asked for feedback, here are some thoughts:

I've managed to do a preliminary merge of your openvr branch with master. There were some nontrivial merge conflicts, in particular in Scene.cpp, which has been split up in multiple files. But it compiles (I used Python 3.7 and VS 2017) and most of it works.

What I would like to know: Do you have plans to work on this more? Like adding more features? I'm not in a rush to merge this upstream, in particular if it would interfere with anything you're doing.

speleo3 commented 5 years ago

I've ported the EPAM openvr fork to our latest master and would be happy to merge it: https://github.com/schrodinger/pymol-open-source/pull/54

@malperovich @lorton @JarrettSJohnson - Thoughts?

malperovich commented 5 years ago

@speleo3 , thanks for preparing for merge! I'm happy to confirm from EPAM side

speleo3 commented 4 years ago

Implemented in 276640cd. Compile PyMOL with --openvr (see INSTALL).