modify_start_model.adp.set_b_iso doesn't seem to work on PDB files with ANISOU cards
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 -- Dr Stephen Graham Nuffield Medical Fellow Division of Structural Biology Wellcome Trust Centre for Human Genetics Roosevelt Drive Oxford OX3 7BN United Kingdom Phone: +44 1865 287 549
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
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
Hi Dale, thanks for the suggestion! I will put it in my list. Actually all this functionality is available from lower level (Python scripting). We just need to propagate it to higher (user interface) level. Pavel. Dale Tronrud wrote:
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
_______________________________________________ phenixbb mailing list [email protected] http://www.phenix-online.org/mailman/listinfo/phenixbb
participants (3)
-
Dale Tronrud
-
Pavel Afonine
-
Stephen Graham