11
$\begingroup$

I would like to visualize a molecular vibration that is not a normal mode. I'd like to present a static, vectorial representation of the motion, and I would like some flexibility in the vector style (size, color etc). I'm also interested in producing a video of the vibration.

What are some good resources for displaying molecular vibrations?

My preference is for open source tools, but I'll entertain using commercial software if it really is better then the alternatives.

$\endgroup$
  • $\begingroup$ I believe vtk is open-source and it is pretty awesome in terms of versatility and user-friendliness. $\endgroup$ – Shuhao Cao Dec 13 '11 at 21:03
5
$\begingroup$

Would Pymol or VMD be a suitable tool for your video needs? (VMD at least includes Tk/Tcl scripting features.) You would need a PDB-like description of your geometry in order to use VMD; this would probably be sufficient for Pymol as well (but I haven't used Pymol, so perhaps someone else can comment on that).

$\endgroup$
5
$\begingroup$

The way I'd do it would probably be:

  1. Put the molecular geometry into Avogadro
  2. Set up the view to be exactly the way I want it
  3. Export to POVRay, not rendering but keeping the input file
  4. Work out which atom is which in the POVRay file
  5. Add vectors using cylinders and cones (probably using a macro to define a vector to make it easier and visually consistent)

Avogadro can also render sequences of XYZ-formatted input to animations using POVRay and ffmpeg, but it's not something I've tried since I'm using Windows at the moment and Avogadro doesn't seem to have an option to specify where the povray executable is if it's not in your path.

Again depending on whether you are a Python aficionado or not, you may alternatively be able to set the forces on the atoms using the Avogadro Python console and then use the force vector display in Avogadro, but that's not something I've tried either.

I'm not aware of any perfectly convenient tool that lets you put in vibrational parameters directly and visualize or animate them, though.

$\endgroup$
4
$\begingroup$

There is a new VMD plugin NMWiz that might be helpful. NMWiz stands for Normal Mode Wizard, but it will help visualizing any vector describing a vibration. NMWiz is available in the latest version of VMD, 1.9.1, which is beta testing now.

Input file format for NMWiz is a simple one, called NMD. One line for coordinates and another line for your vector is sufficient. You can show arrows, scale, resize, color them the way you want. It can also generate animations (vibrations) by generating a trajectory on the fly and you can make a high quality movie out of that using VMD.

$\endgroup$
3
$\begingroup$

I am not aware of any ready-made ("point-and-click") tool for that task. But using a combination of

  1. A short Python script
  2. The Molecular Modelling Toolkit
  3. Chimera or VMD

you can get a nice result quickly, given some Python knowledge. In fact, a very similar script is provided as an example with the Molecular Modelling Toolkit. Look at Examples/Visualization/vector_field_chimera.py or Examples/Visualization/vector_field_vmd.py. You need to replace the normal mode calculation by whatever it takes to get your vibration data into the script.

$\endgroup$
2
$\begingroup$

Have you looked into Molekel? If you only need (non-fractional) superpositions of vibrations, Molekel should fulfill your needs.

$\endgroup$
2
$\begingroup$

NWChem includes a script to turn a list of xyz coordinates into a movie. NWChem is OSS under Apache-style license so you can reuse however you like.

For visualization of molecular vibrations, I use Molden, ECCE, Avogadro and Jmol. All are OSS (ECCE is only recently). You might be able to hack them to do what you want.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.