Homework 1 Files and Instructions
- Fill out introductory survey
- Contact research mentor
- Get familiar with Google Colab
- Download PyMOL with educational license
- Complete PyMOL tutorial (Optional)
- Obtain a PyRosetta academic license
- Install PyRosetta
- Get familiar with GitHub
- Turn in homework assignment
We have put together a survey to get to know you better in terms of your coding background and familiarity with proteins. Your honest answers will help us better tailor the course to your needs.
- Fill out the introductory survey
Your research mentor (likely a graduate student or a post-doc) from your host lab will work directly with you after the code school. However, you should be in touch with them prior to the code school to discuss your project and start reading relevant papers. What we ask you bring to the code school week is the protein/macromolecule of interest for your project. For example, your project might be based on antibodies or an enzyme. You should have a PDB file for your protein of interest. If you do not have the PDB file but your mentor gave you the PDB ID, you can download it from the RCSB PDB.
- Contact your research mentor and discuss your project
- Ask if there is a specific protein/macromolecule you should bring to the code school week
Google Colab is a free cloud service that provides GPU and TPU for free. It is a great tool for running PyRosetta as well as machine learning models. We will be using Google Colab for the code school week.
To get familiar with Google Colab, please go through the following tutorials:
The more comfortable you are with Google Colab, the easier it will be to complete the homework assignments.
PyMOL is a visualization tool for biomolecules. We will use PyMOL to build an understanding of protein structure. It is very likely that your research mentor will ask you to use PyMOL to make figures for your Summer RosettaCON poster. Once again, the more you know about PyMOL, the easier it will be to build an intuition for protein engineering and design.
- Download PyMOL with an educational license
Optionally, complete the following PyMOL tutorial using your protein of interest (given by your research mentor):
Also optionally, you can go through the following PyMOL guide:
PyRosetta is a Python-based interface to the Rosetta molecular modeling suite. It enables users to design their own custom molecular modeling algorithms using Rosetta sampling methods and energy functions. We will be using PyRosetta for the first half of the code school week.
- Obtain a PyRosetta academic license from here by clicking "Order Now" under "PyRosetta Software Academic License" and following the instructions.
Now it is time to install PyRosetta into Google Colab.
- Create a folder in your Google Drive for storing notebooks (this can be called anything you like).
- Download this notebook
01.00-How-to-Get-Started.ipynb
from your GitHub repository and upload it to your Google Drive folder. - Open the notebook in Google Colab and follow the instructions in it.
- Notice that you have already completed Step 1 and Step 2 outlined in the notebook by following the instructions above.
- For Step 3 in the notebook, when you run the cell you should not need a login/password pair. If you are prompted, contact Marissa.
Verify that you have successfully installed PyRosetta by running the following line in a new cell:
pyrosetta.init()
Take a screenshot of the output and add it to your GitHub repository for this assignment. The teaching team will check that this is turned in with the rest of your homework assignment.
GitHub is a code hosting platform for version control and collaboration. We will be using GitHub to distribute homework assignments and collect your solutions. Here is a GitHub basics tutorial made by GitHub:
There is also a tutorial in this repository that you can go through:
You do not need to complete anything for this section. We just want you to get familiar with GitHub.
To turn in your homework using GitHub, you will need to commit and push changes you've made to your repository. You can do this by following the instructions in the GitHub tutorial above.
- Commit and push changes to your repository
You are encouraged to reach out to your peers and the teaching team while working through this assignment. You can use the Slack channel to ask questions and discuss the homework. Thoroughly read through the assignment and attempt to complete it on your own before asking for help. When asking for help, be sure to include all relevant details and a screenshot of any error messages you are receiving (if applicable).