def __imul__(self, coefficient):
self._metabolites = {<EOL>met: value * coefficient<EOL>for met, value in iteritems(self._metabolites)}<EOL>if coefficient < <NUM_LIT:0>:<EOL><INDENT>self.bounds = (-self.upper_bound, -self.lower_bound)<EOL><DEDENT>if self._model:<EOL><INDENT>self._model._populate_solver([self])<EOL><DEDENT>context = get_context(self)<EOL>if context:<EOL><INDENT>context(partial(self._model._populate_solver, [self]))<EOL>context(partial(self.__imul__, <NUM_LIT:1.>/coefficient))<EOL><DEDENT>return self<EOL>
Scale coefficients in a reaction by a given value

        E.g. A -> B becomes 2A -> 2B.

        If coefficient is less than zero, the reaction is reversed and the
        bounds are swapped.