schrodinger.application.matsci.network_cg_mapping.translation module

Candidate translation generation and validation for atomic networks.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.application.matsci.network_cg_mapping.translation.canonical_vector(vector, tolerance=1e-10)

Choose one direction for a Cartesian translation vector.

Parameters:
  • vector (numpy.ndarray) – Cartesian vector

  • tolerance (float) – Values no larger than this are treated as zero

Return type:

numpy.ndarray

Returns:

Vector with its first significant component positive

schrodinger.application.matsci.network_cg_mapping.translation.bond_order_key(bond_order)

Return the normalized bond order used for topology matching.

Parameters:

bond_order (float) – Atomic bond order

Return type:

float

Returns:

Bond order rounded for topology comparisons

schrodinger.application.matsci.network_cg_mapping.translation.find_translations(network, windings, position_tolerance=0.12, minimum_coverage=0.45, topology_coverage=0.85, max_candidates=96, max_anchors=48)

Return chemically and topologically validated network translations.

Parameters:
  • network (AtomicNetwork) – Atomic network to search

  • windings (collections.abc.Iterable) – Cycle windings in the input-PBC basis

  • position_tolerance (float) – Maximum Cartesian match error in angstroms

  • minimum_coverage (float) – Minimum fraction of atoms matched by a translation

  • topology_coverage (float) – Minimum fraction of matched bonds preserved

  • max_candidates (int) – Maximum translation candidates to validate

  • max_anchors (int) – Maximum sampled source atoms per matching key

Return type:

tuple(TranslationMatch)

Returns:

Chemically and topologically validated translations