Mappings
BiochemicalAlgorithms.AbstractAtomBijectionBiochemicalAlgorithms.AbstractRMSDMinimizerBiochemicalAlgorithms.RMSDMinimizerCoutsiasBiochemicalAlgorithms.RMSDMinimizerKabschBiochemicalAlgorithms.RigidTransformBiochemicalAlgorithms.TrivialAtomBijectionBiochemicalAlgorithms.atomsBiochemicalAlgorithms.compute_rmsdBiochemicalAlgorithms.compute_rmsd_minimizerBiochemicalAlgorithms.map_rigid!BiochemicalAlgorithms.rigid_transform!BiochemicalAlgorithms.translate!
Atom bijections
BiochemicalAlgorithms.AbstractAtomBijection — Type
abstract type AbstractAtomBijection{T}Abstract base type for atom bijections.
BiochemicalAlgorithms.TrivialAtomBijection — Type
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.
BiochemicalAlgorithms.atoms — Method
atoms(
ab::AbstractAtomBijection
) -> Tuple{AtomTable, AtomTable}
Returns the tuple of atom tables represented by this bijection.
Rigid mapping
BiochemicalAlgorithms.AbstractRMSDMinimizer — Type
abstract type AbstractRMSDMinimizerAbstract base type for RMSD minimizers.
BiochemicalAlgorithms.RMSDMinimizerCoutsias — Type
abstract type RMSDMinimizerCoutsias <: AbstractRMSDMinimizerAbstract base type for RMSD minimizers based on https://doi.org/10.1002/jcc.20110.
BiochemicalAlgorithms.RMSDMinimizerKabsch — Type
abstract type RMSDMinimizerKabsch <: AbstractRMSDMinimizerAbstract base type for RMSD minimizers based on https://doi.org/10.1107/S0567739476001873.
BiochemicalAlgorithms.RigidTransform — Type
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.
BiochemicalAlgorithms.compute_rmsd — Function
compute_rmsd(f::AbstractAtomBijection)
compute_rmsd(A::AbstractAtomContainer{T}, B::AbstractAtomContainer{T})
compute_rmsd(A::AtomTable{T}, B::AtomTable{T})Computes the root mean square deviation (RMSD) of the given atom bijection. Defaults to TrivialAtomBijection if arguments are atom containers or tables.
BiochemicalAlgorithms.compute_rmsd_minimizer — Function
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
minimizer::Type{<: AbstractRMSDMinimizer} = RMSDMinimizerCoutsiasMethod used for computing the optimal rotation matrix. SeeRMSDMinimizerCoutsiasandRMSDMinimizerKabsch.
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 = falseIftrue, hydrogen atoms are ignored during the computation of the optimal transformation. Otherwise, all atoms are used.minimizer::Type{<: AbstractRMSDMinimizer} = RMSDMinimizerCoutsiasSeecompute_rmsd_minimizer
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.
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.