avimosher edited this page May 21, 2016 · 3 revisions
Clone this wiki locally

The Shapesifter library is based around the concept of scene files, which define each simulation; see the scene files and Tutorial pages for details.

Scene files are processed by the simulate and viewer programs, found within the bin directory. simulate performs the simulation and any analysis specified in the scene file, while viewer provides a three dimensional viewer of the simulation result, which can be used for debugging or visualization.

The actual library documentation is above; what is below describes the design goals and philosophy of the Shapesifter library.

Library goals

The ability to model flexible proteins at the level of rigid domains with interconnectivity.


Reliance only on well-supported, freely available libraries (license allowing commercial use). As much as possible, follows a principle of explicit passing of data (rather than keeping references); commonly, the entire "simulation object" is passed through to functions and the appropriate data chunks are pulled out of it. The argument for this is improved clarity and modularity.

Scene file-based simulation and analysis scheme. All details of simulation can be specified in JSON scene file form. Internally, simulation proceeds according to a general driver/step model. A series of steps must be executed at each step in time; by default they can be executed in any order, but a step can require that other steps must be performed first. Presently the time step size is fixed, but in principle each step can restrict the size of the time step.