Module meteor.testing
used during testing
Functions
def assert_phases_allclose(array1: np.ndarray, array2: np.ndarray, atol: float = 0.001) ‑> None
-
Expand source code
def assert_phases_allclose(array1: np.ndarray, array2: np.ndarray, atol: float = 1e-3) -> None: diff = array2 - array1 diff = (diff + 180) % 360 - 180 absolute_difference = np.sum(np.abs(diff)) / float(np.prod(diff.shape)) if not absolute_difference < atol: msg = f"per element diff {absolute_difference} > tolerance {atol}" raise AssertionError(msg)
def check_test_file_exists(path: Path) ‑> None
-
Expand source code
def check_test_file_exists(path: Path) -> None: if not path.exists(): msg = f"cannot find {path}, use github LFS to retrieve this file from the parent repo" raise OSError(msg)
def diffmap_realspace_rms(map1: Map, map2: Map) ‑> float
-
Expand source code
def diffmap_realspace_rms(map1: Map, map2: Map) -> float: map1_array = np.array(map1.to_ccp4_map(map_sampling=MAP_SAMPLING).grid) map2_array = np.array(map2.to_ccp4_map(map_sampling=MAP_SAMPLING).grid) # standardize map1_array /= map1_array.std() map2_array /= map2_array.std() return float(np.linalg.norm(map2_array - map1_array))
def single_carbon_density(carbon_position: tuple[float, float, float],
space_group: gemmi.SpaceGroup,
unit_cell: gemmi.UnitCell,
high_resolution_limit: float) ‑> gemmi.Ccp4Map-
Expand source code
def single_carbon_density( carbon_position: tuple[float, float, float], space_group: gemmi.SpaceGroup, unit_cell: gemmi.UnitCell, high_resolution_limit: float, ) -> gemmi.Ccp4Map: structure = single_carbon_structure(carbon_position, space_group, unit_cell) density_map = gemmi.DensityCalculatorX() density_map.d_min = high_resolution_limit density_map.grid.setup_from(structure) density_map.put_model_density_on_grid(structure[0]) ccp4_map = gemmi.Ccp4Map() ccp4_map.grid = density_map.grid ccp4_map.update_ccp4_header() return ccp4_map
def single_carbon_structure(carbon_position: tuple[float, float, float],
space_group: gemmi.SpaceGroup,
unit_cell: gemmi.UnitCell) ‑> gemmi.Structure-
Expand source code
def single_carbon_structure( carbon_position: tuple[float, float, float], space_group: gemmi.SpaceGroup, unit_cell: gemmi.UnitCell, ) -> gemmi.Structure: model = gemmi.Model("single_atom") chain = gemmi.Chain("A") residue = gemmi.Residue() residue.name = "X" residue.seqid = gemmi.SeqId("1") atom = gemmi.Atom() atom.name = "C" atom.element = gemmi.Element("C") atom.pos = gemmi.Position(*carbon_position) residue.add_atom(atom) chain.add_residue(residue) model.add_chain(chain) structure = gemmi.Structure() structure.add_model(model) structure.cell = unit_cell structure.spacegroup_hm = space_group.hm return structure
Classes
class MapColumns (amplitude: str, phase: str, uncertainty: str | None = None)
-
Expand source code
@dataclass class MapColumns: amplitude: str phase: str uncertainty: str | None = None
MapColumns(amplitude: 'str', phase: 'str', uncertainty: 'str | None' = None)
Class variables
var amplitude : str
var phase : str
var uncertainty : str | None