Jason Porta wrote:
I am currently refining a 3 ang structure and would like to do rigid body
refinement treating each residue as a separate rigid body.
Here's how you'd do it in Coot, but I'd be surprised if this was better
that the "Fit Protein" function already built in (you'll need 0.6-pre).
Calculate -> Run Script...
Paul.
-----
;; set this
(define imol-protein 0)
(define (fit-protein-rigid-body-fit-function res-spec imol-map)
(let ((imol (list-ref res-spec 0))
(chain-id (list-ref res-spec 1))
(res-no (list-ref res-spec 2))
(ins-code (list-ref res-spec 3)))
(let ((res-name (residue-name imol chain-id res-no ins-code)))
(if (string? res-name)
(if (not (string=? res-name "HOH"))
(begin
(with-auto-accept
(set-go-to-atom-chain-residue-atom-name chain-id res-no "CA")
(rotate-y-scene 10 0.3) ; n-frames frame-interval(degrees)
(rigid-body-refine-zone res-no res-no chain-id imol)
(rotate-y-scene 10 0.3))))))))
(set! *continue-multi-refine* #t)
(interruptible-fit-protein imol-protein fit-protein-rigid-body-fit-function)