def combine_filters(*args):
    """
    Combine a series of filters into a single function

    Create a function the applies multiple filter functions to a record and returns `True` only if they all do.

    Parameters
    ----------
    *args : Functions
        Functions taking a `ProtienNetRecord` and returning True to keep it or False to filter it.

    Returns
    -------
    Function
        A function that applies all the functions in `*args` and returns the logical AND of their output.
    """
    def func(rec):
        for filt in args:
            if not filt(rec):
                return False
        return True
    return func