Algebraic Methods For Modeling Gene Regulatory Networks