struct.aln | R Documentation |
Performs a sequence and structural alignment of two PDB entities.
struct.aln(fixed, mobile, fixed.inds=NULL, mobile.inds=NULL,
write.pdbs=TRUE, outpath = "fitlsq", prefix=c("fixed",
"mobile"), max.cycles=10, cutoff=0.5, ... )
fixed |
an object of class |
mobile |
an object of class |
fixed.inds |
atom and xyz coordinate indices obtained from
|
mobile.inds |
atom and xyz coordinate indices obtained from
|
write.pdbs |
logical, if TRUE the aligned structures are written to PDB files. |
outpath |
character string specifing the output directory when
|
prefix |
a character vector of length 2 containing the filename prefix in which the fitted structures should be written. |
max.cycles |
maximum number of refinement cycles. |
cutoff |
standard deviation of the pairwise distances for aligned residues at which the fitting refinement stops. |
... |
extra arguments passed to |
This function performs a sequence alignment followed by a structural alignment of the two PDB entities. Cycles of refinement steps of the structural alignment are performed to improve the fit by removing atoms with a high structural deviation. The primary purpose of the function is to allow rapid structural alignment (and RMSD analysis) for protein structures with unequal, but related sequences.
The function reports the residues of fixed
and mobile
included in the final structural alignment, as well as the related
RMSD values.
This function makes use of the underlying functions seqaln
,
rot.lsq
, and rmsd
.
Returns a list with the following components:
a.inds |
atom and xyz indices of |
b.inds |
atom and xyz indices of |
xyz |
fitted xyz coordinates of |
rmsd |
a numeric vector of RMSD values after each cycle of refinement. |
Lars Skjarven
Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.
rmsd
, rot.lsq
,
seqaln
, pdbaln
# Needs MUSCLE installed - testing excluded
if(check.utility("muscle")) {
try({
## Stucture of PKA:
a <- read.pdb("1cmk")
## Stucture of PKB:
b <- read.pdb("2jdo")
## Align and fit b on to a:
path = file.path(tempdir(), "struct.aln")
aln <- struct.aln(a, b, outpath = path, outfile = tempfile())
## Should be the same as aln$rmsd (when using aln$a.inds and aln$b.inds)
rmsd(a$xyz, b$xyz, aln$a.inds$xyz, aln$b.inds$xyz, fit=TRUE)
invisible( cat("\nSee the output files:", list.files(path, full.names = TRUE), sep="\n") )
}, silent=TRUE)
if(inherits(.Last.value, "try-error")) {
message("Need internet to run the example")
}
}
## Not run:
## Align two subunits of GroEL (open and closed states)
a <- read.pdb("1sx4")
b <- read.pdb("1xck")
## Select chain A only
a.inds <- atom.select(a, chain="A")
b.inds <- atom.select(b, chain="A")
## Align and fit:
aln <- struct.aln(a,b, a.inds, b.inds)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.