More about the Blueprint Tool

Foldit players posed several great questions about the Blueprint tool for our last Science chat, but we didn’t have time to answer all of them. We're long overdue for an in-depth explanation about the Blueprint tool, but it seems that players are finding the tool useful and we'd like to share more about it's mechanics. In particular, we hope this blog post can shed some light on the following question:

It has been pointed out that removing Blueprint tool constraints towards the end allows for substantial score improvement. Why is this, as it seems counterintuitive?gitwut

Before I answer this question, I’d like to offer a little more background on the Blueprint tool:


There are two motivations behind the Blueprint tool: The first is simply to make “ideal loops” more accessible to players. The Ideal Loop Filter has helped Foldit designs tremendously, and the recent top-scoring designs have all had excellent loops. However, it seemed that players were required to do a lot of work in order to satisfy that filter. Hopefully, the Blueprint tool has made it easier (especially for beginners) to satisfy the Ideal Loop Filter.

The second motivation for developing the Blueprint tool is to provide an alternative design process. Some of us suspect that bad Foldit backbones are the result of aggressive loop building in middle- or late-game strategies. For example, suppose you're designing a protein and decide to form the loops last: by the time you build loops, you may have already cemented your helices and sheets into place and optimized the core packing of your protein, and as a result the backbone does not have a lot flexibility for rebuilding loops. The endpoints of two neighboring beta strands may be positioned such that there is no stable loop to bridge them. Aggressively using Rebuild/Remix to force a loop between incompatible endpoints is akin to hammering a square peg into a round hole. It will be impossible to close the loop without compromising the geometry of the backbone. We had hoped the Blueprint tool could be used early in the design process to quickly construct a "healthy" rough draft of a design, which could be gradually optimized without compromising the backbone geometry.

BuildingBlock Torsion Constraints

To answer gitwut's question, BuildingBlocks include torsion constraints. Torsion constraints force a residue to a certain region of the Ramachandran Map—much like Rubber Bands (which represent distance constraints) force two residues to be a certain distance from one another. When constraints are present, Wiggling a solution will not produce points as quickly, but the solution will try to follow the constraints. Broadly speaking, constraints allow us to redirect Wiggle toward a desired result, usually sacrificing short-term gains to find an ultimately better model.

Placing a BuildingBlock loop onto the Blueprint Panel introduces torsion constraints to the loop residues (likewise, removing the BuildingBlock removes the constraints). The torsion constraints are intended to preserve the BuildingBlock loop while a player develops the rest of his or her design. Constraints are needed in this case because the Foldit energy function does not necessarily favor the BuildingBlock loops. In fact, we don't fully understand why the BuildingBlock loops are so prevalent in natural proteins. These loops may be favored for reasons that are not explicitly modeled in Foldit—like folding kinetics, or more complex entropic effects. (In contrast, helices and sheets are naturally stabilized by hydrogen bond forces, which are captured by the Foldit energy function.) Without the torsion constraints, Wiggle is prone to obliterate the BuildingBlock loop in favor of more short-sighted energy gains. We intended that players might keep the constraints around to preserve the BuildingBlock loops until a design-in-progress has settled into a mature fold—only then removing the constraints for late-game refinement.

BuildingBlock Adjustments

To make things even more complicated, note that we've manually adjusted how BuildingBlocks are applied through the Blueprint Panel. That is, when you drag a BuildingBlock onto the Blueprint Panel and the protein backbone snaps into place, this initial "adjusted" form is only a rough approximation of the loop's optimal form. When you Wiggle the loop, the torsion constraints will drag the backbone to its optimal shape, which may be slightly different from initial adjusted shape (this is particularly noticeable for β-hairpins BuildingBlocks). This is because the BuildingBlock loops are derived from native proteins, which never have perfectly ideal helices and sheets. If you were to apply the optimal BuildingBlock loops to Foldit's ideal beta strands, the ideal beta strands would not align to form hydrogen bonds (Figure A, above). In order to make the tool more user-friendly, we adjusted the optimal BuildingBlocks so that the hairpin loops would be compatible with Foldit's ideal sheets. Thus, a BuildingBlock hairpin will initially snap two ideal strands into perfect alignment (Figure B); and subsequent Wiggling will allow the beta strands to flex slightly, so that the BuildingBlock loop can relax into its optimal form (Figure C).

As an aside, some astute Foldit players have noticed that the BuildingBlocks collection is missing a BAAB β-hairpin, which is a stable loop frequently found in nature. As it turns out, this loop induces significant deformation of the adjacent beta strands. As much as we tried, we were unable to adjust the BAAB BuildingBlock so that it would be reasonably compatible with Foldit's ideal beta strands, and that particular loop was omitted from the BuildingBlocks collection.

( Posted by  bkoep 95 710  |  Mon, 01/30/2017 - 20:33  |  7 comments )
Joined: 09/29/2016
Groups: Gargleblasters

Thanks for the explanation. :)

Being a newbie still, but more importantly a total ignoramus in regards to the science at work, I'm hoping maybe you can shed some light on a few seemingly simple questions I have...

1) In reference to the figure in the last part you said:
"Thus, a BuildingBlock hairpin will initially snap two ideal strands into perfect alignment (Figure B)"
Often I've found when I have two Sheets laid out already, when I drop one of the hairpin presets (buildingblocks) in place that more often than not it actually ends up looking like Figure A, as apposed to Figure B. Some times if I run Ideal SS on the two Sheets after applying the preset, then it'll turn out like Figure B.
Thus my question becomes, is that because I have too many segments in my sheet for the particular preset I've used, or due to something else beyond my understanding? (generally speaking all of the sidechains are default still, if that plays into it)

2) When it comes to assigning Aminoacids I've noticed that the BuildingBlocks window does lend a hint, but only whether it should be a Glycine or not.
My question being, are there ideal Aminos that the scientists are looking for and/or show up the most often in nature? Or, is it more of an "anything goes, whatever scores best" and so it really doesn't matter if it's made -philic or -phobic?

3) In regards to Chiralty (which I know so very little out) I've noticed that other than lining up two Sheets from different areas, the only other way to obtain Parallel Sheets seems to be the 5-Loop preset between two Sheets right next to each other (causing the Ideal Loops filter to not pass).
So A) Is that an intended usage for it? and B) Why aren't there any 3-Loop sheet-sheet presets?


Susume's picture
User offline. Last seen 6 hours 53 min ago. Offline
Joined: 10/02/2011
Ideal SS first

I suggest running Ideal SS on your sheets before you drop the building block between them. Then they will form at least a few sheet bonds when you place the building block, as in Fig. B. If you run Ideal SS after placing the building block, it will undo the adjustment to the sheet that the building block put in.

For the most common AAs in nature in the ideal loops, page down to Fig. S3 in the Supplemental Info to the second Ideal Design article.

There are examples of parallel sheets in folds 2, 4, and 5 in the first Ideal Design article (page down to Fig. 2). They all have a helix between the end of one strand and the beginning of the next. Fold 3 has mixed parallel and anti-parallel strands - the two on the right are anti-parallel (they are joined by a short loop and point opposite directions), and the two on the left are parallel (they are joined by a helix and point the same direction).

Joined: 09/29/2016
Groups: Gargleblasters

Thanks Susume :)

If I've made the sheets with the drag-drop 3-sheet preset, I usually won't Ideal SS them since I figured they were already ideal.

I'll be sure the check the link out, though!

tokens's picture
User offline. Last seen 39 min 2 sec ago. Offline
Joined: 11/28/2011
Removing the building block constraints early

Thanks for the interesting blog post.

I tend to remove the building block constraints very early in a design puzzle, after wiggling only once or twice. I have tried keeping them longer, but that approach seemed to make the helices and especially the sheets deviate to much from their ideal shape (ultimately resulting in a lower score). This might be an artefact of my early game approach to design puzzles which is to run banding scripts that also mutate.

alcor29's picture
User offline. Last seen 3 days 17 hours ago. Offline
Joined: 11/16/2012
blueprint vs. ideal loop filter

Why is it that though I correctly use only the loops prescribed by blueprint I still see a 300 to 400 ideal loop filter penalty?

bkoep's picture
User offline. Last seen 11 hours 32 min ago. Offline
Joined: 11/15/2012
Groups: None
Secondary structure necessary

I can't know for sure without seeing your solution, but you might double check that your solution is forming the correct secondary structure on either side of the loop.

The Ideal Loop Filter checks (1) that each loop matches the ABEGO signature of one of the Ideal Loops, and also (2) that the loop is placed between appropriate secondary structures (i.e. helix or sheet). Use the "Auto Structures" tool to detect secondary structure in your design. If your helix or sheet is not making the correct hydrogen bonds, the Foldit will not recognize the region as helix or sheet!

Susume's picture
User offline. Last seen 6 hours 53 min ago. Offline
Joined: 10/02/2011
Which should be more ideal, loops or sheets/helices?

My method has always been to freeze all sheets & helices for the first wiggle, keeping them ideal while forcing the loops to do all of the adjusting as my bands pull the structures into the desired shape. This blog post makes me wonder if I should omit the freezing so that both structures and loops are doing some of the adjusting from the very beginning.

Get Started: Download
  Windows    OSX    Linux  
(10.7 or later)

Are you new to Foldit? Click here.

Are you a student? Click here.

Are you an educator? Click here.
Only search
Recommend Foldit
User login
Top New Users

Supported by: UW Center for Game Science, UW Department of Computer Science and Engineering, UW Baker Lab, DARPA, NSF, HHMI, Microsoft, and Adobe