June 28, 2001
Washington University Cochlear Fluids Simulator:
Version 1.5
Alec N. Salt, Ph.D.
Department of Otolaryngology
Washington University School of Medicine
St. Louis, MO, 63110, USA.
E-mail: salta@msnotes.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 analysis of their findings.
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
Display : Super VGA (800 x 600) or higher, At
least 16 bit color
Operating System: Windows 95 (32 bit)
Some of the calculations are processor intensive. The faster the machine, the faster the simulator will run. Calculations can be performed in background by minimizing the program to the task bar.
Updates
The latest version of the program is available at: http://oto.wustl.edu/cochlea/model.htm
Downloading and Installation
1) First Uninstall any prior versions of the
simulator through (Settings) (Control panel) (Add/Remove programs)
2) Download the program (fluid15.zip) using your Web-Browser. Save the file in a temporary directory.
3) Unzip the file (requires an unzip program)
4) Run the Setup.exe program (by double-clicking on it). Windows may require a re-boot to update some system files. Once setup has run, the files in the temporary directory can be deleted.
5) Start the program from the "start bar" by START > PROGRAMS> Fluidsim> Fluidsim 1.5. Or right click on the program and drag it to the desktop (select "create a shortcut here"). This can also be done by finding "Fluidsim15.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 up to 2 specified locations. 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 the concentration 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.
On a Pentium-200 it takes approximately 2 seconds to calculate each 0.5
min increment (15x faster than real time- but still not fast enough!).
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.5 of the model. Then please contact
me. I need to know if this is not working for people.
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 .
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, 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