Folding@home

tl;dr: If you have computers laying around at home, especially computers with a relatively powerful GPU and/or CPU (but any computers really), consider downloading the Folding@home software to donate unused compute cycles to the computationally intensive number crunching effort involved in modeling protein folding to find treatments for COVID-19. The software will only use your compute resources when you're not so you don't need to worry about your computer being any less capable when you need it for something.

Long version: We have LOTS of proteins in our bodies. If each protein were scaled up to the size of a penny, the proteins in your body would fill the Pacific Ocean.

Proteins do all sorts of things necessary for you to function. They are the molecular machines that make all of the cool stuff your body does possible. They tend to be extremely large and complex molecules made up of various combinations of 21 amino acids.

The long molecular chain that makes up a protein “folds” in on itself to take a specific shape. The shape of the protein molecule determines what kind of biological function it is capable of serving. If you were able to quickly model the way a protein would fold, you could create custom molecules to carry out all sorts of biological functions. For example, you could design a protein that specifically attacked SARS-CoV-2 (the virus that causes COVID-19).

The good news is that scientists and mathematicians have come up with some really clever techniques for modeling the way a theoretical protein is likely to fold. The bad news is that it is EXTREMELY computationally expensive to model that folding. The way each piece of the protein folds is dependent on all of the other pieces of the protein in its vicinity.

A simpler example of another system that has similar dynamics is modelling the gravitational effects of objects like stars in space. If you have a cluster of a million stars, they all are exerting gravity on one another. This causes each of them to move. As they move, the vector of the gravitational force that each star exerts on each other star changes.

One way to model the stars’ motion is to “step” through the simulation and recalculate the gravitational forces at each step. The number of calculations involved in even one step can quickly become astronomical (no pun intended).

Let’s say you only had three stars in the system (A, B, and C). For each step, you would need to calculate The vector between A and B, B and C, and A and C. That’s only 3 vectors per step but if you were comparing 10 stars, the number of comparisons per step would be 45. You then need to add up all of those individual vectors and calculate the motion of each star until the next step. The number of calculations per step for n stars grows on the order of 1/2(n2) so by the time you get to a million stars you’re looking at somewhere in the neighborhood of 500 billion calculations per step. (Note for those really into math and complexity theory: this is an oversimplification and mathematicians have figured out tricks and shortcuts to ease the computational load in n-body calculations so that they can be done relatively accurately with calculations that grow at rates like n(log n) instead of n2.)

To do these kinds of stepped calculations, you also need to decide on a timescale. For example, you might make each step one day or one year or one century. The longer the time step the fewer calculations you need to do but the more inaccurate your calculation becomes.

To complicate matters, in the case of protein folding, the protein molecule is subjected to constant bombardment from the smaller molecules around it which causes it to jiggle (Brownian motion). Even though most proteins fold in a matter of seconds, that Brownian motion happens on a femtosecond (one quadrillionth of a second) timescale meaning that the simulation needs to have each step set at a very short time interval to achieve any kind of accuracy. This means that you need A LOT of steps to finish the folding simulation for a relatively complex protein.

Mathematically, quantum algorithms running on quantum computers hold a lot of promise for being able to quickly and accurately model the way proteins fold but since none of our quantum computers are anywhere near powerful or reliable enough to do that yet, for now we need to rely on the old-fashioned method of crunching the numbers on classical computers with brute force.

This either means getting access to huge, very expensive supercomputers, or in the case of Folding@home, borrowing the unused computational power of thousands of individual desktops and laptops to speed up the process of modeling protein folding.

If you’re sitting at home wondering what you can do to help with the COVID-19 crisis, consider donating your compute time to Folding@home. It only takes a few minutes to install and configure the software and you’ll get to say that you’re helping to find treatments for this thing without the need to get a doctorate in molecular biology.

Previous
Previous

#TrendBend

Next
Next

Cray-1