Chop-side-chains-gui.scm

From CCP4 wiki
Revision as of 03:37, 14 March 2008 by Emsley (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

;; Delete (back to the CB stub) the side change in the range
;; resno-start to resno-end
;; This overrides the standard function 
(define delete-sidechain-range
   (lambda (imol chain-id resno-start resno-end)
     
    (map (lambda (resno)
	   (delete-residue-sidechain imol chain-id resno "" 0))
         (number-list resno-start resno-end))))


;; Now back to the GUI code:
;; 
(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: " "" 
      (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))
				      (delete-sidechain-range imol chain-id resno-1 resno-2))))))))))