Define a difference vector between two conformational states.

difference.vector(xyz, xyz.inds=NULL, normalize=FALSE)

Arguments

xyz

numeric matrix of Cartesian coordinates with a row per structure.

xyz.inds

a vector of indices that selects the elements of columns upon which the calculation should be based.

normalize

logical, if TRUE the difference vector is normalized.

Details

Squared overlap (or dot product) is used to measure the similiarity between a displacement vector (e.g. a difference vector between two conformational states) and mode vectors obtained from principal component or normal modes analysis.

Value

Returns a numeric vector of the structural difference (normalized if desired).

References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.

Author

Lars Skjaerven

See also

overlap

Examples

attach(kinesin) # Ignore gap containing positions gaps.pos <- gap.inspect(pdbs$xyz) #-- Do PCA pc.xray <- pca.xyz(pdbs$xyz[, gaps.pos$f.inds]) # Define a difference vector between two structural states diff.inds <- c(grep("d1v8ka", pdbs$id), grep("d1goja", pdbs$id)) ## Calculate the difference vector dv <- difference.vector( pdbs$xyz[diff.inds,], gaps.pos$f.inds ) # Calculate the squared overlap between the PCs and the difference vector o <- overlap(pc.xray, dv) detach(kinesin)