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 >
