Another approach is to resort to a very similar Python script to avoid the callbacks that happen after each bond is made.  For me, it reduces the time from two minutes (using read on the original script) to 30 seconds (using open on the Python equivalent).  I’ve attached the Python version, and you can see that it should be trivial to change from the command version to the Python version.

—Eric

Eric Pettersen
UCSF Computer Graphics Lab