Just for completeness, of course (!?) you can get something like this in
Coot. In terms of return value and accuracy (>>3 digits) I would use the
scripting function:
ncs_ghosts(imol) - pythonic
(ncs-ghosts imol) - schemey
imol - your protein with NCS
Bernhard
Alright, thanks! It's a good thing, then, I spent the afternoon brushing
up on matrices.
I guess the next, probably more general question for the bb is: which
utilities export an NCS transformation matrix with more precision?
*superpose* and *gesamt* only export three decimals, though I'm sure
they use greater precision under the hood. I'm not opposed to exporting
from coot or pymol either, I just haven't figured out how to do this yet
- what would be the simplest way to calculate and export an NCS
transformation matrix?
Shane
On Wed, Apr 1, 2015 at 7:34 PM, Dale Tronrud <[email protected]
<mailto:[email protected]>> wrote:
I think you are on the right track - There are not enough decimal
points in your matrix elements to pass the orthonormal test. This test
checks that the length of each row (x^2+y^2+z^2) is equal to one and the
dot product of each row with every other row is equal to zero. If the
values on your NCS statement are in row order I calculate 0.999337 for
the length of the first row. If the program is testing if this is equal
to one to four decimal points you lose.
You have to add more digits, but just adding zeros isn't going to
accomplish much. The best solution is to get your ncs program to report
its matrix with more digits -- three is pitiful. Failing that you could
calculate one element of each row from the other two to ensure the
length is equal to one at a higher level of precision and hope this
doesn't mess up the dot product test. You'll end up with one number in
each row having more than three decimal places.
Dale Tronrud
On 4/1/2015 2:52 PM, Shane Caldwell wrote:
> Hi ccp4bb,
>
> I'm trying to solve a problem I never quite figured out in the past. I'd
> like to use the *sortwater* utility to send my picked waters to
various
> protein chains, and to give them the same residue number if they are
> NCS-equivalent, as the manual outlines.
>
>http://www.ccp4.ac.uk/html/sortwater.html
>
> The first part goes off perfectly, partitioning the waters into their
> respective chains. Where I run into problems is bringing in NCS. I can't
> get the program to recognize the transformation matrix. I can calculate
> the matrix using *superpose*, and manually input these (limited
> precision) values into my script, which looks like:
>
> NCS B C MATRIX 0.072 0.997 -0.012 0.991 -0.073 -0.113 -0.113 -0.004
> -0.994 37.502 -35.283 81.276
>
> and it returns
>
> WARNING: **** Matrix is not orthonormal ****
>
>
> My linear algebra is very limited, and I don't know exactly what this
> means in the context of this program, though I suspect it could be
> either linked to converting to fractional coordinates (I'm in a
> monoclinic system), or a product of the limited precision of the matrix
> values.
>
> Using the identity matrix, like so:
>
> NCS B C MATRIX 1.00000 0.00000 0.00000 0.00000 1.00000 0.00000 0.00000
> 0.00000 1.00000 0.000 0.000 0.000
>
> doesn't trigger the warning. These values have more digits, but adding
> extra zeroes to the original matrix as a very crude workaround still
> returns the error.
>
> So, I'm now stuck trying to parse what's going on. I know *sortwater*
> also takes O datablocks as matrix input, and that's something I could
> look into (especially if calculating in a different program might
get me
> better precision). Although, I'm not sure the format is a factor
given
> the identity matrix is accepted as a keyword input.
>
> Skimming the archives, I get the sense this isn't something that many
> users do any more. I have quite a few structures with hundreds of
waters
> each and I'd like to get the waters organized, but doing it by
hand will
> take a very long time. Any help getting this program running would be
> greatly appreciated!
>
>
> Shane Caldwell
> McGill University
---
This email has been checked for viruses by Avast antivirus software.
http://www.avast.com