New Layer Filters and speed of client

Case number:671071-994598
Topic:Game: Other
Opened by:bertro
Status:Open
Type:Suggestion
Opened on:Wednesday, February 27, 2013 - 19:51
Last modified:Monday, April 1, 2013 - 17:34

With the new Layer Filters in place, client computational speed has decreased a lot and regular puzzle are even slower than before.

A) I would like to suggest that the new Layer Filters, where applicable, be only contributing to the final score (or computation pass) of a tool iteration, not as long as the tool is running but only at the very end before it stops.

and/or

B) Provide a mechanism for turning OFF the Layer Filters with the provision that the score will be uploaded to the Foldit site "only" after the Layer Filters are turned ON again. Thus allowing speedier folding but still proper filtering of the score.

That way trying to build a new protein shape with new AA would be easier, less jerky and above all faster. Right now, even with a well know protein chain, on denovo, it is hard to reach a stable configuration and recipes take so long to run.

Other suggestions please!

(Wed, 02/27/2013 - 19:51  |  20 comments)


beta_helix's picture
User offline. Last seen 12 hours 42 min ago. Offline
Joined: 05/09/2008
Groups: None

This is even with the new devprev client that sped things up a bit?

bertro's picture
User offline. Last seen 6 weeks 5 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders

Yes beta,

Even with latest devprev. Partly because score "oscillates" a bit and won't stop an iteration or it makes it impossible to achieve a stable score due to one of the Layer Scores going up and down (in huge step).

beta_helix's picture
User offline. Last seen 12 hours 42 min ago. Offline
Joined: 05/09/2008
Groups: None
Status: Open » Open

Thanks for the quick reply, bertro.
We'll try to see what we can do!

bertro's picture
User offline. Last seen 6 weeks 5 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders

Thanks

tamirh's picture
User offline. Last seen 6 years 18 weeks ago. Offline
Joined: 05/11/2012

We have tended to avoid option B as we thought players would be averse to it. We would love more input from others about how they feel about this sort of feature.

bertro's picture
User offline. Last seen 6 weeks 5 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders

Maybe talk about it in global chat and/or with an announcement/question on Foldit web page

Joined: 09/21/2011
Groups: Void Crushers

First of all, the new devprev makes this puzzle playable. Still slow but playable. I like the idea of turning the filters off if you want it and if implemented please include a Lua function for it. And just like when there are cutpoints put a red line through the score when filters are turned off.

beta_helix's picture
User offline. Last seen 12 hours 42 min ago. Offline
Joined: 05/09/2008
Groups: None
Status: Open » Open

We had a meeting about this today and this seems like the best option.
That way, if a player doesn't want to deal with the red line through their score, they can just keep the filters on.
We'll schedule a scientist chat explaining why these filters are so crucial once we get this suggestion implemented and working in the game.

tamirh's picture
User offline. Last seen 6 years 18 weeks ago. Offline
Joined: 05/11/2012

I've implemented a checkbox that will turn the slow filters on/off. It should go out in the next devprev.

edit: and yes, there are lua functions to set/get this flag.

bertro's picture
User offline. Last seen 6 weeks 5 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders

Great, thanks a lot!

tamirh's picture
User offline. Last seen 6 years 18 weeks ago. Offline
Joined: 05/11/2012
Status: Open » Closed

This is now in main.

bertro's picture
User offline. Last seen 6 weeks 5 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders
Status: Closed » Open

tamirh,

Can we have a LUA function to turn this ON/OFF in recipes?

Thanks

tamirh's picture
User offline. Last seen 6 years 18 weeks ago. Offline
Joined: 05/11/2012

Sorry, I missed putting this in the release notes. There are LUA functions to toggle this already in main/devprev. I just forget to add them to the release notes. Sorry about that.

bool behavior.GetSlowFiltersDisabled()
void behavior.SetSlowFiltersDisabled(bool setting)

bertro's picture
User offline. Last seen 6 weeks 5 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders

and a function like structure.IsInvalid(int) for those invalid residues?

tamirh's picture
User offline. Last seen 6 years 18 weeks ago. Offline
Joined: 05/11/2012

bertro, I assume you are talking about the list of 'allowed' residues that the Layer Design filter gives you? I'm hesitant to hard code a LUA function for that one filter because the different filters work in different ways, and those residues aren't really invalid, they are just suspect, which is why you get a penalty. The penalty is exponential, so if you just have a few it's not a big deal. Real proteins don't always match up with those 'allowed' residues. If you have a lot, then it's a good indicator that there is something wrong though.

Perhaps some other LUA functions to access the data from the filters would help? Here are some I think would make sense. Let me know if you can think of anything else:

* # Total Filters currently enabled on this puzzle
* If filter X is satisfied or not
* How much of a bonus/penalty filter X is giving

Having said that, I will think of some more general API for LUA functions to grab more data from the Filters other than just the values above. If you have any suggestions feel free to let us know.

bertro's picture
User offline. Last seen 6 weeks 5 days ago. Offline
Joined: 05/02/2011
Groups: Beta Folders

Thanks, that was really fast :)

I would suggest naming as:
bool behavior.GetSlowFiltersState()
void behavior.SetSlowFiltersState(bool setting)

I was thinking along the lines of
bool structure.IsInvalid(segment number)
or table structure.Invalid()

Maybe, it would also be interesting to have:
table structure.ScoreTooLow()
or bool structure.IsScoreTooLow(segment number)

Joined: 09/21/2011
Groups: Void Crushers

More functions on Filters:
- one to get the list of active filters
- one to get the list of penalized segments for a specific filter
- one to get the penalty from a specific filter
- one to get the total penalty from the filters
- one to get a list of amino acids on a specific segment to satisfy a specific filter
And if you are building Lua functions please include:
- get cutpoint list (first segment numbers should be enough)
- close cutpoint
- is closable cutpoint
- make cutpoint

brow42's picture
User offline. Last seen 39 min 12 sec ago. Offline
Joined: 09/19/2011
Groups: None

I can't wait to see all the cut-point closing scripts! I got mine ready!

Joined: 05/19/2009
Groups: Contenders

Tamir, can this please also be updated in the wiki ? I tried updating it manually, but it states that the LUA functions section is 'autogenerated'. The wiki was the first place I searched for this.

tamirh's picture
User offline. Last seen 6 years 18 weeks ago. Offline
Joined: 05/11/2012

The Wiki content is all user generated. That autogeneration script was something Tlaloc wrote I believe. I don't know if he documented where/when it runs from.

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