Open Babel
Open Babel is a chemical toolbox designed to speak the many languages of chemical data. It's an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas. It provides a command-line interface (babel), a programming library (libopenbabel), as well as bindings to several languages such as Python, Perl, Ruby and Java.