Programming protein interaction is probably very very hard.
Comlexity akin to exploiting buffer overflows or writing quines.<p>Thus each new protein will need to be designed separately.<p>We can make a programming language governing (turing-complete?) gene expression - suppressing or promoting genes which may suppress or promote genes based on conditions.
But in the end we need to control some bio-active proteins, which are much harder to invent.