Source Code for Biology and Medicine


Open Access Software review

Faunus: An object oriented framework for molecular simulation

Mikael Lund1*, Martin Trulsson2 and Björn Persson2

Author Affiliations

1 Institute of Organic Chemistry and Biochemistry, The Academy of Sciences of the Czech Republic, Flemingovo nam.2, CZ-16610 Prague 6, Czech Republic

2 Department of Theoretical Chemistry, University of Lund, P.O.B 124 SE-22100 Lund, Sweden

For all author emails, please log on.

Source Code for Biology and Medicine 2008, 3:1 doi:10.1186/1751-0473-3-1

Published: 1 February 2008

Abstract

Background

We present a C++ class library for Monte Carlo simulation of molecular systems, including proteins in solution. The design is generic and highly modular, enabling multiple developers to easily implement additional features. The statistical mechanical methods are documented by extensive use of code comments that – subsequently – are collected to automatically build a web-based manual.

Results

We show how an object oriented design can be used to create an intuitively appealing coding framework for molecular simulation. This is exemplified in a minimalistic C++ program that can calculate protein protonation states. We further discuss performance issues related to high level coding abstraction.

Conclusion

C++ and the Standard Template Library (STL) provide a high-performance platform for generic molecular modeling. Automatic generation of code documentation from inline comments has proven particularly useful in that no separate manual needs to be maintained.