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)
class cctbx.euclidean_model_matching.position(label, site)

Bases: object

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)