On 3/31/2011 10:14 AM, Jacob Keller wrote:
>> What do we gain? As Dale pointed out, we are already abusing either occupancy, B-factor or delete the side chain to compensate
for our inability to tell the user that the side chain is disordered. With your proposal, we would fudge both occupancy and
B-factor, which in my eyes is even worse as fudging just one of the two.
>
>
> We gain clarity to the non-crystallographer user: a b-factor of 278.9
> sounds like possibly something real. A b-factor of exactly 1000 does
> not. Both probably have the same believability, viz., ~zero. Also,
> setting occupancy = zero is not fudging but rather respectfully
> declining to comment based on lack of data. I think it is exactly the
> same as omitting residues one cannot see in the density.
>
These things are never clear unless there is a solid definition of
the terms you are using. I don't think you can come up with an "out of
band" value for the B factor that doesn't have a legitimate meaning as
an atomic displacement parameter for someone. How large a B factor you
can meaningfully define depends on your lower resolution limit. People
working with electron microscopy or small angle X-ray scattering could
easily build models with ADPs far larger than anything we normally
encounter.
In addition, you can't define "1000" as a magic value since the PDB
format will only allow values up to 999.99, and I presume maintaining
the PDB format is one of your goals. Of course, you could choose -99.99
as the magic value but that would break all of our existing software
and I presume you don't want that either. Actually defining any value
for the B factor as the magic value would break all of our software.
The only advantage of a large, positive, number is that it would create
bugs that are more subtle.
The fundamental problem with your solution is that you are trying to
cram two pieces of information into a single number. Such density always
causes problems. Each concept needs its own value.
You could implement your solution easily in mmCIF. Just create a new
tag, say _atom_site.imaginary_site, which is either true or false
for every atom. Then everyone would be able to either filter out the fake
atoms or leave them in, without ambiguity or confusion.
If you object that the naive user of structural models wouldn't know
to check this tag - they aren't going to know about your magic B factor
either. You can't out-think someone who's not paying attention. At
some point you have to assume that people being paid to perform research
will learn the basics of the data they are using, even if you know that
assumption is not 100% true.
Dale Tronrud
|