gabrielelanaro / chemview

The new generation molecular viewer for IPython notebook
GNU Lesser General Public License v2.1
81 stars 17 forks source link

few questions about chemview #18

Closed hainm closed 8 years ago

hainm commented 8 years ago

Hi Gabriele,

I initially fork mdtraj.html module to separated package, name mdview. However @rmcgibbo pointed out that I should look at your chemview package.

I've tried chemview with pytraj and this seems quite easy to plug to chemview

screenshot

So I just have few question?

Let me know what you think. thanks.

gabrielelanaro commented 8 years ago

Hi thanks for your interest in chemview!

hainm commented 8 years ago

What kind of keywords did you have in mind?

md3d? (since you mentions this Other aspect is (I believe) that it's targeted to one-off viewing rather than trajectory animation (a very different problem).)

Did you have any specific feature you'd like to see?

Good molecule representation. Currently the color, representation in chemview is still very mature. (Don't ask me how to make it nicer because I am not really good at graphics). You can have look at https://github.com/3dmol/3Dmol.js. It's has very good graphics, BS license and seem doable to plug other trajectory reading program to 3Dmol (https://github.com/avirshup/py3dmol).

In my opinion developing those kind of things from scratch will be wonderful experience but it's really hard to make a good one, unless you have more time + funding (like pymol, vmd). So I think it's better to built on top of others. Currently I am interested to see a package that integrate well with jupyter notebook (like chemview), so I can plug my program pytraj. What's I have in mind is to load to chemview, getting pretty graphics, doing some animation, save png files or movie...

gabrielelanaro commented 8 years ago

Thanks for pointing to the 3DMol project that looks good they have support for trajectories, I'll take a closer look on what we can use.

Chemview was inspired from was, because it is based on THREE.js which is basically a framework for WebGL. My idea is to have a very lightweight javascript frontend and most of the work is done in Python. (for example, no need to parse PDBs in the frontend).

In term of graphics quality.. next step would be to add some "ribbon representation" for proteins plus some fancier "cartoonish" shading.

However what I learnt from my other project "chemlab" is that OpenGL is not really good for producing "publication ready" pictures.

For that aspect I implemented a renderer based of povray that I actually use for putting images into papers, I need to update the documentation but I have very little time lately

An example using RepresentationViewer, but since TrajectoryViewer is a subclass of RepresentationViewer you can use that as well (all you need is a get_scene method):

https://github.com/gabrielelanaro/chemview/blob/master/notebooks/TestPovray.ipynb

hainm commented 8 years ago

thanks for the pointer to the render. I've checked it few day ago. You need to update the doc in your code that rendering need both vapory and povray

My idea is to have a very lightweight javascript frontend and most of the work is done in Python. (for example, no need to parse PDBs in the frontend).

I like the way chemview work. It's easy for me to plug my program.

https://github.com/Amber-MD/pytraj/blob/master/pytraj/view.py#L4-L21