          return self._hashes_to_frame
  
      # << INIT FUNCTIONS >> #
  
      def get_location(self, folder, filename):
          """ Return the path to alignments file """
          logger.debug("Getting location: (folder: '%s', filename: '%s')", folder, filename)
          noext_name, extension = os.path.splitext(filename)
          if extension in (".json", ".p", ".pickle", ".yaml", ".yml"):
              # Reformat legacy alignments file
              filename = self.update_file_format(folder, filename)
 
</s> remove             filename = self.update_file_format(folder, filename)
 </s> add             filename = self._update_file_format(folder, filename) </s> remove         if extension[1:] == self.serializer.file_extension:
 </s> add         if extension[1:] == self._serializer.file_extension: </s> remove     # pylint: disable=too-many-public-methods
 </s> add  </s> remove         self.serializer = get_serializer("compressed")
        self.file = self.get_location(folder, filename)

        self.data = self.load()
        self.update_legacy()
 </s> add         self._serializer = get_serializer("compressed")
        self._file = self._get_location(folder, filename)
        self._data = self._load()
        self._update_legacy() </s> remove     def update_file_format(self, folder, filename):
        """ Convert old style alignments format to new style format """
 </s> add     def _update_file_format(self, folder, filename):
        """ Convert old style serialized alignments to new ``.fsa`` format.

        Parameters
        ----------
        folder: str
            The folder that the legacy alignments exist in
        filename: str
            The file name of the legacy alignments

        Returns
        -------
        str
            The full path to the newly created ``.fsa`` alignments file
        """
    def _get_location(self, folder, filename):
        """ Obtains the location of an alignments file.

        If a legacy alignments file is provided/discovered, then the alignments file will be
        updated to the custom ``.fsa`` format and saved.

        Parameters
        ----------
        folder: str
            The folder that the alignments file is located in
        filename: str
            The filename of the alignments file

        Returns
        -------
        str
            The full path to the alignments file
        """
          return self._hashes_to_frame
  
      # << INIT FUNCTIONS >> #
  
    def _get_location(self, folder, filename):
        """ Obtains the location of an alignments file.

        If a legacy alignments file is provided/discovered, then the alignments file will be
        updated to the custom ``.fsa`` format and saved.

        Parameters
        ----------
        folder: str
            The folder that the alignments file is located in
        filename: str
            The filename of the alignments file

        Returns
        -------
        str
            The full path to the alignments file
        """
    def _get_location(self, folder, filename):
        """ Obtains the location of an alignments file.

        If a legacy alignments file is provided/discovered, then the alignments file will be
        updated to the custom ``.fsa`` format and saved.

        Parameters
        ----------
        folder: str
            The folder that the alignments file is located in
        filename: str
            The filename of the alignments file

        Returns
        -------
        str
            The full path to the alignments file
        """
          logger.debug("Getting location: (folder: '%s', filename: '%s')", folder, filename)
          noext_name, extension = os.path.splitext(filename)
          if extension in (".json", ".p", ".pickle", ".yaml", ".yml"):
              # Reformat legacy alignments file
              filename = self.update_file_format(folder, filename)
keep keep keep keep replace replace keep keep keep keep keep
 lib.alignments - Slight update (#978)

* lib.alignments update:
  - Minor structure change (faces to nested dictionary)
  - Refactor internal and external methods
  - Documentation 
lib/alignments.py