Electron Density (ED) Puzzles - More Ideas

Case number:845813-2007742
Topic:Game: Tools
Opened by:jeff101
Opened on:Thursday, May 2, 2019 - 17:25
Last modified:Wednesday, May 15, 2019 - 00:23

This post is to continue an older post: Electron Density (ED) Puzzles

In ED Puzzle 1667, I have added many dots to the ED cloud to help identify
landmarks within the cloud. Now I have so many dots and labels for dots
that it is confusing. Below are some ideas to make life easier:

(1) Let us show/hide dots, dot labels, bands, segment/residue/amino-acid
labels, and even dots of a certain color, all independently. Right now,
for example, sometimes I want to view just the dot labels, and other times
I want to view just the residue labels. When all the labels show at once,
it is confusing. I also like to use one dot color for backbones and another
sidechains. Sometimes it would help to view just the backbone dots, and
other times it would help to show no dots at all.

(2) Have more dot colors to choose from. On ED Puzzles like 1667, where
many short peptide chains are visible in the cloud but it isn't clear which
ones connect to each other, one could color one chain red, another blue,
and another green. With enough colors, many individual chains could be
visualized, and this would help decide where each protein section belongs
in the ED cloud.

(3) Allow rectangles and thick & thin cylinders in addition to dots. Rectangles
could stand for sheets in the cloud, thick cylinders for helices, and thin
cylinders for loops. The lengths of these rectangles and cylinders could vary.
They might be easier to manage than a bunch of dots. It would also help if
one could show/hide different colors and shapes independently.

(Thu, 05/02/2019 - 17:25  |  15 comments)

Joined: 04/20/2012
Groups: Go Science

(4) For the objects (dots, rectangles, & cylinders) described
in (1-3) above, have LUA commands to count how many objects
have been placed into the ED, read/set these objects' labels
colors shapes lengths widths & radii, show/hide certain objects,
and delete certain objects. Such commands would let us make a
wide variety of utility recipes for handling all these objects.
For example, if one were marking each sidechain in the ED cloud
with a green dot, it would be nice to have a recipe to quickly
count all the green dots placed so far. Does the total exceed
the number of segments in the protein? If so, that would be
good to know. Also, if one were using different colored dots
for each peptide chain in the ED cloud and suddenly realized
that the red and blue chains were part of the same longer
chain, one could use a utility recipe to quickly change all
the blue dots to red.

Joined: 04/20/2012
Groups: Go Science

(5) It would also help to be able to select a large group
of ED-marking objects (dots, cylinders, rectangles) manually
and do the same operation (like hiding them or changing their
color) on them all at once.

(6) Having a LUA command to read an object's color can make
even colors that are hard to distinguish by eye useful. One
could select them based on their color and hide or show each
color independently. Also, black dots could help when the
background is white, and white dots could help when the
background is black.

(7) To make a cylinder or rectangle, one could select 2 dots
for its endpoints and then press a button.

(8) Being able to copy ED-marking objects from one solution
to another would be very helpful. If one copies these objects
from a teammate's solution, should the resulting solution be
an evo?

Joined: 04/20/2012
Groups: Go Science

(9) In Foldit's present form, I often wish I could add dots
while a recipe is running, but this is tricky because many
recipes' scores rise & fall versus time, and they often
revert to previous saves made within the recipe, thus
erasing any new dots added after the previous save. One
way to compensate for this is to allow us to copy dots from
one solution to another. Then we could have one or more fast
clients running recipes and a slow client for inspecting the
ED cloud & marking it with dots. Then, when we feel happy
with our ED-marking dots, we can save the result. Later,
when a fast client finishes its recipe, we could copy the
latest version of dots made on the slow client onto the
solution (often higher-scoring) made on the fast client.

(10) There could be several ways to copy dots from one
structure to another. One way would remove all the dots
from structure A, replace them with the dots from
structure B, and save the result as a new structure A.
Another way would add the dots from structure A to the
dots from structure B, remove any dots that were
duplicates, and save the result as a new structure A.

(11) Having a button to remove duplicate dots would help.
Sometimes when I am marking the ED with a dot, I don't see
the new dot I just added. Later, when I zoom out, I see a
dot in the wrong place and when I click on it to remove it,
there is another dot in the exact same place. Sometimes
there are several dots all in the exact same place. I think
these dots were made when I tried to make a new dot but
didn't see it after I made it.

S0ckrates's picture
User offline. Last seen 2 days 4 hours ago. Offline
Joined: 05/19/2017
Groups: None

Maybe in addition to the dot system there could be a "paint" system. If it had to lock down the threshold slider I'd be okay with it, but ideally I'd like to paint certain parts of the cloud and add a dot label to ID non-viable backbones or discernable structures.

frood66's picture
User offline. Last seen 9 hours 27 min ago. Offline
Joined: 09/20/2011
Groups: Marvin's bunch

Just the addition of an extra colour (perhaps 2) would be good.....this has been asked for B4 of course.

I think all know my views on ED - I think they are great - a way for scientific results to be interpreted by players here in foldit.

But.......low definition is a massive handicap......Angstrom definition over 2.2 or so is not realistic for most players - certainly not for Newbs. This is counter productive imho.

Perhaps the opportunity to change the blobs to some other 3 dimensional figure would help - perhaps it would be easier for FC to do this - IDK.

But I still stand by my suggestion from years ago - we need the ability to erase areas of the cloud. Trim density does this perhaps - but it usually removes areas we still want to see....the same is true of the other viewing options.

That's my ha'pence worth

Joined: 04/20/2012
Groups: Go Science
The complex ED cloud in Puzzle 1667 (https://fold.it/portal/node/2007726)
got me questioning many things. For example, in previous ED puzzles, it 
seemed like the ED cloud always contained exactly one full copy of the 
protein of interest. Nevertheless, Puzzle 1667's ED cloud seems to have 
many extra things in it. Do we know our protein of interest has its full 
chain folded as one continuous piece within the ED cloud? What if part of 
our protein is folded up in the left half of the cloud and then exits the 
cloud through the left side, re-enters the cloud on the right side, and 
then finishes folding up in the right half of the cloud? If the scientists 
don't pre-process the ED cloud data, how do we know our protein isn't 
chopped up like this? How do the scientists know the protein isn't chopped 
up like this?

To compensate for odd ED data like above, it might help to be able to
translate the ED cloud. If the cloud were a box, it would keep its length
width and height, but the center of the box could be moved around. If you
allowed translations along the length of the cloud but shorter than the 
length of the cloud, the cloud's contents could jump from one side of the
cloud to the other, sort of like in the side-view boxes below, where A & C
are the terminals of the protein and B is the center of the protein.

+-----+     +-----+     +-----+     +-----+     +-----+
|A    |     |    A|     |   A |     |  A  |     | A   |
|  B  | <-> | B   | <-> |B    | <-> |    B| <-> |   B | <-> far left box
|    C|     |   C |     |  C  |     | C   |     |C    |
+-----+     +-----+     +-----+     +-----+     +-----+
   ^           ^           ^           ^           ^
   |           |           |           |           |
   v           v           v           v           v         
+-----+     +-----+     +-----+     +-----+     +-----+
|  B  |     | B   |     |B    |     |    B|     |   B |
|    C| <-> |   C | <-> |  C  | <-> | C   | <-> |C    | <-> far left box
|A    |     |    A|     |   A |     |  A  |     | A   |
+-----+     +-----+     +-----+     +-----+     +-----+
   ^           ^           ^           ^           ^
   |           |           |           |           |
   v           v           v           v           v    
+-----+     +-----+     +-----+     +-----+     +-----+
|    C|     |   C |     |  C  |     | C   |     |C    |
|A    | <-> |    A| <-> |   A | <-> |  A  | <-> | A   | <-> far left box
|  B  |     | B   |     |B    |     |    B|     |   B |
+-----+     +-----+     +-----+     +-----+     +-----+
   ^           ^           ^           ^           ^
   |           |           |           |           |
   v           v           v           v           v  
top box     top box     top box     top box     top box   

In Foldit, as one translates the ED cloud around, any ED dots should 
translate as well. There could also be a button to translate the ED cloud 
so that its center lines up with the center of the protein we are folding.  
Joined: 04/20/2012
Groups: Go Science

Letting us translate the ED cloud around would help us see how much
low-density space there is between each copy of the protein complex
in the ED cloud. Perhaps in some puzzles, there would be enough
low-density space that one could fold the protein in that space,
where the ED cloud would have little influence on the Foldit score.
Then, after achieving a good fold away from the influence of the
ED cloud, one could translate the folded protein into the hi-density
part of the ED cloud and try to find where it scores best there.

Joined: 04/20/2012
Groups: Go Science
Suppose there was a box within which the ED cloud was visible.
Suppose we could move this box around on the screen so that
sometimes all of the hi-density parts of the cloud were
centered in the box and other times the hi-density parts
were split so there might be one chunk on the left side
of the box and another chunk on the right side of the box.
This mobile box would let us see some cross-sections through
the hi-density parts of the cloud. It would also help us
identify regions between the hi-density parts where we could
fold the protein with minimal interference from the ED cloud.

It would help if dots and other ED-marking objects would jump 
from one side of the box to the other when their parts of the 
ED cloud did the same. It would also help if large ED-marking 
objects like cylinders and rectangles would split into parts if 
they happened to cross a border of the box, thus, for example, 
showing one part of a cylinder on one side of the box & another 
part of the cylinder on the other side of the box.

It might help more if we could shrink or stretch the sides of 
the box. Then, ED-marking objects outside the box would be 
hidden, and if 2 or more copies of part of the ED cloud were  
to appear in the box, the ED-marking objects within this part 
of the ED cloud would also have 2 or more copies appear within 
the box.

There could be one button to reset the sides of the box to 
their original lengths and another button to move the center 
of the box back to its original position. If the box is able 
to rotate in addition to being able to translate, there could 
be a button to restore the box's original orientation as well.
Joined: 04/20/2012
Groups: Go Science

The dimensions (length width & height) of the box described
above could be set or read using LUA commands or a set of
sliders. Beside each slider could be the present numeric value
(like 80 Angstroms) for its dimension. Then we could use the
sides of the box as a reference on the screen to estimate
distances within the ED cloud or protein, for example. Each
slider could also have a mark showing where its original value
lies. Then if we reset the box to its original size, all the
sliders would line up with these original value marks.

Joined: 04/20/2012
Groups: Go Science

The length width & height sliders could have maximum allowed
values equal to 2 or 3 times the box's original length width
& height. If the original length is L, the length slider could
also have tick marks at 0, L, 2L, and 3L.

For each of the length width & height sliders, there could
be another slider for moving the box along the length width
or height. If the original box length is L, the box-moving
slider for the length could go from -L to +L. If the present
box length is l, there could be tick marks along the box-moving
slider at -3l, -2l, -l, 0, +l, +2l, +3l, etc. I think having
a numeric value for this slider's present setting to the right
of the slider would also help. Putting the box-moving slider at
0 would be like having the box centered at its original position.

If two or more ED clouds appear in the box and you mark one of
them with a dot, a copy of the dot will appear in every other
copy of the ED cloud in the box. If the box is later expanded
or moved to show other ED clouds, these new ED clouds will also
get their own copies of the dot.

There could be a view option to show the box's boundaries. These
boundaries could be very light and at the box's edges and corners
but not on the box's faces. One corner could be marked with a set
of axes to show which directions corresponded to positive values
along the length width and height axes. I think the program VMD
once had a set of axes like this with 3 colors (red green & blue),
one color for each of the positive x y z directions.

Joined: 04/20/2012
Groups: Go Science

The box could be used as a reference (like a ruler or set of calipers) to
measure distances within the protein and ED cloud. For example, if one
wanted to use BandOntoSphere1.0 (see https://fold.it/portal/recipe/102961
and https://fold.it/portal/node/2007726#comment-38492 for more details)
to keep the protein inside the ED cloud, it helps to know the diameter of the
ED cloud and where its center lies. One could move & resize the box discussed
above so that it tightly enclosed the ED cloud. The slider settings for length
width & height could then be used to approximate the ED cloud's diameter (the
largest of the 3 or the average of the 3 seem like reasonable estimates of the
diameter). Half this diameter (the ED cloud's radius) could then be used for
the band length setting in BandOntoSphere1.0.

To find the center of the ED cloud, one could set the box's length width
& height sliders to the ED cloud's radius and then move the resultant box
around until 3 corners touched the outermost edges of the ED cloud and a
4th corner lied at the center of the ED cloud. Once the ED cloud's center
was found, a band could be made from any protein segment to the cloud's
center, and this band could be used as the hub band in BandOntoSphere1.0
with keephub set to 0.

Joined: 04/20/2012
Groups: Go Science

If we could move the ED-displaying box around on the screen,
we could move it away from the protein we are folding. This
would let us see the ED cloud without our protein in it. This
would make it easier to add dots to the ED cloud (we wouldn't
be clicking on parts of the protein we are folding). Then, if
the dots we add show up in all copies of the ED cloud, when
we are done adding dots, we could move the ED-displaying box
so it encloses the protein we are folding again. At this
point, we would see within the box our protein, the ED cloud,
and copies of all ED-marking dots we have added to the ED cloud.

Note that because in the above paragraph we are moving the
ED-displaying box rather than the protein, our score should not
change at all. Only what we see in the box will change.

frood66's picture
User offline. Last seen 9 hours 27 min ago. Offline
Joined: 09/20/2011
Groups: Marvin's bunch

AS far as I understand it - all space in ED puzzles is tiled....so working outside the 'rendered' area is pointless.

I have rethought the idea of different shapes for the existing blobs - this will not work when zoomed out - all 'blobs' will ultimately look like a pixel (unless huge)

I agree with the argument for more colour options - bit this should be backed up with the option to switch off (not remove) those of chosen colour(s)

I still want an eraser. Trim and viewing options cannot do what that would achieve. Though the option to select segs prior to trimming might prove of some use in mid game.

The issue with ED will always be the start - find some handles to work with and a player has a chance.

The primary tools available should concentrate on this.

Joined: 04/20/2012
Groups: Go Science
Suppose the ED cloud's high-density part is roughly spherical with the radius R 
& diameter D=2R. Suppose the ED is tiled through all space so that the centers of 
such spheres are D=2R apart and lie at the corners of a simple cubic lattice with 
the sides of each cube in the lattice having length D=2R. This would look as below:
The diagonal between 2 opposite corners of a cube's face would have length sqrt(2)D 
(D times the square-root of 2). The diagonal between 2 opposite corners and through 
each cube's center would have length sqrt(3)D (D times the square-root of 3). Thus, 
a sphere of diameter sqrt(2)D-D=(sqrt(2)-1)D=0.414D could be centered at the center 
of each cube's face and not enter any hi-density parts of the ED. Also, a cylinder 
of infinite length and diameter 0.414D could go through the center of many cubes' 
faces and not enter any hi-density parts of the ED. Finally, a sphere of diameter 
sqrt(3)D-D=(sqrt(3)-1)D=0.732D could be centered at the center of each cube and not 
enter any hi-density parts of the ED.

In Puzzle 1667, the ED cloud all fit into a sphere of diameter 90 Angstroms.
Using D=90 A gives 0.732D=65.9 A and 0.414D=37.3 A. Also, the converters at 
http://www.calctool.org/CALC/prof/bio/protein_size and
http://www.calctool.org/CALC/prof/bio/protein_length seem to obey the formulas
diameter = cube-root(# of segments) x 6.9 A and (# of segments)=(diameter/(6.9 A))^3. 
According to these formulas, 2219 segments could fit in a 90 A diameter sphere,
871 could fit in a 65.9 A diameter sphere, and 158 could fit in a 37.3 A diameter 
sphere. Thus, it seems like there should be enough room between the hi-density parts 
of the ED cloud in Puzzle 1667 to fold Puzzle 1667's 187-segment protein in a region 
away from the influence of the ED cloud.

The converters and formulas above are consistent with each segment or amino acid
occupying a sphere of diameter 6.9 A, which would have the volume 172 A^3. According 
to http://www.imgt.org/IMGTeducation/Aide-memoire/_UK/aminoacids/abbreviation.html
the volumes for some amino acids are near this value.
Joined: 04/20/2012
Groups: Go Science

I think someone has said this before, but it would be good to have in the View Menu
an option to color each residue by its Density Subscore instead of its total score.
Sometimes I have seen parts of the protein sticking out of the ED cloud. When I
Tabbed on these residues, some had small or even negative Density Subscores while
others further from the visible ED cloud had large positive Density Subscores.
Apparently, the protein in this case was straddling two ED clouds, one visible and
the other hidden. Coloring by the Density Subscore would make such cases more
apparent, help us estimate the distance between different copies of the ED cloud,
and help us quickly find which regions of our protein match the density well and
which match it poorly, even while recipes are running. It would also help us
move the protein into a region of low density if we wanted to fold the protein
away from the influence of the ED cloud.

Letting the "Use relative score coloring" checkbox in the View Menu work when
coloring by Density Subscores would also be helpful.


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