Back to Recipes Homepage
recipe picture
Recipe: tlaloc Rebuilder 4.12
Created by Tlaloc 51 1376
Your rating: None Average: 4.3 (55 votes)


Name: tlaloc Rebuilder 4.12
ID: 37069
Created on: Wed, 01/04/2012 - 15:45
Updated on: Wed, 08/15/2012 - 07:46

Vigorously rebuilds a protein.

Best For


Tlaloc's picture
User offline. Last seen 45 weeks 6 days ago. Offline
Joined: 08/04/2008
Groups: Mojo Risin'
Info about the script

This is a very good script for the middle game. It starts at the worst scoring segment in your protein and rebuilds it.

It uses the Lua V2 functions to bring up a dialog that asks for parameters. More info about them:

"Range" is the number of segments to rebuild at a time. So if the range is 1, and the segment it is rebuilding is #10, it rebuilds from 9 to 11. If the Range is 2, it rebuilds from 8 to 12, and so forth. The wider the range, the longer it takes for the script to run.

"Rebuilds" is the number of rebuilds to perform on a segment, looking for improvement. The larger the number, the more rigorous it attempts to find good builds, but the longer the script runs.

"Score" is the segment score below which it tries to rebuild. It starts at the worst scoring segment and rebuilds to a segment with this score. The lower the number, the fewer segments it will rebuild. The higher the number, the more segments it will rebuild. Slide it all the way to the right to rebuild all segments.

"Tries" is how many attempts it makes to find a rebuild. The higher the number the slower the script runs, but the more likely it is to find a good rebuild.

"Improvement" causes the script to move to the next segment once this amount of improvement in score has been found on a segment. Move the slider to the right to be more rigorous, but run slower.

"Reverse" causes the script to start at the widest range and progress to more narrow. For example Reverse is set, if the Range is set to 3, it tries to rebuild each segment at 3, then 2, then 1. But if Reverse is unchecked, it rebuilds at 1, then 2, then 3.

Tlaloc's picture
User offline. Last seen 45 weeks 6 days ago. Offline
Joined: 08/04/2008
Groups: Mojo Risin'
Further details on the algorithm.

Rebuilding uses a database of segments from "solved" proteins to find similar structures in the current protein.

The script starts by taking the segment scores of the protein and sorting them from worst to best. It starts with the worst segment and rebuilds that. Then works on the second worst and so forth. It will not rebuild a segment that exceeds the "Score" parameter; if you want rebuild more segments, increase the "Score" parameter.

When it performs a rebuild on a segment, it starts at the "Range" parameter before and after the segment to rebuild. So if "Range" is 3 and the segment to rebuild is #10, it rebuilds the segments from 7 to 13. If the range is 1, it only rebuilds from 9 to 11.

If the "Range" is set to 3 and "Reverse" is checked, it rebuilds 7 segments at a time. After rebuilding all of bad scoring segments in the protein, it then goes back and rebuilds 5 segments at a time. Then 3 segments at a time. If "Reverse" is not checked, it rebuilds 3, 5, and 7 at a time. If "Range" is set to 1, it does not matter whether "Reverse" is checked or not, since it rebuilds 3 segments at a time, then quits.

Each time that it rebuilds a segment, it has to find a legitimate rebuild. The foldit rebuild function does not always succeed. It will try up to "Tries" number of times to find a rebuild.

It will continue trying to find rebuilds until the "Rebuilds" number of rebuilds are found on a segment. So if the is set to 2 and it is rebuilding segment number 10, it will try to find two different rebuilds for segment number 10. However, if one of the rebuilds causes at least a "Improvement" amount of score gain, it will not continue on rebuilding that segment, but will move on to the next one.

A rebuild frequently initially produces a lowering of score. It is not until the protein is stabilized that a score gain results. So after performing a rebuild, it runs the "Tlaloc Repeat Bluefuse" algorithm on the entire protein.

If no score gain is found from the rebuild, it restores the protein to what it was before the rebuild. Regardless, the algorithm continues until all segments have been visited.

The defaults for the dialog were chosen to be a reasonable compromise to find a lot of points in a shorter amount of time. In general, as you move the sliders to the right, the script will take more time to run.

Even with the defaults, this script will take many hours to run. It is most useful as an overnight script. It has proven to be a consistent point gainer on any but the most stable of proteins.

Joined: 08/30/2011

great idea with this first 7 then 5 then 3 segments rebuilding.
but it fuses forever. you implemented this great option in your bluefuse 4.00 to stop fuseing when a limit is reached. can you implement this on the rebuilder too?

Tlaloc's picture
User offline. Last seen 45 weeks 6 days ago. Offline
Joined: 08/04/2008
Groups: Mojo Risin'
Version 4.11 changes

Version 4.11 makes the following changes:

1) The default is 1 to range.
2) A Tlaloc Gyre is performed on the segment it is working on when it is shaking and fuzing out.

It will not fuse forever (never did).

Tlaloc's picture
User offline. Last seen 45 weeks 6 days ago. Offline
Joined: 08/04/2008
Groups: Mojo Risin'
Version 4.12

Version 4.12 fixes some bugs. If you freeze the protein for segments you don't want rebuilt, it now properly won't mess with them instead of crashing.

A few more details on the algorithm:

After it finds a legitimate rebuild, it first shakes and wiggles out. Then it performs a RepeatBlueFuse. Finally it performs a Gyre on the segment at the center of the rebuild area. If after all this, the protein has a higher score than the protein before the rebuild, it saves that as the new protein to work from and goes on to find the next rebuild.

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



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