Get Customizable Annotations From PDB Or PFAM Databases

Usage

pdb.annotate(ids, anno.terms = NULL, unique = FALSE, verbose = FALSE) pdb.pfam(ids, best.only = TRUE, compact = TRUE)

Arguments

ids
A charater vector of one or more 4-letter PDB codes/identifiers of the files for query.
anno.terms
Terms can be used for query. The "anno.terms" can be "structureId", "experimentalTechnique", "resolution", "chainId", "ligandId", "ligandName", "source", "scopDomain", "classification", "compound","title", "citation", "citationAuthor", "journalName", "publicationYear", "rObserved", "rFree" or "spaceGroup". If anno.terms=NULL, all information would be returned.
unique
logical, if TRUE only unique PDB entries are returned. Alternatively data for each chain ID is provided.
verbose
logical, if TRUE details of the RCurl postForm routine is printed.
best.only
logical, if TRUE only the lowest eValue match for a given input id will be reported. Otherwise all significant matches will be returned.
compact
logical, if TRUE only a subset of annotation terms are returned. Otherwise full match details are reported (see examples).

Description

Get customizable annotations for query results from PDB or PFAM.

Details

Given a list of PDB IDs (and query terms for the pdb.annotate function), these functions will download annotation information from the RCSB PDB and PFAM databases.

Value

Returns a data frame of query results with a row for each PDB record, and annotation terms column-wise.

Examples

# PDB server connection required - testing excluded # Fetch all annotation terms ids <- c("6Q21_B", "1NVW", "1P2U_A") anno <- pdb.annotate(ids)
Warning message: ids should be standard 4 character PDB-IDs: trying first 4 characters...
# Access terms, e.g. ligand names: anno$ligandName
[1] "PHOSPHOMETHYLPHOSPHONIC ACID GUANYLATE ESTER,MAGNESIUM ION" [2] "PHOSPHOAMINOPHOSPHONIC ACID-GUANYLATE ESTER,MAGNESIUM ION,PHOSPHATE ION" [3] "PHOSPHATE ION" [4] "PHOSPHATE ION" [5] "PHOSPHOAMINOPHOSPHONIC ACID-GUANYLATE ESTER,ISOPROPYL ALCOHOL,MAGNESIUM ION"
## only unique PDB IDs anno <- pdb.annotate(ids, unique=TRUE)
Warning message: ids should be standard 4 character PDB-IDs: trying first 4 characters...
# Fetch only specific terms pdb.annotate(ids, anno.terms = c("ligandId", "citation"))
Warning message: ids should be standard 4 character PDB-IDs: trying first 4 characters...
ligandId citation 6Q21_B GCP,MG Milburn et al. Science (1990) 1NVW_Q GNP,MG,PO4 Margarit et al. Cell (2003) 1NVW_R PO4 Margarit et al. Cell (2003) 1NVW_S PO4 Margarit et al. Cell (2003) 1P2U_A GNP,IPA,MG Buhrman et al. Structure (2003)
# PFAM server connection required - testing excluded # Find PFAM annotations of PDB entries pdb.pfam(c("6Q21_A", "1NVW", "1P2U_A"))
ID PFAM pfamDesc eValue 1 6Q21_A Ras (PF00071.18) Ras family 0.0 2 1NVW_Q Ras (PF00071.18) Ras family 0.0 4 1NVW_S RasGEF (PF00617.15) RasGEF domain 0.0 5 1P2U_A Ras (PF00071.18) Ras family 0.0
# More details and a not fond entry warning pdb.pfam(c("1P2U_A", "6Q21_B"), compact=FALSE)
Warning message: PFAM annotation not found for pdbid(s): 6Q21_B
structureId chainId pdbResNumStart pdbResNumEnd pfamAcc pfamName 1 1P2U A 5 164 PF00071.18 Ras 2 <NA> <NA> <NA> <NA> <NA> <NA> pfamDesc eValue ID PFAM 1 Ras family 0.0 1P2U_A Ras (PF00071.18) 2 <NA> <NA> 6Q21_B <NA>

Author

Hongyang Li, Barry Grant, Lars Skjaerven