hPDB-1.2.0: Protein Databank file format library

Safe HaskellSafe-Inferred

Bio.PDB.Structure.Vector

Description

This module wraps 3D vector operations, and adds missing ones.

Synopsis

Documentation

unpackVector3 :: Vector3 -> (Double, Double, Double)Source

Unpacks an abstract 3D vector into a triple of Doubles.

vnormalise :: Vector3 -> Vector3Source

Normalises to a unit vector in the same direction as input.

vdot :: Vector3 -> Vector3 -> DoubleSource

Computes a dot product of two 3D vectors.

(*|) :: Double -> Vector3 -> Vector3Source

Scalar product. (asterisk - * - indicates side on which one can put a scalar.)

(|*) :: Vector3 -> Double -> Vector3Source

Scalar product. (asterisk - * - indicates side on which one can put a scalar.)

vzip :: (Double -> Double -> Double) -> Vector3 -> Vector3 -> Vector3Source

Maps an operation on a pair of Doubles onto a pair of 3D vectors coordinatewise.

vmap :: (Double -> Double) -> Vector3 -> Vector3Source

Maps an operation that modifies a Double onto a 3D vector.

vnorm :: Vector3 -> DoubleSource

2-norm of a vector (also called a magnitude or length.)

vproj :: Vector3 -> Vector3 -> Vector3Source

Finds a vector component of the first vector that is a projection onto direction of second vector.

vperpend :: Vector3 -> Vector3 -> Vector3Source

Returns a component of the vector v that is perpendicular to w.

vperpends :: Vector3 -> [Vector3] -> Vector3Source

Finds a component of the vector v that is perpendicular to all vectors in a list.

vdihedral :: Vector3 -> Vector3 -> Vector3 -> DoubleSource

Compute dihedral between three bond vectors using spherical angle formula.