diff --git a/ippisite/ippidb/ws.py b/ippisite/ippidb/ws.py index b29027bbaac1d15404f731141790191189ffd380..ad6fd40ee8fd118cc998ffa40465371673ad9faf 100644 --- a/ippisite/ippidb/ws.py +++ b/ippisite/ippidb/ws.py @@ -83,3 +83,12 @@ def get_pdb_uniprot_mapping(pdb_id): resp = requests.get('https://www.ebi.ac.uk/pdbe/api/mappings/uniprot/{}'.format(pdb_id.lower())) uniprot_ids = list(resp.json()[pdb_id]['UniProt'].keys()) return uniprot_ids + +def pdb_entry_exists(pdb_id): + """ test if a PDB entry exists using EBI web services """ + resp = requests.get('https://www.ebi.ac.uk/pdbe/api/pdb/entry/summary/{}'.format(pdb_id.lower())) + # EBI sends back either a 404 or an empty json if the PDB does not exist + if not(resp.ok): + return False + else: + return True