def get_DDE_rhs(func, *func_args):
    """
    Returns a function `rhs` with call signature 
    
      rhs(E, E_delay, *dde_args) 
      
    that can be passed to `lsig.integrate_DDE` and 
    `lsig.integrate_DDE_varargs`. This is equivalent 
    to calling
    
      func(E, E_delay, *func_args, *dde_args)
    
    Examples of args in `func_args` include:
    
    Adj         :  Adjacency matrix encoding cell neighbors
    sender_idx  :  Index (indices) of sender cells, which
                     undergo different signaling 
    
    """

    def rhs(E, E_delay, *dde_args):
        return func(E, E_delay, *func_args, *dde_args)

    return rhs