  When designing genetic circuits, the typical primitives used in major
existing modelling formalisms are gene interaction graphs, where edges between
genes denote either an activation or inhibition relation. However, when
designing experiments, it is important to be precise about the low-level
mechanistic details as to how each such relation is implemented. The rule-based
modelling language Kappa allows to unambiguously specify mechanistic details
such as DNA binding sites, dimerisation of transcription factors, or
co-operative interactions. However, such a detailed description comes with
complexity and computationally costly execution. We propose a general method
for automatically transforming a rule-based program, by eliminating
intermediate species and adjusting the rate constants accordingly. Our method
consists of searching for those interaction patterns known to be amenable to
equilibrium approximations (e.g. Michaelis-Menten scheme). The reduced model is
efficiently obtained by static inspection over the rule-set, and it represents
a particular theoretical limit of the original model. The Bhattacharyya
distance is proposed as a metric to estimate the reduction error for a given
observable. The tool is tested on a detailed rule-based model of a
$\lambda$-phage switch, which lists $96$ rules and $16$ agents. The reduced
model has $11$ rules and $5$ agents, and provides a dramatic reduction in
simulation time of several orders of magnitude.
