## sum of segment subscores + 8000 not equal to score for protein

 Case number: 699969-998260 Topic: General Opened by: brgreening Status: Open Type: Bug Opened on: Tuesday, August 5, 2014 - 19:05 Last modified: Saturday, August 9, 2014 - 15:53

This shows that the sum of the segment energies + 8000.00 is not
equal to the score for the whole protein.

http://fold.it/portal/node/998138 Susumi's comment about scores
The game starts each puzzle with a flat number of points for free, just to make
the game more fun. In most puzzles this flat bonus is 8000 points; this allows
us to try for scores in the 8000-12000 range, which are simply more fun to play
for than scores in the 0-4000 range. In 933b it appears they increased this flat
bonus to compensate for the filter loss and ensure that our scores would be
higher than in 933. This prevents problems with evolvers having to make up the
difference when a replacement puzzle scores lower than its original.

I wrote a Lua script called seg_tot_not_tot v1.0 that adds the scores for each segment in a protein and adds 8000 to it. It also gets the points for the whole protein and compares the two values. The two values differed. They also differed by a different amount for the same puzzle if one run was done and reset and another after the puzzle had been worked on for a while.
Here are two runs for puzzle 851 that show this:

Total of Segment Energies: -873.81349408466
Total Seg Energies + 8000.00: 7126.1865059153
Total Score: 8574.8301453935 difference 1448.6436394782
Clashing -616.52133902967
Packing 3065.6932446684
Hiding -2344.7256991291
Bonding 289.48540079196
Ideality -134.21981698686
Backbone -259.40000206746
Sidechain -972.84798102716
Reference -155.8403
Other 254.56299869532
total of sub energies: -873.81349408467

Total of Segment Energies: -231198.18245789
Total Segment Energies + 8000.00: -223198.18245789
Total Score: -222474.52305941 difference 723.6593984825
Clashing -197344.62328528
Packing 2063.8010506838
Hiding -5578.8093220898
Bonding 1.4385236872644
Ideality -147.17574467526
Backbone -207.01059757123
Sidechain -29972.252052334
Reference -155.8403
Other 142.28926968436
total of sub energies: -231198.18245789

AttachmentSize
Puz951Aug3_resetscore_output.txt4.67 KB
Puz951Aug3_highscore_output.txt4.63 KB
(Tue, 08/05/2014 - 19:05  |  2 comments)

Offline
Joined: 10/02/2011

On a contact puzzle like 951, there is a part of the score that is not included in the segment scores, namely the contact filter score. Use contactmap.GetHeat(seg1,seg2) > 0 to find all the predicted contacts, and contactmap.IsContact(seg1,seg2) to find how many of those are made, and multiply that by however many points contacts are worth in that puzzle, to get the contact filter score. That doesn't explain all the discrepancy, but it needs to be included.

I assume you are using puzzle.GetPuzzleSubscoreNames() rather than a hard coded list to find all the active subscores.

Offline
Joined: 07/21/2013
Groups: Beta Folders

Is the value of how much each contact is worth in a puzzle available? Could I just use the contact filter score from the contact map? If that value that each contact is worth is not available, I don’t see how I could write code to account for the point contribution from Contact Map points. Using the contact filter score would have to be done manually, since there is no Lua code to get its value. Can I assume the contribution from all the other filters would need to be considered?

Reading the seg_tot_not_tot.lua code reveals that it calls GetPuzzleSubscoreNames to get a list of subscore names, string.lower so that the names are usable, and GetSegmentEnergySubscore to get the subscore values.

psn_table = puzzle.GetPuzzleSubscoreNames()

ls = string.lower( psn_table[ iy ] )

ses = current.GetSegmentEnergySubscore( p_ix, ls )

Switching to a Beginner Puzzle Symmetry Design with an expiration date of Aug 21 seems like a simplier idea. The following text if from running seg_tot_not_tot at when the puzzle was reset:

This shows that the sum of the
segment scores + 8000.00 is not equal to
the energy score for the whole
protein. This was run under
20140707-373183ff75-win_x86
Puzzle name: Beginner Puzzle (<150): Symmetry Design
Amino Acid Count: 40
Score: -124761.29212453
Lua version: Lua 5.1
User: brgreening
Group: Beta Folders
Local Date Time: 08/09/14 07:31:45
UTC Time: 2014-08-09 14:31:45 UTC

1 a Ala -39.253324586982
2 a Ala -33.001406918282
3 a Ala 3.2070650938638
… … …
38 a Ala 3.1566533716626
39 a Ala 0.99325784619511
40 a Ala -10.236275484604

Total of Segment Energies: -66361.945499282
Total Seg Energies + 8000.00: -58361.945499282
Total Score: -124761.29212453 difference -66399.346625245
Clashing -66534.481373484
Packing 582.92710596607
Hiding -302.49952286864
Ideality -146.99502049934
Backbone 218.79371160368
Reference -179.6904
total of sub energies: -66361.945499282

Here is some output after the puzzle had been wiggle, shaken, and had helices created:

This shows that the sum of the
segment scores + 8000.00 is not equal to
the energy score for the whole
protein. This was run under
20140707-373183ff75-win_x86
Puzzle name: Beginner Puzzle (<150): Symmetry Design
Amino Acid Count: 40
Score: 10192.740086806
Lua version: Lua 5.1
User: brgreening
Group: Beta Folders
Local Date Time: 08/09/14 07:51:06
UTC Time: 2014-08-09 14:51:06 UTC

1 a Ala -11.693510122071
2 a Ala -2.6757113641596
3 a Ala 38.193838761553
4 a Ala 45.52384845549
… … …
38 i Ile 44.243506900215
39 a Ala 24.224406095613
40 a Ala 2.4361420845052
Total of Segment Energies: 1710.0843740878
Total Seg Energies + 8000.00: 9710.0843740878
Total Score: 10192.740086806 difference 482.65571271775
Clashing -251.94543003424
Pairwise 13.200946261556
Packing 3187.2739475813
Hiding -1484.4796770174
Bonding 348.26453149206
Ideality -137.17457050823
Backbone 285.99906307688
Sidechain -151.08402676416
Reference -99.97041
total of sub energies: 1710.0843740878