Ejemplo n.º 1
0
def exercise_recycle(space_group_info, anomalous_flag, n_scatterers=8, d_min=2.5, verbose=0):
    f_calc = random_f_calc(
        space_group_info=space_group_info,
        n_scatterers=n_scatterers,
        d_min=d_min,
        anomalous_flag=anomalous_flag,
        verbose=verbose,
    )
    if f_calc is None:
        return
    recycle(f_calc, "f_calc", verbose=verbose)
    for column_root_label, column_types in [("f_obs", None), ("Ework", "E")]:
        if anomalous_flag and column_types == "E":
            continue
        recycle(
            miller_array=abs(f_calc), column_root_label=column_root_label, column_types=column_types, verbose=verbose
        )
    if not anomalous_flag:
        recycle(abs(f_calc), "f_obs", column_types="R", verbose=verbose)
    for column_root_label, column_types in [("f_obs", None), ("Ework", "EQ")]:
        if anomalous_flag and column_types == "EQ":
            continue
        recycle(
            miller_array=miller.array(
                miller_set=f_calc, data=flex.abs(f_calc.data()), sigmas=flex.abs(f_calc.data()) / 10
            ),
            column_root_label=column_root_label,
            column_types=column_types,
            verbose=verbose,
        )
    recycle(f_calc.centric_flags(), "cent", verbose=verbose)
    recycle(generate_random_hl(miller_set=f_calc), "prob", verbose=verbose)
Ejemplo n.º 2
0
def exercise_recycle(space_group_info,
                     anomalous_flag,
                     n_scatterers=8,
                     d_min=2.5,
                     verbose=0):
    f_calc = random_f_calc(space_group_info=space_group_info,
                           n_scatterers=n_scatterers,
                           d_min=d_min,
                           anomalous_flag=anomalous_flag,
                           verbose=verbose)
    if (f_calc is None): return
    recycle(f_calc, "f_calc", verbose=verbose)
    for column_root_label, column_types in [("f_obs", None), ("Ework", "E")]:
        if (anomalous_flag and column_types == "E"): continue
        recycle(miller_array=abs(f_calc),
                column_root_label=column_root_label,
                column_types=column_types,
                verbose=verbose)
    if (not anomalous_flag):
        recycle(abs(f_calc), "f_obs", column_types="R", verbose=verbose)
    for column_root_label, column_types in [("f_obs", None), ("Ework", "EQ")]:
        if (anomalous_flag and column_types == "EQ"): continue
        recycle(miller_array=miller.array(miller_set=f_calc,
                                          data=flex.abs(f_calc.data()),
                                          sigmas=flex.abs(f_calc.data()) / 10),
                column_root_label=column_root_label,
                column_types=column_types,
                verbose=verbose)
    recycle(f_calc.centric_flags(), "cent", verbose=verbose)
    recycle(generate_random_hl(miller_set=f_calc), "prob", verbose=verbose)
Ejemplo n.º 3
0
def exercise(space_group_info,
             n_scatterers=8,
             d_min=2.5,
             anomalous_flag=False,
             verbose=0):
    f_calc = random_f_calc(space_group_info=space_group_info,
                           n_scatterers=n_scatterers,
                           d_min=d_min,
                           anomalous_flag=anomalous_flag,
                           verbose=verbose)
    if (f_calc is None): return
    data = flex.norm(f_calc.data())
    scale_factor = 9999998 / flex.max(data)
    data = data * scale_factor + 1
    f_calc = miller.array(miller_set=f_calc, data=data, sigmas=data /
                          10).set_observation_type_xray_intensity()
    f_calc = f_calc.select(flex.random_permutation(size=data.size()))
    recycle(miller_array=f_calc)
    recycle(miller_array=f_calc.f_sq_as_f())
Ejemplo n.º 4
0
def exercise(space_group_info, n_scatterers=8, d_min=2.5,
             anomalous_flag=False, verbose=0):
  f_calc = random_f_calc(
    space_group_info=space_group_info,
    n_scatterers=n_scatterers,
    d_min=d_min,
    anomalous_flag=anomalous_flag,
    verbose=verbose)
  if (f_calc is None): return
  data = flex.norm(f_calc.data())
  scale_factor = 9999998/flex.max(data)
  data = data * scale_factor + 1
  f_calc = miller.array(
    miller_set=f_calc,
    data=data,
    sigmas=data/10).set_observation_type_xray_intensity()
  f_calc = f_calc.select(flex.random_permutation(size=data.size()))
  recycle(miller_array=f_calc)
  recycle(miller_array=f_calc.f_sq_as_f())