Jim Karagiannis

Applying the Formal and General Approach to Problems in the Biological Sciences

A formal, axiomatic conceptualization of buffering action—generally applicable to any physical, chemical, or biological process—was first presented by B. M. Schmitt in 2005 [1, 2]. This article provides a series of tools designed to aid in the application of these concepts to both classical and non-classical buffering phenomena. To illustrate the utility of the approach in the biological sciences, an abstract measure of the magnitude of “genetic” buffering associated with an allele of the gene encoding the heat shock protein Hsp90 is determined.


Buffering is observed when a parameter changes less than expected in response to a given disturbance. For example, if a strong acid is added to an aqueous solution, and not all of the added ions remain free (unbound), then the solution is said to act as a buffer. While such phenomena have been observed in the physical, chemical, and biological sciences for centuries, a formal and general approach for their quantitation across distinct disciplines was not presented until recently
[1, 2].

In [1, 2], B. M. Schmitt presents a comprehensive mathematical framework for evaluating buffering action—a framework that is applicable to any scenario in which a quantity partitions between two compartments or states. While suitable for the analysis of “classical” buffering phenomena (e.g. acid-base chemistry), the formalism also provides a simple means with which to quantitate and characterize phenomena that, at first glance, seem to be outside the buffering paradigm—at least when the term is used in its traditional sense with respect to the homeostasis of physiological parameters (see [2] for several in-depth examples of the formal and general approach applied to phenomena spanning diverse disciplines).

This article provides a series of mathematical tools designed to facilitate the application of Schmitt’s paradigm to both “classical” and “non-classical” buffering phenomena. By inputting the transfer function and the buffering function , the provided code: (1) defines the four buffering parameters , , , and ; (2) provides a series of graphical outputs describing the system; and (3) calculates the buffering angle , thereby classifying the system as being moderating/amplifying/
inverting/non-inverting. Thus, the burden of computation associated with the approach is seamlessly transferred from the user to the Mathematica kernel.

Lastly, in order to illustrate the utility of the approach outside traditional disciplines, I use these same tools to calculate the magnitude of “genetic” buffering associated with an allele of the gene encoding the heat shock protein Hsp90. In this way, the capacity of an allele to buffer phenotypic variation is formally and quantitatively determined for the first time.

An Intuitive, Linear Example Based on the Partitioning of Fluids in Communicating Vessels

To illustrate Schmitt’s “formal and general approach,” consider a system comprised of a pair of communicating vessels (i.e. cylindrical flasks connected by a small tube). As described in [1], the total volume of liquid in the vessels, , is the sum of the two partial volumes contained in each vessel. In the specific example described below, the rightmost of the two cylindrical vessels (the “buffering” vessel) has a radius exactly two times that of the first. Thus, any fluid added to the leftmost vessel (the “transfer” vessel) will partition in a ratio of 1:4 between the transfer and buffering vessels. The partial volume present in the transfer vessel is thus one-fifth the total volume of fluid added to the system. Likewise, the partial volume present in the buffering vessel is four-fifths the total volume of fluid added to the system.

Formalizing the System

It is possible to formalize the system below by defining three functions: the transfer function , the buffering function , and the sigma function .

The transfer function defines the amount of fluid present in the transfer vessel.

Likewise, the buffering function defines the amount of fluid present in the buffering vessel.

The sigma function defines the sum of the individual functions comprising the system.

Once the functions are defined, it is possible to visualize the system by plotting the lines.

It is also possible to visualize the system (in a more intuitive manner) by creating an area plot in which the two partial volumes are indicated by the heights of the transfer and buffering areas at any given value of .

Defining the Buffering Parameters

The definition of the respective functions also provides a convenient means with which to quantitate buffering action. This is accomplished in any one of four ways, using the three available differentials. The buffering coefficient measures the change in the buffering compartment relative to the total change.

The buffering ratio measures the change in the buffering compartment relative to the change in the transfer compartment.

Conversely, the transfer coefficient measures the change in the transfer compartment relative to the total change.

The transfer ratio measures the change in the transfer compartment relative to the buffering compartment.

In this simple linear example—where the cross-sectional area of the buffering vessel is constant (i.e. does not vary with fluid level)—the dimensionless values of total volumes , , , and are invariant, equal to 0.8, 4, 0.20, and .0.25, respectively.

Defining the Buffering Angle

While of great utility, the parameters and are undefined in the case of perfect buffering or perfect transfer, respectively. To address this issue, it is possible to define an alternative measure, the buffering angle , which is capable of representing any type of buffering without the introduction of discontinuities.

As described in [1], the buffering angle can be defined by first creating a three-dimensional space curve of the system.

A projection of this curve onto the plane corresponds to the transfer function.

A projection onto the plane corresponds to the buffering function.

A projection onto the plane, however, generates a third curve that can be used to determine the proportions between the individual changes in the transfer and buffering functions. This is accomplished by simply measuring the angle between the axis and the line formed by joining the origin to any given point on the curve.

This calculates the buffering angle in degrees ([1], Supplement 5).

Similar to the buffering parameters, is invariant in cases of linear buffering.

It is evident from the above analysis that this methodology creates a system in which perfect buffering corresponds to an angle of 90° and perfect transfer to an angle of 0°. In fact, any type of buffering behavior (moderating/amplifying/inverting/non-inverting) can be represented continuously by a finite angle between and 135° ([1], Supplement 7).

Importantly, it is also possible—using the same logic in the reverse direction—to use this single value to unambiguously define all of the buffering parameters describing the system. This can be demonstrated by defining a variable littleb1 (corresponding to the buffering coefficient ) that is calculated using only the buffering angle.

This checks that and littleb are the same.

Similarly, the values of the remaining three buffering parameters can be calculated using only the buffering angle and shown to be equal to the corresponding parameters calculated using the relevant differentials.

Thus, the buffering angle provides a simple, powerful, single-value measure that is capable of capturing and communicating the underlying nature of the buffering relationships comprising
the system.

A More Complex, Nonlinear Example

While the simple linear scenario described above made it possible to lay the foundation for Schmitt’s “formal and general approach,” the computational effort associated with its application was minimal. Thus, the utility of applying these methods within Mathematica was not fully exploited. For this reason, I next consider a more complex, nonlinear example (i.e. where the cross-sectional area of the buffering vessel is not constant). This serves the purpose of highlighting the advantages of exploiting Mathematica‘s computational engine.

Defining a Nonlinear Buffering System

Consider a nonlinear system defined by the functions listed below.

As previously described, the buffering parameters can be determined using the relevant differentials. However, in contrast to the previous example, the computational burden associated with their calculation is no longer trivial (at least in the absence of Mathematica).

Once the functions are defined and the system visualized through the creation of the corresponding line and area plots, one can clearly see that the magnitude of buffering action in this nonlinear scenario varies with fluid level (imagine a buffering vessel in the shape of an hourglass as opposed
to a cylinder).

Furthermore, unlike the linear case, it is also clear that the buffering parameters vary as a function
of .

Defining the Buffering Angle of a Nonlinear System

As previously described, it is also possible to calculate the buffering angle by first creating a three-dimensional space curve of the system and then projecting this curve onto the plane.

In this instance the buffering angle varies as a function of , with near-perfect buffering being observed at both high and low fluid levels, and minimal buffering being observed when attains a value of approximately 4.38.

As described previously, the buffering parameters can be determined using the buffering angle and are equivalent to the values calculated using the originally defined functions (compare the plots below to the plots for , , , and above).

Thus, just as in the case of a linear system, plotting over the range of the disturbance (i.e. the addition of fluid) provides a simple, single-value measure with which to grasp the inherent buffering properties of the system under consideration.

Differentials versus Derivatives

At this point it is important to note that, up to now, only the overall changes in the buffering and transfer compartments have been considered (by comparing differentials). However, in the case of nonlinear systems, it is also informative to consider the rate at which these values change relative to one another (by comparing derivatives). For example, in the same way that it would be important for an investor to be aware of the current price of gold, and how it has changed in previous years, months, or weeks, it would also be important for that same investor to be cognizant of the rate at which the price is changing at any given instant in time (i.e. increasing, decreasing, or stable). This is to say, the choice to sell at a given price at a given moment would be greatly influenced by knowing if the price was stable or on either an upward or a downward trend. In other words, it is not only of interest to know how a quantity has changed, but how that quantity is changing.

To determine the instantaneous rates of change in a buffered system, simply calculate and plot the first derivatives of the functions describing the system.

Once the functions are defined, the instantaneous buffering parameters (denoted by adding an “i” to the respective variable names) can also be calculated.

As is evident from viewing the respective plots of these functions, this analysis allows one to clearly identify the points of maximum and minimum buffering/transfer rate, as well as the points at which the buffering/transfer rates are zero.

In this way, the most critical junctures in the development of the system (over the range of the disturbance) can be quickly and easily identified.

From the Abstract to the Practical

The analysis presented in the previous sections concludes my efforts to establish the theoretical foundation of the formal and general approach, as well as its application within Mathematica. Next, in order to illustrate how these abstractions can be directly applied to the real world, I consider an example of non-classical buffering—namely, that of the “genetic buffering” of phenotypic variation.
In this way, the ability to exactly and formally quantitate phenomena that at first glance might be thought of as being outside the buffering paradigm is practically demonstrated.

Genetic Buffering

The axiomatic foundation and abstract nature of the “formal and general approach” allows it to be readily applied to any scenario in which an arbitrary quantity partitions itself between two compartments or states. While suitable for the analysis of “classical” buffering phenomena (the homeostasis of physiological parameters), the approach is also germane to a variety of “non-classical” buffering phenomena. One such phenomenon, which up to now has been considered in only a qualitative manner, is that of “genetic” buffering. While many instances of genetic buffering have been described and characterized, a well-known and classic example of the phenomenon—revolving around the gene encoding the heat shock protein Hsp90—will be used to illustrate the real-world application of Schmitt’s paradigm.

The Heat Shock Protein Hsp90

The Hsp90 protein is an ATP-dependent molecular “chaperone” that is extensively expressed in organisms ranging from bacteria to humans. It functions to promote the proper folding of a specific subset of molecular targets referred to as its “client” proteins. Interestingly, many of Hsp90’s client proteins are involved in the process of signal transduction and modulate developmental processes [3]. For example, in the fruit fly, Drosophila melanogaster, mutations in the gene encoding Hsp90 result in morphological abnormalities affecting the development of the eye, legs, wings, thorax, and bristles [4].

Interestingly, the proportion of Hsp90 mutant flies exhibiting eye defects (in a line prone to such abnormalities) increases dramatically as the temperature rises. In contrast, the proportion of control flies (expressing the normal or “wild-type” version of the Hsp90 protein) also increases in response to increased temperature, but not nearly to the same degree as in the mutant flies [4]. The gene encoding the wild-type version of the Hsp90 protein is thus said to “buffer” the appearance of the defective eye trait.

Formally Quantitating Hsp90-Mediated Buffering of Phenotypic Variation

It is possible to analyze these experimental results in more detail by importing the raw data (see Figure 8 in [4]) from the original publication in the form of two arrays. These two arrays, corresponding to the wild-type and mutant fly lines, relate temperature to the penetrance of the mutant phenotype (i.e. the percentage of flies in the line displaying the eye defect).

Plotting the data illustrates that the mutant line is indeed more sensitive to increasing temperature than the wild-type line.

To proceed with the application of the formal and general approach, we now create two curves that fit the data using the FindFit function.

With the above constants, the curves describing the behavior of the wild-type and mutant lines can be generated.

The appropriateness of the fit can then be inspected by plotting the curves together with the raw data.

With these results in hand, it is now possible to define both the buffering and transfer functions and then to visualize the system using an area plot.

As is evident from inspecting this plot, an increase in temperature translates into only a small increase in the proportion of flies with eye defects in the wild-type line. However, in the mutant line, a much more pronounced increase is observed. We can thus infer that the expression of the wild-type Hsp90 protein buffers the effect of temperature on the penetrance of the eye defect. In other words, since the “transfer” of the eye defect phenotype is greater in the mutant line, the wild-type Hsp90 protein must possess the abstract capacity of diverting or “soaking up” this disturbance (into an equally abstract buffering compartment) so that the “transfer” of the eye defect is diminished. Importantly, using the formal and general approach, we can now provide an exact quantitative measure of the buffering capacity of the wild-type allele by calculating and plotting the four buffering parameters together with the buffering angle (below).

As shown above, the buffering coefficient can be calculated to range from ~0.935 at 18 °C to ~0.822 at 32 °C. While these calculations are now trivial, the critical biological question of how to interpret these calculations is more challenging. As discussed by Schmitt ([1], Supplements 6 and 7), one way to proceed is to consider the conceptual overlap between the formal and general approach and probability theory. In essence, the buffering coefficient is analogous to a probability. In the same way that a probability measures the proportion of a part to a whole (i.e. the number of successful events to the total number of events), so does the buffering coefficient (by measuring the fractional change in the buffering compartment relative to the whole compartment). The critical realization is that both quantities are measured on a relative scale that is normalized to 1. Interpreting the graph in this way, one can say that the “probability” of buffering decreases from ~0.935 to ~0.822 from 18 °C to 32 °C.

Using similar logic, one can say that, in essence, the buffering ratio is analogous to the “odds” of buffering. In the same way that odds measure the proportion between two parts of a whole (by comparing events to non-events), so does (by comparing the fractional change in the buffering compartment to the fractional change in the transfer compartment). Again the critical realization is that both quantities are measured on a scale with equal intervals and an absolute zero. Interpreting the data in this way, one can say that the “odds” of buffering decrease from ~14.4 to ~4.6 from 18 °C to 32 °C. Similarly, one can consider and to be analogous to the “probability” of transfer and the “odds” of transfer, respectively.

Lastly, the buffering angle provides information regarding not only the magnitude of buffering but also the class of buffering behavior. As discussed by Schmitt ([1], Supplement 7), angles between 90° and 0° correspond to non-inverting moderation, with angles of 90° corresponding to perfect buffering and 0° to zero buffering. Thus, the simple inspection of the plot of reveals that the buffering capacity of wild-type Hsp90 is very strong (near perfect at ~86°) but decreases slightly with increasing temperature (to a value of ~78°). In any event—and however the data is interpreted—the analysis presented above clearly demonstrates the ease with which the buffering capacity of a genetic determinant can be formally and exactly quantified.


A formal conceptualization of genetic buffering was first put forward by famed geneticist and Nobel laureate Leland Hartwell [5, 6]. In these publications, Hartwell highlights the importance of buffering relationships in determining phenotype in outbred organisms. Subsequent research both in yeast and in the roundworm, Caenorhabditis elegans, has strongly supported his assumptions [7, 8]. Thus, in addition to increasing our basic understanding of genetic networks, these results also raised the theoretical question of whether or not it might be possible to provide an exact quantitative measure of a genetic determinant’s buffering activity.

As described for the first time above, Schmitt’s “formal and general approach” provides a powerful means with which to accomplish this goal. Through the calculation of the four buffering parameters , , , and and the buffering angle , it is indeed possible to provide an exact quantitative measure of the buffering activity or “power” of any genetic determinant in response to an environmental disturbance. Furthermore, the activity can be measured using either a relative scale normalized to one ( and ) or an absolute scale with equal intervals ( and ), or distilled to a single value measure , capable of describing the system in its entirety.

In conclusion, it must be noted that the application of the formal and general approach becomes practical only when used in conjunction with a sophisticated computational engine that is capable of readily analyzing the relevant data. As demonstrated in this article, Mathematica provides such an engine. The application of the formal and general approach using the Wolfram Language thus provides a powerful tool with which to quantitatively analyze both classical and non-classical buffering phenomena, irrespective of discipline.


[1] B. M. Schmitt, “The Quantitation of Buffering Action I. A Formal & General Approach,” Theoretical Biology and Medical Modelling, 2(8), 2005. doi:10.1186/1742-4682-2-8.
[2] B. M. Schmitt, “The Quantitation of Buffering Action II. Applications of the Formal & General Approach,” Theoretical Biology and Medical Modelling, 2(9), 2005.
[3] M. Taipale, D. F. Jarosz, and S. Lindquist, “HSP90 at the Hub of Protein Homeostasis: Emerging Mechanistic Insights,” Nature Reviews Molecular Cell Biology, 11(7), 2010 pp. 515-528. doi:10.1038/nrm2918.
[4] S. L. Rutherford and S. Lindquist, “Hsp90 as a Capacitor for Morphological Evolution,” Nature, 396, 1998 pp. 336-342. doi:10.1038/24550.
[5] J. L. Hartman, B. Garvik, and L. Hartwell, “Principles for the Buffering of Genetic Variation,” Science, 291(5506), 2001 pp. 1001-1004. www.sciencemag.org/content/291/5506/1001.abstract.
[6] L. Hartwell, “Robust Interactions,” Science, 303(5659), 2004 pp. 774-775. doi:10.1126/science.1094731.
[7] A. H. Tong, G. Lesage, G. D. Bader, H. Ding, H. Xu, X. Xin, J. Young, G. F. Berriz, R. L. Brost, M. Chang, Y. Chen, X. Cheng, G. Chua, H. Friesen, D. S. Goldberg, J. Haynes, C. Humphries, G. He, S. Hussein, L. Ke, N. Krogan, Z. Li, J. N. Levinson, H. Lu, P. Ménard, C. Munyana, A. B. Parsons, O. Ryan, R. Tonikian, T. Roberts, A. M. Sdicu, J. Shapiro, B. Sheikh, B. Suter, S. L. Wong, L. V. Zhang, H. Zhu, C. G. Burd, S. Munro, C. Sander, J. Rine, J. Greenblatt, M. Peter, A. Bretscher, G. Bell, F. P. Roth, G. W. Brown, B. Andrews, H. Bussey, and C. Boone, “Global Mapping of the Yeast Genetic Interaction Network,” Science, 303(5659), 2004 pp. 808-813. doi:10.1126/science.1091317.
[8] B. Lehner, C. Crombie, J. Tischler, A. Fortunato, and A. G. Fraser, “Systematic Mapping of Genetic Interactions in Caenorhabditis Elegans Identifies Common Modifiers of Diverse Signaling Pathways,” Nature Genetics, 38(8), 2006 pp. 896-903. doi:10.1038/ng1844.
J. Karagiannis, “The Quantitation of Non-classical Buffering,” The Mathematica Journal, 2015. dx.doi.org/doi:10.3888/tmj.17-3.

About the Author

Dr. Jim Karagiannis is an associate professor at the University of Western Ontario in London, Ontario, Canada. His research makes use of the model eukaryote Schizosaccharomyces pombe and explores the complex post-translational modifications that take place on the carboxy-terminal domain (CTD) of the largest subunit of RNA polymerase II. Through an empirical examination of the informational properties and regulatory potential of the CTD, Dr. Karagiannis hopes to decipher the “programming language” used by eukaryotes to control aspects of gene expression.

Jim Karagiannis
Department of Biology
The University of Western Ontario
London, ON
Canada, N6A-5B7