I'm wondering if anyone has ever made a tool to try out new molecular modeling/simulation algorithms, where the tool itself handles the "boring" tasks of loading PDB files, building chains of amino acids from sequence so that the atoms can later be assigned coordinates by user scripts, rendering rotatable graphics in 3D, etc., but where the user can then write scripts that loop over the coordinates, do some kind of math, and then modify the structure. That way you could experiment with new force fields, integrators, etc. Something like TurtleToy does with plotter graphics.

There are obviously molecular modeling tools with scripting capability, but quite a few have licensing restrictions and also they are commonly intended as ways of splicing together existing algorithms and modeling "recipes" in new sequences. The actual simulation code is often "buried" deep in complex codebases and spread across multiple files that must be compiled together just to get something working. Clearly something like an energy minimizer written in for loops in a language like Python won't compete in terms of speed with GPU-accelerated parallelized C++, but it can be written completely from scratch to test out completely new algorithms, and if seamlessly integrated with a rendering component that accepts redraw calls from in the script, it's a quick way to visualize "what is this doing to my protein structure?" in real time as you single-step through your algorithm (and the rendering overhead probably makes speed a moot point there anyway). That way if you want to quickly see "how does my method compare to the existing ones in CASP" or something, you have a "playground" to try it out.

If I'm looking for this I'm sure others have too, so I'm wondering if it exists. An even potentially more interesting feature would be the ability to execute scripts as "filters" over the PDB, something like "Find all sequences of length 5-20 amino acids in the PDB for which this expression evaluates to "True", align them using the following transform, and plot them in this canvas". But I can see where the PDB might not like people doing this as it could bog down their servers from all the fetches, so this may be a bad idea. But allowing people to operate on their own PDB files would obviously not be a problem if the tool were around.



You must log in to answer this question.