Why YASARA?



Back in 1966, Cyrus Levinthal (known even to first-year biochemistry students thanks to the "Levinthal Paradox" of protein folding) published a clairvoyant article in Scientific American (Figure 3) that marks the official beginning of molecular graphics and interactive modeling. Having pointed out the importance of true interaction between the user and the program during modeling ("..it is our experience that an investigator, who is looking at a molecule can frequently understand the reason for a local minimum and by making a small alteration in the structure can return the program to its downhill path."), he concluded that by adding pseudo-energy terms to the molecular dynamics force field, we can "..do the same pulling and pushing in the computer that we can do with our hands while building actual models." (Figure 1).

One of YASARA's aims has always been to make this direct interaction with the simulated, "artificial reality" possible. If you want to know if an Aspartate and a Lysine on the protein surface can form a salt-bridge, you don't have to change torsion angles - you can simply pull them together and see if they stay there, if the new conformation is thus stable.

This approach - called "interactive real-time molecular dynamics" - forms the basis on which YASARA is built (Figure 2). True user interaction is always possible. You can move atoms or entire molecules around using sophisticated input devices while watching the whole scene in 3D with shutter glasses, a stereoscopic screen or a virtual reality headset.

If it is useful - then why do not all modeling programs allow you to do that? The reason is simple: displaying a large protein including surrounding water molecules while running a molecular dynamics simulation - that is still at the edge of what is possible on a single PC today, even with a 5 GHz 16 core CPU and a superfast GPU. YASARA therefore makes extensive use of PVL (Portable Vector Language), a custom approach to squeeze the most out of today's CPUs, and Vulkan, the latest and most powerful API for GPU programming. Check the benchmark page for details.