Began versioning
[parallel_computing.git] / assignments / archive / protein_shapes / index.shtml
1 <!--#set var="root_directory" value="../../.." --><!--#include virtual="$root_directory/shared/header.shtml"-->
2
3 <h1>Protein Shapes</h1>
4
5 <p>Knowing the shapes of proteins is of primordial importance in
6 understanding their biological functions. <em>Protein folding</em> is
7 the problem of modeling proteins in order to predict their native
8 shapes. It is a very difficult problem that still escapes the best
9 approaches.</p>
10
11 <p>One such approach is to represent the amino-acids as "beads" in a
12 chain and to allow the beads of the chain to occupy the intersections
13 on a square lattice. In this model one first finds all the unique
14 shapes of a protein of a given number of beads on a lattice. The model
15 can be further simplified by assuming only two types of
16 amino-acids: <em>hydrophobic</em> (<b>H</b>) and
17 <em>polar</em> (<em>P</em>). The interaction between the amino-acids
18 are assumed to be of contact (short-range) types. The energy of a
19 given protein shape is therefore given by the number of contact
20 interactions. The native state is then obtained by applying
21 Statistical Physics arguments to find the most favored states.</p>
22
23 <p>The code <a href="src/protein.c">protein.c</a> solves the first
24 part of the problem, i.e., finds the unique shapes of a protein with a
25 given number of beads constrained to have a given number of contacts
26 between beads and with an arbitrary distribution of <em>H</em>
27 and <em>P</em> amino-acids.  The code:</p>
28 <ul>
29   <li>finds the unique shapes of the bead chain on the lattice with a
30     given number of contacts and</li>
31   <li>populates the chain with <em>H</em> and <em>P</em>
32     amino-acids.</li>
33 </ul>
34
35 <p>The code uses a recursive approach to find the shapes. It stores
36 the unique shapes in a linked list. It populates the <em>H</em>
37 and <em>P</em> amino-acids via a recursive routine and store these in
38 a separate linked list. The code "draws" the shapes in strings and
39 print these via simple <code>printf()</code> statements.</p>
40
41 <p>Build the code with</p>
42 <pre>
43 gcc prote/in.c -lm -o protein
44 </pre>
45 <p>Please take a look at the source code to understand the argument
46 list.</p>
47
48 <h2>References</h2>
49
50 <ul>
51   <li>Hue Sun Chan and Ken A. Dill, <i>Transition states and folding
52       dynamics of proteins and heteropolymers</i>, J. Chem. Phys. 100
53       (12) 9238-9257.</li>
54   <li><a href="http://www.sandia.gov/media/fold.htm"><i>Mechanism of
55         protein misfolding captured in computer
56         simulation</i></a>.</li>
57   <li><a href="http://www.research.ibm.com/journal/sj/402/duan.html">
58       <i>Computational protein folding: From lattice to
59         all-atom</i></a>.</li>
60   <li><a href="http://www.worldscinet.com/ijmpb/16/1604/S0217979202009950.html">
61       <i>Sequence Design and Folding Dynamics of Lattice Protein-like
62         models</i></a>.</li>
63 </ul>
64
65 <!--#include virtual="$root_directory/shared/footer.shtml"-->