There is another task which should be considered when designing this interface. I can imagine situations where I would like to change the isotropic component of some atoms while preserving the anisotropic axial ratios. If I wanted to slide up or down the overall motion/disorder of a molecule but believed it reasonable to assume the internal motions are the same I would like such a function. Dale Tronrud Pavel Afonine wrote:
Hi Stephen,
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 output.pdb.file_name=model_iso.pdb
2) Then set all isotropic b to a desired value: phenix.pdbtools model.pdb adp.set_b_iso=60 output.pdb.file_name=model_iso_60.pdb
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: http://www.phenix-online.org/documentation/pdbtools.htm
Cheers, Pavel.
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?
Cheers,
Stephen
_______________________________________________ phenixbb mailing list [email protected] http://www.phenix-online.org/mailman/listinfo/phenixbb