<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Terry,<br>
<br>
Here's an example although the result isn't pretty.<br>
<br>
open emdbID:1283 emdbID:1284<br>
volume #0,1 level .35<br>
mask #0 #1 invert true<br>
mask #1 #0 invert true<br>
mask #0 #1<br>
volume #4 color salmon<br>
<br>
An image of the result is attached vdiff.jpg with gray for parts in
map A and not map B, yellow for parts in B and not in A, and red for
parts in both. Here's an explanation of the commands. The first
two just open the maps and set the contour level. The first mask
command produces a new volume equal to map A but with zeros at grid
points inside the surface of map B. The second mask command
produces a volume equal to B except 0 inside the surface of A. The
third mask command makes a map equal to A but zero outside the
surface of B. So these new maps are (A not B), (B not A) and (A and
B) and are shown as gray, yellow, and red surfaces in vdiff.jpg.
Why does it look so jagged? That is the result of setting a map to
zero above a threshold and then showing a contour surface at that
threshold. It produces a horrible jagged surface because of the
saw-tooth patterns of the zeros and non-zeros at the boundary. If
we could make the grid spacing go to zero the picture would instead
look like the second attached image vsup.jpg. This is just the two
original map surfaces. Notice there is no red (points in side both
A and B). At every point on the two surfaces either one surface or
the other is on top. So the only place you see both A and B is on
the curved lines where the two surfaces intersect. The reason you
see a lot of red with the above commands is because the grid spacing
is actually larger than the separation between the two map surfaces
at many points. It is basically an artifact of discretization. So
to see all 3 components (A not B), (B not A) and (A and B) you'd
need to make the first two components transparent. I've done that
in the third attached image vtransp.jpg. It shows the original two
maps transparent and the (A and B) red map opaque. This uses
Chimera 1.6 where the default transparency mode is "one transparent
layer" so only the gray or yellow top-most transparent layer is
shown. Still it looks like a mess.<br>
<br>
I haven't followed your plan #1 or #2 in detail. Note that you
would need a resulting map with 4 distinct values not 3, with the
4th being points outside both maps.<br>
<br>
My main point is that it is hard to make a useful 3-d Venn diagram
since the (A and B) component will be occluded by (A not B) and (B
not A). If the red surface in the last image were smooth it would
be a bit better but still hard to visually comprehend. I have a way
to make the red surface smooth (basically just show the part of
surface A that lies inside B and part of surface B that lies inside
A using original smooth surfaces) but it is not accessible from the
Chimera user interface.<br>
<br>
Tom<br>
<br>
<br>
<blockquote cite="mid:4F958332.5060406@lego.berkeley.edu"
type="cite">Hey Guys,
<br>
<br>
I am interested in making kind of a ven diagram between
two maps for electron density (see attached). What I would like
to do is where the density is above a certain threshold for both
maps, color the map grey, and where it is above the threshold for
map A only, color red, and for map B only, blue.
<br>
<br>
Plan #1
<br>
--superimpose maps (have this working)
<br>
--create a third map (have this working)
<br>
--do a direct < > = point-by-point comparison between map A
and B and reset the values of the third map to be -1 (map A only),
0 (both maps) or 1 (map B only)
<br>
--color the map using the histograms
<br>
PROBLEM: The maps are not gridded the same. After some careful
thought, I don't think I actually can get them gridded the same
for technical reasons.
<br>
<br>
Plan #2
<br>
--superimpose maps (have this working)
<br>
--create copy of map A (coarser map) with map A gridding (have
this working)
<br>
--use interpolation function to interpolate map B (finer map) onto
map A gridding
<br>
--create copy of map A and do a direct < > = point-by-point
comparison between map A and interpolated map B and reset the
values of the fourth map to be -1 (map A only), 0 (both maps) or 1
(map B only)
<br>
--color the map using the histograms
<br>
QUESTION: Is there an easier way to do this with tools that
already exist in Chimera? If not, can I get a little bit of info
on how the data is stored in the ccp4 style maps (eg start at
origin and loop over x, loop over y, loop over z or something
else?)
<br>
<br>
Let me know if you need more details or clarification on this rats
nest.
<br>
<br>
Thanks!
<br>
Terry
<br>
<br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Chimera-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Chimera-users@cgl.ucsf.edu">Chimera-users@cgl.ucsf.edu</a>
<a class="moz-txt-link-freetext" href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users">http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users</a>
</pre>
</blockquote>
<br>
<br>
</body>
</html>