The Activation and Repression BindingVisitors now load parameter values for a species influencing a promoter by accessing the promoter's reaction map with respect to the species. Before, all parameter values were loaded from the species themselves thanks to a hack that pre-loaded species with reaction and promoter parameters, but this precluded having a species influence separate promoters using unique parameter sets.
The PrintDimerization and PrintBiochemicalVisitors are now called within the BindingVisitors and are passed the relevant parameter values rather than called upon to load them.
Checks are made when loading parameters in the BindingVisitors to determine if a species both activates and represses a specific promoter, in which case separate parameter sets are used.
A check is made when building biochemical species in the Genetic Network class to determine if the species was previously built in a different order (i.e. Biochemical_B_A instead of Biochemical_A_B).
When a promoter is both activated and repressed, its rate of transcription when no species are bound is ko instead of kb, i.e. the promoter is treated as a constitutive promoter that can be further activated rather than as a basal promoter for which repression is not as meaningful.