The BYU Biophysics research group studies fundamental processes of life. We model these processes on the computer and compare with cryo-EM images. Prokaryotic cells are our current focus because of the large database of tomograms that are available.
We use the julia programmming language, which provides a solution to the "two-language problem". By understanding basic life processes, our ultimate goal is to contribute to the general knowledge of human function and thus impact medical and preventitive treatment to improve human health.
Below you will find all the information you need to get started!
Here are some interesting papers and useful textbooks which will provide foundation to the sorts of questions and problebms we are working on.
- Escherichia coli Peptidoglycan Structure and Mechanics as Predicted by Atomic-Scale Simulations
- Coarse-Grained Molecular Dynamics Simulations of the Bacterial Cell Wall
- Coarse-grained simulations of bacterial cell wall growth reveal that local coordination alone can be sufficient to maintain rod shape
- Simulations of Proposed Mechanisms of FtsZ-Driven Cell Constriction
- Random walks in Biology by Howard c. Berg
- Microcosm: E.Coli and the new science of life by Carl Zimmer
- Physical Biology of the Cell by Rob Phillips
- Physical Models of Living Systems by Philip Nelson
- Biological Physics by Philip Nelson
Here are some wonderful lectures and prestantions about various topics in biophisycal modeling
If you are unfamiliar with GitHub or how it works, in this section you will find helpful tips and terminal commands to be able to perform the basic git commands that will be necessary for us to share code and findings.
- Check out this GitHub Tutorial Video for help understanding the basics. (One thing to note: the branch people used to call "master" is now typically called "main". In the video, replace "master"->"main".)
- Branches: Around 27 mins in the tutorial video, there's a nice illustration of using different branches (and even later a nice illustration of resolving conflicting changes). After you're used to the basics of git, revisiting the latter part of the tutorial might be helpful.
As mentioned above we have chosen to work in the Julia programing language! In this section you will find helpful tips and tricks to get you started in working with this powerful language!
- Check out this Julia tutorial for on help setting up Julia and VS code on your computer
- Check out this Julia tutorial for a great introduction to the basic syntax
- Check out this Julia tutorial to learn how plots work in Julia
- Check out this helpful conversation thread on Kernel Density plotting in Julia
- Check out this helpful conversation thread about plotting single density plots for tables
- Random walk Julia tutorial
In order to run the simulation software we make use of the BYU supercomputing lab. You can find more information about that as well as apply for a supercomputing account here.
To learn how to setup a remote environment in VS Code, click here.
A random walk is a simple model of fundamental biological processes and is a great place to start doing biophysics simulations.
- Check out this amazing video which helps explains the context around and the importance of random walks
- Check out this amazing video for an introduction to the diffusion equation
- Build a program using Julia which can simulate a random walk for t number of walkers each taking n number of steps. Plot the trajectory of the walkers in 1, 2 and 3 dimensions. Also see if you can plot the density distribution for each dimension! Feel free to compare your solution with Jack and Cayson's solutions.
- 2D Random walk problem from Jim Sethna's statistical mechanics book. This problem is insightful.
- Bicycle Motion (2.1) problem from Giordano's textbook, chapter 2 on realistic projectile motion. Helpful in beginning to understand the coding behind projectile motion.
- Cannonball Trajectory (2.2) problem 2.2 from Giordano's textbook. Helpful in learning the dynamics of projectile motion in multiple dimensions.
- Natural Pendulum (3.3) problem from Giordano's textbook. Helpful in beginning to learn about chaotic motion as well as realistic harmonic motion. Take a look at problem 3.1 and 3.2 before as well for an introduction into simple harmonic motion.