docs: def add_fingerprint_to_nglview(self, view, fingerprint,
                                     seqprop=None, structprop=None, chain_id=None, use_representatives=False,
                                     color='red', opacity_range=(0.8, 1), scale_range=(1, 5)):
          """Add representations to an NGLWidget view object for residues that are mutated in the
          ``sequence_alignments`` attribute.
  
          Args:
              view (NGLWidget): NGLWidget view object
              fingerprint (dict): Single mutation group from the ``sequence_mutation_summary`` function
              seqprop (SeqProp): SeqProp object
              structprop (StructProp): StructProp object
              chain_id (str): ID of the structure's chain to get annotation from
              use_representatives (bool): If the representative sequence/structure/chain IDs should be used
              color (str): Color of the mutations (overridden if unique_colors=True)
              opacity_range (tuple): Min/max opacity values (mutations that show up more will be opaque)
              scale_range (tuple): Min/max size values (mutations that show up more will be bigger)
  
          """
          if use_representatives:
              if seqprop and structprop and chain_id:
                  raise ValueError('Overriding sequence, structure, and chain IDs with representatives. '
                                   'Set use_representatives to False if custom IDs are to be used.')
          else:
              if not seqprop or not structprop or not chain_id:
                  raise ValueError('Input sequence, structure, and chain to map between, or set use_representatives '
                                   'to True.')
  
          if use_representatives:
              seqprop = self.representative_sequence
              structprop = self.representative_structure
              chain_id = self.representative_chain
  
          log.debug('Using sequence: {}, structure: {}, chain: {}'.format(seqprop.id, structprop.id, chain_id))
  
          fingerprint_lens = {k: len(v) for k, v in fingerprint.items()}
          fingerprint_map_to_structure = {}
          for k, v in fingerprint_lens.items():
              k_list = [int(x[1]) for x in k]
              resnums_to_structure = self.map_seqprop_resnums_to_structprop_resnums(resnums=k_list,
                                                                                    seqprop=seqprop,
                                                                                    structprop=structprop,
                                                                                    chain_id=chain_id,
                                                                                    use_representatives=use_representatives)
              new_key = tuple(y for y in resnums_to_structure.values())
              fingerprint_map_to_structure[new_key] = v
  
          structprop.add_scaled_residues_highlight_to_nglview(view=view,
                                                              structure_resnums=fingerprint_map_to_structure,
                                                              chain=chain_id,
                                                              color=color,
                                                              opacity_range=opacity_range,
                                                              scale_range=scale_range)