PhD Defense Presentation

I would like to expand some on this later (after the defense) with reflections etc.

Now I just need to get down the procedure I used to make a quality MPEG of a rotating crystal-packed molecule that I can call from OOO Impress.

To make an MPEG from PyMOL I first needed to install the FreeMol addon pack:

1. Download FreeMol "trunk" tarball from svn repo here.
2. Follow install tips from here.

I moved the FreeMol "trunk" directory to /opt/trunk/ and then cd into each package within /opt/trunk/src. Then I ran < ./cofigure ; make ; sudo make install ; make clean > within each package directory. I had to install the GNU fortran compiler (from synaptic package manager) for one to work.

After you "save as" your MPEG movie you can call it from OOO Impress using a macro command.

1. In OOO Imress go to -> Tools -> Macros -> Organize Macros -> OOO Basic
2. Create a new module within the standard library following these instructions.

I deviated somewhat by using this in my macro command:

Sub Main
Shell("totem --fullscreen --toggle-controls /home/me/chem/movie/movie.mpg",2)
End Sub

New Discovery - It looks like I should be able to embed an AVI file directly into my Impress Slide. From OOO go to Insert -> Movie & Sound and select the .avi file. May need to install a codec (libavcodec?) first...verification needed. Also to convert the MPEG from PyMOL to an AVI format install ffmpeg and then run
> ffmpeg -i file.mpeg file.avi

A video toolbar comes up when you click on the embedded box where you can select "repeat." The AVI video will automatically start playing when you advance to the slide and continue until you move on.


PhD Dissertation - The End is Near

I thought maybe it would beneficial to document some of the process of writing my dissertation since I went about it a bit nontraditionally (not just taking too long to do too little) using predominantly open-source software.

Disclaimer: Although writing a chemistry dissertation with open-source software is readily accomplished, it is probably unwise to make a switch from MS Windows after already starting your writing. It is recommended that you make the decision a year-ish early and write at least one hefty report to acclimate :)

Software Used

OpenOffice.org 3.1 Office Suite:

OOO3 Writer - Word Processor

OOO3 Draw - Drawing Program - I used this to prepare all of my Figures and Schemes saving each one separately with a unique alpha-numeric identifier for easy renumbering at the end.

OOO3 Calc - Spreadsheet - Used to generate tables and graphs

JabRef 4.2 - Java-Based Reference Manager - Fast and flexible, however there is a bit of a learning curve (maybe a few hours) associated with using the "style file," a template that formats your bibliography. I know there are several others out there, but JabRef was easy enough that I could get started with it right away and it is very robust. Documentation on their web site is good, and you will find there the critical plugin for syncing to OOO3.

SciFinder Scholar - Chemical and Biological Database Search Engine - SciFinder Scholar is sooo expensive that you shouldn't have to pay for it. Your institution will likely have a site-license (mine has one with only 3 seats or simultaneous users for a student body of 12000) and you need only download the Windows executable and obtain a copy of the site.prf file (a key granting you access) from the school (check with the library). Yes it is windows only, but again I found it to run nearly flawlessly in WINE for Linux.

BKChem 0.13.0 - Python-based 2D Chemical Structure Editor - BKChem is far from perfect, but for my thesis it worked great. This may in part be due to most of the chemistry I do is with flat polycyclic aromatic hydrocarbons, however anyone looking for open-source 2D structure editors should have good success with BKChem (also look at JChemPaint). The only major set back I had was in resizing objects as BKChem would crash. Otherwise very robust. Since BKChem exports a scalable vector graphic (SVG) to OOO2 .odg format I had no resolution trouble with resizing in OOO3 Draw.

Avogadro 1.0 - Powerful 3D Chemical Structure Builder and Force-Field Minimizer - I can't say enough good things about Avogadro. It is my front end to all of my computational chemistry. It is easier to use than GaussView (almost as intuitive as Spartan's Builder), offers beautiful, fast graphics, implements MMFF, UFF and Ghemical force-fields, reads loads of file-types including Gaussian Cube files, displays MOs, cross-platform (YES Mac and Windows too!) and it's bloody free!! (I don't know how but thanks to Marcus Hanwell and his faculty advisor Geoff Hutchison).

PyMOL - 3D Chemical Structure Viewer and Graphics Renderer - Although a little clunky, PyMol's greatest strength is producing very nice graphics which are saved in .png format. I know it has many additional uses, however, I only used it to prepare beautiful 3D molecular visualizations for my thesis. It is only missing a "ball-and-stick" display style (which is available in avogadro) but the "stick" style is clean and the images do come out much sharper and scale well.

WinDNMR in WINE - Dynamic NMR Line Shape Simulator - Although not available for Linux or Mac, WinDNMR worked without any trouble through WINE for Linux. The program is free-ware, but the author H. Reich requires e-mail registration in exchange for an activation code. This program requires adequate knowledge and skill for proper execution but the manual/tutorial is available and thorough.

MestReNOVA - Advanced NMR Workup Software - MestReNOVA is not free, but a 45 day trial is available for Windows/Mac/Linux, giving the average graduate student enough time (I got a 15 day extension) to do the final workup of all NMR FIDs.

pdftk - PDF merge/split Command Line Tool - This little gem came in real handy to manage my dissertation in 5 parts. Splitting up the OOO3 .odt files allows for faster save times and handling. I didn't learn how to start page numbering from a different number than 1 until after I merged my 3 chapters and appendix into the .odt file which was a little frustrating to manage the 155 page document for final minor edits. Still saving each part separate and exporting as a PDF worked well and pdftk seamlessly merges one printable document. Most likely pdftk is downloadable from your package manager (that's what I did with Ubuntu) and type pdftk --help for a list of command options.

Hurdles and Lessons for Writing a Dissertation/Thesis with this Software:

The OOO3 office suite is nearly as powerful as MS Office but there are some significant differences, some advantageous. There is no way I can give a complete overview of these differences, but there are a few helpful points I may make.

1. Page Numbering in OOO3 is tricky. It is a good idea to break your document up into sections as it saves time in the end. However, this is only true if you learn how to number starting with a different page than 1 well in advance. OOO-Writer uses page "styles" to manage this information. For example to number your preface with Roman Numerals and then start Chapter 1 with page 1 (as is usually the case), the preface pages must be designated a separate style "preface" than the rest of the document which will probably remain "default." It is imperative to sort this out early with some test pages. Consult the following website documentation: OOO3 Wiki, Taming OOO3, OOBlog. I'm sure there are lots of other sites with this information, but the first 2 alone basically got me up-and-running (although a bit late!).

2. Build a detailed and "Advisor Approved" outline for your entire thesis. Use the Outline Formatter in OOO3 (usually defaults as you build) for this and you'll be happy you did. My outline literally became my headings and subheadings for each section of my dissertation which I could easily reformat numerically after I was finished using the Bullets/Numbering toolbar.

3. Use a reference manager to keep your bibliography organized. I used JabRef with an OOO-plugin (see above) and it worked well for me. I did the best with my "style-file" for ACS formatting and left it alone until I was finished the document before a final format.

4. Organize your Tables, Figures, Schemes and Componds with a well designed alpha-numeric coding system so you can use "Find/Replace" tool in OOO3 at the end to provide a final number. I used "T" for Table, "F" for figure and so on, followed by a 1,2,3 for which chapter the table or figure was in, followed by Roman Numeral designation for which part within the chapter it was in, followed by a capital letter. The trouble I ran into was when substituting C2II (the "I-th" compound of part I Chapter 2) with the number 16, compounds C2IIA-C2IIZ (compounds in part II of Chapter 2) became 16A-16Z!!! So don't do that! Use a better system and you'll be golden.

5. Export and test as you go. Your advisor will probably want to use your well-crafted figs, schemes, tables in journal submissions later on (hopefully) so you should save each one individually with a good systematic archiving method and export them into a format that will be useful for collaboration purposes (MS Word 2003 / 2007). Also deal with your text. I found exporting to .rtf worked well for keeping my text formatting, but my figures/schemes/etc were botched. It is useful to figure out a system that you know will work early on so you're not "stuck like chuck... cuz chuck was stuck" -MM.


Linuxsamplers: QSampler, JSampler

Installing LinuxSampler and QSampler on Ubuntu directions here.

More significantly just follow the CVS instructions from here.

Note that to install from the cvs source you must first install:

cvs, automake, g++, and respective dependencies, all of which are available through synaptic.

In addition either libsndfile or libaudiofile with the 'dev' files must also be installed.

Installing JSampler/Fantasia found here.

wrote the following script to launch JSampler: /usr/local/bin/fantasia
with help from here.


linuxsampler &
java -jar /opt/Fantasia-0.8a.jar
kill $samplerPID

Configure linuxsampler for jack support with > ./configure --enable-jack

Tutorial on setting up VTPO virtual orchestra with JSampler/Miditzer in Puppy Linux!


I ALSA Don't know JACK about linux-rt kernel

Okay, I thought I would quickly document the exact procedure to get JACK (via QJackCtl GUI) to play nice with ALSA and the Real-Time kernel (linux-rt) on Ubuntu 9.10.

1. Install linux-rt from synaptic
2. Install QJackCtl from synaptic or Ubuntu Software Store

3. Go to System -> Administration -> Users & Groups and add your user to the following groups: audio, pulse, pulse-access

4. Enter the following into your command line

> sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'

5. Reboot

6. Start QJackCtl and edit the following prefs:

Setup -> Settings tab: check the boxes next to Realtime and No Memory Lock
Setup -> Misc. tab: check the box next to Start Jack Server on Application Start-up.

7. Restart QJackCtl and voila!


GCompris, TuxPaint on puppy linux

These are fun for the kids, however, GCompris may be for 4+ not 2+ like advertised!

Here's the list of .pets you need to grab from here (reprinted from this forum thread):

Gcompris 8.4.13, and dependencies: 
gnucap + gnuchess + python + pysqlite + pycairo + pygobject +pygtk + SDL + SDL mixer +tuxpaint


+sqlite 3.6.12 
which you can get here

Also needed for TuxPaint: SDL_image-1.2.7-i486.pet + SDL_Pango-0.1.2-i486.pet + SDL_ttf-2.0.9-i486.pet + libpaper-1.1.23+nmu1-i486.pet from here as well :)

Note all the other goodies from the same site: Klavaro, Enigma, Childsplay, TuxMath.