4 replies [Last post]
Offline
Joined: 10/02/2011

Rmoretti tells me the foldit staff would like to run more puzzles like 1446, where the protein moves only a little and they want us to explore different shapes (rotamers) and positions for the ligand. Now is a good time for scripters to think about how to change existing scripts or write new ones to interact with these bendable ligands.

These ligands have rotamers they can cycle between during shake or by using rotamer.SetRotamer (see puzzle comments on 1446 for more detail). They can also bend and rotate by smaller amounts during wiggle:

Wiggle Sidechains moves ligand through space and bends it.
Wiggle Backbone moves ligand through space but does not bend it.
Wiggle All moves ligand through space and bends it.

structure.WiggleSelected(iters, false, true) moves ligand through space and bends it.
structure.WiggleSelected(iters, true, false) moves ligand through space but does not bend it.
structure.WiggleSelected(iters, true, true) moves ligand through space and bends it.

structure.LocalWiggleSelected(iters, false, true) does not move or bend the ligand.
structure.LocalWiggleSelected(iters, true, false) moves ligand through space but does not bend it.
structure.LocalWiggleSelected(iters, true, true) moves ligand through space and bends it.

One tactic that seems promising is using math.random(structure.GetAtomCount(ligandSegNum)) to obtain a random atom number on the ligand to attach a rubber band to. You can't add a band from one atom of the ligand to another atom of the ligand, but you could add a band from one atom to space and another from the end of that band to a different atom of the ligand. You can also band two different atoms of the ligand to the same segment of the protein - both of these methods can encourage the ligand to bend during wiggle.

What other methods can you think of for exploring ligand shapes and positions?

Offline
Joined: 09/24/2012
Groups: Go Science
Options for existing recipes

The problem is that working with ligand creates a foldit bug with many puzzles. This is the reason why ligands are identified and disabled at the beginning of most recipes.

Some existing recipes can however do part of the job if the right options are selected.

Example:
Acid Tweeker V2.6.2 Filter: the default dialog proposes to work on seg 1 to endSeg. In most recipes, this endSeg doesn't contain the latest seg (the ligand). For example for puzzle 1446, it proposes to work on 1-319. Tip: set it to 320-320 and the recipe will try all rotamers of the ligand itself.

Many banding recipes offer the options to include or not the ligand, even to "always use" the ligand. You can "simply" edit the recipe and change the related flag to "true" (example in Rav3_pl GAB recipes, set AlwaysUseLigand= true or AlwUseLigand= true).

Some recipes recognize ligands and offer the choice to use it or not. This is the case for
Ebola 4.2.4, if you go to "options" then "GAB": there you can decide to use the ligand and even always use the ligand (it's disabled as default).

I'll try to adapt asap several recipes to be able to recognize "ligand target" puzzles and behave accordingly.

Another tip: reducing the Clashing Importance gives some more freedom to the ligand to move in wiggle or shake. For this reason, existing fuzes (or recipes using fuzes) do some good job.

Offline
Joined: 01/15/2010
Groups: Foldit Staff
Wiggle Sidechains should work

To Foldit, all atoms of the ligand are "sidechain" atoms, so wiggling sidechains on a ligand (or the Lua functions which enable wiggling on a sidechain) should work to bend/change the internal conformation of the ligand.

The "rigid body" position and orientation of the ligand counts as "backbone", though, so backbone only wiggles should indeed only move the ligand through space but not bend it.

If the sidechain only wiggles don't result in the ligand bending under certain conditions, then that would be a bug, and please let me know about it through Feedback. (That said, sometimes you'll find the ligand won't change much or at all with a wiggle, as it's already in the highest scoring internal conformation it can be at, given the rest of the protein. But if it's in a bad position, sidechain only wiggles should cause the ligand to bend.)

Offline
Joined: 10/02/2011
Forgot to apply caffeine

Wow, OK, I really did test all those things before writing them up, but that was before my coffee, so yeah. Edited the original post to reflect that Wiggle Sidechains does move the ligand through space and bend it. LocalWiggleSelected(false, true) still apparently (i.e. after only a little coffee) does not affect the ligand at all.

Thanks for catching that!

Online
Joined: 04/20/2012
Groups: Go Science
A typo or a Foldit bug?

Are both of these lines from above really true?

structure.WiggleSelected(iters, false, true) moves ligand through space and bends it.
structure.LocalWiggleSelected(iters, false, true) does not move or bend the ligand.

If so, it seems like LocalWiggleSelected should be made to work more like WiggleSelected.