An insider’s view of biological structures
In March, Simbios released version 1.0 of the SimTK Simulation toolkit. A cornerstone of this release is Simbody, a new piece of the open-source SimTK Core toolkit for physics-based simulation. Simbody solves Newton’s equation of motion, F = ma, with a twist: It tackles the equation from the inside out rather than from the outside in.
Simbody provides a new option, says Michael Sherman, the toolset’s chief software architect. “With Simbody, researchers can do dynamics in whatever coordinates make sense for what they’re doing.”
Traditionally, the motion equation is solved in a global (Cartesian) coordinate space, from the perspective of someone watching a system from the outside. But Simbody solves the equation in internal coordinate space: The components of a mechanical system are described relative to each other, rather than to a global outside point.
Simbody’s Internal Coordinates: Natural and Efficient
This internal coordinate system is a more natural way to model biological structures where highly interconnected parts are the rule. The motion of a hand, for example, is best described relative to the arm’s movement. Similarly, the carbon atoms of a benzene molecule are tied to one another in a ring structure.
The method is also more efficient. Because internal coordinates can often be represented with fewer equations, the approach greatly speeds up an analysis. This is especially appealing for simulating large, complex structures over long time scales. Nagarajan Vaidehi, PhD, a professor in the division of immunology at the City of Hope Medical Center, says that’s why she thinks this work is so important to explore. Vaidehi believes there is great promise for the use of internal coordinates in molecular dynamics simulations, particularly for large proteins. Current approaches take too long to produce the several microseconds of results needed. Internal coordinates could increase the timescales that could be modeled, she says.
Simbody’s Code: Elegant
Other software programs that perform dynamic calculations don’t measure up to Simbody in one way or another, Sherman says. He designed Simbody to be a best-of-class multibody system. It incorporates code by Charles Schwieters, PhD, of the National Institutes of Health for molecular structure determination. This code is based on multibody dynamics theory that Abhinandan Jain, PhD and Guillermo Rodriguez, PhD at the Jet Propulsion Laboratory developed and used over many years for spacecraft simulation.
“The [Simbody] code is beautiful,” says Paul Mitiguy, PhD, a consulting associate professor in mechanical engineering at Stanford University and a developer of mechanical simulation software packages. Computationally, Simbody is extremely efficient; it uses templates, takes maximum advantage of the compiler and minimizes memory movement.
Though Simbody has all the hallmarks of thoughtfully designed commercial code, it’s not commercial. It’s open-source and can be freely downloaded. It’s also extensible; researchers can modify it to suit their needs.
Mitiguy describes Simbody as “the Matlab of simulation” because its flexible interface enables it to be the platform upon which many other useful applications are built. “If you really want to get a bang for your buck and computation is an important part of your process, then I think you’d be hard-pressed to do better than Simbody,” he says.
How Do You Get SimTK 1.0 and Simbody?
Simbody is part of the SimTK Core toolkit, an open-source C++ application programming interface (API) to computational tools and algorithms for biological simulations. It has already been incorporated into applications such as OpenSim, an open-source application for modeling and simulating the neuromusculoskeletal system. Release 1.0 of the toolkit, including Simbody, can be freely accessed at http://simtk.org/home/simtkcore by going to the Download section. Source code for Simbody can be found at http://simtk.org/home/ simbody. A hands-on workshop to teach researchers how to use SimTK 1.0 was held on March 20 & 21 (http://simbios.stanford.edu/workshop.htm).