wiggling_all selected segments in a script is broken

Case number:671071-987002
Topic:Game: Other
Opened by:themarquis
Opened on:Saturday, November 7, 2009 - 04:06
Last modified:Saturday, January 7, 2012 - 01:13

the do_global_wiggle_all command does little to nothing on selected segments. (and do_global_wiggle_backbone probably is broken as well).

I have tested and confirmed -- selecting, say, a single segment and wiggle all by hand produces different results than selecting the same segment and wiggle all via a script. I assume we would agree that this is not the intended result (or there is a separate mechanism that is doing local wiggling? in which case, we need some functions to access local wiggling in lua scripting.)

Backbone walk type scripts (and a large number of other types of wiggle based scripts, i.e., the vast majority of all scripts) will not function properly (or at all) until this issue is fixed.

(Sat, 11/07/2009 - 04:06  |  10 comments)

Joined: 09/18/2009
Groups: SETI.Germany

So, did you set clashing importance to 1?
Starting the new GUI, it is generally set to 0.

Joined: 04/13/2009
Groups: Contenders

I didn't realize there is a difference between behavior setting w/ new and old interface!

I've played with setting behavior inthe in new interface and running do_global_wiggle_all() on selected segments. I'm getting better results, but I'm still not able to get global wiggling segments via script to produce the same result as global wiggling segments by hand.

What am I missing?

Joined: 04/13/2009
Groups: Contenders

Okay, I spent a long time last night fiddling with the interface and trying to wiggle all on selected segments via script. I'm definitely not getting correct results either in the new or old interface on any behavior setting.

Recipes work just fine wiggling portions of the protein (freeze based) but scripts (select based) increse the score minimally (I get a few hundredths of a point vs. freeze based wiggle giving up to several tenths of a point)

Interestingly, when wiggling all via script, the music for wiggling sidechains plays. Is this significant? Is wiggle_all just wiggling sidechains?

Hello ... anybody out there? ;)

Joined: 09/18/2009
Groups: SETI.Germany

Themarquis, did you assign this problem to the admin or Seth Cooper?

Joined: 04/13/2009
Groups: Contenders

hmm, guess I didn't... not sure how to change that... I'm putting this comment on for Seth Cooper now.

Joined: 09/18/2009
Groups: SETI.Germany

When I do this, it works.
So, you are using the new interface, pressed the green foldit button (wich makes all other buttons appear),then the top third of all ("Behaviour"), adjusted the "Behaviour slider" and then you did select something (with or without script) or totally nothing?

Joined: 04/13/2009
Groups: Contenders

Okay, now I feel like I'm going crazy.

Crashguard, this happens in the old and new interface. Behavior doesn't seem to matter.

Here's an example of what I'm talking about.

1. Open a puzzle in new interface. quick save. select a single segment and hit W for wiggle all. If nothing happens, keep trying until you find a segment that increases by a good amount when W wiggling. Like .20 - .50 point or more.

2. Okay. now restore to your quick save slot. select that same segment and run a script with this line:
do_global_wiggle_all(20) (or whatever number ... just enough to wiggle for a good long while).

3. What happens? Do you get the same point increase? I don't. In 1. I get say .5 point and in 2. I rarely get more than .02 or so.

Joined: 09/18/2009
Groups: SETI.Germany

Okay, I've tried what you've written, and get the same result.
The wiggle command by GUI does a better job than wiggling by script.

As far as I remember, there were some other entrys in "feedback" which were dealing with this issue.
I'm still looking for them.

As workaround, I mostly take no single segment anymore, but a selection of three segments, containing the segment you want to wiggle, and minimum one "left" and one "right" from it.
So, if you want to perform a wiggle on segment ... let's say 13, select segment 12-14, so it will allow more movement for segment 13.
But even this is not as good as wiggling it by GUI.

Maybe, it is not allowed to do big changes with a recipe (so it is an intended behaviour), or the GUI wiggle routine is not usable for scripts (because it can't be interrupted by script without problems), so they had to take another one?
Or it is the same routine, but some parameters are not taken over correctly.

Joined: 04/13/2009
Groups: Contenders

Thanks Crashguard ....! Now I know I'm not going crazy!!

I'll try your workaround for now.

Here is my thought: either a) do_global_wiggle_all is just wiggling sidechains or b) the system uses a different method to local wiggle vs global wiggle.

If case a), there is an error in implementation of do_global_wiggle_all and if case b) another command needs to be added, i.e., do_local_wiggle_all().

For Seth Cooper or another dev -- can you clarify what the intended behavior of do_global_wiggle_all is supposed to be and/or ensure that the command is implemented correctly?

spmm's picture
User offline. Last seen 8 weeks 2 days ago. Offline
Joined: 08/05/2010
Groups: Void Crushers
Status: Open » Closed

closed. Implemented, resolved, no comments or votes since 2009


Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, Boehringer Ingelheim, RosettaCommons