# [Chimera-users] on chimera vop threshold

Smith Lee smith_lee123 at yahoo.com
Sat Feb 13 00:15:35 PST 2021

```
Dear Tom,
Is a way to show the "value in number" for each point in the mrc map?
Best wishes,
Smith
On Saturday, February 13, 2021, 9:56:31 AM GMT+8, Tom Goddard <goddard at sonic.net> wrote:

Hi Smith,
The map file is exactly that -- the list of all the values at each grid point -- usually millions of points, and you'd have to understand the binary format to make use of it.  For a contour surface, every point on the surface has the same value, the value you set for the threshold.
Tom

On Feb 12, 2021, at 5:47 PM, Smith Lee <smith_lee123 at yahoo.com> wrote:
Dear Tom,
Thanks.
By the way, is any method to show the value of the density map (mrc file for example) for each point? I guess the value should be density, like what we have taked either 0 or 1, or between a range, for example from -0.10 to 1.6.
Best wishes,
Smith

On Saturday, February 13, 2021, 4:02:38 AM GMT+8, Tom Goddard <goddard at sonic.net> wrote:

Hi Smith,
If a map has only the two values 0 and 1 then the surface will still change at thresholds between 0 and 1.  The reason is that the 0 and 1 values are at the grid points of the maps.  Between the grid points the values are interpolated.  So if you set a threshold 0.5 then the surface will pass half way between a grid point that has value 0 and and a neighbor grid point that has  value 1.  If the threshold is 0 the surface will pass right through the grid point with value 0, and if the threshold is 1 it will pass right through the grid point with value 1.  So the surface does appear different for every threshold value between 0 and 1.
vop threshold #0 minimum 0.17 set 0 maximum 0.18 setMaximum 1
makes a new map where all values of the original map below 0.17 become 0 and all values above 0.18 become 1.  So the new map will have values 0, 1, and 0.17 - 0.18 (where the value was unchanged from the original map).  Do get a map that is all 0 and 1 you could try
vop threshold #0 minimum 0.17 set 0 maximum 0.17 setMaximum 1

which makes all  values below 0.17 equal to 0 and all above 0.17 equal to 1.  But if there are any values exactly equal to 0.17 then the remain 0.17.  If you want make all values 0 or 1 you would have to use something like
vop threshold #0 minimum 0.17 set 0 maximum 0.1699 setMaximum 1
This sets all values below 0.17 to 0 and then sets all remaining values above 0.1699 to 1.  First it does the minimum and then it does the maximum.  So the result is that all below 0.17 are 0 and all greater than or equal to 0.17 become 1.
Tom

On Feb 12, 2021, at 12:01 AM, Smith Lee <smith_lee123 at yahoo.com> wrote:
Dear Elaine,
Thanks, and "vop threshold #0 minimum 0.17 set 0 maximum 0.18 setMaximum 1" should be what I intend to do.
B the way, I think I still have something which I do not understand so well. For the map I got by "vop threshold #0 minimum 0.17 set 0 maximum 0.18 setMaximum 1", as for all values above 0.18 will be set to 1 and all values lower than 0.17 will be set to 0, will you please explain to me, why the got map by "vop threshold #0 minimum 0.17 set 0 maximum 0.18 setMaximum 1", which was displayed in the chimera window, changes its appearance gradually when I modulate the "Level" in the whole Range from 0 to 1, rather than displayed in only 2 appearances, one fixed appearance with all Level values lower than 0.17, and another fixed appearance with all Level values higher than 0.18?
Besides, I also intend to learn how to realize the above aim as by "vop threshold #0 minimum 0.17 set 0 maximum 0.18 setMaximum 1" with the chimera "mask" command. The  "mask" command needs a surf-models file. For a specific A.mrc which I intend to get its mask.mrc, will you please explain to me step by step how to get the "mask" command requested surf-models file at specific threshold Level of A.mrc?
I am looking forward to getting your reply.
Smith

On Thursday, February 11, 2021, 11:37:55 PM GMT+8, Elaine Meng <meng at cgl.ucsf.edu> wrote:

HI Smith,
Your process makes no sense to me.  It is not possible to do both of these things (1) make values below 0.18 = 0 and (2) make values above 0.17 = 1, because values in the range 0.17-0.18  cannot equal both 0 and 1 at the same time.

Also, your second command didn't work as expected because you need the "setMaximum" keyword to set a new maximum.  As shown in the help, the "set" keyword just sets a a new minimum.
<https://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/midas/vop.html#threshold>

Did you instead mean (1) make values below 0.17 = 0 and (2) make values above 0.18 =1 ?  If so, instead try:

vop threshold #0 minimum 0.17 set 0 maximum 0.18 setMaximum 1

However, it is unclear why you even want to do that.  If you just want to make a new map with values inside the current map isosurface as 1 and values outside the isosurface as 0 (or vice versa) just use the "mask" command instead.

I hope this helps,
Elaine
-----
Elaine C. Meng, Ph.D.
UCSF Chimera(X) team
Department of Pharmaceutical Chemistry
University of California, San Francisco

> On Feb 11, 2021, at 3:11 AM, Smith Lee <smith_lee123 at yahoo.com> wrote:
>
> Dear All,
>
> I have a map (A.mrc). When I open it in chimera (the map should be #0), the Volume Viewer shows the Range is -0.618 to 1.63, the default Level is 0.175.
>
> With command "vop threshold #0 minimum 0.18 set 0" I got another map (let us call it B.mrc, should be #1), the Volume Viewer shows the Range is 0 to 1.63 (understandable, the maximum value is still 1.63 as in A.mrc, the minimum value is 0 as for all values not higher than 0.18 has been set to 0), the default Level is still 0.175.
>
> Immediately I run the command "vop threshold #1 maximum 0.17 set 1". Before I running the command, I guess all the density value should be either "0" or "1", because all the value lower than 0.18 has been set to "0", and all value higher than 0.17 has been set to "1".
>
> However after I run the command "vop threshold #1 maximum 0.17 set 1", I got another map (let us call it C.mrc, should be #2),the Volume Viewer shows the Range is 0 to 0.17 rather than 0 to 1, and wen I change the Level, the image of #2 changes correspondingly with the Level from 0 to 0.17.
>
> Here I would ask, why the command "vop threshold #1 maximum 0.17 set 1" did not lead to a map with all values greater than 0,17 as 1? How to get a map based on A.mrc so that all values less than 0.18 as 0 and all values greater than 0.17 as 1 (please tell me the specific method)? Is any significance for the obtained C.mrc with range from 0 to 0.17?
>
> I am looking forward to getting your reply.
>
> Smith

_______________________________________________
Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
Manage subscription: https://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users

_______________________________________________
Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
Manage subscription: https://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20210213/6630d60c/attachment.html>
```