1. Python

Many times it is much easier to use a scripting language for rapid prototyping of a new system. If speed becomes an issue, the program can be ported to C++, but in many cases Python will be sufficient. The added advantage of no compile step, much less worry about memory allocation (than C/C++) and simpler syntax can significantly lower the development time.

Following sections, will cover input and output of molecules from various common file formats. Once molecules are loaded, a program can manipulate atoms and bonds, calculate properties, and manipulate tagged data.

There are as many different ways to write Python code as there are Python programmers; however, there are some standard practices and this document will attempt to use them.


Subsections