SCP File Format June 12, 2002 The SCP file format (extension .scp) represents a side-chain positioning problem. FORMAT OF THE FILE # comment # comment # ... num_nodes p m_1 s_1 m_2 s_2 m_3 s_3 . . . m_p s_p num_nonzeros i j val . . . END The comment lines are ignored. num_nodes is an integer that is the total number of rotamers in the graph. p is the number of positions (aka columns). The nodes should be thought of as numbered from 1 to num_nodes. Positions are numbered from 1 to p. The nodes are divided into positions by the integers m_1 through m_p: nodes 1 to m_1 (inclusive) are in position 1. Nodes m_1+1 through m_2 (inclusive) are in position 2, etc. In other words, m_i is the highest numbered node in position i and m_{i-1}+1 is the first node in position i. Note that m_p always equals num_nodes. s_i is the amino acid in position i represented by a single letter. Use "_" to represent unknown or not applicable (for, e.g., random graphs). num_nonzeros is the number of nonzero entries in the cost matrix. One line of the format "i j val" must be included for each nonzero. The line "i j val" says the interaction cost between node (rotamer) i and node j is val. Self energies are included with "i i val". Notes: 1. Any number of comment lines can be included, but only at the beginning of the file. They must have "#" in the first column. 2. The self energies in the cost matrix must be given first, in order. The other nonzero values of the cost matrix can be given in any order. Since the matrix must be symmetric, you can only include one of either (i,j) or (j,i) but it doesn't matter which. For consistency with the code that's already written i should be <= j, but this is not a requirement. 3. val is a float or a double. It may contain "e+03" or similar to denote exponentiation. The format must be readable by scanf("%f"). 4. "Nonzeros" need not be not zero :). A line "2 3 0.0" is acceptable but then num_nonzero must count this as a "nonzero." EXAMPLE FILE Below is an example of an SCP file for a problem with 20 nodes and 4 positions. Nodes {1,2} are in position 1, {3,4,5,6,7,8,9} in position 2, {10,11,12,13,14,15,16,17,18} in position 3, and {19,20} in position 2. The sequence is AVRA (I made this sequence up). There are 109 cost entries included in the file. # An example SCP file # edge_prob = 0.700, n = 20, p = 4 20 4 2 A 9 V 18 R 20 A 109 1 1 28.838099 2 2 38.164860 3 3 42.608280 4 4 72.315880 5 5 90.676094 6 6 87.823425 7 7 51.528214 8 8 65.303741 9 9 9.134373 10 10 96.382629 11 11 69.596497 12 12 87.656136 13 13 75.368782 14 14 -1.588546 15 15 59.979645 16 16 51.734177 17 17 66.485870 18 18 81.084602 19 19 30.959980 20 20 3.594658 1 20 15.208608 1 19 70.170403 1 18 80.413612 1 16 72.002159 1 14 -7.594335 1 13 67.353851 1 11 79.530426 1 10 2.840724 1 8 74.002625 1 6 74.913971 1 3 34.314018 2 20 16.776672 2 19 72.320007 2 17 -7.850398 2 13 7.051486 2 12 96.811485 2 11 -6.038888 2 9 8.804509 2 8 31.118063 2 7 3.005062 2 6 21.961161 2 5 43.956432 2 4 45.444401 2 3 60.494144 3 17 46.183617 3 16 71.833031 3 15 75.766754 3 14 93.251343 3 13 33.908089 4 20 15.772748 4 17 41.541248 4 16 -6.572434 4 15 84.646935 4 14 13.196510 4 13 18.957956 4 12 16.126022 4 11 72.452736 5 18 -0.034262 5 17 69.558975 5 16 47.105373 5 14 71.464119 5 12 15.280501 5 11 -2.348079 5 10 73.404144 6 20 23.319418 6 19 37.882420 6 17 88.711517 6 16 76.109520 6 15 -5.600130 6 14 74.812897 6 13 63.458820 6 11 60.031254 6 10 0.864669 7 19 52.568115 7 18 95.630989 7 17 77.083763 7 16 50.531227 7 15 53.852276 7 13 68.541718 7 12 68.163071 7 11 74.422585 7 10 91.878235 8 20 23.398455 8 18 84.414848 8 15 12.345197 8 13 74.462776 8 10 56.967987 9 20 23.614729 9 19 79.977928 9 17 94.226669 9 15 13.782785 9 14 24.174480 9 13 54.885269 9 12 55.792450 9 11 30.038216 9 10 54.687485 10 19 24.707787 11 20 60.904129 12 20 13.775163 12 19 1.659245 13 19 -3.440138 14 19 36.598076 15 20 20.942118 15 19 93.688797 16 20 -7.419661 16 19 48.630051 17 19 38.951572 18 20 76.205193 18 19 18.929497 END