Remix and Fragment Insertion

This post will cover the new Remix tool and the idea of Fragment Insertion in protein design.

Fragment Insertion

A Fragment is a shape for a piece of protein backbone. Fragments can be of any size. A fragment of size 3 will be a shape for 3 residues in a row, size 9 will be for 9 residues.

When we insert a fragment, we are copying the shape of that fragment onto a piece of backbone. Think of it as copy/paste for a piece of backbone shape. Below you can see 3 different fragments in turquoise that were copied onto the backbone by Remix.

The collection of fragments that we copy/paste from is called a fragment library.

We want our fragment library to be filled with the best fragments possible - fragments that we’re confident are good shapes that will give our folds the highest chance of success.

So where does our fragment library come from?

Often times the best approach to protein folding (or anything, really) is to take what works and re-use it.

We have thousands of proteins from nature whose shape we already know. We’re certain that those shapes work because we have physical proof. By looking at these known shapes, we can look for fragments that are common in many natural proteins. We take these and make our fragment library out of them.

Then, when someone needs a shape for a piece of backbone, we look into our library and find fragments which we can copy/paste onto our protein. The tool that does this looking up and copy/paste is called the fragment picker.

Foldit's Fragment Pickers

Rebuild was the first and original fragment picker in Foldit. Rebuild picks from a library of fragments of size 3. When you run rebuild on a piece of backbone, it picks a random sub-piece of size 3 within your selection, looks up a fragment, then copies and pastes it onto your protein.

There are two problems with Rebuild. The first is that only having fragments of size 3 means that if you want a bigger fragment, you’re going to have to combine several smaller fragments, which is less scientifically valid.

The second and larger problem is that Rebuild isn’t very particular about which shapes it chooses. You just ask for fragments of size 3 and it gives them to you*. Then Rebuild does a bunch of work behind the scenes to try and make the fragments fit into your selection.

You can see the actual fragments Rebuild is trying to insert (no behind the scenes work to make it fit) by putting a cutpoint at one end of the selection and disabling cutpoint forces. Take a look at some of the results below:

As you can see, these fragments really don't fit very well. The blue band represents the gap between where the endpoint is and where it needs to be. The only way to make them "fit" requires destroying the original fragment in the process.

Remix tries to solve both of these problems. Firstly, Remix's fragment library has fragments from size 3 up to size 9.

Second, and more importantly, when you ask for a fragment out of Remix, it instead looks for a fragment that will naturally fit between the ends of your selection.

Here are some results of Remix without any modification after insertion:

All of these fragments just fit. The yellow band shows you the cutpoint is already close enough to be closed. In reality, we still "fix" the fragments from Remix as well, but they only need minor adjustment, so the fragment is left intact.

What this means is that Remix is much better at leaving you with more scientifically valid fragments.

* Rebuild does take your backbone sequence and secondary structure into account when doing a lookup, but no conformation information.

Using The New Remix

Remixing through the UI

To Remix a piece of backbone, select the piece and hit the Remix button (or, in the original interface, right click and hit the Remix button). This will pop up the Remix UI.

Let's go over the UI here. First off, there are arrow keys left and right. These let you cycle through the various fragments that Remix found for this selection. You can see which fragment you're currently looking at in the text below the buttons. The first fragment is always what you started with before you ran Remix, and won't change anything.

The Stop button accepts the currently shown fragment. You can also use the stop button in the upper left hand corner of the screen, and it will have the same effect.

Next to the text showing which fragment you have selected, you can also see a score. This score allows you to get an idea of how well fragments score without having to close the tool and shake the selection. Keep in mind it's only a rough estimate, and is only useful for comparing the results relatively. Your final score will likely be nothing like the score shown here.

Lastly, we have the Plus button. This button gives you access to the quicksave functionality of the new Remix tool.

When you press the button, you will see a new button pop up above.

Pressing this new Plus button will quicksave this fragment to Slot 1.

After saving, you can click that quicksave button to go back to that fragment. Pressing Plus for an additional fragment will give you the option of saving to a new quicksave slot, or overwriting an existing one. You can also press the Stop button that replaced the Plus in order to cancel the quicksave.

When you've got all the fragments you want, press Stop and these fragments will be available in your Quicksave slots. Pressing Ctrl-1 through Ctrl-8 will give you access to them.

Remixing with Scripts

Remix can also be accessed via scripts. Here's a quick tutorial on how to use it:

The function call for Remix is

structure.RemixSelected(start_quicksave, num_results)

When you run this function, it will Remix your selection and place up to num_results different results into your quicksave slots, starting at slot start_quicksave. It will return the number of results that were actually inserted, as sometimes there will not be as many as you have requested available.

Let's look at an example:

print(structure.RemixSelected(5, 3))

If there were 3 or more results, this would print "3" and place the results in quicksave slots 5,6,7.

If there were only two results available, it would print "2" and you would only have results in quicksave slots 5 and 6.

General Tips

Fragment picking is best used for figuring out the loops of the protein. Loop shapes vary a lot more than other secondary structure, and so finding good loops is harder, and using actual fragments from real proteins becomes more important.

In general, it is best to use the larger fragments, since that gives you a bigger piece of good backbone in a way that several smaller Remixes may not.

Don't put too much value in the estimated score shown in the Remix UI. Differences of less than 100 points aren't very meaningful.

In the event that Remix doesn't find anything, try selecting one more or one less residue on either side of the selection. Often times this will be enough to give you a better range of results. This is easy to do in the Selection Interface, but requires some secondary structure reassigning in the Original Interface.

Lastly, after inserting a fragment, any changes to that selection will put you further and further from the fragment. As such, it's best if you can find a fragment that requires minimal modification to make it into your final design.

( Posted by  jflat06 78 1060  |  Wed, 05/11/2016 - 00:16  |  5 comments )
bertro's picture
User offline. Last seen 2 days 16 hours ago. Offline
Joined: 05/02/2011
Groups: Beta Folders
That is a great explanation

That is a great explanation of the tool and its intended purpose.

Thank you jflat06!

Joined: 09/24/2012
Groups: Go Science

First a big thank for this clear explanation !
I have several minor questions:

a)-are there also remix proposals for helices and sheets fragments ? and for mixed fragments?
b)-would it make sense to give us (in the scripting interface) the estimated value given on the UI (this in order to accelerate scripts - shake is also very slow there)?
c)-sometimes, the number of remixes is > 53. Is there any limit in the remix quicksaves ? (aside the limit of 100 for any quicksave)?
d)-if not, would the following strategy be able to resolve this limit (in scripts): remix and save from 1 to max, take the best one, remix again from there (1 to max) in the hope of getting the remix nb 101 somewhere in this process.
e)-if I change a (helix or sheet) fragment to loop before to remix, I suppose that the remix would give a "false" (loop) solution? So it's better not to change the desired structure before to remix?

Thanks !

btw: if you want to have a look on our few new remix scripts in order to find our possible misunderstandings there ...

jflat06's picture
User offline. Last seen 5 hours 3 min ago. Offline
Joined: 09/29/2010
Groups: Window Group

a) Remix doesn't distinguish on secondary structure. I believe the tool will still give you reasonable results for sheet/helix. For mixed fragments, it may change where the loop starts and the sheet/helix end, though.
b) That's a possibility, though the interface for doing so would be convoluted and it would be of questionable usefulness. The score is a VERY rough estimate.
c,d) There is no limit other than the 100 quicksave slots. If you request results that would run off the end (num_results+start_slot > 100), it will error out.
e) Remix doesn't take the secondary structure into account. It only looks at end-points. So you shouldn't need to worry about this.

alwen's picture
User offline. Last seen 12 hours 13 min ago. Offline
Joined: 10/03/2011
I see the Remix tool has been

I see the Remix tool has been added to the wheel in the original interface.

My question is, in the original interface, how do I (or can I) select the segments I want to Remix?

I have been jumping into Selection interface to do it, but wonder if it can be done in original or not.

Joined: 09/24/2012
Groups: Go Science
A question on "ideal loops"

Even when selecting a Remix proposal for a loop, I still stay with "non-indeal loop" penalty.
How is his possible? (is the database different for fragment filter and for remix?).

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

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