June 28, 2001
Washington University Cochlear Fluids Simulator:
Version 1.6h
Alec N. Salt, Ph.D.
Department of Otolaryngology
Washington University School of Medicine
St. Louis, MO, 63110, USA.
E-mail: salta@ent.wustl.edu
Phone (314) 362-7560
This program was developed and is made available by grant funding (DC 01368) from the National Institute on Deafness and Other Communication Disorders, National Institutes of Health.
Overview
This simulation model is designed to allow researchers to quantify the distribution patterns of drugs or other solutes which are applied to the mammalian inner ear by a variety of methods. It is not intended as a "game" or even as a "teaching tool", but rather is aimed at the researcher or clinician who is looking for a quantitative prediction of drug level or a quantitative interpretation of their data.
Copyright of this program is retained by the author. It may be freely distributed but must not be modified in any way without written permission from the author.
Recommended System Requirements
Processor : Pentium - the faster the better as the
program is processor-intensive
Display : Super VGA (800 x 600) or higher, At least
16 bit color
Operating System: Microsoft Windows 95, Windows 2000,
etc
Updates
The latest version of the program is available at: http://oto.wustl.edu/cochlea/model.htm
Downloading and Installation
Very Important - If you have a prior version of
fluidsim on your machine, it must first be uninstalled before the current
version is installed. Do this through Windows Control Panel / Add/Remove
programs.
2) Download the program (fluid16h.zip) using your Web-Browser and save the file in a temporary directory.
3) Unzip the file (requires an unzip program such as Winzip or Stuffit) and put the files in the same temporary directory. There are 3 files, one of which is Setup.exe
4) Run the Setup.exe program (by double-clicking on it). If you have an older version of Windows, the install may prompt you to perform a re-start as some of the Windows files are updated. Otherwise the install will occur without a re-start. Once setup has run successfully, the files in the temporary directory can be deleted.
5) Start the program from the "start bar" by START > PROGRAMS> Fluidsim> Fluidsim. Or right click on the program and drag it to the desktop (then select "create a shortcut here"). This can also be done by finding "Fluidsim16h.exe" in the directory you specified for installation(Default = C:\Program Files\Fluidsim\), and dragging it to the desktop to make a shortcut.
Quick Start Guide
If you are unfamiliar with this program it is strongly recommended that you follow this quick orientation, so that you understand basically how the program works. Otherwise you will likely get confused before you get it to run.
1) When the program runs you should start with a screen showing the three cochlear scalae of the guinea pig (similar to the illustration you saw on the web page).
2) At the bottom of the page are 7 tabs, representing 7 pages. You are on page 1, which says "Cochlea" on the tab. Start by clicking on each of the tabs and look at each of the pages. You can get back to the front page at any time by clicking the "Cochlea" tab
Briefly, the 7 pages are:
Cochlea :- View of scalae. This is also the page where calculations are initiated. Note the "Calculate", "Pause" and "Stop" buttons (do not click on them yet-nothing will happen).
Distance :- Shows Concentration versus distance plots for the three cochlear scalae (should be empty plots at the moment) Note the "+" and "-" buttons at the left side. These allow data to be scaled appropriately when it appears.
Time :- Concentration versus time plots for locations specified on the "Measurements" page. This plot will also be blank at the moment.
Setup :- Page for setting timing and diffusion parameters.
Injections :- Injection parameters and locations. Here you notice there are 4 check-boxes. To avoid confusion, parameters of active processes are only shown when they are selected. Try clicking on the "Round Window" ON box. When it is selected ON, a number of parameters appear (with default values). For now, toggle the box again to uncheck the box and turn the process off.
Measurements :- Sites at which concentration will be measured as a function of time at a specified location, simulation of the withdrawal of a cochlear fluid sample, or monitoring of concentrations averaged across entire scalae.
Communications :- Inter-scala and Inter-fluid communication parameters- this is a complicated page and is explained in more detail later. For now, just be aware that this page exists!!
3) Now start by running an example
Click the "Cochlea" tab to get back to the front page
From the TOP menu bar, choose "Examples" then select the first in the list which is "Round window entry - Gentamycin". This sets all the parameters up to simulate the entry of a solute the size of gentamycin through the round window and distributing through the perilymph.
Note the changes the <Cochlea> display. The round window (red "curved" circle at the basal end of scala tympani) and two recording locations (scala tympani, 2 mm from the base and scala vestibuli, 2 mm from the base) are indicated. Note that the checkbox labeled "scala media" (at the left side) is now unchecked and the previously-drawn scala media is now absent. Since calculations for each scala are processor-intensive, the program runs faster if "inactive" scalae are disabled.
Go to the "Setup" page. Note that the solute is set to gentamycin and we will be calculating what happens over the initial 30 mins (Total time box).
Go to the "Injections page" - Round window entry is enabled
Go to the "Measurements" page - The two "recording" electrode locations are set
Go to the "Communications" page. Clearance from ST
and SV to blood is set with a half time of 120 mins (guesstimates!). Also
note that communication between ST and SV across the spiral ligament is set
(Salt et al., Hearing Res 56,37-43, 1991). Also, diffusion across the helicotrema
is enabled and diffusion from the base of SV into the vestibule.
Now go back to the "Cochlea" page and hit the <Calculate> button at the bottom of the page. This starts the calculation running (which can be Paused or stopped if required). After a brief delay, the time value, shown at the upper right, should start counting. By the time the displayed counter reaches 2 minutes you should see blue appearing in the basal part of scala tympani, representing the rate of solute entry and movement along the scala. Note how quickly (or slowly) the timer increments. Calculation time will depend on how many scalae and how many processes are active. When the timer reaches 30 mins. as defined on the <Setup> page, the calculations will stop.
IF nothing happened when you hit <Calculate>, make sure you are running version 1.6 of the model. Then please contact me. I need to know if anyone is having difficulty getting the program working.
Either during, or after calculations try moving between the <Cochlea>, <Distance> and <Time> tabs and familiarize yourself with the displays.
On the <Distance> display, the full-scale concentration for each plot is shown at the left and can be changed using the <+> and <-> keys. It is important to note that the selected scaling affects the data seen on all three display pages.
When the calculations are finished (when the timer reaches 30 mins) go to the "distance" page. On the ST and SV plots, adjust the scales. Note that plots "clip" when data values exceed the maximum value .
An important observation from this calculation is that gentamycin has reached scala vestibuli in significant amounts without reaching the helicotrema. Solutes take a long time to diffuse throughout the length of the cochlea!!!!
Since the illustrations on the "cochlea" and "time" pages depend on the scales selected on the "distance" page, it is important to set appropriate scaling to avoid misleading plots. This is only relevant to the displays shown here. Data saved to the clipboard are as absolute (unscaled) concentration values.
Go to the "Time" page and click on each colored trace in turn. The computer should click or beep as the curves are "saved" to a buffer (se the decrement of the "buffers available" count). As an experiment, go to the communications page and delete the values from the "scala vestibuli-blood" and "scala tympani-blood" boxes. This sets no clearance from the scala to the blood (you wondered how much that affected the result?). Then go to the "cochlea" page and hit calculate again. When the calculation is running, go to the "Time" page and observe how much difference the clearance makes (For short times, as used here, the effects are small, but for longer time periods clearance becomes very significant). The example you just ran shows how the model can be used to test "what if" situations. With the use of these calculations, you will rapidly gain a "feel" for what parameters are significant in a given experiment.
Before we finish this section, note that all calculation parameters can be changed "on the fly" i.e. while calculations are ongoing. If a change of parameters is required at a specific time, the "Pause time" (time at which the program goes into pause mode) can be specified on the "Setup" page. In this manner, it is possible to turn processes on and off (such as perfusion or iontophoresis) as desired. Try setting a pause to occur at 10 mins, then deselect the round-window entry on the "Injections" page, and resume the calculation (on the "Cochlea" page).
Exiting the Simulator
Before exiting the simulator, make sure that calculations are stopped (Calculate button should be bright and not "grayed out"). In this state the model can be exited either from the "Exit" command at top left or the "x" button at top right. If the model is running calculations, the "Exit" command works OK, but the "x" button (through an idiosyncrasy of Visual Basic) appears to re-start the model with many messed up parameters. To be safe, make sure calculations are STOPPED before exiting with the "x" button.
Detailed Operations
1) <Cochlea> Page
The display shows the scala areas file, as selected from the list at the bottom left of the page. At present there are 9 defined setups.
i) The bat cochlea as quantified by Thorne et al., (Laryngoscope 109, 1661-1668, 1999)
ii) The chinchilla cochlea (as yet unpublished data from our group)
iii) The gerbil cochlea as quantified by Thorne et al., (Laryngoscope 109, 1661-1668, 1999)
iv) The guinea pig cochlea as quantified by Fernandez, 1952
v) The guinea pig cochlea as quantified by Salt et al. 1995
vi) The human cochlea as quantified by Thorne et al., (Laryngoscope 109, 1661-1668, 1999)
vii) The mouse cochlea as quantified by Thorne et al., (Laryngoscope 109, 1661-1668, 1999)
viii) The rat cochlea as quantified by Thorne et al., (Laryngoscope 109, 1661-1668, 1999)
ix) Uniform Diameter Tubes (useful for the validation of algorithms)
In addition one user-defined setup is possible. This should be in the form of a file named user.doc which should be placed in the directory in which the program is installed. This file should contain 3 columns of numbers, representing the scala areas of scala tympani, scala media and scala vestibuli respectively. Area values should be given as mm2. Please note that the display shows scalae as their equivalent circular tube diameter (in mm) so that a scala defined in the file with area (A) of 0.1 mm2 will be displayed a tube diameter of 2 * sqrt( A / Pi), which is 0.36 mm. Each row in the file should represent the area values for a 0.1 mm segment of the cochlea. Up to 400 rows are permitted so that cochlear lengths up to 40 mm are possible. If scala lengths are different, "pad" the end of the shorter columns with zeros so that the same number of rows are present throughout the file. Zeros at the end of each column are ignored.
The check boxes at the left side of the page allow each of the 3 scalae to be turned ON or OFF. When checked, calculations involving that scala will be performed. In order to increase calculation speed it is sometimes worthwhile disabling "inactive" scalae. When disabled, the scala will disappear from the <Cochlea> and <Distance> displays. A scala must be set as active in order for injections or recordings to occur into that scala.
The location of injection and recording sites are indicated by a colored triangles at the appropriate locations. Outlets (for perilymph leaks or for perfusion) are indicated by rectangles
The Calculate button starts the simulation based on the set parameters. Calculation can be Paused or Stopped with the appropriate buttons. Stopping the calculations differs from pause, in that calculations start from zero time with cleared arrays when they are re-started. Pausing the model can be used to change a number of parameters at a specific point in the calculation (such as turning an injection procedure off)
2) The <Distance> Page
This display shows the concentration versus distance plot for each scala that is set active. Scalae set as inactive on the <Cochlea> page are blanked on this page. Injection, recording and outlet sites are also indicated. If selected as active, the round window is indicated as a red line at the basal end of the scala tympani plot.
Amplitude scaling of the data is accomplished by the <+> and <-> buttons for each scala. The <+> increases the full scale concentration and <-> decreases it.
3) The <Time> page
This display shows the concentration time courses at the selected locations. Location 1 is shown red and location 2 is shown green. Traces showing the averaged concentrations for entire fluid spaces are shown in different colors as indicated by the text color on the <Measurements> page The amplitude scaling of the traces depends on the scales selected on the <Distance> page
The buttons at the right side of the page are disabled
while calculating. When calculations are finished you have the following
options
i) To save the current traces to the clipboard (time
and data columns for each measured trace). In this manner, data can be collected
and transferred to another application such as a spreadsheet or other graphics
package.
ii) Clicking on a colored trace will save the trace
in a buffer for comparison with subsequent calculations. Adding the trace
to a buffer is indicated by an audible "buzz" and by a decrease in the displayed
number of buffers available. Buffered traces are shown as thin black lines.
Their scaling remains unchanged if the amplitude scaling of subsequent traces
is changed.
iii) The "Buffer Traces to the Clipboard" button is
self-explanatory. All traces presently stored in buffers (shown as thin black
lines) are transferred to the clipboard. For each buffer, time and concentration
values are put on the clipboard, since time scale may vary from one run to
another.
iv) Clear Buffers - Clears all used buffers. At present,
individual traces cannot be erased.
The <Setup> Page
i) Time parameters
The "Total Time to Calculate" box allows the user to
pick the total time that the model will simulate. A value can be picked from
the list or keyed in directly.
The "Output Interval" sets the time interval at which the displays and time course data are updated. This should be an integer number, in seconds. However, the total number of time points (60/Output interval* total time) cannot exceed 1000 points (the storage array size).
The "Pause Time" is an optional time value in mins, at which time the model will switch to Pause mode. This allows the duration of procedures (such as injections) to be timed precisely. When the model pauses, the injection can be turned off and then calculation resumed..
ii) Algorithm
The choice of algorithm is only available when Uniform-diameter
tubes are selected on the <Cochlea> page. As well as the "iterative"
algorithm used for most of the calculations (more detail to be given later)
an analytic solution for diffusion is available which is applicable ONLY
to bolus injection into a uniform-diameter, infinitely long tube, with no
clearances or flow. This allows the iterative method to be validated by comparing
the results of the two algorithms. Setting the analytic algorithm disables
all scalae except scala media, disables all injections except bolus injection,
and ignores all inter-scala communications
iii) Diffusion Coefficient
The diffusion coefficient can be entered in one of
3 ways
a) It can be entered directly (upper
box)
b) The solute can be selected from
a list for which diffusion coefficients are known
c) The formula weight of the solute
can be entered. Push the button to see the diffusion coefficient based on
the solute size.
The <Injections> Page
Four procedures for delivering solutes to the cochlea
are available. In addition, the entry of solute from the vascular system
is available on the <Communications> page. For each procedure the check-box
is used to toggle on and off. When each process is enabled, the different
parameters required are displayed. If an injection location is selected which
is not an active scala (i.e. the scala is disabled on the <Cochlea>
page), then the selected injection process is automatically disabled
i) Bolus injection
Specify the concentration in mM, the volume (nl) and
the location of injection. The volume is only used to calculate the total
amount of solute added to the scala. Volume disturbance of the scala by bolus
injection is ignored. For larger boli, where volume disturbance must be considered,
use the Perfusion/Flow option instead.
ii) Iontophoresis
Specify the current and location of the iontophoresis.
In addition, the transport number for the injected ion can be given. The transport
number is the proportion of the current which is carried by the injected
ion. For example, for a KCl-filled electrode, passage of current involved
movements of K, Cl, OH and H. Typically, a transport number of approximately
0.3 is found for K, indicating that approximately one third of the current
is carried by K movement. In addition, in our experience we have found that
a marker-containing electrode does not achieve a constant rate of injection
immediately when current is applied. Especially in the case where a backing
current has been used to prevent diffusion of marker out the of tip, it appears
that the tip region of the electrode is depleted of the marker. As a result
the actual injection rate shows a rise-time before the full injection rate
is achieved. This is modeled as an exponentially increasing rate with a half
time which can be specified. Leave this box blank if an "instantaneous" rise
time is assumed.
iii) Perfusion / Flow
This procedure can represent perfusion of solute, or
a physiological wash-out by flow, if concentration is set to zero. The entry
and exit locations are specified, the rate of movement and the concentration
of solution entering the cochlea. Flow rate limitations in earlier versions
of the model have now been corrected, so that the algorithm is valid for all
reasonable flow rates.
iv) Round window delivery
In this case, the middle ear concentration, round window
area and permeability values are specified. In addition, the possibility that
a fluid-filled middle ear may act as a "sink" for solute efflux from the
cochlea can be modeled by setting the middle ear concentration to zero. In
addition, if a finite volume is applied to the middle ear (specified as "Volume
applied to middle ear"), then middle ear concentration will be decremented
as solute moves into the cochlea. Clearance of solute from the middle ear
can also be incorporated.
The <Communications> Page
This page allows inter scala and inter-fluid communications to be set. Most boxes in the upper panels should contain the communication half-time of the exchange process in mins. If the box is blank, then no communication is assumed. All communications between scalae are on a solute movement basis i.e no solute is added or removed from the system by the transfer. Since movement of solute between two compartments of different sizes will result in different half-times in the two compartments, the specified half time only applies to one of the scalae, which is indicated in each case by an asterisk (*). Differences in half time between the two scalae can also occur due to length differences between the scalae. (Note that since the mid-point of the endolymphatic space follows are wider spiral than either of the perilymphatic spaces, the endolymphatic space is considerably longer (Salt et al., 1995).
For the case of radial movement between ST and SV across the spiral ligament, the transfer is more accurately modeled by an "area-normalized" process as described in Salt et al, (1991). The checkbox labeled "ST - SV independent of Area" sets the ST-SV communication to be normalized to an area of 0.1 mm2.
Exchange with the blood is bidirectional, according to the prevailing concentration gradient. Blood concentration can be specified.
Perilymph leaks
A perilymph leak can be simulated from any location
in scala tympani or vestibuli. In this condition a flow fluid is assumed from
near the base of scala tympani (representing CSF influx through the cochlear
aqueduct which enters ST at approximately 1 mm from the base in guinea pigs)
to the point of outlet. In the guinea pig cochlea leak rates from outlet
sites can be as high as 0.5 - 1 ul/min, which can have a dramatic effect
on solute levels in perilymph. In acute preparations, prevention of perilymph
leaks is a major technical challenge. Leaks should be assumed to occur unless
you can be sure your technique has stopped them. Simply putting glue around
a pipette will NOT stop the leak!
Other processes can be toggled.
ST-SV communication via the helicotrema. This allows exchange between ST and SV at the apex. The calculation is based on the scala areas at the most apical points of the two scalae. A cross-sectional area can be specified for the helicotrema.
SV communication with the Vestibule. When disabled, the model assumes the basal end of SV is a "blind ending". Enabling this process sets up additional segments corresponding to the space in the vestibule. The length and cross-sectional area of this space can be specified. The rate of solute clearance from the vestibule is assumed to be the same as that specified for scala vestibuli (scala vestibuli-blood).
Diffusion compartment parallel to ST. In some simulations we found that the volume of scala tympani alone underestimated the total fluid volume available for drugs to exchange with. We assume that other fluid spaces, such as those of the spiral ligament, organ of Corti and in the modiolus, make the actual volume larger. This is most significant for apical turns in which ST cross-section is small relative to these spaces. To incorporate such spaces into the model, a compartment parallel to ST can be specified, of specific cross-sectional area. Tis compartment does not flow longitudinally (if flow is set) but has clearance to blood at the same rate as that defined for ST.
Factors affecting the choice of variables
One of the initial restrictions of this model is a lack of knowledge of the important variables affecting a given experiment. On the other hand, the model helps understand the variables which it is necessary to quantify and document the likely spatial and temporal distribution of a drug. First the cochlear dimensions must be known. Then the main entry and exit points which affect solute dispersion. For many situations the upper and lower limits of a process can be reasonably estimated and results obtained which will "bracket" the expected condition.
With regard to longitudinal fluid flows, we have consistently found that in the normal, sealed state, longitudinal endolymph and perilymph movements are extremely small and can for most purposes be neglected. If required, flow can be added from the <Injections> page.
Algorithms
The "iterative" algorithms used in the model were presented in Salt et al. 1991. The analytic algorithm is found in Hobbie, 1978, as is the relationship between diffusion coefficient and formula weight. A description of these algorithms will be added here at a later date.
References
Fernandez, C.: Dimensions of the cochlea (Guinea Pig). J. Acoust. Soc. Am. 24:519-523, 1952
Hobbie, R.K. : Intermediate Physics for Medicine and Biology. Wiley Press, 87-109, 1978.
Salt, A.N., Ohyama, K., and Thalmann, R.: Radial communication between the perilymphatic scalae of the cochlea.II Estimation by bolus injection of tracer into the sealed cochlea. Hearing Research. 56, 37-43, 1991.
Salt, A.N., Henson, M.M., Gewalt, S.L., Keating, A.W., DeMott, J.E.and Henson, O.W.: Detection and quantification of endolymphatic hydrops in the guinea pig cochlea by magnetic resonance microscopy. Hearing Research 88, 79-86, 1995