Oliver Clarke wrote:

I like the fit protein script - at low resolution, initial rounds of fitting and refinement often result in my leucines/isoleucines having fairly implausible rotamers, and fit protein is a great way of quickly fixing up the worst of these.

However, it doesn't seem to deal so well with residue types where there are many almost equally probably rotamers (eg lys, arg), and in poor density these often end up with sidechains lodged firmly in density that belongs to the neighbouring strand of a beta sheet, for example.

Yes. this can happen. A bit of sphere refinement can help when this happens. I aim to improve the rotamer search for low resolution cases for 0.6.


Is there any way to script a function that will allow rotamer-fitting of specific residue types (eg all except lys, arg and maybe glu and gln)?


Hmm... sort of. The fit-protein and friends have been reworked recently. You can redefine fit-protein-fit-function. You will notice that there is now a test for the residue name. You will need a recent coot pre-release for this to work.

Paul.


(define (fit-protein-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 (apply residue-name res-spec)))
      (if (not (or (string=? res-name "ARG")
                   (string=? res-name "LYS")))
          (map (lambda (alt-conf)
                 (with-auto-accept
                  (format #t "centering on ~s ~s ~s~%" chain-id res-no "CA")
                  (set-go-to-atom-chain-residue-atom-name chain-id res-no "CA")
                  (rotate-y-scene 10 0.3) ; n-frames frame-interval(degrees)
                  (if (string=? alt-conf "")
                      (auto-fit-best-rotamer res-no alt-conf ins-code chain-id 
imol
                                             imol-map 1 0.1))
                  (if (>= imol-map 0)
                      (begin
                        ;; (refine-auto-range imol chain-id res-no "")
                        (refine-zone imol chain-id res-no res-no alt-conf)
                        (accept-regularizement)))
                  (rotate-y-scene 10 0.3)))
               (residue-alt-confs imol chain-id res-no ins-code))))))




Paul.

Reply via email to