def iter_species_frequency(self):
        """
        In order to prevent permanent changes to the species_frequency
        attribute due to the filtering of taxa, this iterable should be used
        instead of the said variable. This creates a temporary deepcopy of
        species_frequency which will be iterated over and eventually modified.
        """

        # Since the items of species_frequency are mutable, this ensures
        # that even those objects are correctly cloned
        sp_freq = copy.deepcopy(self.species_frequency)

        for cl in sp_freq:
            yield cl