code: def best_structures(uniprot_id, outname=None, outdir=None, seq_ident_cutoff=0.0, force_rerun=False):
      outfile = ''
      if not outdir:
          outdir = ''
      if not outname and outdir:
          outname = uniprot_id
      if outname:
          outname = op.join(outdir, outname)
          outfile = '{}.json'.format(outname)
      if not ssbio.utils.force_rerun(flag=force_rerun, outfile=outfile):
          with open(outfile, 'r') as f:
              raw_data = json.load(f)
          log.debug('{}: loaded existing json file'.format(uniprot_id))
      else:
          response = requests.get('https://www.ebi.ac.uk/pdbe/api/mappings/best_structures/{}'.format(uniprot_id),
                                  data={'key': 'value'})
          if response.status_code == 404:
              log.debug('{}: 404 returned, probably no structures available.'.format(uniprot_id))
              raw_data = {uniprot_id: {}}
          else:
              log.debug('{}: Obtained best structures'.format(uniprot_id))
              raw_data = response.json()
          if outfile:
              with open(outfile, 'w') as f:
                  json.dump(raw_data, f)
              log.debug('{}: Saved json file of best structures'.format(uniprot_id))
      data = dict(raw_data)[uniprot_id]
      if seq_ident_cutoff != 0:
          for result in data:
              if result['coverage'] < seq_ident_cutoff:
                  data.remove(result)
      return data