jeff101 Lv 1
I was just reading about the Foldit LUA commands selection.Select(), structure.WiggleAll(), and structure.WiggleSelected(), looking for a way to have a recipe wiggle both the protein sidechains and ligand without wiggling the protein backbone. This may matter in puzzles like 2452 and 2455. structure.WiggleAll() has two boolean inputs. If the 1st boolean is true, it wiggles the protein backbone and lets the ligand translate. If the 2nd boolean is true, it wiggles the protein sidechains and bends the ligand. Meanwhile, selection.Select() just picks segment #'s. Most segments in Puzzles 2452 & 2455 are for the protein, and the final segment is for the ligand. It isn't clear to me how to wiggle both the protein sidechains and ligand without wiggling the protein backbone. It seems like if I don't let the backbone wiggle, I also keep the ligand from translating.
Maybe it would help if selection.Select() had 3 inputs: one to specify a segment index, one to select that segment's backbone, and another to select that segment's sidechain. Other LUA selection functions like selection.Deselect(), selection.DeselectAll(), selection.SelectAll(), and selection.SelectRange() could have similar additional inputs to specify segment backbones or sidechains. Even the LUA selection commands selection.GetCount() and selection.IsSelected() would need some revision to reflect these new backbone vs sidechain distinctions.
For more details see https://foldit.fandom.com/wiki/Foldit_Lua_Functions#structure.WiggleAll and https://foldit.fandom.com/wiki/Foldit_Lua_Functions#selection.Select