Description
Computes the pairwise distance matrix between two sets of points
Usage
pairwise.dist(a, b, squared = TRUE, …)
Arguments
a, b
matrices (NxD) and (MxD), respectively, where each row represents a D-dimensional point.
squared
return containing squared Euclidean distance.
Value
Euclidean distance matrix (NxM). An attribute “squared” set to the value of param squared is provided.
See Also
res.dist(), dist2closest(), ball()
Details
The continuous formation and rupture of non-covalent bonds (intra- and intermolecular), gives rise to dynamic molecular interactions, which are cosubstantial to life. These non-covalent interactions can adopt many forms, but all of them are fundamentally electrostatic in nature, and strongly influenced by distances.
Type of interaction | Energy dependence on the distance |
---|---|
Ion-ion | |
Ion-dipole | |
Dipole-dipole | |
Ion-induced dipole | |
Dipole-indiced dipole | |
Dispersion |
Therefore, computing spatial distances (in ångströms, Å), either between atoms or residues, is a useful task in many different contexts. A number of function from the package ptm will help us in these tasks:
- res.dist
- dist2closest
- ball
- pairwise.dist (the current document)
The most elementary of all these functions is, pairwise.dist(), which takes two sets of points (in the form of matrices) tailored by the user, and returns a distance matrix. Let’s just
a <- matrix(c(1,1,1,1,0,0,1,0,1), ncol = 3, byrow = TRUE)
rownames(a) <- c('point-1', 'point-2', 'point-3')
b <- matrix(c(0,0,0,1,1,1), ncol = 3, byrow = TRUE)
rownames(b) <- c('point-4', 'point-5')
a
## [,1] [,2] [,3] ## point-1 1 1 1 ## point-2 1 0 0 ## point-3 1 0 1
b
## [,1] [,2] [,3] ## point-4 0 0 0 ## point-5 1 1 1
and now let’s compute the distances between the two sets of points:
pairwise.dist(a, b, square = FALSE)
## point-4 point-5 ## point-1 1.732051 0.000000 ## point-2 1.000000 1.414214 ## point-3 1.414214 1.000000 ## attr(,"squared") ## [1] FALSE