About
Sire is an open source molecular simulation framework in an intermediate stage of development. Sire has been developed since February 2005 with three main goals;
- To provide a framework that allows the rapid prototyping of new methods of modelling condensed-phase molecular systems.
- To provide an interface that allows new users to learn how to change and manipulate the code, so that they can quickly move from being a passive user to being an active developer of new simulation protocols.
- To provide an efficient runtime engine that takes advantage of the full range of parallelisation available on modern computing resources (e.g. parallelised over a cluster using MPI, over processor cores using threads and OpenMP, and within vector registers - e.g. using SSE).
To achieve these goals, Sire has been written as a collection of libraries, each of which contains self-contained and robust building blocks. These building blocks are thread-aware and can be streamed (marshalled) to and from a version-controlled and tagged binary format, thereby allowing these building blocks to be combined together easily to build custom multi-processor molecular simulation applications. These building blocks are written in C++, using advanced programming idioms (e.g. copy-on-write pointers, read-only and read/write classes, state aware functions, template metaprogramming). The C++ objects that make up the public API of the libraries are then exposed to Python, and can be combined and used together in Python. This Python interface provides the easy way of learning and using Sire, as it is quite simple to use Python to create custom simulation applications (or to tweak an existing application to make it do what you want).
Sire is not yet finished, and is unlikely to be completed for some time. However, Sire is developed on the web, and you can download the code at any point in its development from the publically available subversion repository. An alpha version of Sire has been used by a small number of PhD students, and the results of some Sire calculations have been published (see here for a list of publications that used Sire).
If you are eager to run some Monte Carlo simulations now, then take a look at ProtoMS, a complete biomolecular simulation program that was the precursor to Sire.