iotbx xray.reconstructed_amplitude and changed SIGF
Hi, This is my first post to this list and I hope I can explain my confusion properly. I have been using iotbx to manipulate data stored in mtz files and found that values in columns that should not have been altered by my code are different in the output mtz file. This seems only to occur when the input mtz file contains DANO, SIGDANO columns. When I run the code below F and DANO in input.mtz and output.mtz are the same but SIGF and SIGDANO are different (shown for 5 reflections listed). Is this expected behaviour? Given that in my understanding that code should just read a mtz file, convert the data to a miller array then write the array back out to a new mtz I would expect the values in the input and output to be identical (within rounding error). Thanks, Huw from __future__ import division import sys from iotbx import mtz from iotbx import reflection_file_reader from iotbx import reflection_file_utils def run(args): mtz_file = reflection_file_reader.any_reflection_file("input.mtz") mtz_as_miller_array = mtz_file.as_miller_arrays() f_obs = mtz_as_miller_array[0] mtz_out = f_obs.as_mtz_dataset(column_root_label="F_iotbx") mtz_out.mtz_object().write("output.mtz") if (__name__ == "__main__"): run(sys.argv[1:]) some reflections from input.mtz are: H K L F_ccp4 SIGF_ccp4 DANO_ccp4 SIGDANO_ccp4 ISYM_ccp4 1 2 2 4.90461 2.31536 0 3.27441 0 1 2 3 186.172 1.86381 119.745 3.84862 0 1 2 4 289.31 3.06709 -5.42197 6.46531 0 1 2 5 378.928 2.7118 87.3381 5.56933 0 1 2 6 540.866 4.38513 46.4155 8.8053 0 The same reflections in output.mtz are: H K L F_iotbx SIGF_iotbx DANOF_iotbx SIGDANOF_iotbx ISYMF_iotbx 1 2 2 4.90461 2.00516 0 4.01032 0 1 2 3 186.172 1.8943 119.745 3.7886 0 1 2 4 289.31 3.15096 -5.42197 6.30192 0 1 2 5 378.928 2.74848 87.3381 5.49695 0 1 2 6 540.866 4.3939 46.4155 8.7878 0
Hello Huw, interesting... I don't have an answer but I can try to investigate if you send me input file (output I can generate with your script). Pavel On 2/11/15 5:18 AM, Huw Jenkins wrote:
Hi,
This is my first post to this list and I hope I can explain my confusion properly. I have been using iotbx to manipulate data stored in mtz files and found that values in columns that should not have been altered by my code are different in the output mtz file. This seems only to occur when the input mtz file contains DANO, SIGDANO columns.
When I run the code below F and DANO in input.mtz and output.mtz are the same but SIGF and SIGDANO are different (shown for 5 reflections listed). Is this expected behaviour? Given that in my understanding that code should just read a mtz file, convert the data to a miller array then write the array back out to a new mtz I would expect the values in the input and output to be identical (within rounding error).
Thanks,
Huw
from __future__ import division import sys from iotbx import mtz from iotbx import reflection_file_reader from iotbx import reflection_file_utils
def run(args):
mtz_file = reflection_file_reader.any_reflection_file("input.mtz") mtz_as_miller_array = mtz_file.as_miller_arrays() f_obs = mtz_as_miller_array[0] mtz_out = f_obs.as_mtz_dataset(column_root_label="F_iotbx") mtz_out.mtz_object().write("output.mtz")
if (__name__ == "__main__"): run(sys.argv[1:])
some reflections from input.mtz are:
H K L F_ccp4 SIGF_ccp4 DANO_ccp4 SIGDANO_ccp4 ISYM_ccp4 1 2 2 4.90461 2.31536 0 3.27441 0 1 2 3 186.172 1.86381 119.745 3.84862 0 1 2 4 289.31 3.06709 -5.42197 6.46531 0 1 2 5 378.928 2.7118 87.3381 5.56933 0 1 2 6 540.866 4.38513 46.4155 8.8053 0
The same reflections in output.mtz are:
H K L F_iotbx SIGF_iotbx DANOF_iotbx SIGDANOF_iotbx ISYMF_iotbx 1 2 2 4.90461 2.00516 0 4.01032 0 1 2 3 186.172 1.8943 119.745 3.7886 0 1 2 4 289.31 3.15096 -5.42197 6.30192 0 1 2 5 378.928 2.74848 87.3381 5.49695 0 1 2 6 540.866 4.3939 46.4155 8.7878 0
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hello Huw, I modified the script to add more sanity checks. It looks like data (Fobs and sigmas) in input and output files are identical. I'm not sure why whatever tools you used to output the raw numbers to the screen show them different. The modified script is attached. Pavel On 2/11/15 5:18 AM, Huw Jenkins wrote:
Hi,
This is my first post to this list and I hope I can explain my confusion properly. I have been using iotbx to manipulate data stored in mtz files and found that values in columns that should not have been altered by my code are different in the output mtz file. This seems only to occur when the input mtz file contains DANO, SIGDANO columns.
When I run the code below F and DANO in input.mtz and output.mtz are the same but SIGF and SIGDANO are different (shown for 5 reflections listed). Is this expected behaviour? Given that in my understanding that code should just read a mtz file, convert the data to a miller array then write the array back out to a new mtz I would expect the values in the input and output to be identical (within rounding error).
Thanks,
Huw
from __future__ import division import sys from iotbx import mtz from iotbx import reflection_file_reader from iotbx import reflection_file_utils
def run(args):
mtz_file = reflection_file_reader.any_reflection_file("input.mtz") mtz_as_miller_array = mtz_file.as_miller_arrays() f_obs = mtz_as_miller_array[0] mtz_out = f_obs.as_mtz_dataset(column_root_label="F_iotbx") mtz_out.mtz_object().write("output.mtz")
if (__name__ == "__main__"): run(sys.argv[1:])
some reflections from input.mtz are:
H K L F_ccp4 SIGF_ccp4 DANO_ccp4 SIGDANO_ccp4 ISYM_ccp4 1 2 2 4.90461 2.31536 0 3.27441 0 1 2 3 186.172 1.86381 119.745 3.84862 0 1 2 4 289.31 3.06709 -5.42197 6.46531 0 1 2 5 378.928 2.7118 87.3381 5.56933 0 1 2 6 540.866 4.38513 46.4155 8.8053 0
The same reflections in output.mtz are:
H K L F_iotbx SIGF_iotbx DANOF_iotbx SIGDANOF_iotbx ISYMF_iotbx 1 2 2 4.90461 2.00516 0 4.01032 0 1 2 3 186.172 1.8943 119.745 3.7886 0 1 2 4 289.31 3.15096 -5.42197 6.30192 0 1 2 5 378.928 2.74848 87.3381 5.49695 0 1 2 6 540.866 4.3939 46.4155 8.7878 0
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
participants (2)
-
Huw Jenkins
-
Pavel Afonine