R: Mapping from alignment positions to PDB atomic indices

pdb2aln.ind {bio3d} | R Documentation

## Mapping from alignment positions to PDB atomic indices

### Description

Find the best alignment between a PDB structure and an existing alignment. Then, given a set of column indices of the original alignment, returns atom selections of equivalent C-alpha atoms in the PDB structure.

### Usage

    pdb2aln.ind(aln, pdb, inds = NULL, ...)

### Arguments

`aln` | an alignment list object with `id` and `ali` components, similar to that generated by `read.fasta`, `read.fasta.pdb`, `pdbaln`, and `seqaln`.
`pdb` | the PDB object to be aligned to `aln`.
`inds` | a numeric vector containing a subset of column indices of `aln`. If NULL, non-gap positions of `aln$ali` are used.
`...` | additional arguments passed to `pdb2aln`.

### Details

Call `pdb2aln` to align the sequence of `pdb` to `aln`. Then, find the atomic indices of C-alpha atoms in `pdb` that are equivalent to `inds`, the subset of column indices of `aln$ali`.

The function is a rountine utility in a combined analysis of molecular dynamics (MD) simulation trajectories and crystallographic structures. For example, a typical post-analysis of MD simulation is to compare the principal components (PCs) derived from simulation trajectories with those derived from crystallographic structures. The C-alpha atoms used to fit trajectories and do PCA must be the same (or equivalent) to those used in the analysis of crystallographic structures, e.g. the 'non-gap' alignment positions. Call `pdb2aln.ind` with providing relevant alignment positions, one can easily get equivalent atom selections ('select' class objects) for the simulation topology (PDB) file and then do proper trajectory analysis.

### Value

Returns a list containing two "select" objects:

`a` | atom and xyz indices for the alignment.
`b` | atom and xyz indices for the PDB.

Note that if any element of `inds` has no corresponding CA atom in the PDB, the output `a$atom` and `b$atom` will be shorter than `inds`, i.e. only indices having equivalent CA atoms are returned.

### Author(s)

Xin-Qiu Yao, Lars Skjaerven & Barry Grant

### References

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

### See Also

`seq2aln`, `seqaln.pair`, `pdb2aln`

### Examples

    ## Not run:
    ##--- Read aligned PDB coordinates (CA only)
    aln  <- read.fasta(system.file("examples/kif1a.fa",package="bio3d"))
    pdbs <- read.fasta.pdb(aln)

    ##--- Read the topology file of MD simulations
    ##--- For illustration, here we read another pdb file (all atoms)
    pdb <- read.pdb("2kin")

    #--- Map the non-gap positions to PDB C-alpha atoms
    #pc.inds <- gap.inspect(pdbs$ali)
    #npc.inds <- pdb2aln.ind(aln=pdbs, pdb=pdb, inds=pc.inds$f.inds)

    #npc.inds$a
    #npc.inds$b

    #--- Or, map the non-gap positions with a known close sequence in the alignment
    #npc.inds <- pdb2aln.ind(aln=pdbs, pdb=pdb, aln.id="1bg2", inds=pc.inds$f.inds)

    #--- Map core positions
    core <- core.find(pdbs)
    core.inds <- pdb2aln.ind(aln=pdbs, pdb=pdb, inds = core$c1A.atom)

    core.inds$a
    core.inds$b

    ##--- Fit simulation trajectories to one of the X-ray structures based on
    ##--- core positions
    #xyz <- fit.xyz(pdbs$xyz[1,], pdb$xyz, core.inds$a$xyz, core.inds$b$xyz)

    ##--- Do PCA of trajectories based on non-gap positions
    #pc.traj <- pca(xyz[, npc.inds$b$xyz])

    ## End(Not run)

[Package bio3d version 2.3-4 Index]