Remix and Fragment Insertion
This post will cover the new Remix tool and the idea of Fragment Insertion in protein design.
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
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:
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.
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 83 1089 | Wed, 05/11/2016 - 00:16 | 5 comments )