In translating PySB reactions into GillesPy reactions, we are currently passing rate laws as custom propensity functions rather than as mass action rate constants. The reason for this is that BNG includes various symmetry and multiplicative factors when calculating the rate constant, some of which are accounted for by StochKit (i.e., symmetry factors) but others are not (multiplicity factors, etc.). Passing the full rate law as a custom propensity function circumvents any possible problems due to this. However, there is overhead associated with using custom propensity functions in StochKit, which we need to quantify. If the overhead turns out to be significant, we may need to implement an alternative approach in the reaction translation code.
In translating PySB reactions into GillesPy reactions, we are currently passing rate laws as custom propensity functions rather than as mass action rate constants. The reason for this is that BNG includes various symmetry and multiplicative factors when calculating the rate constant, some of which are accounted for by StochKit (i.e., symmetry factors) but others are not (multiplicity factors, etc.). Passing the full rate law as a custom propensity function circumvents any possible problems due to this. However, there is overhead associated with using custom propensity functions in StochKit, which we need to quantify. If the overhead turns out to be significant, we may need to implement an alternative approach in the reaction translation code.