def bar_species_coverage(self, dest="./", filt=False, ns=None,
                             output_file_name="Species_coverage"):
        """
        Creates a stacked bar plot with the proportion of
        :return:
        """

        # Determine which groups to use
        if filt:
            groups = self.filtered_groups
        else:
            groups = self.groups

        data = Counter(dict((x, 0) for x in self.species_list))

        for cl in groups:
            if ns:
                if ns.stop:
                    raise KillByUser("")
            data += Counter(dict((x, 1) for x, y in cl.species_frequency.items()
                            if y > 0))

        xlabels = [str(x) for x in list(data.keys())]
        data = [list(data.values()), [len(groups) - x for x in
                                      data.values()]]

        lgd_list = ["Available data", "Missing data"]

        if ns:
            if ns.stop:
                raise KillByUser("")

        b_plt, lgd, _ = bar_plot(data, xlabels, lgd_list=lgd_list,
                              ax_names=[None, "Ortholog frequency"])
        b_plt.savefig(os.path.join(dest, output_file_name), bbox_inches="tight",
                      dpi=200)

        return b_plt, lgd, ""