def __doc__(self):
    """Return the docstring for the class."""
    cls_name = self.__class__.__name__
    supercls_str, all_subclasses = {
        "DictWithID": ["dict", ["MassSolution"]],
        "OrderedDictWithID": ["OrderedDict", ["EnzymeDict"]],
    }[cls_name]

    return """A specialized {1} with an additional ID attribute.

    The {0} class is essentially a subclass of an {1} with a string identifier.
    The {2} objects are all subclasses of {0}.

    Parameters
    ----------
    id: str, None
        The identifier to associate with the {0}.
    data_dict: dict, optional
        If provided, the new {0} will contain the key:value pairs from
        "data_dict". Otherwise the new {0} is initialized as empty.

    """.format(
        cls_name, supercls_str, str(tuple(all_subclasses))
    )