> > good enough to pass the orthonormal test.
.. scratch that, it passes sometimes and still fails for other structures/chains. So I'm still in search of a higher-precision export Shane On Wed, Apr 15, 2015 at 11:44 AM, Shane Caldwell <shane.caldwel...@gmail.com > wrote: > Hi Bernhard, thanks for the pointer. It looks like most of the coot ncs > functions don't print the matrix values, which made exporting them tricky, > especially because I'm pretty new to scripting in Python. > > I have 4 chains, and > ncs_ghosts(0) just spits out > > result is [['NCS found from matching Chain B onto Chain A', 'B', 'A', > False, False], ['NCS found from matching Chain C onto Chain A', 'C', 'A', > False, False], ['NCS found from matching Chain D onto Chain A', 'D', 'A', > False, False]] > > However, after playing around, I was able to extract the matrix from coot > using single_manual_ncs_ghosts, and while it's still at only limited > precision, it's good enough to pass the orthonormal test. > > Running coot > coot.log and then running the python: > > single_manual_ncs_ghosts(0,start,end,"A","B") > > where start and end were my residue numbers, wrote out : > > INFO:: coordinates transformed by orthonal matrix: > | 0.07272, 0.9909, -0.1131| > | 0.9973, -0.07361, -0.003729| > | -0.01202, -0.1125, -0.9936| > ( 41.44, -39.63, 77.24) > INFO:: fractional coordinates matrix: > | 0.06948, 1.063, -0.4001| > | 0.9013, -0.07361, -0.2467| > | -0.012, -0.1243, -0.9903| > ( 0.6896, -0.3967, 0.8545) > > Which is good enough for now, though it does feel like repairing the > dining room chair with duct tape. If anyone knows a cleaner way to get > these values, It'd be great to know! > > Shane > > On Wed, Apr 8, 2015 at 6:08 AM, B.Lohkamp <b.lohk...@gmail.com> wrote: > >> >> 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 <de...@daletronrud.com >>> <mailto:de...@daletronrud.com>> 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 >> >> >