Which free software can you use to create rotating 3D Spacefill models of molecules in .gif format?
An example of what I'm talking about is this animation from Wikipedia. I am running 32 bit 12.10 if it is relevant. Please describe step-by-step, with pictures (screenshots with the appropriate areas (that are mentioned in the text) highlighted) how I am to create these gif files with the software you name.
Solution 1:
QuteMol
Overview
QuteMol produces some of the most beautiful molecular visualizations I have ever seen. The software is FLOSS and available from the official repositories.
Description
QuteMol is an open source (GPL), interactive, high quality molecular visualization system. QuteMol exploits the current GPU capabilites through OpenGL shaders to offers an array of innovative visual effects. QuteMol visualization techniques are aimed at improving clarity and an easier understanding of the 3D shape and structure of large molecules or complex proteins.
Real Time Ambient Occlusion
Depth Aware Silhouette Enhancement
Ball and Sticks, Space-Fill and Liquorice visualization modes
High resolution antialiased snapshots for creating publication quality renderings
Automatic generation of animated gifs of rotating molecules for web pages animations
Real-time rendering of large molecules and protein (>100k atoms)
Standard PDB input
Support as a plugins of the NanoEngineer-1 the modeling and simulation program for nano-composites (new!)
QuteMol was developed by Marco Tarini and Paolo Cignoni of the Visual Computing Lab at ISTI - CNR.
Screenshot
Installation
QuteMol is available from the Ubuntu Software Centre:
(source: ubuntu.com)
If you prefer the CLI you can install QuteMol with:
sudo apt-get install qutemol
Note: The Ubuntu build appears to have a number of bugs. Some minor UI elements don't work correctly and the rendering will produce dysmorphed structures at times. The last point seems to happen mostly when working with small molecules. All of these issues can be remedied by running QuteMol under WINE or PlayOnLinux.
I tried to build QuteMol from source to see whether the issues are restricted to the version in the repositories but it turned out to be a ridiculously hard task and didn't quite work.
Usage
Basic Usage
QuteMol is very easy to use. Open a PDB file of your choice, adjust the view and hit the export button:
Make sure to choose the GIF format:
Select the rendering mode of your choice. You can set the FPS count by adjusting the rotation time of the animation and the number of frames:
Rendering Modes
Full rotation mode:
Inspection Mode:
Six-Sides Mode:
Methadone (as depicted in the question):
(Orientation and shader settings vary a bit but could be made to look identical with a little bit of tweaking here and there)
Finding structural data
PDB databases
QuteMol takes standard .pdb
files as its input. This format is most commonly used for proteins and other macro-molecules but can be used with small molecules as well. You can find a large selection of macro-molecular .pdb
files at the Protein Data Bank.
Similarly rich structural libraries for small molecules that come with .pdb
downloads are hard to find, but you can try your luck on one of these:
https://www.ebi.ac.uk/pdbe-srv/pdbechem/
http://xray.bmc.uu.se/hicup/
http://ligand-depot.rutgers.edu/ld-search.html
Other databases that might or might not offer PDB files can be found here.
Just to get you started I have uploaded the PDB file I used for Methadone here. This one might work better on the WINE/PoL version.
Other ways to get PDB files
You can also attain .pdb
files by converting them from other, more ubiquitous formats such as MDF .mol
files. You can do so with babel
, a powerful command-line tool that converts between a multitude of different chemical structural formats. Install it with
sudo apt-get install babel
babel
is very straightforward to use. Simply specify the file input and desired output and let it do its magic:
babel methadone.mol methadone.pdb
Or if you want babel to add implicit hydrogens:
babel -h methadone.mol methadone.pdb
You can also change the protonation state by defining the pH:
babel -h -p 6 methadone.mol methadone.pdb
Just make sure to use files with three-dimensional structural information, otherwise your .pdb
output will be nonsensical.
Good sources for 3D MOL/SDF files are Pubchem and ZINC. Make sure to choose the 3D SDF option when downloading files:
Additional export options
GIFs are fine for web publishing but because of their size and other issues they can be quite a chore when used in presentations. For this particular use case I have written a Nautilus script that quickly converts GIF files into MPEG4 videos:
#!/bin/bash
# NAME gif2mp4 0.1
# AUTHOR Glutanimate (c) 2013 (https://askubuntu.com/users/81372/glutanimate)
# LICENSE GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
# DESCRIPTION Converts GIF files of a specific framerate to MP4 video files.
# DEPENDENCIES zenity,imagemagick,avconv
TMPDIR=$(mktemp -d)
FPS=$(zenity --width 200 --height 100 --entry --title "gif2mp4" --text="Please enter the frame rate.")
VIDDIR=$(dirname $1)
if [ -z "$FPS" ]
then
exit
fi
notify-send -i video-x-generic.png "gif2mp4" "Converting $(basename "$1") ..."
convert $1 $TMPDIR/frame%02d.png
avconv -r $FPS -i $TMPDIR/frame%02d.png -qscale 4 "$VIDDIR/$(basename "$1" .gif).mp4"
notify-send -i video-x-generic.png "gif2mp4" "$(basename "$1") converted"
rm -rf $TMPDIR
Output sample: https://www.youtube.com/watch?v=odLnUwj8r4g
Installation instructions can be found here: How can I install a Nautilus script?
PyMOL
Overview
QuteMol is a fantastic little program but quite restricted in terms of rendering modes and image manipulation. For more advanced handling of compound visualization you might want to check out PyMOL. A tutorial on how to create simple animations can be found here. I would have written up a tutorial here but I am not proficient enough with PyMOL to do so.
One last thing, though. If you want to achieve a similar graphical fidelity with PyMOL as with QuteMol you should check out these blog entries:
http://cupnet.net/ambient-occlusion-pymol/
http://lightnir.blogspot.de/2008/09/cute-molecules.html
Screenshot
I hope you found this small overview of rendering options useful. If there are any mistakes in this post please feel free to edit them.
Solution 2:
I would recommend looking at the UbuntuScience packages to get you started.
There are quite a number of programmatic, as well as, visualization inclined software packages that are already available in the Main repositories.
As an example, let's take a look at gdis
, under the Chemistry section on the UbuntuScience page.
This particular piece of software is a "A molecular display program that supports OpenGL and POVRay rendering."
To install gdis
, run the following commands from your terminal (ctrl+alt+T):
sudo apt-get install gdis
In order to install this package, it will also need to install the following dependencies:
gdis-data
openbabel
Once it is installed, open the program from your menu.
In my case, running Xfce, I would go to Applications Menu --> Education --> GDIS Data Modeler. Or alternatively you could go open terminal (ctrl+alt+T) and type gdis
.
Once you open the application, go to File --> Open.
- From there, navigate to
/usr/share/gdis/models
to open up a sample file:
-- For this example, open up the file /usr/share/gdis/models/arag.gin
:
In order to run a rotational animation of the molecule:
- Select the record icon on the toolbar:
- Right click on the molecule and drag your mouse for several seconds
- Return to the menu -- Select Tools --> Visualisation --> Animation -- Now, select the Play button to replay your manipulation of the molecule:
For a basic tour of GDIS, take a look at their tutorials.