          for ext in (".json", ".p", ".pickle", ".yaml"):
              legacy_filename = "{}{}".format(filename, ext)
              if os.path.exists(legacy_filename):
                  logger.debug("Legacy alignments file exists: '%s'", legacy_filename)
                  _ = self.update_file_format(*os.path.split(legacy_filename))
                  break
              logger.debug("Legacy alignments file does not exist: '%s'", legacy_filename)
  
      def update_file_format(self, folder, filename):
          """ Convert old style alignments format to new style format """
 
</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
        """ </s> remove     # Serializer is now a compressed pickle .fsa format. This used to be any number of serializers
    def test_for_legacy(self, location):
        """ For alignments filenames passed in with out an extension, test for legacy formats """
 </s> add     # Serializer is now a compressed pickle custom format. This used to be any number
    # of serializers
    def _test_for_legacy(self, location):
        """ For alignments filenames passed in without an extension, test for legacy
        serialization formats and update to current ``.fsa`` format if any are found.

        Parameters
        ----------
        location: str
            The folder location to check for legacy alignments
        """ </s> remove                                       self.serializer.file_extension)
 </s> add                                       self._serializer.file_extension) </s> remove     def get_location(self, folder, filename):
        """ Return the path to alignments file """
 </s> add     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
        """ </s> remove             filename = self.update_file_format(folder, filename)
 </s> add             filename = self._update_file_format(folder, filename)
                _ = self._update_file_format(*os.path.split(legacy_filename))
          for ext in (".json", ".p", ".pickle", ".yaml"):
              legacy_filename = "{}{}".format(filename, ext)
              if os.path.exists(legacy_filename):
                  logger.debug("Legacy alignments file exists: '%s'", legacy_filename)
                _ = self._update_file_format(*os.path.split(legacy_filename))
                  break
              logger.debug("Legacy alignments file does not exist: '%s'", legacy_filename)
  
      def update_file_format(self, folder, filename):
          """ Convert old style alignments format to new style format """
keep keep keep keep 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