Education Center | Plant Disease Management Simulations
Selection of Fungicide Resistance: Simulation with Resistan






Resistan

Model Description

Simulation by
Phil A. Arneson

Java adaptation by
Joshua M. Goldfarb

Resistan source code: http://dspace.library.cornell.edu/handle/1813/2494/

© 2002 Cornell University
All rights reserved



DEFINING PARAMETERS AND INITIALIZING VARIABLES

Resistan has preset values for the parameters that determine the behavior of the fungus, the characteristics of the fungicides, and such things as the length of the season, the initial inoculum, the initial incidence of resistance to each fungicide, and the spray schedule. The user can change any of these variables at the start of each simulation by selecting the appropriate menu and entering the desired values. However, for repeated simulations using the same parameters, it may be more convenient to create one's own external dataset and load it into Resistan at the start of the execution.

The preferred way to create a data set is to start Resistan, open each menu one at a time, and enter the desired values in the appropriate spaces. (Clicking on the name of the parameter will bring up a definition of that parameter and, in some cases, an explanation of how to estimate it.) Be sure to click the "Save Settings" button when each data entry window is finished. When all of the entries have been made, go to the Simulation menu and click on Save Data File. This will open a window containing the values of all the parameters and variables at the moment that the save is executed. To save these data to an external file, highlight and copy the entire data set, and paste it into a text editor. Use the File Save of the editor to save the file to the hard drive or any other storage medium. Be sure that the data are saved as a plain text file rather than in any word processor format. (Note: We have to use this indirect method of saving because security considerations prevent Java Applets from reading from or writing directly to the hard drive.)

The above method of creating your own dataset assures that the file will be created in a format that subsequently can be read by the "load data" function. An alternative approach that may be quicker for some people is to start Resistan, go to the Simulation menu, and select Save Data File. This brings up the default dataset, which you can then highlight, copy, and paste into a text editor. Then edit the file, making changes only to the values that immediately follow the colons. Be sure to use exactly the same format as the original data. Save the dataset as a plain text file.

To use your saved dataset to parameterize Resistan and initialize the variables, go to the Simulation menu and select Load Data File. This opens a window into which you can paste a data file copied from a text editor. Be sure to click on the "Load Data File" bar at the bottom of the window to close the window and return to the simulation. If the simulation fails to run using your dataset, check to be sure that it is in exactly the same format that you see in Save Data File.

Athough the definition of each parameter appears when you click on it, the definitions are repeated here to facilitate printing a copy to use as you look for the data to estimate the parameters for your own fungus or for different fungicides:

Fungicides

Name allows you to create a new name for your new fungicide. Fungicide names may not exceed 20 characters.

Fungicide Cost is used in the benefit-cost analysis at the end of the simulation. The monetary units and the units of measure of the fungicide can be any arbitrary units that are consistent with the other units used in the simulation. The default units are dollars per pound.

Dose->Deposit Factor converts the application dose of the fungicide to a deposit on the leaf surface. It can be calculated by dividing the measured deposit in micrograms per square centimeter of plant surface immediately following a spray by the application dose. The units in which the application dose is expressed (both the quantity of fungicide, and the unit of land area) may vary, as long as the same units are used consistently throughout the program. The default application doses are expressed in pounds of active ingredient per acre.

Weathering Rate expresses the rate at which the fungicide residue disappears from plant surfaces as a proportion lost per day (the exponent in a negative exponential function). It is estimated by regressing the natural log of the measured residue in micrograms per square centimeter of plant surface versus time in days following the application. This parameter is the negative slope of the regression line, and should represent an "average" from different parts of the crop canopy and following a wide range of environmental conditions. In the simulation, the residues of the fungicides are calculated as follows:

resid(f) = resid(f) - attenu(f) * resid(f)
where resid(f) is the residue of each of the fungicides (f) in micrograms per square centimeter and attenu(f) is the attenuation rate of each fungicide (proportion lost per day). The time step for this state equation is one day.

ED50 Spore Mortality is the dose of the fungicide that kills 50% of the fungus spores. Simulation of the dose-response to the fungicide assumes that the probit kill is a linear function of the logarithm of the dose, a function that can be described with two parameters, a slope and an ED50 intercept.

probit(f,r) = 5 + slope(f) * log10 (resid(f) / ed50(f) / reslev(f,r))
This function is evaluated for each fungicide and for the subpopulations sensitive and resistant to each fungicide (f,r). Reslev is the resistance level, which is 1.0 for the sensitive biotype and greater than one for the resistant biotype. Probits are then transformed into proportion kill of each biotype (sensitive or resistant) by each fungicide, kill(f,r). Despite the fact that a probit/log dose function does not always represent a good fit of the response of a fungus to a fungicide, this is one of the approximations that is made to simplify and streamline the simulation. The dose must be expressed in micrograms of fungicide per square centimeter of surface and the response in proportion of the population killed. Probit kill is then regressed versus log10 of the dose. Two parameters are then estimated, the slope of the regression line and the ED50. The ED50 of the fungicide in micrograms per square centimeter of leaf surface is the antilog of the point on the ordinate that corresponds to probit 5 on the abscissa, and its value depends on the target fungus.

Dose-Response Slope is the slope of the probit kill / log dose function for the target fungus. (See the previous item.)

ED50 Inhibition of Lesion Development is the dose of the fungicide that inhibits lesion development to 50% of the maximum inhibition for the fungicide. Fungicide inhibition of lesion development is simulated as a saturation function:

inhbles(f,r) = resid(f) / (ed50les(f) * reslev(f,r) + resid(f))
where ed50les(f) is the fungicide dose that gives 50% inhibition of lesion development (the half-saturation constant) and reslev(f,r) is the resistance level. (The resistance level of the sensitive biotype is 1.0)

ED50 Inhibition of Sporulation is the dose of the fungicide that inhibits sporulation to 50% of the maximum inhibition for the fungicide. Fungicide inhibition of sporulation is simulated as a saturation function:

inhbspo(f,r) = resid(f) / (ed50spo(f) * reslev(f,r) + resid(f))
where ed50spo(f) is the fungicide dose that gives 50% inhibition of sporulation (the half-saturation constant) and reslev(f,r) is the resistance level. (The resistance level of the sensitive biotype is 1.0)

Mutation Rate represents the rate at which mutation to the resistant biotype occurs. It is expressed as a percentage and serves as a lower limit on the percent resistance in the fungal population.

Resistance Level is the factor by which the ED50 of the sensitive biotype is multiplied to get the ED50 of the resistant biotype. For example, if the resistant biotype required 100 times the dose to achieve the same level of control as the sensitive biotype, the resistance level would be 100.

Fitness of the Resistant Biotype can affect all three stages of fungal development; spore survival, lesion development and sporulation. The effect on spore survival is used as a factor in determining the daily survival rate of spores. The effects on lesion development and sporulation are used as factors in determining the flow from one growth stage to the next. All three factors are expressed as proportions ranging from 0 to 1. If the resistant and sensitive biotypes are equally fit, the factor is one. The relative fitness of the resistant biotype cannot be measured or estimated easily from laboratory or field experiments. It is most easily estimated by repeatedly readjusting the fitness factors after running Resistan until the simulated rate of reversion to the sensitive biotype approximates that observed in the field.

Fungus

Resistance... sets the percent of the sporulating lesion population resistant to each fungicide at the start of each season. (The default is the mutation rate set under Characteristics... in the Fungicides menu.) During the course of the simulation, the numerical percent resistance can be read in this box.

Inoculum... sets the initial inoculum in spores per unit of simulated area (acres or hectares) at the start of each season. If the simulation is continued from one season to the next, the level of initial inoculum following the simulated overwintering can be seen in this box. The total number of spores given will be released uniformly over the period given. Inoculum blown in from outside the simulated area is sensitive to all the fungicides.

Life Cycle... enables Resistan to simulate any fungus that has multiple cycles of infection during a single season by adjusting the parameters that describe the fungus life cycle. The explanation of each element in the life cycle can be seen in a separate help item for each parameter. Click each parameter name for help with that item.

Infection Efficiency is the proportion of landed spores that successfully infect per day. It is estimated by depositing a known number of spores on a susceptible surface and counting the infections that result following incubation in a favorable environment. The parameter is the number of infections per deposited spore.

Latent Period is the time in days from initiation of infection until a sporulating lesion appears. Both the Latent Period and the Infectious Period are average values over a wide range of environmental conditions.

Infectious Period is the number of days that the lesion continues to produce spores. Both the Latent Period and the Infectious Period are average values over a wide range of environmental conditions.

Sporulation Rate is the number of spores produced per lesion per day, averaged over the infectious period.

Spore Deposition is the proportion of the dispersed spores that actually land on susceptible tissue. It is a very difficult parameter to estimate empirically and may have to be left as a "tuning" parameter, that is, a parameter whose value is iteratively readjusted after comparing simulated epidemics with real epidemics.

Lesion Limit is the upper limit on the number of lesions per unit land area. Its purpose is to prevent unlimited population growth in the event of an uncontrolled epidemic. This may be an awkward unit with some fungi where disease is measured as a proportion of tissue infected or as lesions per unit of leaf area. However, by using an average lesion size and an estimate of total leaf area per unit of land area, it is possible to express this value in the appropriate units.

Overwintering Factor is a simple proportionality factor to convert the final lesion count in one season to initial inoculum for the following season. It is expressed as the number of spores dispersed (not yet deposited) at the start of the following season per sporulating lesion existing at the end of the season (not necessarily per overwintering lesion).

Daily Survival Rates of Spores, Latent Lesions, and Sporulating Lesions represent averages over a wide range of environmental conditions. These are expressed as proportions of the respective populations.

Season

Length of Season... sets the length of the season in days.

Starting Date... sets the calendar date of the first day of the season. It is used as the basis for the labeling of the x-axis of the graph in the main window.

Economics

Application Cost is the cost of a single spray application in the desired monetary units per unit of land area (e.g., dollars per acre). This does not include the cost of the fungicide, which is set in the Fungicides menu under Characteristics....

Fixed Costs are the total crop production costs, excluding the fungicide spray application cost and the cost of the fungicides, in the desired monetary units per unit of land area (e.g., dollars per acre).

Maximum Revenue is the expected revenue from the crop without any losses resulting from the disease (e.g., dollars per acre).



This section summarizes the equations that determine the general structure of the model and its overall behavior. These equations are the quantitative relationships that describe the key biological mechanisms in the development of the fungus and how they are affected by the fungicides. The specific behavior of the model depends on the values of the parameters in these equations. Resistan can be made to simulate different fungi and different fungicides by changing these parameters. All of the parameters in Resistan (along with several of the options and the initial values of many of the variables) can be changed during execution of the program through the menu system. They can be saved in a startup file with the Save Data File command, which opens a window containing the values of all the parameters and variables at the moment that the save is executed. To save these data, highlight and copy the entire data set, and paste it into a text editor. Then use the File Save of the editor to save the file to the hard drive or any other storage medium. (For security reasons, an Applet is not permitted to write directly to the hard drive.)

The Fungus Life Cycle

Development of the fungus is simulated with three life-stages. A population of spores, dispersed and landed on susceptible tissue, germinates and infects, giving rise to a population of latent lesions. The latent lesions develop into sporulating lesions, whose spores are then dispersed to complete the cycle. The spore population can be augmented by spores blowing in from outside the treated area. At each stage of development there are losses from the population, resulting from both natural mortality and the effects of the fungicide.

The above description actually represents only one subpopulation of the fungus in the model. The model has sixteen (24) such subpopulations developing in parallel, each subpopulation representing each of the possible combinations of resistance to four fungicides. In the equations that follow, variables that are calculated separately for each of the subpopulations are indicated by a subscript S. The subpopulations differ only in their mortality rates, both in the presence of toxic levels of the fungicides and also in the absence of fungicides. If there is a fitness cost associated with fungicide resistance, the mortalities of the resistant subpopulation are slightly higher. Without continued suppression of the sensitive biotype by applications of the fungicide, the sensitive subpopulation will increase slightly faster than the resistant subpopulation, resulting in a gradual reversion to a low frequency of resistance in the whole population.

By adjusting the parameters that describe the fungus life cycle, Resistan can be made to simulate any fungus that has multiple cycles of infection during a single season. These changes can be made by selecting Life Cycle... in the Fungus menu.

Infection

Infection is the process by which landed spores germinate and establish latent lesions. The rate of infection is determined as follows:

InfectS = SporesS * InfEff * Suscep * (Limit - TotLes) / Limit
where
InfectS is the rate of infection for a given subpopulation of spores

Spores is the number of deposited spores per unit land area

InfEff is the Infection Efficiency, that is, the proportion of landed spores that successfully infect per day. It is estimated by depositing a known number of spores on a susceptible surface and counting the infections that result following incubation in a favorable environment. The parameter is the number of infections per deposited spore. This parameter can be changed in the Fungus Life Cycle dialog box.

Suscep is the relative susceptibility of the crop, expressed as a proportion. A profile of relative susceptibility throughout the season can be created using the Susceptibility option in the Plant menu.

Limit is the Lesion Limit, the upper limit on the number of lesions per unit land area. Its purpose is to prevent unlimited population growth in the event of an uncontrolled epidemic. This may be an awkward unit with some fungi where disease is measured as a proportion of tissue infected or as lesions per unit of leaf area. However, by using an average lesion size and an estimate of total leaf area per unit of land area, it is possible to express this value in the appropriate units. This parameter can be changed in the Fungus Life Cycle dialog box.

TotLes is the total number of lesions per unit land area.

Latent lesions are defined as established infections which are not yet sporulating. The size of the population of latent lesions in each subpopulation at each time step is determined by the infection rate and the rate of development into sporulating lesions:

LatentS = LatentS + (InfectS - DevelopS) * dt
where
LatentS is the number of latent lesions in the given subpopulation per unit land area.

InfectS is the rate of infection defined above.

DevelopS is the rate of development of latent lesions into sporulating lesions, defined below.

dt is the time step of the simulation, 1/10 day.

Lesion Development

The rate of development of latent lesions into sporulating lesions per day is given by:

DevelopS = (1 - InhibLes) * LatentS / LatPer
where
InhibLes is the inhibition of lesion development by the fungicides (proportion), defined below under Fungicidal Effects

LatPer is the Latent Period of the fungus in days, that is, the time from initiation of infection until a sporulating lesion appears. This is an average value over a wide range of environmental conditions.

The number of sporulating lesions in each subpopulation at each time step is influenced by the rate of lesion development:
LesionS = LesionS + DevelopS * dt
where
LesionS represents the number of sporulating lesions in a given subpopulation per unit land area

Sporulation

The rate of sporulation is given by the following equation:

SporulS = LesionS * RateSp * (1 - InhibSp) * Dispersal
where
SporulS is the number of spores per day per unit land area that land on susceptible sites

RateSp is the Sporulation Rate, the number of spores produced per lesion per day, averaged over the infectious period

InhibSp is the inhibition of sporulation by fungicides (proportion)

Dispersal is the Spore Deposition rate. This is the proportion of the dispersed spores that actually land on susceptible tissue. It is a very difficult parameter to estimate empirically and may have to left as a "tuning" parameter, that is, a parameter whose value is iteratively readjusted after comparing simulated epidemics with real epidemics.

The total population of landed spores in each time step is determined by the sporulation rate, the number of spores that blow in from other areas, and the infection rate:

SporesS = SporesS + (SporulS + BlowInS - InfectS) * dt
where
SporesS represents the total population of spores landed on a susceptible site.

SporulS is the sporulation rate defined above

Blowin is the number of spores per day that blow in from outside the simulated area and can be set using Inoculum in the Fungus menu. Blowin introduces only spores that are sensitive to all the fungicides. Resistance will appear in this inoculum at the Mutation Rate set in the Fungicide Characteristics dialog box.

InfectS is the rate of infection defined above

Mortalities

The daily mortalities of spores, latent lesions, and sporulating lesions (...DeathS) are proportions that are functions of both natural mortalities and fungicidal effects:

SporeDeathS = 1 - SurvSp * FitnesSpS * FSurvS
LatentDeathS = 1 - SurvLa * FitnesLaS
LesionDeathS = 1 - SurvLe * FitnesLeS / InfPer
where
SurvSp, SurvLa, and SurvLe are the natural daily survivals (proportion/day) of the spores, latent lesions, and sporulating lesions, respectively. The Daily Survival Rates represent averages over a wide range of environmental conditions. They can be adjusted in the Fungus Life Cycle dialog box.

FitnesSpS, FitnesLaS, and FitnesLeS represent the relative fitnesses of each of the subpopulations. Fitness of Resistant Biotype can affect all three stages of fungal development; spore survival, lesion development and sporulation. All three factors are expressed as proportions ranging from 0 to 1. If the resistant and sensitive biotypes are equally fit, the factor is one. The relative fitness of the resistant biotype cannot be measured or estimated easily from laboratory or field experiments. It is most easily estimated by repeatedly readjusting the fitness factors after running Resistan until the simulated rate of reversion to the sensitive biotype approximates that observed in the field.

FSurvS represents the daily proportion of the spores in each subpopulation that survive the fungicide treatment. Note that the fungicides do not affect the mortalities of latent lesions and sporulating lesions.

InfPer is the Infectious Period, the number of days that the lesion continues to produce spores. This is an average value over a wide range of environmental conditions.

Following fungus development in each time step, the state variables are adjusted for mortality as follows:
SporesS = SporesS * (1 - SporeDeathS * dt)
LatentS = LatentS * (1 - LatentDeathS * dt)
LesionS = LesionS * (1 - LesionDeathS * dt)
Overwintering

The Overwintering factor is a simple proportionality factor to convert the final lesion count in one season to initial inoculum for the following season. It is expressed as the number of spores dispersed (not yet deposited) at the start of the following season per sporulating lesion existing at the end of the season (not necessarily per overwintering lesion).

Fungicidal effects

Resistan simulates the application of fungicide sprays, the weathering of fungicide residues from plant surfaces, and the effects of the remaining fungicide residues on spore mortality, the rate of lesion development, and the rate of sporulation. The simulated fungicides can be made to mimic specific fungicides by changing their parameters in the Fungicide Characteristics dialog box.

The application dose of the fungicide is converted to a deposit on the leaf surface:

DepositF = DoseF * DosDepFactF
where
Deposit is the amount of fungicide on the plant surfaces expressed in micrograms per square centimeter.

Dose is the number of units of measure of the fungicide applied as a spray per unit of land area.

DosDepFact is the Dose->Deposit Factor calculated by dividing the measured deposit in micrograms per square centimeter of plant surface by the rate of application. The units in which the dose is expressed (both the quantity of fungicide, and the unit of land area) may vary, as long as the same units are used consistently throughout the program. The default doses are expressed in pounds of active ingredient per acre.

The residues of the fungicides are weathered from the plant surfaces with a negative exponential function:
ResidF = ResidF - WeathRateF * ResidF
where
ResidF is the residue of fungicide F in micrograms per square centimeter

WeathRateF is the Weathering Rate of fungicide F, which expresses the rate at which the fungicide residue disappears from plant surfaces as a proportion lost per day (the exponent in a negative exponential function). It is estimated by regressing the natural log of the measured residue in micrograms per square centimeter of plant surface versus time in days following the application. This parameter is the negative slope of the regression line, and should represent an "average" from different parts of the crop canopy and following a wide range of environmental conditions.

The time step for this state equation is one day.

Simulation of spore mortality in response to fungicide dose assumes that the probit kill is a linear function of the logarithm of the dose, a function that can be described with two parameters, a slope and an ED50 intercept.

ProbitSF = 5 + SlopeF * Log10 (ResidF / (ED50)F / ResLevSF)
where
ResLevSF is the Resistance Level, which is 1.0 for the sensitive biotype and greater than one for the resistant biotype.

SlopeF is The Dose-Response Slope, the slope of the probit kill / log dose function for fungicide F on the target fungus.

The ED50 Spore Mortality is the antilog of the point on the ordinate that corresponds to probit 5 on the abscissa. Its units are micrograms per square centimeter of leaf surface, and its values depend on the target fungus.

This function is evaluated for each fungicide and each subpopulation. Probits are then transformed into the proportion of each subpopulation that survives each fungicide using a logistic approximation of the cumulative normal distribution:
SurvIfSF = 1. - 1. / (1. + 19466.6 * Exp(-1.97529 * ProbitSF))
The combined effects of all four fungicides on each subpopulation are the products of the daily survivorships of each of the fungicides:
FSurvS = SurvIfSF1 * SurvIfSF2 * SurvIfSF3 * SurvIfSF4
Fungicide inhibition of lesion development is simulated as a saturation function:
InhibLeSF = ResidF / (ED50LeF * ResLevSF + ResidF)
where
ED50LeF is the ED50, Inhibition of Lesion Development, the fungicide dose that gives 50% inhibition of lesion development (the half-saturation constant).

ResLevSF is the Resistance Level of the subpopulation to the fungicide. The resistance level of the sensitive biotype is 1.0. The Resistance Level of a resistant subpopulation is the the factor by which the ED50, INHIBITION OF LESION DEVELOPMENT, and INHIBITION OF SPORULATION of the sensitive biotype are multiplied to get the corresponding parameters for the resistant biotype. For example, if the resistant biotype required 100 times the dose to achieve the same level of control as the sensitive biotype, the resistance level would be 100. The resistance level for resistant subpopulations can be adjusted in the Fungicide Characteristics dialog box.

Fungicide inhibition of sporulation also is simulated as a saturation function:
InhibSpSF = ResidF / (ED50SpF * ResLevSF + ResidF)
where
ED50SpF is the ED50, Inhibition of Sporulation, the fungicide dose that gives 50% inhibition of sporulation (the half-saturation constant).

ResLevSF is the resistance level of the subpopulation to the fungicide. (The resistance level of the sensitive biotype is 1.0.)

The Mutation Rate is the rate at which mutation to the resistant biotype occurs. It is expressed as a percentage, and serves as a lower limit on the percent resistance in the fungal population.

Plant functions

Suscep is a host susceptibility factor between zero and one used to adjust the rate of infection. The Plant Susceptibility... command can be used to create a susceptibility profile for the entire season.

To allow comparison of spray schedules on a benefit-cost basis, Resistan has some simple crop damage functions and a cost accounting routine that tallies up the costs and revenue at the end of the season. The number of lesions in the subpopulations is summed to determine the total number of lesions per unit land area. Crop damage as a proportion of the crop lost per day is a saturation function of the total number of lesions:

Damage = MaxLoss * (TotLes / (HalfK + TotLes))
where
MaxLos is the Maximum Crop Loss per day. The relationship between number of lesions and crop damage is modeled as a saturation function, and this represents the proportion of the crop lost per day at the saturation lesion count. Estimation of the Maximum crop loss (m) is described below under Damage Constant.

HalfK is the Damage Constant, the half-saturation constant for damage as a function of lesion population. This parameter represents the lesion count at which the proportion of the crop lost per day is one-half its maximum. To estimate the Damage Constant, it is necessary to estimate the crop loss at several intensities of disease at one time during the season, measuring crop loss as a proportion and disease as number of lesions per unit land area (acre or hectare). Regress the inverse of proportional crop loss versus the inverse of lesions per unit area to fit the model:

1/y = 1/m + (k/m)(1/x)
where
y is the proportional crop loss

x is lesions per unit area

m is the Maximum Crop Loss, that is, the crop loss at the saturation level of disease

k is the Damage Constant, the lesions per unit area at half the saturation level of disease.

Obviously not all crops fit this crop loss model, and in general this kind of crop loss data is very difficult to get. Remember that these functions are only used to compare fungicide spray schedules on benefit/cost basis and do not affect the simulation of the selection of fungicide resistant fungus populations. Crude approximations at this point will .not seriously affect the utility of the program for understanding the principles of fungicide resistance management or even comparing specific spray programs.

The total crop loss accumulates logistically:

Loss = Loss + Damage * (1 - Loss)
where
Loss is the cumulative proportion of crop loss.
Economics

Total costs, total revenue, and profit are calculated at the end of each season, based on the following parameters:

Fungicide Cost is used in the benefit-cost analysis at the end of the simulation.

Application Cost is the cost of a single spray application in the desired monetary units per unit of land area (e.g., dollars per acre). This does not include the cost of the fungicide.

Fixed Costs are the total crop production costs, excluding the fungicide spray application cost and the cost of the fungicides, in the desired monetary units per unit of land area (e.g., dollars per acre).

Maximum Revenue is the expected revenue from the crop without any losses resulting from the disease (dollars per acre).



REFERENCES

Arneson, P. A., B. E. Ticknor, and K. P. Sandlan, 1988. Resistan: A Computer Simulation Model for Fungicide Resistance Management. In: Delp, C. J. (ed.) Fungicide Resistance: Research and Management Goals and Their Implementation in North America. APS Press. 133 pp.

Arneson, P. A. 1990. Management of Fungicide Resistance by Using Computer Simulation. pp 264-274 in Green, M. B., H. M. LeBaron, and W. K. Moberg. Managing Resistance to Agrochemicals. ACS Symposium Series 421, Amer. Chem. Soc., Washington, D. C.


Contact: Phil A. Arneson
Last updated: April 8, 2004
Copyright 2002 Cornell University