docs: def map_seqprop_resnums_to_structprop_resnums(self, resnums, seqprop=None, structprop=None, chain_id=None,
                                                    use_representatives=False):
          """Map a residue number in any SeqProp to the structure's residue number for a specified chain.
  
          Args:
              resnums (int, list): Residue numbers in the sequence
              seqprop (SeqProp): SeqProp object
              structprop (StructProp): StructProp object
              chain_id (str): Chain ID to map to
              use_representatives (bool): If the representative sequence and structure should be used. If True, seqprop,
                  structprop, and chain_id do not need to be defined.
  
          Returns:
              dict: Mapping of sequence residue numbers to structure residue numbers
  
          """
          resnums = ssbio.utils.force_list(resnums)
  
          if use_representatives:
              seqprop = self.representative_sequence
              structprop = self.representative_structure
              chain_id = self.representative_chain
              if not structprop:
                  raise ValueError('No representative structure set, please specify sequence, structure, and chain ID')
          else:
              if not seqprop or not structprop or not chain_id:
                  raise ValueError('Please specify sequence, structure, and chain ID')
  
          mapping_to_repchain_index = self._map_seqprop_resnums_to_structprop_chain_index(resnums=resnums,
                                                                                          seqprop=seqprop,
                                                                                          structprop=structprop,
                                                                                          chain_id=chain_id,
                                                                                          use_representatives=use_representatives)
  
          chain = structprop.chains.get_by_id(chain_id)
          chain_structure_resnum_mapping = chain.seq_record.letter_annotations['structure_resnums']
  
          final_mapping = {}
          for k, v in mapping_to_repchain_index.items():
              k = int(k)
              rn = chain_structure_resnum_mapping[v]
  
              if rn == float('Inf'):
                  log.warning('{}-{}, {}: structure file does not contain coordinates for this residue'.format(structprop.id,
                                                                                                               chain_id,
                                                                                                               k))
              else:
                  rn = int(rn)
                  final_mapping[k] = rn
                  index_of_structure_resnum = chain_structure_resnum_mapping.index(rn)
  
                  # Additionally report if residues are the same - they could be different in the structure though
                  format_data = {'seqprop_id'       : seqprop.id,
                                 'seqprop_resid'    : seqprop[k - 1],
                                 'seqprop_resnum'   : k,
                                 'structprop_id'    : structprop.id,
                                 'structprop_chid'  : chain_id,
                                 'structprop_resid' : chain.seq_record[index_of_structure_resnum],
                                 'structprop_resnum': rn}
  
                  if seqprop[k-1] != chain.seq_record[index_of_structure_resnum]:
                      log.warning('Sequence {seqprop_id} residue {seqprop_resid}{seqprop_resnum} does not match to '
                                  'structure {structprop_id}-{structprop_chid} residue '
                                  '{structprop_resid}{structprop_resnum}. NOTE: this may be due to '
                                  'structural differences'.format(**format_data))
                  else:
                      log.debug('Sequence {seqprop_id} residue {seqprop_resid}{seqprop_resnum} is mapped to '
                                'structure {structprop_id}-{structprop_chid} residue '
                                '{structprop_resid}{structprop_resnum}'.format(**format_data))
  
          return final_mapping