I. Introduction and Motivation
Synthetic genetic circuits are usually designed by assembling modules that have been previously characterized in isolation [1]. Because circuit modules all share the same limited resources required for gene expression, chiefly ribosomes' the composition of modules often creates unpredictable outcomes. In fact, when an input signal activates a synthetic circuit which demands resources, it depletes the resource pool and thus decreases the output of all other circuits in the network. This undesired cross-talk between circuits, prevents robust performance of modules and of the network in which these modules are embedded. In [2], it was shown that the expression levels of two synthetic genes with no direct coupling were constrained to an isocost line due to ribosome sharing. This cross-talk is not limited to local interactions; over-producing synthetic proteins decreases free ribosomes and thus lowers cellular growth rates [3].