code: def variable_length_to_fixed_length_vector_encoding(
              self, vector_encoding_name, left_edge=4, right_edge=4, max_length=15):
          
          cache_key = (
              "fixed_length_vector_encoding",
              vector_encoding_name,
              left_edge,
              right_edge,
              max_length)
          if cache_key not in self.encoding_cache:
              fixed_length_sequences = (
                  self.sequences_to_fixed_length_index_encoded_array(
                      self.sequences,
                      left_edge=left_edge,
                      right_edge=right_edge,
                      max_length=max_length))
              result = amino_acid.fixed_vectors_encoding(
                  fixed_length_sequences,
                  amino_acid.ENCODING_DATA_FRAMES[vector_encoding_name])
              assert result.shape[0] == len(self.sequences)
              self.encoding_cache[cache_key] = result
          return self.encoding_cache[cache_key]
docs: Encode variable-length sequences using a fixed-length encoding designed
          for preserving the anchor positions of class I peptides.
  
          The sequences must be of length at least left_edge + right_edge, and at
          most max_length.
  
          Parameters
          ----------
          vector_encoding_name : string
              How to represent amino acids.
              One of "BLOSUM62", "one-hot", etc. Full list of supported vector
              encodings is given by available_vector_encodings().
          left_edge : int, size of fixed-position left side
          right_edge : int, size of the fixed-position right side
          max_length : sequence length of the resulting encoding
  
          Returns
          -------
          numpy.array with shape (num sequences, max_length, m) where m is
          vector_encoding_length(vector_encoding_name)