puzzle.GetPuzzleSubscoreNames() can't be passed to current.GetSegmentEnergySubscore(segmentIndex, scorePart)

Case number:699969-995918
Topic:General
Opened by:spdenne
Status:Closed
Type:Bug
Opened on:Monday, September 16, 2013 - 07:12
Last modified:Tuesday, October 15, 2013 - 09:55

Subscore names obtained from puzzle.GetPuzzleSubscoreNames() can't be passed to current.GetSegmentEnergySubscore(segmentIndex, scorePart) without first converting them to lower case.

(Mon, 09/16/2013 - 07:12  |  11 comments)


spvincent's picture
User offline. Last seen 1 hour 26 min ago. Offline
Joined: 12/07/2007
Groups: Contenders

It seems like a lot of new components have been added. Testing this on 778 results in the following output:

Clashing
Pairwise
Packing
Hiding
Bonding
Cartesian Bonding
Other Bonding
Backbone
Sidechain
Disulfides
Reference
Structure
Holes
Surface Area
Interchain Docking
Neighbor Vector
Symmetry
Van der Waals
Density
Other

The usage of the more familiar ones is discussed elsewhere ( http://fold.it/portal/node/990798 ) but there are a whole bunch of new ones: an explanation from the devs would be helpful.

Joined: 09/21/2011
Groups: Void Crushers

As we dont see all these components in the segment scoring we will need a function that tells us (puzzle dependent) which scores are really there. Of course I can write a routine that finds that out but that would make starting up my DRW a lot slower.
And we dont need score components that have a score contribution of 1 point at the most. Pack those together.

Joined: 09/24/2012
Groups: Go Science

Temporary solution.

It's because of the first capital letter in the above list, but low characters in the arguments of the other functions.

A temporary solution is to use the function string.lower() in order to overcome this problem.

subscorelist=puzzle.GetPuzzleSubscoreNames()
lowerstring=string.lower (subscorelist[i])
then, for each segment:
current.GetSegmentEnergySubscore(seg, lowerstring)

Of course, it would be more aesthetic if both lists and arguments would be compatible.

steveB's picture
User offline. Last seen 2 years 48 weeks ago. Offline
Joined: 01/08/2009
Groups: Void Crushers

I'm not playing much at the moment, so please excuse me butting in to this thread, but it would not be more "aesthetic" to have the arguments compatible...it's an absolute fundamental of good programming, and the very least that one would expect from a professional academic organisation that is relying upon hours of free time from volunteers to further their project, and one of the main reasons why I don't devote as much time to foldit as I used to. I am not prepared to waste countless hours of my time effectively debugging sloppy code, whereas I will devote endless hours to folding !

I know that foldit is a fantastic and highly complex piece of software, but attention to the basics, such as that which is pointed out in this thread, has been letting it down for far too long. In the last 13 days on the feedback, there are 19 bug reports, most of which scream out that the software has no rigorous testing system in place.

Why not devote two months or so of dev time to getting rid of ALL the bugs in the software then continue from there ? Cross check all the argument lists, check everything for array bounds errors etc, and action all of bug reports from your users. Many of your users are professional computer people (Timo, Bletchley, me and others) who could help debug sections of code for you - why not use this resource to good effect?

Rant over :)

.... not quite over. When I try to submit this post, like always, the website simply returns me back to the page to ask for a capatcha completion. Sloppy. Just put the capatcha automatically on every comment submission, or relax the spam filter. Easy.

Joined: 09/21/2011
Groups: Void Crushers

On the capatcha filter:
It should really remember which people have posted before and trust those without asking.

spvincent's picture
User offline. Last seen 1 hour 26 min ago. Offline
Joined: 12/07/2007
Groups: Contenders

steveB: I think you should cut the developers a little slack here. It's unreasonable to expect free software from an academic institution to be as bug-free as say, software from Apple or Adobe. These companies have large internal teams of testers: in many cases the number of these alpha testers outnumber the number of developers. The whole process is highly structured and produces reliable software. But it's also somewhat inflexible: new features can't be added quickly, as clearly happens in FoldIt.

I know software in academia is often developed on a rather ad hoc basis but there's no way of us telling whether this applies to FoldIt: I would assume not. The bugs can be annoying agreed but I think the occasional crash is something we should live with. Actually what really bugs me (hah!) is not the odd error, even one that causes FoldIt to crash, but unexpected changes in the way features like Wiggle and Rebuild behave.

steveB's picture
User offline. Last seen 2 years 48 weeks ago. Offline
Joined: 01/08/2009
Groups: Void Crushers

I agree with much of what you say about the big commercial software giants, but there is a vast difference between bug testing and bad coding. With a project the size of foldit, run with the limited staff that it has, it really is a great piece of software, and the unexpected bugs that appear as the rapid development continues are only to be expected.

But having two incompatible list of parameters, where one list uses capitals and one does not, is fundamentally terrible programming by anyone's standards, and not an "aesthtics" issue as was suggested in the original post.

spvincent's picture
User offline. Last seen 1 hour 26 min ago. Offline
Joined: 12/07/2007
Groups: Contenders

I agree that strings should appear once and once only in a header file or resource file and I'm sure the devs are very well aware of this; but without knowing the circumstances under which this bug slipped through I don't think general inferences should be made about their programming standards.

katfish's picture
User offline. Last seen 4 years 49 weeks ago. Offline
Joined: 01/09/2013

Thanks for the feedback on this, everyone. We're taking a look at it presently.

katfish's picture
User offline. Last seen 4 years 49 weeks ago. Offline
Joined: 01/09/2013

We've identified the issue and the fix will go out in the next update. Thanks again for the report!

spdenne's picture
User offline. Last seen 37 weeks 2 days ago. Offline
Joined: 10/01/2011
Groups: Void Crushers
Status: Open » Closed

Thanks for implementing the improvement.

Sitemap

Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, RosettaCommons