On Wed, 1 Apr 2015 17:52:44 -0400, Shane Caldwell <[email protected]> 
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

I'd try the following:
calculate 
delta1=(1 - (0.072^2 + 0.997^2 + 0.012^2) ) / 2 and add it to 0.997; use the 
result instead of 0.997
delta2=(1- (0.991^2 + 0.073^2 + 0.113^2)) / 2 and add it to 0.991; use the 
result instead of 0.991
delta3=(1 - (0.113^2 + 0.004^2 + 0.994^2)) / 2 and add it to -0.994; use the 
result instead of -0.994

I think (but didn't verify!) these operations would adjust the lengths of the 
"vectors" towards 1.000, while keeping their dot product close to zero.

best,

Kay 


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

Reply via email to