Replace the format strings in cond with ``self.D[i]`` so it can
        be used in eval calls. Use ``CHANNEL_RX`` as pattern. Return the
        parsed string.

        This method should be exposed so that one can experiment with
        conditions and see that they are properly parsed.

def _parse_cond(self, cond):
        """Replace the format strings in cond with ``self.D[i]`` so it can
        be used in eval calls. Use ``CHANNEL_RX`` as pattern. Return the
        parsed string.

        This method should be exposed so that one can experiment with
        conditions and see that they are properly parsed."""

        CHANNEL_RX = CHANNEL_FMT_RX.format(CHANNEL_IDENTIFIER_RX)

        res = re.findall(CHANNEL_RX, cond)
        for ident in res:
            rx = CHANNEL_FMT_RX.format(ident)
            i = self._key(ident)  # integer key

            # repl = 'self(' + str(i) + ')'
            # Cannot be. Calls (__call__) can be replaced by nan. So must call
            # the array in the dict directly:

            repl = 'self.D[' + str(i) + ']'
            # %(<identifier>) replaced with self.D[i]
            cond = re.sub(rx, repl, cond)
        return cond