Hi Jan,

There are two steps to think about: .map_to_asu() and .common_set()
or .common_sets(). Look for these methods in
cctbx/regression/tst_miller.py, then add print statements to see
how they work (run the command with e.g. "P31" so that it only
exercises one space group).

However, the best way to compute f_calc given an array of f_obs
is via

  f_calc = f_obs.structure_factors_from_scatterers(
    xray_structure).f_calc()

This way the f_calc are directly compatible with the f_obs array.

Ralf


From: Jan Marten Simons <[email protected]>
To: [email protected]
Sent: Monday, April 11, 2011 3:00 AM
Subject: Re: [cctbxbb] Best way to compare incomplete f_hkl to calculated f_hkl

Hi,

I'm looking at the best (=fastest) way to compare a (possibly incomplete) list
of observed reflections f_hkl_obs (or fo2_hkl_obs) to the f_hkl_calc of 
calculated structure factors or intensities from a model structure.

in miller.py there is a function to calculate a difference between f_obs and
f_calc, but it asserts that all reflections are present in f_obs:

def f_obs_minus_f_calc(self, f_obs_factor, f_calc):
assert f_calc.is_complex_array()
assert self.indices().all_eq(f_calc.indices())
assert self.anomalous_flag() is f_calc.anomalous_flag()
...

In my case it's possible that some reflections could not be observed so they
should either be skipped or be assumed to be of zero intensity. As I could not
locate the definition for .all_eq(...), yet I'm not sure if this is already
handled and if it is how it is done.

Then there is f_obs_minus_xray_structure_f_calc in miller.py as well. Would
this be a better approach if the model structure changes quite often? What if
I just got f_calc from another source (like doing some custom sped-up partial
structure factor calculation)?

In general: What would be your advice on this with cctbx?


With regards,

Dipl. Phys.
  Jan M. Simons

Institute of Crystallography
RWTH Aachen University
_______________________________________________
cctbxbb mailing list
[email protected]
http://phenix-online.org/mailman/listinfo/cctbxbb