Hi  ccp4'ers:

Thanks for the quick response on the coot side chain trimming issue.

---
I received an email from Patricia Legler to try Chainsaw (a ccp4 program I'm
not familiar with) and clustal to trim sidechains.
----

Paul Emsley tweaked my scheme script which I retweak and present here .
Paul's script didn't work with my version of coot ((I'm using coot
prerelease 0.4), the one I present below takes advantage of the
delete-sidechain-range function to trim back either a single (give start and
finish residue as the same) or range of residues to Cbeta.

Best -

Byron


Coot "trim back sidechain" scheme code:
-----
;; Delete (back to the CB stub) the side change in the range
;; resno-start to resno-end
;;
(define trim-sidechain-range
  (lambda (imol chain-id resno-start resno-end)
    (delete-sidechain-range imol chain-id resno-start resno-end)))

(let ((menu (coot-menubar-menu "Extensions")))

 (add-simple-coot-menu-menuitem
  menu "Trim back sidechains"
  (lambda ()

    (generic-chooser-and-entry
     "Choose a molecule to have its sidechains chopped"
     "Chain ID: ""A"
     (lambda (imol chain-id)
       (generic-double-entry "Starting Resno"
                             "End Resno"
                             "" "" #f #f "  Chop  Sidechains  "
                             (lambda (text-1 text-2 dummy)
                               (let ((resno-1 (string->number text-1))
                                     (resno-2 (string->number text-2)))
                                 (if (and (number? resno-1)
                                          (number? resno-2))
                                     (trim-sidechain-range imol chain-id
resno-1 resno-2))))))))))
-----

-- 
Byron DeLaBarre, Ph.D.
Structural Biology Group
Millennium Pharmaceuticals
Cambridge, MA

"In Reciprocal Space, I'm a Somebody"

Reply via email to