Setup the Folding@Home VirtualBox Appliance - achaudhari/misc-docs GitHub Wiki

Background

What is Protein Folding

Protein folding is one of the central questions in biochemistry. Protein folding is the continual and universal process whereby the long, coiled strings of amino acids that make up proteins in all living things fold into more complex three-dimensional structures. By understanding how proteins fold, and what structures they are likely to assume in their final form, researchers are then able to move closer to predicting their function.

This is important because incorrectly folded proteins in humans result in such devastating diseases as Alzheimer's, Parkinson's, Huntington's, emphysema and cystic fibrosis. Developing better modelling techniques for protein folding is crucial to creating more effective pharmaceutical treatments for these and other diseases.

Source: https://www.sciencedaily.com/releases/2011/06/110607121135.htm

What is Folding@Home

Folding@home (FAH or F@h) is a distributed computing project for simulating protein dynamics, including the process of protein folding and the movements of proteins implicated in a variety of diseases. It brings together citizen scientists who volunteer to run simulations of protein dynamics on their personal computers. Insights from this data are helping scientists to better understand biology, and providing new opportunities for developing therapeutics.

Source: https://foldingathome.org/

Your laptop can help fight COVID-19 with Folding@home project

Instructions to Start Using Folding@Home

Install VirtualBox

Windows

  • In a web browser, navigate to https://www.virtualbox.org/wiki/Downloads and click on "Windows hosts". This will download a file with a name like VirtualBox-x.x.x-xxxxxx-Win.exe to your Downloads directory. This is the installer
  • Open the Downloads directory and run the installer
  • Click through the installer by hitting Next. You may use default values for all options
  • The installer may ask you to reboot your computer. Please do do.

Mac OSX

  • In a web browser, navigate to https://www.virtualbox.org/wiki/Downloads and click on "OS X hosts". This will download a file with a name like VirtualBox-x.x.x-xxxxxx-OSX to your Downloads directory. This is the installer
  • Open the Downloads directory and run the DMG
  • Double click the VirtualBox.pkg icon to launch the installer
  • Click through the installer by hitting Continue and Install. You may use default values for all options
    • You may be prompted for a password
    • You will also have to go to the "Security and Privacy" settings for MacOS and "Allow" "Oracle America, Inc" in the General tab. If the install fails, try doing this and re-run the installer.

Linux

You can install VirtualBox using the package manager on your distro or use the instructions here: https://www.virtualbox.org/wiki/Linux_Downloads

Download the Folding@Home client appliance

Import the Folding@Home client appliance into VirtualBox

  • Find "Oracle VM VirtualBox" in the Programs/Application list in the operating system you are running and start it
  • Go to File -> Import Appliance...
  • In first screen of "Import Virtual Appliance", select the Folding_At_Home_Client.ova that you just downloaded (most likely in your Downloads directory), then hit "Next"/"Continue" at the bottom
  • You should now see a screen like the following. Confirm all the parameters and hit "Import" after you are done.
    • You can choose to use all the default options or increase the number of CPUs or the amount of RAM you want to allocate for the Folding@Home client. If you aren't sure, leave the values as they are.
    • Note that the "Base Folder" in your case might be different than what's in the screenshot

width=500px

  • VirtualBox will take a minute or so to import the appliance then open the main view that looks like the following. Click on "Start" to start the virtual machine
    • Note that on MacOS you will have to give VirtualBox access to your keystrokes through "Security & Privacy" where you must check "VirtualBox.app" in the Privacy tab

width=500px

  • If you see any notifications in the screen you can get rid of them using the button below

width=500px

The Folding@Home Client

At this point you should see the main screen for the Folding@Home client

width=500px

The client has four main screens:

  • The "Status and Control" section at the top which has buttons for starting and pausing folding and a slider to control how much CPU power needs to go to the folding operation
  • A "Folding Slots" screen that show the current status how you CPU is being used. The default state is "Paused" so nothing will happen until you hit the "Fold" button above
  • A "Work Queue" screen that shows what's currently happening
  • A "Selected Work Unit" screen that will display details about the actual folding job that is running including progress, estimated time and the project code. You can look up the project code at https://apps.foldingathome.org/psummary to see which disease that drug is meant for. You can check the status of each item in the work queue

Main Buttons

width=500px

  • You can use the "Fold" and "Pause" buttons to resume/pause the computation on your computer
  • The icon marked in blue below is the link to the application in case you accidentally close it
  • The icon marked in red allows you to turn the whole appliance off. Just click on it and choose "Shut Down" to turn off the appliance. Please "Pause" before you shut things down. You can turn it back on by running VirtualBox and hitting start on the "Folding_At_Home_Client"

What happens when I hit "Fold"

When you start folding, you are telling the Folding@Home servers that you are ready to accept tasks to work on. At that point you have to wait for the server to assign you some work which may take anywhere between minutes to hours. The idea is that you just leave the application in "Fold" mode and go about your business. The appliance will take at most 2 CPUs in the background which should give most modern computers enough processing power to do other things, so you can continue using your computer.

Here are the various states that the application can be in:

  1. PAUSED: The client is not ready to accept jobs. This happens when you hit "Pause".

width=500px

  1. READY: The client is ready to accept jobs but it hasn't been assigned work yet

width=500px

  1. RUNNING: The client is actively working on problems. Congratulations! You are now officially helping find cures for some of the most difficult diseases known to mankind! (The more green you see in the bar below the harder your machine is working)

width=500px

Security and Privacy

https://foldingathome.org/faqs/rules-policies/safe-run-foldinghome/

https://foldingathome.org/faqs/miscellaneous/what-about-security-issues/

This application is basically leasing your CPU to perform a task that someone in a research lab thinks is working towards a good cause. While it's hard to predict if your CPU is actually helping contribute to the good cause or not, the packaged virtual machine at least makes sure that the program is isolated and sandboxed. It does not have access to any of your personal files and by shutting down the virtual machine you are stopping all activities carried out by all applications in the foreground and the background.

Reference