Back to Recipes Homepage
recipe picture
Recipe: Gary Slowly MutateAll v0.4
Created by GaryForbis 76 1427
4.40476
Your rating: None Average: 4.4 (42 votes)
Used 171 times with an average impact of -1802252 points.

Profile

Name: Gary Slowly MutateAll v0.4
ID: 13813
Created on: Fri, 10/15/2010 - 01:56
Updated on: Fri, 12/17/2010 - 11:31
Description:

My deep search version of Mutate All. Don't kill until it restores beginning. It takes awhile. It loops as long as it can find mutations. Does blue fuze between passes.



Best For


Comments

Joined: 08/06/2010
Groups: Contenders
Small Change

This version stops when no further mutations are found. The prior version kept going because wiggle found thousandths of a point. It still isn't smart and takes a long time to run. Only use when all else fails. It finds mutations where other public routines fail.

Joined: 12/27/2010
Groups: None
Bug in Slowly Mutate All

Hi Gary,
I've noticed a bug in Slowly Mutate All (thanks for writing this, btw). It occurs when stepping through possible mutations. When the best-scoring sidechain is restored after each failed solution, the code then cycles through ALL the possible positions for that best-scoring mutation. This can really slow things down if the best-scoring mutation is found early and has a lot of possible positions.

Thus: best-scoring mutation, B, with 10 possible positions found:

B (cycle all 10 positions, wiggling each one); failed mutation 1; B (cycle all 10 positions, wiggling each one); failed mutation 2; B (cycle all 10 positions, wiggling each one); failed mutation 3; B (cycle all 10 positions, wiggling each one); etc....

I haven't tracked down the exact problem in the code yet, as I'm still coming up to speed on the scripting language and the environment has some major issues on Linux, such as no cut & paste from the Foldit window.

Thanks!

Joined: 08/06/2010
Groups: Contenders
I was working on version 1.0 last night

I fell asleep. It moves to the code being developed on the LUA script library page. It also gives me a good chance to debug that code and correct mistakes in it. One of the routines I'm most happy about is the faster find mutable segments. I noticed how long it took to go through the entire 488 segments on the last puzzle. The new routine is, I believe, an order of magnitude faster. Also, running a full blue fuze after each is too slow considering that many of the segments and sidechains are locked on these puzzles. I'll be using a version of a mini-sphered-fuze. This speeds things up quite a bit for little cost.

Also, as Capritia has mentioned, stepping through all mutations and all snap positions is quite a time hog for minimal gain. It also pushes one towards a local minima too quickly. I'm not sure quite how I'm going to handle it. Folding is NP Complete, that is one cannot rule out a particular mutation and snap position just because it isn't best one time around. Gary Mutate All just snaps through the positions, selects the best and fuzes it. (If I remember what I wrote.) It turns out that some of what looks like a worst snap position, as indicated by the score after the snap, will fuze into a better position.

So...

version 1.0 will slow the annealing process by accepting
the first mutation and snap postion producing a better score at a particular segment, recording the number of snap positions and the snap position accepted. If all segments have been passed without a mutation then a pass will be made for the current residues. If the number of snap positions change or the best snap position changes then it will return to testing mutuations otherwise it will stop.

Sorry I didn't get around to this until after the end of the current interface puzzle.

Want to try?
Add to Cookbook!
To download recipes to your cookbook, you need to have the game client running.
Parent
Children
Authors
Sitemap

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, RosettaCommons