THE SCRIPPS RESEARCH INSTITUTE
Molecular graphics Laboratory
Department of Molecular Biology, TPC26
10550 North Torrey Pines Road
La Jolla, CA 92037
tel: (858) 784-7742
fax: (858) 784-2341
directions: 3377 North Torrey Pines Rd. Suite 100 (map)
Software development - Python
I have an interest in component based software development with a particular
emphasis on 3D visualization. I have started using the Python programing language as my primary software development paltform in 1997. My laboratory has released several tools based on this approach: PMV, ADT and ViPEr (Demo video requires XviD codec for Windows, for Mac OS X. More about these tools here (documentation, tutorials, papers, download)
The Python Molecule Viewer has most of the features usually expected in a molecule viewer and more...
More importantly, PMV was built from independent components that are re-usable in other applications.
- various molecular representations; (CPK, sticks and balls)
- different coloring schemes (by atom, by residue type, by chain,
by molecule, by propreties);
- measuring tools;
- atom identification by picking;
- support for multiple molecules;
- advanced representation including secondary structure, CA Trace,
spline, molecular surface based on MSMS.... ;
- tight integration of all geometries and underlying molecules;
- display of partial geometries based on user selections;
- multiple selection mechanisms, user definable sets of nodes;
- commands can be loaded on the fly thus avoiding clutering
of the menus;
- Python Shell for scripting the application;
- commands log themselves (i.e. create a string usable in a script);
- multi-level undo command;
- session can be saved and replayed later on;
- interactive commands (can be assigned to picking);
- ouput scene as VRML2 or STL files;
- and more ...
Vision is a visual-programming environment in which a user can interactively
build networks describing novel combinations of computational methods, and
yielding new visualizations of their data without actually writing code.
The work won the award for the best paper at the 2002 International Python Conference help in Alexandria Virginia (February 2002).
Nodes can be defined or modified interactively during a session and be saved.
Multiple networks can be loaded at the same time.
Sub networks can be encapsulated in Macro nodes.
Many of the nodes available in the Vision's library expose the functionality of the same packages used to develop PMV.
- I wrote a program called MSMS to compute molecular surfaces. It is very fast, reliable and Free for non commercial use. MSMS is used by VMD and Chimera to compute molecular surfaces. It available in binary form as a standalone program on various platforms. A library version of MSMS can also be obtained. The library version has Python wrapper and is used in the PMV molecular visualization package.
- Download MSMS for several architectures/operating systems.
- MSMS has now a on-line man page.
- Try MSMS using your WWW browser.
- You can look at images of surfaces calculated by MSMS in my Graphics gallery.
- I also have an MPEG movie illustrating the surface computation (2.3Mb). A 3 minute NTSC narrated version of that movie is available on request.
An OpenGL based Molecular Surface Viewer
An OpenGL based Molecular Surface Viewer.
This software is no longer supported. We strongly recommend you consider using PMV instead.
- Full implementation of the OpenGL Lighting model. 8 independent light sources which can be directional, positional or spot lights.
- Built in set of geometric primitives, such as sphere, cone, box, torus, icosahedron, etc...
- Fancy color editor with WISIWIG mode
- Simple material editor
- Six arbitrary clipping planes
- Atmospheric condition simulation (Fog, Haze, Smog)
- Programmable mouse buttons
- Orthographic and perspective projection
- Scene anti-aliasing
- Depth-of-field effect
- Editable fog and background color
- Polygon culling
- MSMS surfaces visualization
- Save and restore scene capability
- Simple VRML browsing capabilities
- several architectures/operating systems
Lattice Modeling of Proteins
- Lattice models of proteins are used to circumvent the combinatorial aspect of protein modeling. We are currently building up a Protein Lattice Modeling Home Page where we will provide software and results in that field.
- This MPEG movie shows the calculation of optimal lattice models for a given lattice-to-protein orientation (1.5Mb).
Computational Geometry (Voronoi and Delaunay diagrams)
- Molecular structures can be looked at as 3-dimensional graphs, the atoms being the vertices and the bonds the edges. During my PhD. thesis I investigated the use of Delaunay and Voronoi diagrams in the field of molecular modeling.
- Check out my Graphics gallery