Well, wouldn't it be easier to implement it under the "validate>check/delete waters" menu? There is already a "b-factor greater than x" option, and it seems like a really natural and desirable function to have "b-factor less than x" also.
Jacob On Tue, Nov 22, 2011 at 9:48 AM, Paul Emsley <[email protected]> wrote: > -------- Original Message -------- > Subject: Re: Check Waters _Below_ Some B-factor > Date: Mon, 21 Nov 2011 16:49:02 +0000 > From: Paul Emsley <[email protected]> > To: [email protected] <[email protected]> > > > > On 18/11/11 17:02, Jacob Keller wrote: >> >> Dear Coot list, >> >> is there a way in Coot to check for waters that are below a given >> b-factor cutoff, aka potential different ions? > > > (define (waters-below imol bf-lim) > (for-each > (lambda (chain-id) > (let ((n-residues (chain-n-residues chain-id imol))) > (for-each > (lambda (serial-number) > (let ((res-name (resname-from-serial-number imol chain-id > serial-number)) > (res-no (seqnum-from-serial-number imol chain-id serial-number)) > (ins-code (insertion-code-from-serial-number imol chain-id > serial-number))) > (if (string=? res-name "HOH") > (let ((atoms (residue-info imol chain-id res-no ins-code))) > (for-each > (lambda (atom) > (let ((bf (list-ref (list-ref atom 1) 1))) > (if (< bf bf-lim) > (format #t "~s ~s ~s ~6,2f ~%" chain-id res-no ins-code > bf)))) > atoms))))) > (range n-residues)))) > (chain-ids imol))) > > > But... now that I've written that, I'll bet you want some sort of GUI > thing... > -- ******************************************* Jacob Pearson Keller Northwestern University Medical Scientist Training Program email: [email protected] *******************************************
