[phenixbb] modify_start_model.adp.set_b_iso doesn't seem to work on PDB files with ANISOU cards
pafonine at lbl.gov
Mon Jan 21 14:09:46 PST 2008
what you are seeing is actually a feature. If you have a PDB file with a
mixture of isotropic and anisotropic B-factors and you use a command
"modify_start_model.adp.set_b_iso=60" the program sets all isotropic
B-factors to 60 and leaves anisotropic ones unchanged (this is what the
command name suggest: set_b_iso).
The easiest way to do what you want is to use phenix.pdbtools -- it is
very powerful tool for PDB file manipulations:
1) First, convert all atoms to isotropic:
phenix.pdbtools model.pdb convert_to_isotropic=True
2) Then set all isotropic b to a desired value:
phenix.pdbtools model.pdb adp.set_b_iso=60
You can do these manipulations with the whole PDB file content or its
any selected part.
I think in future we can change the behaviour of "convert_to_isotropic"
so if you say "convert_to_isotropic=True", then it just converts all
anisotropic B-factors to isotropic and if you say
"convert_to_isotropic=60", then it set all b to 60 regardless anything.
Something like this. Please let me know if you have a better idea.
For more information on phenix.pdbtools:
Stephen Graham wrote:
> Hi all,
> I just tried to reset my B values to the wilson B before TLS
> refinement (in an attampt to shake some model bias that I am sure is
> hiding somewhere in my temperature factors...). My start model was a
> TLS-refined PDB file from phenix.refine (hence with ANISOU cards). I
> issued the following command:
>> phenix.refine my_model.pdb my_data.mtz modify_start_model.adp.set_b_iso=60 output.prefix=my_model_resetB main.number_of_macro_cycles=0
> As far as I can tell, this should reset my B values to 60 and then
> exit. However, when I look at the resultant PDB file the Bs for all
> the solvent molecules 60 but for the protein they are not; rather the
> protein Bs are almost identical to the starting PDB file.
> If I try to remove the TLS-derived ANISOU cards by adding the command
> line option "adp.convert_to_isotropic=true" the result is the same
> (except the output PDB file no longer has ANISOU cards).
> However, if I strip out the ANISOU cards from my starting pdb file and
> _then_ run the above command the resultant PDB file _does_ have the
> correct values for both protein and solvent.
> It seems like modify_start_model.adp.set_b_iso=60 does not work when
> atom has an ANISOU card. The behaviour I would *expect* would be for
> the adp be reset to an 'isotropic' 60 (i.e. set the diagonal elements
> to 1 and the off-diagonals to 0). Is this a bug, or am I doing
> something silly?
More information about the phenixbb