def exercise_other_reflection_formats(): hkl_handler = reflections.reflections_handler( allowed_param_names=phil_names) # test other file formats (requires phenix_regression) if (regression_dir is None): print "phenix_regression not found, skipping exercise_other_reflection_formats()" return cns_file = os.path.join(regression_dir, "reflection_files", "enk.hkl") hkl_handler.save_file(file_name=cns_file) try: hkl_handler.check_symmetry(file_name=cns_file) except Sorry: pass else: raise Exception_expected sca_file = os.path.join(regression_dir, "reflection_files", "merge.sca") hkl_handler.save_file(file_name=sca_file) assert (hkl_handler.get_intensity_labels(file_name=sca_file) == [ 'I(+),SIGI(+),I(-),SIGI(-)' ]) assert (hkl_handler.get_amplitude_labels(file_name=sca_file) == []) # test handling of reconstructed (anomalous) amplitudes dano_file = os.path.join(regression_dir, "reflection_files", "dano.mtz") hkl_handler = reflections.reflections_handler( allowed_param_names=["labin"]) hkl_handler.set_param_file(file_name=dano_file, file_param_name="labin") labels = hkl_handler.get_anomalous_data_labels(file_param_name="labin") assert (len(labels) == 3) labels = hkl_handler.get_anomalous_data_labels( file_param_name="labin", allow_reconstructed_amplitudes=False) assert (len(labels) == 0)
def exercise_other_reflection_formats () : hkl_handler = reflections.reflections_handler(allowed_param_names=phil_names) # test other file formats (requires phenix_regression) if (regression_dir is None) : print "phenix_regression not found, skipping exercise_other_reflection_formats()" return cns_file = os.path.join(regression_dir, "reflection_files", "enk.hkl") hkl_handler.save_file(file_name=cns_file) try : hkl_handler.check_symmetry(file_name=cns_file) except Sorry : pass else : raise Exception_expected sca_file = os.path.join(regression_dir, "reflection_files", "merge.sca") hkl_handler.save_file(file_name=sca_file) assert (hkl_handler.get_intensity_labels(file_name=sca_file) == ['I(+),SIGI(+),I(-),SIGI(-)']) assert (hkl_handler.get_amplitude_labels(file_name=sca_file) == []) # test handling of reconstructed (anomalous) amplitudes dano_file = os.path.join(regression_dir, "reflection_files", "dano.mtz") hkl_handler = reflections.reflections_handler( allowed_param_names=["labin"]) hkl_handler.set_param_file(file_name=dano_file, file_param_name="labin") labels = hkl_handler.get_anomalous_data_labels(file_param_name="labin") assert (len(labels) == 3) labels = hkl_handler.get_anomalous_data_labels(file_param_name="labin", allow_reconstructed_amplitudes=False) assert (len(labels) == 0)
def exercise_reflections(): hkl_handler = reflections.reflections_handler( allowed_param_names=phil_names) from cctbx import miller from cctbx import crystal from cctbx.array_family import flex symm = crystal.symmetry(unit_cell=(30, 30, 40, 90, 90, 120), space_group_symbol="P 61 2 2") miller_set = miller.build_set(crystal_symmetry=symm, anomalous_flag=True, d_min=1.5) n_refl = miller_set.indices().size() data = flex.random_double(n_refl) sigmas = flex.random_double(n_refl) f_obs = miller_set.array(data=data, sigmas=sigmas) f_obs_merged = f_obs.average_bijvoet_mates() flags = f_obs_merged.generate_r_free_flags() # single dataset mtz_dataset = f_obs_merged.as_mtz_dataset(column_root_label="F-obs", wavelength=1.54) mtz_dataset.add_miller_array(flags, column_root_label="R-free-flags") file_name = "tst_iotbs_gui_tools.mtz" mtz_dataset.mtz_object().write(file_name) assert (hkl_handler.set_param_file( file_name=file_name, file_param_name="refinement.input.xray_data.file_name") == True) assert (hkl_handler.set_param_file( file_name=file_name, file_param_name="refinement.input.xray_data.r_free_flags.file_name") == False) assert (hkl_handler.get_rfree_labels( file_param_name="refinement.input.xray_data.r_free_flags.file_name") == hkl_handler.get_rfree_labels(file_name=file_name) == ['R-free-flags']) assert (hkl_handler.get_rfree_labels(file_name=file_name, neutron=False) == hkl_handler.get_rfree_labels(file_name=file_name, neutron=True) == ['R-free-flags']) assert approx_equal( 1.54, hkl_handler.get_wavelength(file_name=file_name, labels="F-obs,SIGF-obs")) # join X/N datasets hkl_handler = reflections.reflections_handler( allowed_param_names=phil_names) data_neutron = flex.random_double(n_refl) sigmas_neutron = flex.random_double(n_refl) f_obs_neutron = miller_set.array(data=data_neutron, sigmas=sigmas_neutron) mtz_dataset = f_obs_merged.as_mtz_dataset(column_root_label="F-obs-xray") mtz_dataset.add_miller_array(f_obs_neutron, column_root_label="F-obs-neutron") mtz_dataset.add_miller_array(flags, column_root_label="R-free-flags-xray") mtz_dataset.add_miller_array(flags.deep_copy(), column_root_label="R-free-flags-neutron") file_name = "tst_iotbs_gui_tools.mtz" mtz_dataset.mtz_object().write(file_name) assert (hkl_handler.set_param_file( file_name=file_name, file_param_name="refinement.input.xray_data.file_name") == True) for i, phil_name in enumerate(phil_names[1:4]): assert (hkl_handler.set_param_file(file_name=file_name, file_param_name=phil_name) == False) assert (hkl_handler.get_rfree_labels( file_param_name="refinement.input.xray_data.r_free_flags.file_name") == hkl_handler.get_rfree_labels(file_name=file_name) == ['R-free-flags-xray', 'R-free-flags-neutron']) assert (hkl_handler.get_rfree_labels( file_name=file_name, neutron=False) == ['R-free-flags-xray']) assert (hkl_handler.get_rfree_labels( file_name=file_name, neutron=True) == ['R-free-flags-neutron']) hkl_handler.check_symmetry(file_name=file_name) assert (hkl_handler.get_data_labels( file_param_name="refinement.input.xray_data.file_name") == hkl_handler.get_data_labels(file_name=file_name) == hkl_handler.get_amplitude_labels(file_name=file_name) == [ "F-obs-xray,SIGF-obs-xray", "F-obs-neutron(+),SIGF-obs-neutron(+)," + "F-obs-neutron(-),SIGF-obs-neutron(-)" ]) assert (hkl_handler.get_anomalous_data_labels( file_param_name="refinement.input.xray_data.file_name") == [ "F-obs-neutron(+),SIGF-obs-neutron(+)," + "F-obs-neutron(-),SIGF-obs-neutron(-)" ]) assert (hkl_handler.has_anomalous_data( file_param_name="refinement.input.xray_data.file_name")) assert (hkl_handler.get_rfree_flag_value( array_name="F-obs-xray,SIGF-obs-xray", file_param_name="refinement.input.xray_data.file_name") is None) assert (hkl_handler.get_rfree_flag_value( array_name='R-free-flags-xray', file_param_name="refinement.input.xray_data.r_free_flags.file_name") == 1) (d_max, d_min) = hkl_handler.d_max_min() assert approx_equal(d_max, 25.98, eps=0.01) assert approx_equal(d_min, 1.5, eps=0.01) assert hkl_handler.space_group_as_str() == "P 61 2 2" assert (hkl_handler.unit_cell_as_str() == "30 30 40 90 90 120") assert (hkl_handler.unit_cell_as_str( separator=",") == "30,30,40,90,90,120") n_refl_merged = len(f_obs_merged.indices()) phi_array = f_obs_merged.random_phases_compatible_with_phase_restrictions( deg=True) fom_array = phi_array.array(data=flex.random_double(n_refl_merged)) hl_data = flex.hendrickson_lattman(n_refl_merged, (0, 0, 0, 0)) hl_coeffs = phi_array.array(data=hl_data) assert (hl_coeffs.is_hendrickson_lattman_array()) from iotbx.mtz import label_decorator import iotbx.mtz class resolve_label_decorator(label_decorator): def phases(self, *args, **kwds): return label_decorator.phases(self, *args, **kwds) + "M" def hendrickson_lattman(self, *args, **kwds): return label_decorator.hendrickson_lattman(self, *args, ** kwds) + "M" mtz_dataset = f_obs_merged.as_mtz_dataset(column_root_label="FP") mtz_dataset.add_miller_array(phi_array, column_root_label="PHIM", label_decorator=resolve_label_decorator(), column_types="P") mtz_dataset.add_miller_array(fom_array, column_root_label="FOMM", column_types="W") mtz_dataset.add_miller_array(hl_coeffs, column_root_label="HL", label_decorator=resolve_label_decorator()) fwt_map = f_obs_merged.customized_copy( sigmas=None).phase_transfer(phi_array) mtz_dataset.add_miller_array( fwt_map, column_root_label="FWT", label_decorator=iotbx.mtz.ccp4_label_decorator()) mtz_dataset.add_miller_array(flags, column_root_label="FreeR_flag") resolve_file = "tst_iotbx_gui_tools_resolve.mtz" mtz_dataset.mtz_object().write(resolve_file) hkl_handler = reflections.reflections_handler( allowed_param_names=["map_coeffs"]) hkl_handler.set_param_file(file_name=resolve_file, file_param_name="map_coeffs") assert hkl_handler.has_data(file_name=resolve_file) l1 = hkl_handler.get_map_coeff_labels(file_name=resolve_file) assert (l1 == ['FWT,PHWT', 'FP,PHIM,FOMM']) l2 = hkl_handler.get_phase_deg_labels(file_name=resolve_file) assert (l2 == [ 'HLAM,HLBM,HLCM,HLDM', 'FWT,PHWT', 'PHIM', ]), l2 l3 = hkl_handler.get_experimental_phase_labels(file_name=resolve_file) #print l3 l4 = hkl_handler.get_data_labels_for_wizard(file_name=resolve_file) assert (l4 == ['FP SIGFP']) l5 = hkl_handler.get_map_coeff_labels_for_build(file_name=resolve_file) assert (l5 == ['FWT,PHWT', 'FP,PHIM,FOMM']), l5 hkl_in = hkl_handler.get_file(file_name=resolve_file) assert (reflections.get_mtz_label_prefix(hkl_in) == "/crystal/dataset") map_coeffs = reflections.map_coeffs_from_mtz_file(resolve_file, f_label="FP,SIGFP") assert map_coeffs.is_complex_array() try: map_coeffs = reflections.map_coeffs_from_mtz_file(resolve_file) except Sorry: pass else: raise Exception_expected assert (hkl_handler.get_map_coeff_labels_for_fft( file_name=resolve_file) == ['FWT,PHWT', 'FP,SIGFP PHIM FOMM']) # miscellaneous utilities file_name = resolve_file hkl_in = file_reader.any_file(file_name) hkl_server = hkl_in.file_server assert approx_equal(reflections.get_high_resolution(hkl_server), 1.5, eps=0.0001) descriptions = [] for miller_array in hkl_server.miller_arrays: (sg, uc) = reflections.get_miller_array_symmetry(miller_array) assert (uc == "30 30 40 90 90 120") assert (str(sg) == "P 61 2 2") descriptions.append(reflections.get_array_description(miller_array)) assert (descriptions == [ 'Amplitude', 'Phases', 'Weights', 'HL coeffs', 'Map coeffs', 'R-free flag' ]), descriptions handler = reflections.reflections_handler() handler.save_file(input_file=hkl_in) assert (not handler.has_anomalous_data()) assert (handler.get_resolution_range( file_name=file_name) == "(25.981 - 1.500)") assert (handler.get_resolution_limits(file_name=file_name) == ('(25.981)', '(1.500)')) fmodel = phi_array.array( data=flex.complex_double(n_refl_merged, complex(0.5, 0.8))) m1 = phi_array.array( data=flex.complex_double(n_refl_merged, complex(1, 0))) m2 = phi_array.array( data=flex.complex_double(n_refl_merged, complex(0.5, 0))) m3 = phi_array.array(flex.complex_double(n_refl_merged, complex(1, 1))) dec = label_decorator(phases_prefix="PH") mtz_dataset = fmodel.as_mtz_dataset(column_root_label="F-model", label_decorator=dec) mtz_dataset.add_miller_array(m1, column_root_label="2FOFCWT", label_decorator=dec) mtz_dataset.add_miller_array(m2, column_root_label="FOFCWT", label_decorator=dec) mtz_dataset.add_miller_array(m3, column_root_label="2FOFCWT_no_fill", label_decorator=dec) file_name = "tst_iotbx_gui_tools_map_coeffs.mtz" mtz_dataset.mtz_object().write(file_name) hkl_handler = reflections.reflections_handler( allowed_param_names=["fmodel", "map_coeffs"]) hkl_handler.set_param_file(file_name=file_name, file_param_name="fmodel") assert (hkl_handler.get_fmodel_labels(file_name=file_name) == [ 'F-model,PHF-model' ]) assert (hkl_handler.get_amplitude_labels(file_name=file_name) == []) phi_labels = hkl_handler.get_phase_deg_labels(file_name=file_name) assert (len(phi_labels) == 4) phi_cols = hkl_handler.get_phase_column_labels(file_name=file_name) assert (phi_cols == [ 'PHF-model', 'PH2FOFCWT', 'PHFOFCWT', 'PH2FOFCWT_no_fill' ]) assert (len( hkl_handler.get_amplitude_column_labels(file_name=file_name, allow_conversion=True)) == 0) fc_cols = hkl_handler.get_fmodel_labels(file_name=file_name, first_column_only=True) assert (fc_cols == ['F-model']) hkl_server = file_reader.any_file(file_name).file_server map_labels = reflections.get_map_coeff_labels(hkl_server) assert (map_labels == [ '2FOFCWT,PH2FOFCWT', 'FOFCWT,PHFOFCWT', '2FOFCWT_no_fill,PH2FOFCWT_no_fill', ]) map_labels = reflections.get_map_coeffs_for_build(hkl_server) assert map_labels == [ '2FOFCWT,PH2FOFCWT', '2FOFCWT_no_fill,PH2FOFCWT_no_fill' ] map_coeffs = reflections.extract_phenix_refine_map_coeffs(file_name) assert (len(map_coeffs) == 3) hkl_file = file_reader.any_file(file_name) assert reflections.get_mtz_label_prefix(hkl_file) == "/crystal/dataset" # other stuff (fp, fpp) = reflections.get_fp_fpp_from_sasaki("Se", 0.979) assert fp is not None and fpp is not None
def exercise_reflections () : hkl_handler = reflections.reflections_handler(allowed_param_names=phil_names) from cctbx import miller from cctbx import crystal from cctbx.array_family import flex symm = crystal.symmetry( unit_cell=(30,30,40,90,90,120), space_group_symbol="P 61 2 2") miller_set = miller.build_set( crystal_symmetry=symm, anomalous_flag=True, d_min=1.5) n_refl = miller_set.indices().size() data = flex.random_double(n_refl) sigmas = flex.random_double(n_refl) f_obs = miller_set.array(data=data, sigmas=sigmas) f_obs_merged = f_obs.average_bijvoet_mates() flags = f_obs_merged.generate_r_free_flags() # single dataset mtz_dataset = f_obs_merged.as_mtz_dataset( column_root_label="F-obs", wavelength=1.54) mtz_dataset.add_miller_array(flags, column_root_label="R-free-flags") file_name = "tst_iotbs_gui_tools.mtz" mtz_dataset.mtz_object().write(file_name) assert (hkl_handler.set_param_file(file_name=file_name, file_param_name="refinement.input.xray_data.file_name") == True) assert (hkl_handler.set_param_file(file_name=file_name, file_param_name="refinement.input.xray_data.r_free_flags.file_name") == False) assert (hkl_handler.get_rfree_labels( file_param_name="refinement.input.xray_data.r_free_flags.file_name") == hkl_handler.get_rfree_labels(file_name=file_name) == ['R-free-flags']) assert (hkl_handler.get_rfree_labels(file_name=file_name, neutron=False) == hkl_handler.get_rfree_labels(file_name=file_name, neutron=True) == ['R-free-flags']) assert approx_equal(1.54, hkl_handler.get_wavelength(file_name=file_name, labels="F-obs,SIGF-obs")) # join X/N datasets hkl_handler = reflections.reflections_handler(allowed_param_names=phil_names) data_neutron = flex.random_double(n_refl) sigmas_neutron = flex.random_double(n_refl) f_obs_neutron = miller_set.array(data=data_neutron, sigmas=sigmas_neutron) mtz_dataset = f_obs_merged.as_mtz_dataset( column_root_label="F-obs-xray") mtz_dataset.add_miller_array(f_obs_neutron, column_root_label="F-obs-neutron") mtz_dataset.add_miller_array(flags, column_root_label="R-free-flags-xray") mtz_dataset.add_miller_array(flags.deep_copy(), column_root_label="R-free-flags-neutron") file_name = "tst_iotbs_gui_tools.mtz" mtz_dataset.mtz_object().write(file_name) assert (hkl_handler.set_param_file(file_name=file_name, file_param_name="refinement.input.xray_data.file_name") == True) for i, phil_name in enumerate(phil_names[1:4]) : assert (hkl_handler.set_param_file(file_name=file_name, file_param_name=phil_name) == False) assert (hkl_handler.get_rfree_labels( file_param_name="refinement.input.xray_data.r_free_flags.file_name") == hkl_handler.get_rfree_labels(file_name=file_name) == ['R-free-flags-xray', 'R-free-flags-neutron']) assert (hkl_handler.get_rfree_labels(file_name=file_name, neutron=False) == ['R-free-flags-xray']) assert (hkl_handler.get_rfree_labels(file_name=file_name, neutron=True) == ['R-free-flags-neutron']) hkl_handler.check_symmetry(file_name=file_name) assert (hkl_handler.get_data_labels( file_param_name="refinement.input.xray_data.file_name") == hkl_handler.get_data_labels(file_name=file_name) == hkl_handler.get_amplitude_labels(file_name=file_name) == ["F-obs-xray,SIGF-obs-xray", "F-obs-neutron(+),SIGF-obs-neutron(+),"+ "F-obs-neutron(-),SIGF-obs-neutron(-)"]) assert (hkl_handler.get_anomalous_data_labels( file_param_name="refinement.input.xray_data.file_name") == ["F-obs-neutron(+),SIGF-obs-neutron(+)," + "F-obs-neutron(-),SIGF-obs-neutron(-)"]) assert (hkl_handler.has_anomalous_data( file_param_name="refinement.input.xray_data.file_name")) assert (hkl_handler.get_rfree_flag_value( array_name="F-obs-xray,SIGF-obs-xray", file_param_name="refinement.input.xray_data.file_name") is None) assert (hkl_handler.get_rfree_flag_value(array_name='R-free-flags-xray', file_param_name="refinement.input.xray_data.r_free_flags.file_name") == 1) (d_max, d_min) = hkl_handler.d_max_min() assert approx_equal(d_max, 25.98, eps=0.01) assert approx_equal(d_min, 1.5, eps=0.01) assert hkl_handler.space_group_as_str() == "P 61 2 2" assert (hkl_handler.unit_cell_as_str() == "30 30 40 90 90 120") assert (hkl_handler.unit_cell_as_str(separator=",") == "30,30,40,90,90,120") n_refl_merged = len(f_obs_merged.indices()) phi_array = f_obs_merged.random_phases_compatible_with_phase_restrictions( deg=True) fom_array = phi_array.array(data=flex.random_double(n_refl_merged)) hl_data = flex.hendrickson_lattman(n_refl_merged, (0,0,0,0)) hl_coeffs = phi_array.array(data=hl_data) assert (hl_coeffs.is_hendrickson_lattman_array()) from iotbx.mtz import label_decorator import iotbx.mtz class resolve_label_decorator (label_decorator) : def phases (self, *args, **kwds) : return label_decorator.phases(self, *args, **kwds) + "M" def hendrickson_lattman (self, *args, **kwds) : return label_decorator.hendrickson_lattman(self, *args, **kwds) + "M" mtz_dataset = f_obs_merged.as_mtz_dataset( column_root_label="FP") mtz_dataset.add_miller_array(phi_array, column_root_label="PHIM", label_decorator=resolve_label_decorator(), column_types="P") mtz_dataset.add_miller_array(fom_array, column_root_label="FOMM", column_types="W") mtz_dataset.add_miller_array(hl_coeffs, column_root_label="HL", label_decorator=resolve_label_decorator()) fwt_map = f_obs_merged.customized_copy(sigmas=None).phase_transfer(phi_array) mtz_dataset.add_miller_array(fwt_map, column_root_label="FWT", label_decorator=iotbx.mtz.ccp4_label_decorator()) mtz_dataset.add_miller_array(flags, column_root_label="FreeR_flag") resolve_file = "tst_iotbx_gui_tools_resolve.mtz" mtz_dataset.mtz_object().write(resolve_file) hkl_handler = reflections.reflections_handler( allowed_param_names=["map_coeffs"]) hkl_handler.set_param_file( file_name=resolve_file, file_param_name="map_coeffs") assert hkl_handler.has_data(file_name=resolve_file) l1 = hkl_handler.get_map_coeff_labels(file_name=resolve_file) assert (l1 == ['FWT,PHWT', 'FP,PHIM,FOMM']) l2 = hkl_handler.get_phase_deg_labels(file_name=resolve_file) assert (l2 == ['HLAM,HLBM,HLCM,HLDM', 'FWT,PHWT', 'PHIM',]), l2 l3 = hkl_handler.get_experimental_phase_labels(file_name=resolve_file) #print l3 l4 = hkl_handler.get_data_labels_for_wizard(file_name=resolve_file) assert (l4 == ['FP SIGFP']) l5 = hkl_handler.get_map_coeff_labels_for_build(file_name=resolve_file) assert (l5 == ['FWT,PHWT', 'FP,PHIM,FOMM']), l5 hkl_in = hkl_handler.get_file(file_name=resolve_file) assert (reflections.get_mtz_label_prefix(hkl_in) == "/crystal/dataset") map_coeffs = reflections.map_coeffs_from_mtz_file(resolve_file, f_label="FP,SIGFP") assert map_coeffs.is_complex_array() try : map_coeffs = reflections.map_coeffs_from_mtz_file(resolve_file) except Sorry : pass else : raise Exception_expected assert (hkl_handler.get_map_coeff_labels_for_fft(file_name=resolve_file) == ['FWT,PHWT', 'FP,SIGFP PHIM FOMM']) # miscellaneous utilities file_name = resolve_file hkl_in = file_reader.any_file(file_name) hkl_server = hkl_in.file_server assert approx_equal(reflections.get_high_resolution(hkl_server), 1.5, eps=0.0001) descriptions = [] for miller_array in hkl_server.miller_arrays : (sg, uc) = reflections.get_miller_array_symmetry(miller_array) assert (uc == "30 30 40 90 90 120") assert (str(sg) == "P 61 2 2") descriptions.append(reflections.get_array_description(miller_array)) assert (descriptions == [ 'Amplitude', 'Phases', 'Weights', 'HL coeffs', 'Map coeffs', 'R-free flag']), descriptions handler = reflections.reflections_handler() handler.save_file(input_file=hkl_in) assert (not handler.has_anomalous_data()) assert (handler.get_resolution_range(file_name=file_name)=="(25.981 - 1.500)") assert (handler.get_resolution_limits(file_name=file_name) == ('(25.981)', '(1.500)')) fmodel = phi_array.array(data=flex.complex_double(n_refl_merged, complex(0.5,0.8))) m1 = phi_array.array(data=flex.complex_double(n_refl_merged, complex(1,0))) m2 = phi_array.array(data=flex.complex_double(n_refl_merged, complex(0.5,0))) m3 = phi_array.array(flex.complex_double(n_refl_merged, complex(1,1))) dec = label_decorator(phases_prefix="PH") mtz_dataset = fmodel.as_mtz_dataset( column_root_label="F-model", label_decorator=dec) mtz_dataset.add_miller_array(m1, column_root_label="2FOFCWT", label_decorator=dec) mtz_dataset.add_miller_array(m2, column_root_label="FOFCWT", label_decorator=dec) mtz_dataset.add_miller_array(m3, column_root_label="2FOFCWT_no_fill", label_decorator=dec) file_name = "tst_iotbx_gui_tools_map_coeffs.mtz" mtz_dataset.mtz_object().write(file_name) hkl_handler = reflections.reflections_handler( allowed_param_names=["fmodel", "map_coeffs"]) hkl_handler.set_param_file( file_name=file_name, file_param_name="fmodel") assert (hkl_handler.get_fmodel_labels(file_name=file_name) == ['F-model,PHF-model']) assert (hkl_handler.get_amplitude_labels(file_name=file_name) == []) phi_labels = hkl_handler.get_phase_deg_labels(file_name=file_name) assert (len(phi_labels) == 4) phi_cols = hkl_handler.get_phase_column_labels(file_name=file_name) assert (phi_cols == ['PHF-model','PH2FOFCWT','PHFOFCWT','PH2FOFCWT_no_fill']) assert (len(hkl_handler.get_amplitude_column_labels(file_name=file_name, allow_conversion=True)) == 0) fc_cols = hkl_handler.get_fmodel_labels(file_name=file_name, first_column_only=True) assert (fc_cols == ['F-model']) hkl_server = file_reader.any_file(file_name).file_server map_labels = reflections.get_map_coeff_labels(hkl_server) assert (map_labels == ['2FOFCWT,PH2FOFCWT', 'FOFCWT,PHFOFCWT', '2FOFCWT_no_fill,PH2FOFCWT_no_fill',]) map_labels = reflections.get_map_coeffs_for_build(hkl_server) assert map_labels == ['2FOFCWT,PH2FOFCWT','2FOFCWT_no_fill,PH2FOFCWT_no_fill'] map_coeffs = reflections.extract_phenix_refine_map_coeffs(file_name) assert (len(map_coeffs) == 3) hkl_file = file_reader.any_file(file_name) assert reflections.get_mtz_label_prefix(hkl_file) == "/crystal/dataset" # other stuff (fp, fpp) = reflections.get_fp_fpp_from_sasaki("Se", 0.979) assert fp is not None and fpp is not None