form_factor_table module¶
Form factors and scattering vs. resolution.
Usage: import form_factor_table (main program performs rudimentary test).
Module author: Michael Chapman <chapmami@ohsu.edu>
Module author: Andrew Trzynka <trzynkaa@ohsu.edu>
Authors: | Michael S. Chapman <chapmami@ohsu.edu> Oregon Health & Science University |
---|---|
Version: | 0.5, March 23, 2016 |
Changed in version 2/11/10: Started
Changed in version 0.3.7: 11/25/12
Changed in version 0.5.0: 4/30/15 restructured text documentation.
-
class
form_factor_table.
FormFactorTable
(source)¶ Scattering factors obtained from a resolution-dependent look-up table.
Several tables supported: x-ray, neutron & electron scattering, determined empirically or through quantum calculation by others.
Loads one of several form factor tables ready to support look-up:
- “XTNT” - X-ray scattering factors from TNT distribution.
- “XCCP4” - X-ray scattering factors from the CCP4 distribution.
- “NCCP4” - Neutron scattering factors from the CCP4 distribution.
- “ERSRef” - (Few-atom) Electron scattering factors from RSRef EM (unknown attribution).
- “ELECTRON” - Electron scattering factors, neutral atoms, Int. Tab.
Excellent introduction to electron scattering factors in Int. Tables Vol.C sect 4.3.2 (p.262).
Parameters: source (str) – defines which of the supported tables (above) is used. -
class
Counter
¶ Bases:
dict
Counter for references to each entry in form-factor table.
-
increment
(name)¶
-
-
FormFactorTable.
at_dstar
(dstar, atom_type='C', type_num=None, b=0.0)¶ Form factor at d*.
Parameters: - atom_type (str) –
- type_num (int) – number corresponding to atom_type, takes predence over atom_type unless “None”.
- b (float) – temperature factor (including overall B / envelope function), Å2
Returns: form factor at d*.
Return type: float
-
FormFactorTable.
at_dstar_array
= <numpy.lib.function_base.vectorize object>¶
-
FormFactorTable.
at_dstar_sq
(dstar_sq, atom_type='C', type_num=None, b=0.0)¶ Form factor at d*2.
Parameters: - atom_type (str) –
- type_num (int) – number corresponding to atom_type, takes predence over atom_type unless “None”.
- b (float) – flaot temperature factor (including overall B / envelope function), Å2
Returns: form factor at d*2.
Return type: float
-
FormFactorTable.
at_dstar_sq_array
= <numpy.lib.function_base.vectorize object>¶
-
FormFactorTable.
at_s
(s, atom_type='C', type_num=None, b=0.0)¶ Form factor at S.
Parameters: - atom_type (str) –
- type_num (int) – number corresponding to atom_type, takes predence over atom_type unless “None”.
- b (float) – temperature factor (including overall B / envelope function), Å2
Returns: form factor at S=sin(θ/λ).
Return type: float
-
FormFactorTable.
at_s_array
= <numpy.lib.function_base.vectorize object>¶
-
FormFactorTable.
at_s_sq
(s_sq, atom_type='C', type_num=None, b=0.0)¶ Form factor at S2.
Parameters: - atom_type (str) –
- type_num (int) – number corresponding to atom_type, takes predence over atom_type unless “None”.
- float b (float) – temperature factor (including overall B / envelope function), Å2
Returns: form factor at S2 = (sin(θ/λ))2
Return type: float
-
FormFactorTable.
at_s_sq_array
= <numpy.lib.function_base.vectorize object>¶
-
FormFactorTable.
findtype
(atom_type=None, atom_name=None, verbose=True)¶ Find the formfactor atom type that is the best match.
Parameters: - atom_type (str) – from the input coordinates.
- atom_name (str) – optional IUPAC or other name.
- verbose (bool) – print warning messages for ambigous names.
Returns: new type:
- (silently) atom_type if there is an exact match.
- (silently) atom_type pseudonym (eg. Ca++ for Ca2+) if exists.
- (silently) results of prior match of the same atom_type/_name.
- (w/ warning) 1st non-ambiguous match as the common part of atom_type and atom_name is progressively shortened. (Avoiding accidental matches such as CD (delta) to Cadmium.)
- (w/ warning) 1st non-ambigous match to a shortened atom_type if there are no characters in common with atom_name.
- Exception if none found.
Return type: string
-
FormFactorTable.
name2type
(atom_name='C', shorten=True, verbose=True, exception=True)¶ Best guess of atom type from atom name.
Parameters: - atom_name (str) – IUPAC or other name (or arbitrary string).
- shorten (bool) – shorten atom_name until a match is found.
- exception (bool) – throw an exception if no match, else return None.
- verbose (bool) – print warning messages for ambigous names.
Returns: atom type or None
Return type: string
-
FormFactorTable.
recognized
(atom_name='C')¶ Checks if atom type in the form factor table.
Returns: found. Return type: bool
-
FormFactorTable.
type_number
(atom_type='C', atom_name=None)¶ Returns the index of the atom type in the form factor table.