Skip to contents

Pure.

Usage

pdbe_parse_structures(body, accession = NA_character_)

Arguments

body

A parsed PDBe best_structures response.

accession

The UniProt accession that was queried.

Value

A tibble of pdb_id, method, resolution, coverage, and source_url, one row per distinct structure. NULL when there are none.

One entry per structure, not per chain

The response is keyed by the accession, and each value is a list of per chain mappings. A single PDB entry therefore recurs once for every chain it resolved, so 3 structures across 12 chains arrive as 12 records. Counting them raw overstates structural coverage several-fold.

Rows are collapsed to distinct pdb_id, keeping the first occurrence, which is PDBe's own best (highest coverage) chain for that entry.

Examples

body <- list(P21359 = list(
  list(pdb_id = "7pgp", chain_id = "F", experimental_method = "Electron Microscopy",
       resolution = 3.1, coverage = 1),
  list(pdb_id = "7pgp", chain_id = "N", experimental_method = "Electron Microscopy",
       resolution = 3.1, coverage = 1)
))
pdbe_parse_structures(body, "P21359")
#> # A tibble: 1 × 5
#>   pdb_id method              resolution coverage source_url                     
#>   <chr>  <chr>                    <dbl>    <dbl> <chr>                          
#> 1 7pgp   Electron Microscopy        3.1        1 https://www.ebi.ac.uk/pdbe/ent…