Hi all,

Recently, someone (I'm sorry, I can't recall who, and I couldn't find
the post in question) posted a extremely useful scheme script to refine
residues in a sphere centered around the active residue. This works
brilliantly for refining disulfides and non-bonded contacts -
particularly handy for low res structures where fixing clashes, short
H-bonds etc manually can be very time-consuming. I was wondering if
anyone knows of a way to alter the script (reproduced below) from a key
binding to a scheme function, such that it can then be called with
'stepped-refine-protein-with-refine-func'?

The current stepped real-space refine function tends to generate a lot
of non-bonded clashes for low res structures - a sphere-refine version
ought to be much better in that respect, although a lot slower.

Additionally, does anyone know how to modify this script such that it
includes residues from symmetry-related molecules in the sphere? This
would be very useful at crystal contacts and at interfaces between
subunits in symmetric oligomers.

Apologies for my very limited knowledge of scheme, and for not knowing
who to attribute this to.

Script for refining residues in 4 Angstroem sphere:
(add-key-binding "Refine residues in a sphere" "R"
    (lambda ()
      (let ((active-atom (active-residue)))
        (if (not (list? active-atom))
            (format #t "No active atom~%")
            (let* ((centred-residue (list-head (cdr active-atom) 3))
                   (imol (car active-atom))
                   (other-residues (residues-near-residue imol
centred-residue 4))
                   (all-residues (if (list? other-residues)
                                     (cons centred-residue
other-residues)
                                     (list centred-residue))))

              (format #t "imol: ~s residues: ~s~%" imol all-residues)
              (refine-residues imol all-residues))))))

-- 
Oliver Clarke <[email protected]>

Reply via email to