Design and Engineering of Synthetic Gene Networks