[cctbxbb] Missing gaussians for some ions?

Jan Marten Simons marten at xtal.rwth-aachen.de
Thu Dec 23 06:24:50 PST 2010


Am Mittwoch 22 Dezember 2010 23:48:21 schrieb Ralf W. Grosse-Kunstleve:
> Hi Jan,
> 
> We have the N-Gaussians for all ions that appear in the International
> Tables Volume C. You can find the source code for the compiled-in tables
> here:
> 
>   cctbx/eltbx/xray_scattering
> 
> > RuntimeError:  gaussian not defined for scattering_type "Y4+".
> > 
> >  RuntimeError: gaussian not defined for scattering_type  "V4+".
> >  RuntimeError: gaussian not defined for scattering_type "H1+".
> 
> These three do not appear in the Int. Tables. We'd need to find out what
> form factors were actually used in the refinement. I see the structures
> are from 1981-1993. It could be very difficult to find out for sure.

I just checked Int. Tables Vol C from 2006 and those are not there as well.
 
> We already have an option to make the form factor lookup less strict.
> The critical line is this in cctbx/xray/structure.py:
> 
>           std_lbl = eltbx.xray_scattering.get_standard_label(
>             label=t_undef, exact=True, optional=True)
> 
> I think your script should run if you set exact=False, but it will
> use plain Y, V, H form factors for the unknown ions. Is that good
> enough for your purposes?

I think it should be enough, but how can I activate it with 
structure.structure_factors().f_calc()?

According to documentation there's only
structure_factors(self, d_min), and 
f_calc = structure.structure_factors(d_min=1.0, exact=False).f_calc()
yields a "TypeError: structure_factors() got an unexpected keyword argument 
'exact'"

So, do I have to edit/patch cctbx/xray/structure.py: to achieve the desired 
behaviour or is there a better way? (Imho best way would be to have more 
optional parameters for structure.structure_factors().f_calc().)

With regards,

 Dipl. Pyhs.
  Jan M. Simons
 
Institute of Crystallography
RWTH Aachen University


More information about the cctbxbb mailing list