Back to Recipes Homepage
recipe picture
Recipe: CG303 GA+EO Remix V7.900
Your rating: None Average: 4.6 (5 votes)


Name: CG303 GA+EO Remix V7.900
ID: 45959
Created on: Wed, 04/24/2013 - 15:33
Updated on: Wed, 04/24/2013 - 22:33

A complete rework of my old script, object-oriented parameter-/variable-structure allowing more features. Manual is included. See script code for details. Note: This script detects "important"/"cardinal" segments, if there is a change in secondary structure, but you can add more segments by selection interface (blue),too! This script version is also able to detect locked segments.

Best For


Joined: 09/18/2009
Groups: SETI.Germany
Manual excerpt:

1. introduction:
1.1 inspired by:
Cartoon Villain (GA idea & first random band script of this kind)
Rav3n_pl (OO parameter/variable handling)
jeff101 (EO & input-boxes idea)

1.2 idea:
-- This is a further development of my last GAB+EO
which i wrote from scratch to improve table handling and modularity
(it was a work of more than one month!)

-- this script doesn't simply band to random segs,
it works with a list of "cardinal" origin segs,
which are detected and/or set by selection interface (blue) before.
-- origin segs always stay the same (they are just turned off or on),
-- target segs do vary
-> this will avoid double banding

-- new idea is to keep the number of random band parameters as small as they can be:
the script works with 2 fixed band strengths (as the length is already random)
-- primary bands: do seg movement in space or relative to any other seg (depending on band mode)
-- secondary bands: do seg movement between proximate segs.
they can be used to stabilize or move internal puzzle structure,
so their job is supporting the primary bands with their major task

-- as i didn't want to overload the starting sequence
with too many input boxes and selectable vals (more than 7 boxes at the moment!).
-> you can set all vals (even the other) in the declaration section.

1.3 features:
-- cardinal seg auto-detection: (see
-- secondary-structure changes, amino-acids, etc will create a uselist
++ selecting segs via game interface (blue) is possible, too
-- 3 breeding modes: (see 3.2)
-- 2 gene modes: (see
-- 6 banding modes (see 3.3)
++ further settings for each

1.4 known bugs/problems:
1.4.1 ligand puzzles:
-- are supported by script, but i couldn't test if it works properly!
-> to band ligand:
use band to "user", then slide to last segment!

Joined: 09/18/2009
Groups: SETI.Germany
3 more things:

. Further support:
In next time, I will have some examinations, so I won't have the time do care much about script bugs, features, spelling mistakes (or other lingual issues, as I'm not a native English speaker)
I hope, the manual is complete in this way that it answers most questions.
Maybe some other scripters can help you if there is a minor problem.

2. "Frontend":
There are already many input-boxes for the most important values included in this script.
I neither wanted to write a full-automatic banding-robot (so I offered "a couple" of parameters)
nor to annoy somebody with tons of inputboxes.
But as long as we can't store files, we only can change settings via input dialog boxes or writing them directly into the script code.
In this script, this is a job for more advanced coders, as settings & values are stored in tables with non-flat but hierarchical structure
(similar to elements in .CSS-Files)

So it is up to you to choose which parameters you change and in which way,
as this is our human part in this game, the rest can do ROSETTA.
The script should be stable if you don't mess up vital things.

3. (default) parameters (customizing) and uploading (advice rather for coders with few experience):
If you find useful puzzle-adapted settings or script changes, you are free to post them
(and your version of the script, too).
Maybe you can recommend some settings (useful banding modes, thresholds... well, some puzzle-related things).

But -please- don't just unlock some "hidden" features
(e.g. by uncommenting print-functions used for debugging or just adding some "prints", making the script more verbose)
and upload you personal customization as "reinvention of the wheel".
A car doesn't go faster if you put some racing-stickers on it ;)
For scripts, let's concentrate on functionality, the beauty will be found in good puzzle solutions.
If everybody would change the script's appearance, we won't be able to fish out functional code anymore.

I want the script to be kept modular and relatively universal
(and genetic, for pure random bands, other scripts do exist already).
This means that removing some of the code is a bad idea, too
(apart from bug & performance fixes, of course).
So, if you do some changes and upload your script, please tell us what you did change ;)
(maybe by posting a complete function if it was changed)

If you want your own (personal) default values (or shortcuts), use the declaration section to initialize them,
then you won't have to click through all boxes anymore.

Want to try?
Add to Cookbook!
To download recipes to your cookbook, you need to have the game client running.





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, Boehringer Ingelheim, RosettaCommons