Dear Shane, Many, many years ago in a different world (BobScript), I got around these issues using Gram-Schmidt Orthogonalization:
http://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process I adapted it in Fortran, but you're welcome to it... but you can probably find it in a more modern library now. Regards, Robert -- Dr. Robert Esnouf, University Research Lecturer, Head of Research Computing Core, NDM Research Computing Strategy Officer Room 10/028, Wellcome Trust Centre for Human Genetics, Old Road Campus, Roosevelt Drive, Oxford OX3 7BN, UK Email: rob...@strubi.ox.ac.uk / rob...@well.ox.ac.uk Tel: (+44) - 1865 - 287783 ---- Original message ---- >Date: Fri, 3 Apr 2015 08:44:59 +0200 >From: CCP4 bulletin board <CCP4BB@JISCMAIL.AC.UK> (on behalf of dusan turk ><dusan.t...@ijs.si>) >Subject: Re: [ccp4bb] CCP4BB Digest - 1 Apr 2015 to 2 Apr 2015 (#2015-92) >To: CCP4BB@JISCMAIL.AC.UK > >Shane, > >After you define which segments share proper or improper all NCS their >parameters in MAIN environment, they will be calculated and stored in such >macro files. > >$ cat mol_A_to_B.com >! SAVING RMS FIT DATA: >set matrix MAT_ROT number - > 0.959598 -0.031620 -0.279592 - > -0.029443 0.976927 -0.211536 - > 0.279830 0.211222 0.936526 >set vari XTRAN global real = 3.66 >set vari YTRAN global real = 105.12 >set vari ZTRAN global real = -33.40 >return > >If you want to renormalize your matrices, you not only need to ensure that the >length of your lines or columns is equal to 1, but also that they are >orthogonal to each other, which is the easiest achieved by calculating the >cross products of the matrix lines (a,b,c): (a * b = c ) through which you >calculate first c and then either a or b. I would not do it, because the >limited precision distorts the transformation and making in orthogonal will >distort the accuracy of superimposition. > >best, >dusan > > > >> On Apr 3, 2015, at 1:00 AM, CCP4BB automatic digest system >> <lists...@jiscmail.ac.uk> wrote: >> >> >> Date: Wed, 1 Apr 2015 20:47:25 -0400 >> From: Shane Caldwell <shane.caldwel...@gmail.com> >> Subject: Re: Sortwater NCS Matrix input >> >> 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 >> > >Dr. Dusan Turk, Prof. >Head of Structural Biology Group http://bio.ijs.si/sbl/ >Head of Centre for Protein and Structure Production >Centre of excellence for Integrated Approaches in Chemistry and Biology of >Proteins, Scientific Director >http://www.cipkebip.org/ >Professor of Structural Biology at IPS "Jozef Stefan" >e-mail: dusan.t...@ijs.si >phone: +386 1 477 3857 Dept. of Biochem.& Mol.& Struct. Biol. >fax: +386 1 477 3984 Jozef Stefan Institute > Jamova 39, 1 000 Ljubljana,Slovenia >Skype: dusan.turk (voice over internet: www.skype.com