pdb2aln(aln, pdb, id="seq.pdb", aln.id=NULL, file="pdb2aln.fa", ...)
id
and ali
components, similar to that generated by read.fasta
,
read.fasta.pdb
, and seqaln
. aln
. aln
that is close to the
sequence from pdb
. seqaln
. Extract sequence from a PDB object and align it to an existing multiple sequence alignment that you wish keep intact.
The basic effect of this function is to add a PDB sequence to an existing
alignement. In this case, the function is simply a wrapper of
seq2aln
.
The more advanced (and also more useful) effect is giving complete mappings
from the column indices of the original alignment (aln$ali
) to
atomic indices of equivalent C-alpha atoms in the pdb
. These mappings
are stored in the output list (see below 'Value' section). This feature
is better illustrated in the function pdb2aln.ind
, which
calls pdb2aln
and directly returns atom selections given a set of
alignment positions. (See pdb2aln.ind
for details. )
When aln.id
is provided, the function will do pairwise alignment
between the sequence from pdb
and the sequence in aln
with id matching aln.id
. This is the best way to use the
function if the protein has an identical or very similar sequence
to one of the sequences in aln
.
ali
. The first row contains the column indices of
the original alignment aln$ali
. The second row contains atomic
indices of equivalent C-alpha atoms in pdb
. Gaps in the new
alignement are indicated by NAs. Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.
##--- Read aligned PDB coordinates (CA only) aln <- read.fasta(system.file("examples/kif1a.fa",package="bio3d")) pdbs <- read.fasta.pdb(aln)pdb/seq: 1 name: http://www.rcsb.org/pdb/files/1bg2.pdb pdb/seq: 2 name: http://www.rcsb.org/pdb/files/1i6i.pdb PDB has ALT records, taking A only, rm.alt=TRUE pdb/seq: 3 name: http://www.rcsb.org/pdb/files/1i5s.pdb PDB has ALT records, taking A only, rm.alt=TRUE pdb/seq: 4 name: http://www.rcsb.org/pdb/files/2ncd.pdb##--- Read PDB coordinate for a new structure (all atoms) id <- get.pdb("2kin", URLonly=TRUE) pdb <- read.pdb(id)PDB has ALT records, taking A only, rm.alt=TRUE# add pdb to the alignment naln <- pdb2aln(aln=pdbs, pdb=pdb, id=id) naln1 . . . . 50 [Truncated_Name:1]1bg2.pdb ------NIKVMCRFRPLNESEVNRGDKYIAKFQGEDTV----VIASK--- [Truncated_Name:2]1i6i.pdb ------SVKVAVRVRPFNSREMSRDSKCIIQMSGSTTT----IVNPKQPK [Truncated_Name:3]1i5s.pdb ------SVKVAVRVRPFNSREMSRDSKCIIQMSGSTTT----IVNPKQPK [Truncated_Name:4]2ncd.pdb ------NIRVFCRIRPPLESEENRMC-CTWTYHDESTVELQSIDAQAKSK [Truncated_Name:5]2kin.pdb ADPAECSIKVMCRFRPLNEAEILRGDKFIPKFKGEETVVIGQ-------- ^^* * ** * * * 1 . . . . 50 51 . . . . 100 [Truncated_Name:1]1bg2.pdb ----PYAFDRVFQSS--------TSQEQVYNDCAKKIVKDVLEGYNGTIF [Truncated_Name:2]1i6i.pdb ETPKSFSFDYSYWSHTSPEDINYASQKQVYRDIGEEMLQHAFEGYNVCIF [Truncated_Name:3]1i5s.pdb ETPKSFSFDYSYWSHTSPEDINYASQKQVYRDIGEEMLQHAFEGYNVCIF [Truncated_Name:4]2ncd.pdb MGQQIFSFDQVFHPL--------SSQSDIF-EMVSPLIQSALDGYNICIF [Truncated_Name:5]2kin.pdb --GKPYVFDRVLPPN--------TTQEQVYNACAKQIVKDVLEGYNGTIF ^ ** ^* ^^ ^^ ^*** ** 51 . . . . 100 101 . . . . 150 [Truncated_Name:1]1bg2.pdb AYGQTSSGKTHTMEGKLHDPEGMGIIPRIVQDIFNYIYSMDENL-EFHIK [Truncated_Name:2]1i6i.pdb AYGQTGAGKSYTMMGKQEK-DQQGIIPQLCEDLFSRINDTTNDNMSYSVE [Truncated_Name:3]1i5s.pdb AYGQTGAGKSYTMMGKQEK-DQQGIIPQLCEDLFSRINDTTNDNMSYSVE [Truncated_Name:4]2ncd.pdb AYGQTGSGKTYTMDGV---PESVGVIPRTVDLLFDSIRGYRNLGWEYEIK [Truncated_Name:5]2kin.pdb AYGQTSSGKTHTMEGKLHDPQLMGIIPRIAHDIFDHIYSMDEN-LEFHIK ***** **^ ** * *^** ^* * ^ ^ 101 . . . . 150 151 . . . . 200 [Truncated_Name:1]1bg2.pdb VSYFEIYLDKIRDLL-DVSKT-NLSVHEDKNRVPYVKGCTERFVCSPDEV [Truncated_Name:2]1i6i.pdb VSYMEIYCERVRDLL-NPKNKGNLRVREHPLLGPYVEDLSKLAVTSYNDI [Truncated_Name:3]1i5s.pdb VSYMEIYCERVRDLL-NPKNKGNLRVREHPLLGPYVEDLSKLAVTSYNDI [Truncated_Name:4]2ncd.pdb ATFLEIYNEVLYDLLSNEQKDMEIRMAKNNKNDIYVSNITEETVLDPNHL [Truncated_Name:5]2kin.pdb VSYFEIYLDKIRDLL--DVSKTNLAVHEDKNRVPYVKGCTERFVSSPEEV ^^ *** ^ ^ *** ^ ^ ** ^ * ^ 151 . . . . 200 201 . . . . 250 [Truncated_Name:1]1bg2.pdb MDTIDEGKSNRHVAVTNMNEHSSRSHSIFLINVKQENTQT----EQKLSG [Truncated_Name:2]1i6i.pdb QDLMDSGNKARTVAATNMNETSSRSHAVFNIIFTQKRHDAETNITTEKVS [Truncated_Name:3]1i5s.pdb QDLMDSGNKARTVAATNMNETSSRSHAVFNIIFTQKRHDAETNITTEKVS [Truncated_Name:4]2ncd.pdb RHLMHTAKMNRATASTAGNERSSRSHAVTKLELIGRHAEK----QEISVG [Truncated_Name:5]2kin.pdb MDVIDEGKANRHVAVTNMNEHSSRSHSIFLINIKQENVET----EKKLSG ^ ^ * * * ** ***** ^ ^ 201 . . . . 250 251 . . . . 300 [Truncated_Name:1]1bg2.pdb KLYLVDLAGSEKVSKTGAEGAVLDEAKNINKSLSALGNVISALAEG-STY [Truncated_Name:2]1i6i.pdb KISLVDLAGSE---------------ANINKSLTTLGKVISALAEM-D-F [Truncated_Name:3]1i5s.pdb KISLVDLAGSER-----AKGTRLKEGANINKSLTTLGKVISALAEM-D-- [Truncated_Name:4]2ncd.pdb SINLVDLAGSES--------------PNINRSLSELTNVILALLQK-QDH [Truncated_Name:5]2kin.pdb KLYLVDLAGSEKVA------------KNINKSLSALGNVISALAEGTKTH ^ ******** ***^**^ * ** ** 251 . . . . 300 301 . . . . 350 [Truncated_Name:1]1bg2.pdb VPYRDSKMTRILQDSLGGNCRTTIVICCSPSSYNESETKSTLLFGQRAKT [Truncated_Name:2]1i6i.pdb IPYRDSVLTWLLRENLGGNSRTAMVAALSPADINYDETLSTLRYADRAKQ [Truncated_Name:3]1i5s.pdb IPYRDSVLTWLLRENLGGNSRTAMVAALSPADINYDETLSTLRYADRAK- [Truncated_Name:4]2ncd.pdb IPYRNSKLTHLLMPSLGGNSKTLMFINVSPFQDCFQESVKSLRFAASVNS [Truncated_Name:5]2kin.pdb VPYRDSKMTRILQDSLDGNCRTTIVICCSPSVFNEAETKSTLMFGQRAKT ^*** * ^* ^* * ** ^* ^ ** *^ ^* ^^ 301 . . . . 350 351 . . 375 [Truncated_Name:1]1bg2.pdb I------------------------ [Truncated_Name:2]1i6i.pdb I------------------------ [Truncated_Name:3]1i5s.pdb ------------------------- [Truncated_Name:4]2ncd.pdb C------------------------ [Truncated_Name:5]2kin.pdb IKNTVSVNLELTAEEWKKKYEKEKE 351 . . 375 Call: pdb2aln(aln = pdbs, pdb = pdb, id = id) Class: fasta Alignment dimensions: 5 sequence rows; 375 position columns (286 non-gap, 89 gap) + attr: id, ali, ref, call