Mappings

Atom bijections

BiochemicalAlgorithms.TrivialAtomBijectionType
TrivialAtomBijection{T} <: AbstractAtomBijection{T}

Bijection of atoms based on their order in the associated atom containers.

Constructors

TrivialAtomBijection(A::AtomTable{T}, B::AtomTable{T})

Creates a new TrivialAtomBijection{T} from the given tables. Atom order is determined by row number.

TrivialAtomBijection(A::AbstractAtomContainer{T}, B::AbstractAtomContainer{T})

Creates a new TrivialAtomBijection{T} with the atoms of the individual atom containers.

TrivialAtomBijection(A::AtomTable{T}, B::AbstractAtomContainer{T})

Creates a new TrivialAtomBijection{T} by filtering B for atom numbers contained in A. Atom order after filtering must be the same as in A.

source
BiochemicalAlgorithms.atomsMethod
atoms(
    ab::AbstractAtomBijection
) -> Tuple{AtomTable, AtomTable}

Returns the tuple of atom tables represented by this bijection.

source

Rigid mapping

BiochemicalAlgorithms.RigidTransformType
struct RigidTransform{T<:Real}

Rigid transformation represented by a single rotation (around a specific center of rotation) and translation.

Constructors

RigidTransform(r::RotMatrix3{T}, t::Vector3{T}, center::Vector3{T} = zeros(Vector3{T}))
RigidTransform(r::Matrix3{T}, t::Vector3{T}, center::Vector3{T} = zeros(Vector3{T}))

Creates a new RigidTransform{T} from the given rotation r, center of rotation, and translation t.

Note

From the documentation of Rotations.jl:

The given Matrix3{T} should have the property I =RR^T, but this isn't enforced by the constructor.

source
BiochemicalAlgorithms.compute_rmsd_minimizerFunction
compute_rmsd_minimizer(f::AbstractAtomBijection)
compute_rmsd_minimizer(A::AbstractAtomContainer{T}, B::AbstractAtomContainer{T})
compute_rmsd_miminizer(A::AtomTable{T}, B::AtomTable{T})

Computes the RMSD-minimizing rigid transformation for the given atom bijection. Defaults to TrivialAtomBijection if arguments are atom containers or tables.

Supported keyword arguments

source
BiochemicalAlgorithms.map_rigid!Function
map_rigid!(f::AbstractAtomBijection)
map_rigid!(A::AbstractAtomContainer{T}, B::AbstractAtomContainer{T})
map_rigid!(A::AtomTable{T}, B::AtomTable{T})

Computes, applies, and returns the RMSD-minimizing rigid transformation for the given atom bijection. Defaults to TrivialAtomBijection if arguments are atom containers or tables. Only the first structure (A) is modified, i.e. mapped onto the second one (B).

Supported keyword arguments

  • heavy_atoms_only::Bool = false If true, hydrogen atoms are ignored during the computation of the optimal transformation. Otherwise, all atoms are used.
  • minimizer::Type{<: AbstractRMSDMinimizer} = RMSDMinimizerCoutsias See compute_rmsd_minimizer
source
BiochemicalAlgorithms.rigid_transform!Function
rigid_transform!(at::AtomTable{T}, transform::RigidTransform{T})
rigid_transform!(ac::AbstractAtomContainer, transform::RigidTransform)

Applies the rotation and the translation represented by transform (in this order) to all atoms of the given container.

source
BiochemicalAlgorithms.translate!Function
translate!(::AtomTable{T}, t::Vector3{T})
translate!(::AbstractAtomContainer{T}, t::Vector3{T})

Translates all atoms of the given container according to the given translation vector t.

source