COSMOS CLUSTER V, SUMMER 2017
COMPUTATIONAL BIOPHYSICS

INSTRUCTORS: Rajiv Singh , Dave Cone

GENERAL DESCRIPTION:
In order for biological organisms to function, the different ingredients in all the complex chemical reactions that sustain life need to come close together. How does that happen? Are the reactants moved into position by special transport objects ("molecular motors") or does nature rely on the reactants just finding each other randomly? In this cluster we will discuss the answer to that question, and, in particular, solve the problems of "diffusion" and "random walks" which are important not only in biology but in all sorts of natural processes. We'll learn how to address these topics both with "pencil and paper" calculations but also, when such calculations get too hard, with simulation programs. There are some technical things we need to learn along the way: the linux operating system of the computers we will be using and how to write programs in C and python. We won't assume students know too much about these things, so we'll do a lot of simple, but interesting warm-up programs before tackling our biophysics projects.


BASICS and COURSE SCHEDULE:

Where should I be?
Cluster Goals
Cluster Organization
Computers
Final project-a 2017
Final project-b 2017

LINUX Operating System:
Review of linux operating system
Summary of Unix commands and tricks
Logging in and linux beginnings
Editing and hello.c
Compiling

C Programming:

Cluster 5 (Biophysics) Sequence with C
This is a summary of C programs we will review in the class.

C Program Samples :
helloworld.c
add.c
variables.c
odd_even.c
countC.c
factorial.c
quadratic_shell.c

PYTHON Programming:

"Fast Lane to Python" Norm Matloff, UC Davis (Quick intro to python)
This is a good introduction to python for those with some C programming background. Read only through Section 1.5 (about 15 pages) for now.

"Python Cheat Sheet" (Quick reference to python)
This a qucik reference to basic python data types and syntax with examples.

Link to python.org website
There is a wealth of information about python on the internet. This link is the official website and is worth looking at. Click link to tutorials if you want an introduction to python.

Link to free python 2.7 distribution with anancoda (continuum analytics)
Use above link to download and install (for free) python on your windows/mac/linux machine. Note that you want to download and install the 64-bit python 2.7 graphical installer(for windows or mac). Do not install python 3.0 or higher !

Cluster 5 (Biophysics) Sequence with Python
This is a summary of python programs we will review in the class.

Example of python interactive session
This is a print out of a python interactive session tutorial similar to the one we will do in class. If you have python ( or ipython) installed on your computer (see link above), you can go through this session yourself for review.

Link to gallery of matplotlib (python) 2D graphics examples
There are a lot of on-line resources for python programming and graphics examples. This link is particularly valuable if you want to know how to create and enhance a graph using matplotlib.

PYTHON Program Samples :

Warm-up programs
helloworld.py
odd_even.py
magic8ball.py
factorial_basic.py
factorial_function.py
basic_plot.py
quadratic_shell.py

Predator-Prey Analysis
Description of predator prey model and Lotka-Volterra equations
Graph of Hare vs Lynx populations in Northwest Territories: 1840-1940
predator_prey_shell.py

Central Dogma of Biology: DNA to proteins
Francis Crick's original paper on Central Dogma (1970)
More recent paper explaining Central Dogma and modern interpretations
Radial table with mapping of RNA codons to amino acids
Table of amino acids
RNA_codons.txt
RNA_translation_shell.py
RNA_translation_shell_hard.py
DNA_seq_random.txt

Probability and 1D random walks
calculate_pi.py
RNG_program.py
mersenne_twistor.py
gamblersruin1_shell.py
gamblersruin2_shell.py
randwalk1d_one_shell.py
randwalk1d_mult_shell.py
randwalk1d_hist_shell.py

2D Random walks
randwalk2d_simple_shell.py
randwalk2d_box_simple_shell.py
randwalk2d_mod.py
randwalk2d_target_shell.py
randwalk2d_target_hist.py

3D Random walks and supporting class modules
shapes3d_class.py
randwalk3d_class.py
randwalk3d_target_oo_one.py
randwalk3d_target_oo_mult.py
randwalk3d_target_oo_hist.py