[cctbxbb] How to extract I(+) and I(-) from miller array?

Mooers, Blaine H.M. (HSC) Blaine-Mooers at ouhsc.edu
Tue Jun 9 07:55:40 PDT 2020

Dear CCTBX experts,

The diffraction data for 3hz7 from RC Researcher's question includes one dataset with column labels of 'I(+)', 'SIGI(+)', 'I(-)', 'SIGI(-)'.
When the diffraction data of 3hz7 data are read from a mtz file into miller arrays, 
it would appear that the I(+) and I(-) are stored in a single column of intensities rather than two parallel columns. 

from iotbx.reflection_file_reader import any_reflection_file

hkl_file = any_reflection_file('3hz7.mtz')
miller_arrays = hkl_file.as_miller_arrays(merge_equivalents=False)
Iobs = miller_arrays[1]

[((7, 4, 38), 84.0, 52.20000076293945),
 ((-7, -4, -38), 112.80000305175781, 48.20000076293945),
 ((8, 4, 38), 119.69999694824219, 57.400001525878906),
 ((-8, -4, -38), 152.10000610351562, 65.9000015258789),
 ((6, 5, 38), 732.5, 57.5)]

How would I extract the I(+) and I(-) into lists to plot against each other in a scatter plot in matplotlib?

Best regards,


Blaine Mooers, Ph.D.
Associate Professor
Department of Biochemistry and Molecular Biology
College of Medicine
University of Oklahoma Health Sciences Center
S.L. Young Biomedical Research Center (BRC) Rm. 466
975 NE 10th Street, BRC 466
Oklahoma City, OK 73104-5419

More information about the cctbxbb mailing list