Can Phenix refine B factors for several residues only?
Hi, I want to refine B factors for several residues only (all the other B factors and all coordinates fixed, I know it sounds weird but there is a reason to try that). Is there anyway Phenix can do this? Thanks for any suggestions! Best Regards, Hailiang
Hi Hailiang, you can easily do it in phenix.refine. Example: phenix.refine model.pdb data.mtz strategy=individual_adp adp.individual.iso="chain A and resseq 10:20" This will refine isotropic B-factors of atoms in residues from 10 to 20 in chain A. All the other atomic model parameters will not be refined. Let me know if you need more examples or need any help with this. In general, you can apply any combination of refinement strategies (coordinates, B-factors, etc..) to any selected part of your model. Pavel. On 8/26/10 12:00 PM, [email protected] wrote:
Hi,
I want to refine B factors for several residues only (all the other B factors and all coordinates fixed, I know it sounds weird but there is a reason to try that). Is there anyway Phenix can do this? Thanks for any suggestions!
Best Regards, Hailiang
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Hi Pavel: That's cool! I should have read phenix.refine doc more carefully. I will give it a try and see how it comes. Thanks a lot! Best Regards, Hailiang
Hi Hailiang,
you can easily do it in phenix.refine.
Example:
phenix.refine model.pdb data.mtz strategy=individual_adp adp.individual.iso="chain A and resseq 10:20"
This will refine isotropic B-factors of atoms in residues from 10 to 20 in chain A. All the other atomic model parameters will not be refined.
Let me know if you need more examples or need any help with this.
In general, you can apply any combination of refinement strategies (coordinates, B-factors, etc..) to any selected part of your model.
Pavel.
On 8/26/10 12:00 PM, [email protected] wrote:
Hi,
I want to refine B factors for several residues only (all the other B factors and all coordinates fixed, I know it sounds weird but there is a reason to try that). Is there anyway Phenix can do this? Thanks for any suggestions!
Best Regards, Hailiang
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Hi Hailiang, no problems! Let me know if you have any questions or problems with this and I will be happy to help. All the best! Pavel. On 8/26/10 12:50 PM, [email protected] wrote:
Hi Pavel:
That's cool! I should have read phenix.refine doc more carefully. I will give it a try and see how it comes. Thanks a lot!
Best Regards, Hailiang
Hi Hailiang,
you can easily do it in phenix.refine.
Example:
phenix.refine model.pdb data.mtz strategy=individual_adp adp.individual.iso="chain A and resseq 10:20"
This will refine isotropic B-factors of atoms in residues from 10 to 20 in chain A. All the other atomic model parameters will not be refined.
Let me know if you need more examples or need any help with this.
In general, you can apply any combination of refinement strategies (coordinates, B-factors, etc..) to any selected part of your model.
Pavel.
On 8/26/10 12:00 PM, [email protected] wrote:
Hi,
I want to refine B factors for several residues only (all the other B factors and all coordinates fixed, I know it sounds weird but there is a reason to try that). Is there anyway Phenix can do this? Thanks for any suggestions!
Best Regards, Hailiang
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Hi Pavel: I tried the following script to refine B factors for only several residues on chain J: ***************** phenix.refine 1KP8.pdb t.mtz strategy=individual_adp electron_density_maps.map_coefficients.mtz_label_amplitudes=FP \ adp.individual.iso="chain J and resseq 349:365" >log ********************* However, it turned out the all the B factors of the whole molecules has been changed. Not sure whether there is a problem with my script in order to do that... Best Regards, Hailiang
Hi Hailiang,
no problems! Let me know if you have any questions or problems with this and I will be happy to help.
All the best! Pavel.
On 8/26/10 12:50 PM, [email protected] wrote:
Hi Pavel:
That's cool! I should have read phenix.refine doc more carefully. I will give it a try and see how it comes. Thanks a lot!
Best Regards, Hailiang
Hi Hailiang,
you can easily do it in phenix.refine.
Example:
phenix.refine model.pdb data.mtz strategy=individual_adp adp.individual.iso="chain A and resseq 10:20"
This will refine isotropic B-factors of atoms in residues from 10 to 20 in chain A. All the other atomic model parameters will not be refined.
Let me know if you need more examples or need any help with this.
In general, you can apply any combination of refinement strategies (coordinates, B-factors, etc..) to any selected part of your model.
Pavel.
On 8/26/10 12:00 PM, [email protected] wrote:
Hi,
I want to refine B factors for several residues only (all the other B factors and all coordinates fixed, I know it sounds weird but there is a reason to try that). Is there anyway Phenix can do this? Thanks for any suggestions!
Best Regards, Hailiang
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Hi Hailiang, the B-factor can change by +/- a constant. This is because the trace of overall anisotropic scale matrix is subtracted from it and added to all atoms and to Bsol (similarly to what CNS does). I will add an option to turn this feature off, although I hope it's not problem in your case anyway. Pavel. On 8/26/10 3:33 PM, [email protected] wrote:
Hi Pavel:
I tried the following script to refine B factors for only several residues on chain J:
***************** phenix.refine 1KP8.pdb t.mtz strategy=individual_adp electron_density_maps.map_coefficients.mtz_label_amplitudes=FP \ adp.individual.iso="chain J and resseq 349:365">log *********************
However, it turned out the all the B factors of the whole molecules has been changed. Not sure whether there is a problem with my script in order to do that...
Best Regards, Hailiang
Hi Hailiang,
no problems! Let me know if you have any questions or problems with this and I will be happy to help.
All the best! Pavel.
On 8/26/10 12:50 PM, [email protected] wrote:
Hi Pavel:
That's cool! I should have read phenix.refine doc more carefully. I will give it a try and see how it comes. Thanks a lot!
Best Regards, Hailiang
Hi Hailiang,
you can easily do it in phenix.refine.
Example:
phenix.refine model.pdb data.mtz strategy=individual_adp adp.individual.iso="chain A and resseq 10:20"
This will refine isotropic B-factors of atoms in residues from 10 to 20 in chain A. All the other atomic model parameters will not be refined.
Let me know if you need more examples or need any help with this.
In general, you can apply any combination of refinement strategies (coordinates, B-factors, etc..) to any selected part of your model.
Pavel.
On 8/26/10 12:00 PM, [email protected] wrote:
Hi,
I want to refine B factors for several residues only (all the other B factors and all coordinates fixed, I know it sounds weird but there is a reason to try that). Is there anyway Phenix can do this? Thanks for any suggestions!
Best Regards, Hailiang
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Pavel Afonine wrote:
Example:
phenix.refine model.pdb data.mtz strategy=individual_adp adp.individual.iso="chain A and resseq 10:20"
This will refine isotropic B-factors of atoms in residues from 10 to 20 in chain A. All the other atomic model parameters will not be refined.
Let me know if you need more examples or need any help with this.
In general, you can apply any combination of refinement strategies (coordinates, B-factors, etc..) to any selected part of your model.
Is "fix_rotamers" a strategy? Can I limit it to a selection of residues? I'm working on a large structure, and if I just say main { . . . fix_rotamers = True I get the traceback quoted below. If this is a memory problem, would fixing fewer rotamers help? Macro-cycle 0: r_work=0.2265 r_free=0.2513 Traceback (most recent call last): File "/raid/bin/phenix-1.6-289/phenix/phenix/command_line/refine.py", line 11, in <module> command_line.run(command_name="phenix.refine", args=sys.argv[1:]) File "/raid/bin/phenix-1.6-289/phenix/phenix/refinement/command_line.py", line 89, in run call_back_handler=call_back_handler) File "/raid/bin/phenix-1.6-289/phenix/phenix/refinement/driver.py", line 1144, in run call_back_handler = call_back_handler) File "/raid/bin/phenix-1.6-289/phenix/phenix/refinement/strategies.py", line 550, in refinement_machine log = log) File "/raid/bin/phenix-1.6-289/cctbx_project/mmtbx/refinement/fit_rotamers.py", line 391, in run map_data_3,fft_map_3 = get_map_data(fmodel = fmodel, map_type = "mFo-DFc", kick=False) File "/raid/bin/phenix-1.6-289/cctbx_project/mmtbx/refinement/fit_rotamers.py", line 307, in get_map_data map_type = map_type) File "/raid/bin/phenix-1.6-289/cctbx_project/mmtbx/map_tools.py", line 329, in fft_map symmetry_flags = symmetry_flags) File "/raid/bin/phenix-1.6-289/cctbx_project/cctbx/miller.py", line 2647, in fft_map f_000=f_000) File "/raid/bin/phenix-1.6-289/cctbx_project/cctbx/miller.py", line 3016, in __init__ conjugate_flag=True) MemoryError (later) oswego 108% cat /proc/meminfo MemTotal: 2040272 kB MemFree: 163148 kB Buffers: 156712 kB Cached: 620380 kB SwapCached: 28 kB Active: 1353300 kB Inactive: 346496 kB HighTotal: 1144828 kB HighFree: 6040 kB LowTotal: 895444 kB LowFree: 157108 kB SwapTotal: 4096564 kB SwapFree: 4096480 kB Dirty: 116 kB Writeback: 0 kB A
On Sat, Aug 28, 2010 at 9:54 AM, Edward A. Berry
Is "fix_rotamers" a strategy? Can I limit it to a selection of residues?
I think it's only global right now.
I get the traceback quoted below. If this is a memory problem, would fixing fewer rotamers help? File "/raid/bin/phenix-1.6-289/cctbx_project/cctbx/miller.py", line 3016, in __init__ conjugate_flag=True) MemoryError
Sorry, it is crashing during an FFT, which is required to generate the maps used for fitting, and I believe this has to be done over the entire unit cell. I suspect there are some inefficiencies in the code, because I've seen this same error before in GUI bug reports. (For instance, the grid spacing is 1/4 of resolution, and changing to 1/3 might fix the problem - although it will probably also have a negative effect on the real-space refinement.) Regardless, the only solution is to upgrade the RAM, and since you already have 2GB installed, you will also need to upgrade to a 64-bit OS and Phenix installer if you aren't already using that. (This assumes that your processor is compatible, of course.) PS. Please update to version 1.6.4, I believe Pavel made some major improvements to the rotamer fitting since 1.6 was released (and of course there are many other new features/fixes as well). -Nat
Hi Ed, sorry for the trouble. The error you get is a memory problem indeed. "fix_rotamers" is not a strategy. If you do: phenix.refine --show-defaults=all it will print out all phenix.refine parameters and you will see the list of "strategy" keywords: strategy = *individual_sites individual_sites_real_space rigid_body \ *individual_adp group_adp tls *occupancies group_anomalous where "*" means selected. "fix_rotamers" option may consume a lot of memory since it is using 3 maps: mFo-DFc, 2mFo-DFc and Fc maps. All these maps are computed on the grid with the step high_resolution/4. I found that the scale 1./3 sometimes works worse than 1./4, although of course using 1./3 will result in smaller maps. Currently you can't select residues to apply "fix_rotamers". phenix.refine automatically decides which residues need a fix. The details of "fix_rotamers" protocol you can find here: http://cci.lbl.gov/~afonine/rsr.pdf My plan is : - find a way of using less memory since it seems to be an issue for small memory machines/large structures; - enable user-defined atom selection so one can apply "fix_rotamers" to selected residues only; - improve quality assessment criteria to reduce false fixes. I was working on this option beginning of this year and then I got some sidetracks so I still consider it "under development". For example, it doesn't play very well if you use NCS restraints. At low resolution I need to experiment with B-factor sharpened maps or/and 3Fo-2Fc or higher order, etc. More efficiently use H atoms. Anyway, if you try "fix_rotamers" option I would be interested to hear you feedback. Thanks! All the best! Pavel. On 8/28/10 9:54 AM, Edward A. Berry wrote:
Pavel Afonine wrote:
Example:
phenix.refine model.pdb data.mtz strategy=individual_adp adp.individual.iso="chain A and resseq 10:20"
This will refine isotropic B-factors of atoms in residues from 10 to 20 in chain A. All the other atomic model parameters will not be refined.
Let me know if you need more examples or need any help with this.
In general, you can apply any combination of refinement strategies (coordinates, B-factors, etc..) to any selected part of your model.
Is "fix_rotamers" a strategy? Can I limit it to a selection of residues? I'm working on a large structure, and if I just say
main { . . . fix_rotamers = True
I get the traceback quoted below. If this is a memory problem, would fixing fewer rotamers help?
Macro-cycle 0: r_work=0.2265 r_free=0.2513 Traceback (most recent call last): File "/raid/bin/phenix-1.6-289/phenix/phenix/command_line/refine.py", line 11, in <module> command_line.run(command_name="phenix.refine", args=sys.argv[1:]) File "/raid/bin/phenix-1.6-289/phenix/phenix/refinement/command_line.py", line 89, in run call_back_handler=call_back_handler) File "/raid/bin/phenix-1.6-289/phenix/phenix/refinement/driver.py", line 1144, in run call_back_handler = call_back_handler) File "/raid/bin/phenix-1.6-289/phenix/phenix/refinement/strategies.py", line 550, in refinement_machine log = log) File "/raid/bin/phenix-1.6-289/cctbx_project/mmtbx/refinement/fit_rotamers.py", line 391, in run map_data_3,fft_map_3 = get_map_data(fmodel = fmodel, map_type = "mFo-DFc", kick=False) File "/raid/bin/phenix-1.6-289/cctbx_project/mmtbx/refinement/fit_rotamers.py", line 307, in get_map_data map_type = map_type) File "/raid/bin/phenix-1.6-289/cctbx_project/mmtbx/map_tools.py", line 329, in fft_map symmetry_flags = symmetry_flags) File "/raid/bin/phenix-1.6-289/cctbx_project/cctbx/miller.py", line 2647, in fft_map f_000=f_000) File "/raid/bin/phenix-1.6-289/cctbx_project/cctbx/miller.py", line 3016, in __init__ conjugate_flag=True) MemoryError
(later) oswego 108% cat /proc/meminfo MemTotal: 2040272 kB MemFree: 163148 kB Buffers: 156712 kB Cached: 620380 kB SwapCached: 28 kB Active: 1353300 kB Inactive: 346496 kB HighTotal: 1144828 kB HighFree: 6040 kB LowTotal: 895444 kB LowFree: 157108 kB SwapTotal: 4096564 kB SwapFree: 4096480 kB Dirty: 116 kB Writeback: 0 kB A _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Pavel Afonine wrote:
Hi Ed,
sorry for the trouble. The error you get is a memory problem indeed.
"fix_rotamers" is not a strategy. If you do:
phenix.refine --show-defaults=all
it will print out all phenix.refine parameters and you will see the list of "strategy" keywords:
strategy = *individual_sites individual_sites_real_space rigid_body \ *individual_adp group_adp tls *occupancies group_anomalous
where "*" means selected.
"fix_rotamers" option may consume a lot of memory since it is using 3 maps: mFo-DFc, 2mFo-DFc and Fc maps. All these maps are computed on the grid with the step high_resolution/4. I found that the scale 1./3 sometimes works worse than 1./4, although of course using 1./3 will result in smaller maps.
Thanks, Pavel, If nothing else works, can I change this factor with: real_space_refinement { mode = simple *diff_map target_map_name = 2mFo-DFc model_map_name = Fc grid_resolution_factor = 1./4 ? Or its hard-wired for all three maps?
Currently you can't select residues to apply "fix_rotamers". phenix.refine automatically decides which residues need a fix. The details of "fix_rotamers" protocol you can find here:
http://cci.lbl.gov/~afonine/rsr.pdf
My plan is :
- find a way of using less memory since it seems to be an issue for small memory machines/large structures; - enable user-defined atom selection so one can apply "fix_rotamers" to selected residues only; - improve quality assessment criteria to reduce false fixes.
I was working on this option beginning of this year and then I got some sidetracks so I still consider it "under development". For example, it doesn't play very well if you use NCS restraints. At low resolution I need to experiment with B-factor sharpened maps or/and 3Fo-2Fc or higher order, etc. More efficiently use H atoms.
Anyway, if you try "fix_rotamers" option I would be interested to hear you feedback. Thanks!
All the best! Pavel.
Hi Ed,
If nothing else works, can I change this factor with: real_space_refinement { mode = simple *diff_map target_map_name = 2mFo-DFc model_map_name = Fc grid_resolution_factor = 1./4
? Or its hard-wired for all three maps?
yes, you can change to 1./3 and this should reduce the map size. Pavel.
Pavel Afonine wrote:
Hi Ed,
If nothing else works, can I change this factor with: real_space_refinement { mode = simple *diff_map target_map_name = 2mFo-DFc model_map_name = Fc grid_resolution_factor = 1./4
? Or its hard-wired for all three maps?
yes, you can change to 1./3 and this should reduce the map size.
Pavel.
Fix-rotamers is working fine with resolution limited to 2.2A and using phenix-1.6.4-486 in Fedora 8 (32 bit). I'll try higher resolution and if necessary coarser map
participants (4)
-
Edward A. Berry
-
Nathaniel Echols
-
Pavel Afonine
-
zhangh1@umbc.edu