For my research, to create neat images of the molecules I study, I use Pymol. It's free, part of Debian, command-driven, very powerful and it produces really good-looking pictures. Although, admittedly, if you don't buy a subscription, the documentation is rather sparse. I'm using scripts to generate ray-traced pictures, but I can't include the ray command directly in the scripts, as Pymol would not give me the opportunity to change anything before tracing (and things I trace take loads of time...). So I write a ray command, but I comment it out, such as in the following example, cytochrome.pml:
load http://www.rcsb.org/pdb/files/1c6s.pdb
hide everything
show sticks, (resname HEC)
color orange, (resname HEC)
show cartoon
bg_color white
set_view (\
0.939850032, 0.167392358, 0.297758341,\
0.336208642, -0.299271941, -0.892972171,\
-0.060366094, 0.939367712, -0.337551534,\
0.000000000, 0.000000000, -106.161231995,\
33.668910980, -4.749122620, -24.822664261,\
-9.742469788, 222.064941406, 0.000000000 )
# ray 800,800
So, to easily generate PNG images from such a file, I wrote the following makefile snippet, that does the job (as demonstrated by the figure on the right, produced by this very snippet ran on the cytochrome.pml file above):
%.png: %.pml cd $(dir $<); \ ray_trace_args=`grep -o 'ray.*' $(notdir $<)| tail -n1 | egrep -o '([0-9, ]+)' | sed 's/ //g' `; \ pymol -c -d "@$(notdir $<)" -d "cmd.ray($$ray_trace_args)" -g $@
I hope this snippet will prove useful for others. At any rate, it will prove useful for me ! Just for the record, this protein, represented in cartoon
view, is called cytochrome c6 and is one of the proteins implied in the photosynthesis of some organisms.
