cctbx.euclidean_model_matching module¶
- cctbx.euclidean_model_matching.compute_refined_matches(ref_model1, ref_model2, tolerance, models_are_diffraction_index_equivalent, shall_break)¶
- class cctbx.euclidean_model_matching.delegating_model_matches(model1, model2, tolerance=1.0, models_are_diffraction_index_equivalent=False, shall_break=None, rms_penalty_per_site=0.05)¶
Bases:
object
emma loops over all pairs of sites from the first and second structure. If a pair is closer than tolerance (under Euclidean symmetry) it initiates a “match and refine” procedure which incrementally adds the “next closest” pair, with a distance below 2*tolerance. Each time a pair is added the allowed origin shifts (if any) are refined to minimize the rmsd of all the pairs matched so far. When there are no more pairs to add, emma goes into a “weeding” procedure. This procedure sorts the pairs by distance. If there are distances above tolerance, the worst pair is removed, followed by the same allowed origin shift refinement as before. The weeding is repeated until there are no pairs above tolerance.
emma was written with substructures in mind, which usually have a few (by macromolecular standards) sites placed far apart in space.
- consensus_model(i_model=1, i_refined_matches=0)¶
- n_matches()¶
- n_pairs_best_match()¶
- transform_model(i_model, i_refined_matches=0)¶
- class cctbx.euclidean_model_matching.euclidean_match_symmetry(space_group_info, use_k2l, use_l2n)¶
Bases:
object
- filter_shift(shift, selector=1)¶
- show(title='', f=None)¶
- cctbx.euclidean_model_matching.filter_shift(continuous_shift_flags, shift, selector=1)¶
- cctbx.euclidean_model_matching.generate_singles(n, i)¶
- cctbx.euclidean_model_matching.inside_zero_one(c)¶
- class cctbx.euclidean_model_matching.match_refine(tolerance, ref_model1, ref_model2, match_symmetry, add_pair_ext, i_pivot1, i_pivot2, eucl_symop, initial_shift, times=None)¶
Bases:
object
- add_pairs()¶
- apply_eucl_ops(i_model2)¶
- calculate_rms()¶
- calculate_shortest_diff(pair)¶
- calculate_shortest_diffs()¶
- calculate_shortest_dist(pair)¶
- eliminate_weak_pairs()¶
- exclude_pairs()¶
- get_transformed_model2(output_pdb=None, scattering_type='SE', f=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, return_superposed_model2=True, template_pdb_inp=None)¶
- refine_adjusted_shift()¶
- show(f=None, truncate_singles=None, singles_per_line=5)¶
- cctbx.euclidean_model_matching.match_refine_times()¶
- cctbx.euclidean_model_matching.match_rt_from_ref_eucl_rt(model1_cb_op, model2_cb_op, ref_eucl_rt)¶
- cctbx.euclidean_model_matching.match_sort_function(match_a, match_b)¶
- class cctbx.euclidean_model_matching.model(special_position_settings, positions=None)¶
Bases:
special_position_settings
- add_position(pos)¶
- add_positions(positions)¶
- as_xray_structure(scatterer=None)¶
- best_superpositions_on_other(other_model, tolerance=1.5, models_are_diffraction_index_equivalent=True, break_if_match_with_no_singles=True, f=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, specifically_test_inverse=True)¶
- cb_op()¶
- change_basis(cb_op)¶
- change_hand()¶
- combine_with_other(other_model, tolerance=1.5, models_are_diffraction_index_equivalent=True, break_if_match_with_no_singles=True, f=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, improved_only=True, new_model_number=0)¶
- expand_to_p1()¶
- positions()¶
- reset_cb_op()¶
- show(title, f=None)¶
- size()¶
- transform_to_reference_setting()¶
- class cctbx.euclidean_model_matching.model_matches(model1, model2, tolerance=1.0, models_are_diffraction_index_equivalent=False, break_if_match_with_no_singles=False, rms_penalty_per_site=0.05)¶
Bases:
delegating_model_matches
- cctbx.euclidean_model_matching.pair_sort_function(pair_a, pair_b)¶
- cctbx.euclidean_model_matching.sgtbx_rt_mx_as_matrix_rt(s)¶
- cctbx.euclidean_model_matching.weed_refined_matches(space_group_number, refined_matches, rms_penalty_per_site)¶