Electron Density (ED) Puzzles - More Ideas

Started by jeff101

jeff101 Lv 1

(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.

jeff101 Lv 1

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.

jeff101 Lv 1

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.

jeff101 Lv 1

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.

jeff101 Lv 1

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.

jeff101 Lv 1

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.

jeff101 Lv 1

Suppose there was a box within which the ED cloud was visible
(see https://fold.it/portal/node/2007742#comment-38512 for details),
and the box had length L, width W, and height H,
and the ED cloud was roughly spherical with diameter D1,
and the ED cloud was approximately centered within the box,
and the borders of the ED-displaying box were visible.

Then, the longest distance between 2 corners of the box would be
sqrt(L^2 + W^2 + H^2). A segment this long connecting 2 opposite
corners of the box would pass through the center of the box and
the spherical ED cloud. If you centered a new sphere on one of
these opposite corners of the box, the new sphere could have
diameter up to D2 = sqrt(L^2 + W^2 + H^2) - D1 and not intersect
with the spherical ED cloud. This means if you confined the protein
within the new sphere of diameter D2, the protein could fold without
being influenced by the electron density.

jeff101 Lv 1

(3B) The main purpose of the cylinders and rectangles in (3) above is to connect dots.
If cylinders and rectangles are too hard to implement, letting us make line segments
between pairs of dots would be helpful. If both dots connected have the same color, 
the default color for the line segment should match the dots' color. If the two dots
have different colors, maybe have the default color match the color of the first dot
selected. Then let us change the color of each line segment if we want.

I can imagine folks connecting dots that are part of the same peptide backbone to show 
the two directions the backbone is going. Folks might also mark close contacts between 
sidechains by connecting dots on each sidechain. Another use could be to connect dots 
marking alpha-carbons to the dots marking the tips of their respective sidechains.

jeff101 Lv 1

(3C) The cylinders, rectangles, and line segments discussed in
(3) and (3B) above could all be called connectors. Each type of 
connector could also have 3 versions: one with no arrows, one 
with an arrow from the 1st dot to the 2nd dot, and one with an 
arrow from the 2nd dot to the 1st dot. The versions with arrows 
would help when a player can tell by looking at features in the 
ED Cloud which direction the chain is going (from low #'d to 
high #'d residues). There could also be an option for no 
connectors. All of these options could be put in a wheel like 
below, and the default choice could be shown in the center of 
the wheel.

Then, when a player places a new dot on the ED Cloud, a connector
of the default type will automatically be drawn between the most 
recent dot and the new dot, and if no connector is chosen, then 
no connector will be drawn. To change the default connector type, 
just click on the center of the above wheel, then click on the 
desired new default for the connector type. The new default type
will then be shown in the center of the wheel above.