Foldit and blender.

Started by jeacom

jeacom Lv 1

I am not a physicist or a biochemist but I want to give a suggestion for an algorithm. Not sure if its viable at all.

If I understand correctly the protein is represented by a pivot and a chain of residues where each one has a rotation and an offset from the previous and the ramamap displays those relative rotation offsets with the colored regions being more likely to form in nature.

My suggestion is to create a tool that explodes all residues to global space and instead represents them as a simple mass-spring system where each amino acid is represented by a single point in 3D space plus a twist vector.

I think a simple way to optimize this system would be to move each residue towards or far away from its neighbors to satisfy a distance constraint (spring step), do it locally and multiple times in small steps and it should converge, but interleaving with the spring steps, the residues could also be moved randomly multiple times then evaluated a local "Ramma energy?" if it improves the energy then keep the position else, discard the random motion and try again, kinda like a genetic algorithm.

I am not sure on how rough this energy space is but my rope is that it would make the protein will jiggle around and "snap" into a low energy state very quickly due to the randomness.

Then to add more user interaction, the player could grab one residue and move it, since the whole protein is bound by "springs" it would move entirely but also verry softly.

Not sure if it would work, just random thoughts I had.