In message <[EMAIL PROTECTED]> [EMAIL PROTECTED] writes: > Hello > > I would like to rotate/translate a multi-subunit complex, each subunit > having a different chain name. Is there a way (maybe a script) that allows > this to be done in Coot without attempting to change to a single chain > name?
I presume that the rotation/translation matrix (m in this case) is given by a LSQ match. If so, you can use the following. If not, you can supply the rotation/translation matrix directly to the transform-coords-molecule function. a rotation/translation matrix is a (list (list m11 m12 m13 m12 m12 m23 m31 m32 m33) (list t1 t2 t3)) Paul. ;; Set these for your case: ;; ;; match residues 10 to 20 in "B" chain of moving molecule to residues ;; 11 to 21 in chain "A" of reference molecule. The final 2 means "CA ;; match" 0 means "all atom) (define match-params '(11 21 "A" 10 20 "B" 2)) (define ref-mol 0) (define moving-mol 2) (clear-lsq-matches) (apply add-lsq-match match-params) (let* ((rc (copy-molecule moving-mol)) (m (apply-lsq-matches ref-mol rc))) (delete-molecule rc) (if m (transform-coords-molecule moving-mol m)))