Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

missing box margin #1

Open
BobHanson opened this issue Jan 16, 2018 · 5 comments
Open

missing box margin #1

BobHanson opened this issue Jan 16, 2018 · 5 comments

Comments

@BobHanson
Copy link

Issue: Note the missing data on the right side of my box.

image

I can see how it might be intentional to always start the data set outside the box (nearer 0 0 0) and then stop before the final box boundary, but I suggest that if I say I want the surface within a certain box, then I want to see everything in the box, which means that allowing the data to extend just a bit further than the box in all directions if necessary is the appropriate thing to do.

Jmol can truncate as necessary to truly fill the box, but only if the data are returned.

The request is that the box be fully within the localized data returned, not just partly within it.

This was created in Jmol 14.28.2 using:

load *1eve
boundbox {e20:a}
isosurface BOUNDBOX EDS AS "box.eds"
isosurface "box.eds"

@dsehnal
Copy link
Owner

dsehnal commented Jan 16, 2018

I can see how this could be perceived as a bug. It is probably caused by a rounding error, which are in general not avoidable (I might be wrong here, but it will require further investigation).

However, in LiteMol, I never query the exact bounding box of a residue I want the data for, but always an an extended box (say by 3-5 ang). This solves the issue, and as you correctly pointed out, the data can be truncated on client (say into a sphere as done for example by Coot).

The reason why the received data "skewed" are because of non-orthogonal frames of most space-groups.

Some future version of the DensityServer might do the filtering step directly on server, but for now I wanted to keep it "as simple as possible".


Hope this solves your issue for now :)

@BobHanson
Copy link
Author

I also add 2-3 angstroms for atom selections, but Jmol also provides a user-definable bounding box.
As you point out, the returned data is a parallelepiped in the coordinates of the unit cell of the data. So trimming will always be need.

But, still, it is not predictable from the client how much extra is needed to completely fill the box; only the server can ascertain that, and, so, I argue, the server should do that.

Please adjust the returned data set as necessary to completely fill the requested box.

@dsehnal
Copy link
Owner

dsehnal commented Jan 16, 2018

OK, I will look into it more closely soon.

@dsehnal
Copy link
Owner

dsehnal commented Jan 16, 2018

This should now be fixed (or at least behave better). To test it, please use the DensityServer instance at ds.litemol.org.

@BobHanson
Copy link
Author

image

Perfection!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants