Limits...
Faunus: An object oriented framework for molecular simulation.

Lund M, Trulsson M, Persson B - Source Code Biol Med (2008)

Bottom Line: We further discuss performance issues related to high level coding abstraction.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.

View Article: PubMed Central - HTML - PubMed

Affiliation: Institute of Organic Chemistry and Biochemistry, The Academy of Sciences of the Czech Republic, Flemingovo nam,2, CZ-16610 Prague 6, Czech Republic. mlund@mac.com.

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.

No MeSH data available.


Graphical class hierarchy. Schematic representation of class inheritance used for the container class. Intuitive inheritance is used whenever possible. For example, a container contains particles, it can have a shape etc. The graphical representation is produced using Doxygen.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
getmorefigures.php?uid=PMC2266748&req=5

Figure 1: Graphical class hierarchy. Schematic representation of class inheritance used for the container class. Intuitive inheritance is used whenever possible. For example, a container contains particles, it can have a shape etc. The graphical representation is produced using Doxygen.

Mentions: One of the unique features of C++ is polymorph classes that allows for very generic and intuitively appealing code. To demonstrate this, we outline the design of our framework for handling the simulation container – see Figure 1. Essentially, the end programmer will want to select among different geometries -a box, sphere, cylinder etc. For each geometry we need functions that can calculate the volume, generate a random point or decide whether a given point falls within the boundaries. We now construct a polymorph class, container, that defines the unimplemented virtual functions. Derived classes – box, cylinder etc. -then implement specialized versions of the functions and the container class hence acts as an interface to the various geometries. This means that we can construct functions that accept any geometry derived from the container class. For example:


Faunus: An object oriented framework for molecular simulation.

Lund M, Trulsson M, Persson B - Source Code Biol Med (2008)

Graphical class hierarchy. Schematic representation of class inheritance used for the container class. Intuitive inheritance is used whenever possible. For example, a container contains particles, it can have a shape etc. The graphical representation is produced using Doxygen.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
Show All Figures
getmorefigures.php?uid=PMC2266748&req=5

Figure 1: Graphical class hierarchy. Schematic representation of class inheritance used for the container class. Intuitive inheritance is used whenever possible. For example, a container contains particles, it can have a shape etc. The graphical representation is produced using Doxygen.
Mentions: One of the unique features of C++ is polymorph classes that allows for very generic and intuitively appealing code. To demonstrate this, we outline the design of our framework for handling the simulation container – see Figure 1. Essentially, the end programmer will want to select among different geometries -a box, sphere, cylinder etc. For each geometry we need functions that can calculate the volume, generate a random point or decide whether a given point falls within the boundaries. We now construct a polymorph class, container, that defines the unimplemented virtual functions. Derived classes – box, cylinder etc. -then implement specialized versions of the functions and the container class hence acts as an interface to the various geometries. This means that we can construct functions that accept any geometry derived from the container class. For example:

Bottom Line: We further discuss performance issues related to high level coding abstraction.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.

View Article: PubMed Central - HTML - PubMed

Affiliation: Institute of Organic Chemistry and Biochemistry, The Academy of Sciences of the Czech Republic, Flemingovo nam,2, CZ-16610 Prague 6, Czech Republic. mlund@mac.com.

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.

No MeSH data available.