From CCP4 wiki
Jump to navigation Jump to search

;; 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")))
   menu "Trim back sidechains..."
   (lambda ()
      "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))))))))))