Most programs updated June 2004. See the revised DCMANUALS.PDF for a list of the major changes.

HJCFIT August 2003. The latest version of HJCFIT, and of the same program compiled for faster execution, HJCFITF, is now on the download page, together with appropriately revised DCMANUALS.doc.

Bug fixed 21 August (root finding failed in simplest case of only one root)

The main differences are as follows
(1) The input at the start of the program has been simplified slightly

(2) Improved automatic location of cycles in complicated mechanism. You now have to say what the maximum number of states in a cycle is (usually 4). This version has identified correctly the cycles in a mechanism with 42 cycles.

(3) The setting of microscopic reversibility constraints becomes complicated in 3D mechanisms, and has been improved in this version. It will now work for a cubic mechanism, for example (further improvements may come later).

(4) A major improvement has been made in the automatic location of the asymptotic HJC time constants, by use of a new method devised by Frank Ball (Nottingham), on the basis of a theorem of Jalali and Hawkes (1992). A brief description will be found in the revised manual, and a Mathcad document that explains it in detail is available on request( This new method is particularly advantageous in cases where rate constants are similar to one another (as always happens for mechanisms that involve independent subunits, for example).

(5) The default name of the files that contain definitions of mechanisms and values of rate constants has been changed from QMECHS.DAT to QMECHS.MEC. The name of the file does not matter, but use of the '.mec' extension should should make this sort of file easier to identify if its name is changed.

February 2002. Some instructions for use of the programs under Windows 2000 have been added (click here)

April 23rd 2001. Major improvements in the theory programs. For details, download the updated DCMANUALS.DOC and click on the theory programs link in the contents list at the beginning

Improvements have been made in scbst, scalcs, scjump, sccor and scsim. In cases where a mechanism contains more than one cycle, these programs now allow you to specify separately for each cycle whether or not it is to be constrained to obey microscopic reversibility There are 5 main changes.

(1) Up to 100 states allowed in the model (rather than 10, before), and up to 10 ligands (rather than 2 as before).

(2) Mechanisms with independent subunits.

New section added (same for all programs), to allow entry of models that involve independent subunits.

(3) Complex mechanisms.

There is also a change that allows definition of mechanisms that cannot be drawn on the ‘chessboard’, though this has not been tested fully yet.

(4) Ancillary files

The old versions required three ancillary files, qmodel.dat, qdat.dat and qgen.ini (and, if states had been renumbered, this was recorded in renum.dat). In the new version, the three files are replaced by a single ancillary file, qmechs.dat. If present, this will be used, and if not present then your current qmodel.dat, qdat.dat and qgen.ini will be converted automatically to qmechs.dat. What has been done will be recorded in scbst.prt, and it would be wise to print this out in case bugs emerge in the conversion process.

(5) State names

In the same way that names can be defined for rate constants in the old versions, it is now possible to define sensible names (e.g. A2R) for states. These are stored along with the mechanism in the new qmechs.dat file. Older mechanisms that were already defined before use of the new versions will not have state names, but they can be defined in a blue window, and the amended model written back to the disc in the same record


July 3rd 2000. Improvement of burst display and measurement of Popen
The graphical display of bursts has been improved, with the immediate aim of improving the assessment of the fraction of time that the channel is open within a burst (e.g. bursts that are defined as clusters of openings that all come from one channel at high agonist concentrations). This is done under Burst distributions (option 14).
The first time you use the display you will be asked for the name of the continuous data file (consam, or axon data file; the name is remembered in the ekdist.ini file for the next run). The window below the display gives information about the burst on display (interval numbers in the burst, number of open periods per burst, total open time, shit time and total length, and Popen values (with and without the last open period included). When a valid value for the distribution is found it is displayed (as “dist = “) at the end of the first line (the value can be rejected by key 1 whenever the menu below has 1.REJECT showing.

Distribution of Popen for bursts (option 14)
When this option is used to find the Popen within a group of openings, it is common to omit the last opening in each burst (so there are equal numbers of open and shut times). It is also common to omit short bursts, e.g. those with less than 50 ms length, or with fewer than 10 openings (open periods) in the burst. Options for doing all these are presented. Bursts that are shorter than the specified length are still displayed but are labelled (at end of the first text line) as rejected (too short), and in this case the 1.reject button does not show just hit 9.ACCEPT/NEXT. After display of the distribution of Popen values, it can be fitted.The only option at present is to fit with Gaussian(s), which is not the theoretically-expected form, but may fit well enough to be useful.
Files changed

May 2000. Programs and manuals that have been altered
The three revisions listed below have resulted in changes in the following programs,
The following manuals have also been revised: scanhelp.doc, ekhelp.doc, cjump.doc
Please download all of these now

May 2000. Relationship between various programs
The relationship between input and output of various programs (and the default file names mentioned below) is illustrated by a new diagram on the web site, and also in the revised manuals (scanhelp.doc, ekhelp.doc and cjump.doc)
May 2000. New default suffices to replace .dat
Several files were previously name *.dat, by default, and this could give rise to confusion as to which program had generated the file. The files previously known generically as consam.dat, cjump.dat and scan.dat have now been given distinct suffices (by default): consam.ssd (steady state data), cjump.cjd (c-jump data –or V-jumps or V-ramps), and scan.scn (for output from SCAN). This is fully explained and exemplified in the revised SCAN manual, SCANHELP.DOC (see also the new diagram). Only the suggested names have changed, not the files themselves
May 2000. Update of file formats
The new file format for the output from SCAN (scan.dat, now scan.scn) was introduced in January 1999. However some programs were not updated for the new file format. In particular, the program for generating simulated scan.scn files wrote these files in the old format. Also the program for fitting jumps and ramps (CJFIT.EXE) also needs to read scan.scn files for the options to average aligned bursts from steady state records that have been analysed in SCAN, or to remove latencies from jumps records that have been analysed in SCAN. I have tried to get ALL programs to use only the new formats, but I have not yet tested all the many options. Any remaining problems will be attended to as quickly as possible if you let me know when you find them.

March 2000. EKDIST: setting of the resolution.
I have been changing the details of the resolution setting again. Initially this was just to rectify an error that under most circumstances is very rare, but I decided to re-write and simplify the code, and in the process I noticed that the resolution is set in a way that makes sense, but is not exactly as described by Hawkes-Jalali-Colquhoun missed-events theory. Now that HJCFIT is being used for nicotinics (and soon for others I hope) this is not good.
(1) The error. When two successive irresolvable open times occur, and are concatenated with the shut times on either side of them, the concatenated shut time, which should have zero amplitude, could actually be set to an amplitude that is a weighted average of the shut and open times, so it appears as though there is a (usually long) opening of very small amplitude, rather than a shut time. This had escaped detection because it is normally very rare for a record to contain two successive irresolvable open times. It can happen if the filter is set wrongly for the step response function, and recently an inexperienced SCANner got some. However what revealed the error was when it was decided to impose an unrealistically poor resolution on a record (in order to compare records at two temperatures with the same resolution). In this case the error became quite obvious, and it has now been fixed. This is unlikely to have caused any problems because it is so rare.
(2) The definition of resolution. This makes many (but small) differences to the final list of resolved intervals. Up to now, if two resolved openings of different amplitude are separated by an interval that is below the resolution, the irresolvable interval has been eliminated and half its duration added to the resolved interval that precedes it, and half to the resolved interval that follows it. This is a perfectly reasonable thing to do, but it is not exactly the HJC definition. According to HJC an observed open interval starts with a resolved open time, and includes any subsequent unresolved intervals (of any amplitude), until it ends when a resolved interval of different amplitude (shut, or a different open amplitude) is reached. This definition implies, in the example above, in which two resolved openings of different amplitude are separated by an irresolvable interval, the whole of the duration of the irresolvable interval is added to the first open time. This definition has now been implemented and it means that the lengths of quite a lot of intervals in the final record are slightly different from before (by half the length of unresolved intervals). I have fitted several steady state distributions by both methods and have found (thank heavens) that the appearance of, and fit to, the distributions is not perceptibly affected by defining resolution in the new way.
The version of EKDIST.EXE now on the web site allows (for the time being) an option to use the original method or the new one, so you can, if you wish, check both. Remember that you can check on the programmer by putting the CAPLOCK key on while setting the resolution so you can see both input and output, and check that the new version is doing what it should.
The manual EKHELP.DOC) has been altered accordingly

March 2000. Theory programs.
The theory programs on the web site calculate many of the C & Hawkes equations, to make predictions for any specified kinetic mechanism (up to 10 states at present). They have been altered so that the specified kinetic mechanism can be defined from scratch (or by modifying an existing mechanism) from within the program itself. The program used for defining a mechanism (QGEN) is therefore no longer needed. When the programs are run, you were previously asked if yuu wanted to

"Read model and rates from disc?"

This is now replaced by a choice of four options

(1) Read mechanism and rate constants from .ini
(2) Choose a mechanism from those already defined
(3) Define a completely new mechanism
(4) Define a new mechanism by modifying an existing one Option number [1] =

Options 3 and 4 are new. Note that the following ancillary files still need to be in the directory from which the programs are run qgen.ini, qmodel.dat, qdat.dat, renum.dat., as well as the .ini file for each program The programs affected are
SCALCS.exe: macroscopic currents -jumps and noise (C&H, 1977)
SCBST.ese (single channel burst properties (C&H 1982)
SCCOR.exe (single channel correlations C&H 1986)
SCSIMexe: single channel simulation (makes simulated data file)
SCJUMP.exe, for properties of single channels after a jump

January 2000. SCAN.
IMPORTANT key position changes. 'SET GAP UNUSABLE' has been moved to key 7 on the main menu, for quicker accessibility. The toggle for 'EXPAND AFTER FIT'/'ROLL AFTER FIT' that was previously on this key has been moved to key 5 under '.: MORE OPTIONS'.
The manual (SCANHELP.DOC) has been altered accordingly

January 2000. EKDIST.
NEW 'log' display for geometric distributions -details are in the revised manual (EKHELP.DOC)
Also Y2K problem fixed in date of run (affects every program, so if you don't like run being in Jan 1900, download all .exe again)

October 1999. EKDIST.
(1) The display (in the original data file) of transitions between amplitude levels has been corrected.
(2) Another option has been added to EKDIST.EXE and to its (still incomplete) manual (EKHELP.DOC). It is found under the main option menu (3) Amplitude distributions.
(8) Patlak mean-low variance histogram
This option implements a variation of the method of Patlak (Patlak, J. B. (1988). Sodium channel subconductance levels measured with a new variance-mean analysis. Journal of General Physiology 92, 413-430). The method selects ‘flat’ portions of the raw data file, and plots a histogram of their amplitudes. The mean and standard deviation of a segment of n data points is calculated (default n = 10). If the standard deviation is less than a specified value (default = standard deviation of baseline noise as estimated in SCAN) then the segment is deemed to be ‘flat’, and its mean is included in the histogram. The first point of the segment is then incremented (by one point as default), and the process repeated. Thus if there are N data points, N - n means and standard deviations are calculated (usually many millions). The original Patlak method relied on use of sections of the record with no baseline drift. However this option uses the baseline that was fitted in SCAN to subtract from the mean (the baseline estimate nearest to the current segment is used). This compensates for baseline drift (but means that the method cannot be used until after the data have been analysed in SCAN). No other information (apart from the rms baseline noise) is used from SCAN (in particular, no information about fitted amplitudes is used). The means that are accepted for the histogram are kept internally as frequencies in a histogram with bin width 0.01 pA, but any multiple of this can be used to display the histogram (default 0.05 pA). The original 0.01 pA bins are used for fitting Gaussian, regardless of what bin width is used for the display.
Note that a ‘flat section’ must correspond to an event that is at least the duration of n points + four filter rise times. This for a record filtered at 2 kHz and sampled at 20 kHz, the default of n = 10 points means that a ‘flat’ section must be at least 0.7 ms long to qualify for inclusion. The method is poor for conductance levels that are brief, and the relative areas of components are essentially uninterpretable.

July 1999. RANTEST has been altered to test discontinous, as well as continuous, data (see Programs page)

June 1999. The utility program FILTSAM.EXE, which can be used to filter, and omit points from, a continuous data sample file, has now been altered so
(1) It can take an AXON file (see SCAN manual) as input, filter it etc, and output in the (new) CONSAM.DAT format
(2) CONSAM files are also output in the new format (which includes details like membrane potential and temperature), if the input is old format

May 1999. Windows metafile output of graphics has improved (600 dpi) resolution (in CVFIT and AUTPLOT now, and all others as new versions are put on the website)

Feb 1999. Improvements in Single channel and 3D plots.
The ability to plot long single channel records with many lines per page has been much improved. They can now be plotted with new stand-alone program (PLOTSAMP.EXE), or whenever you are in the graph routine (VPLOT).
3D plots are improved, and can now be queued like other plots for plotting later (automatically or manually) in AUTPLOT.
See latest README.TXT for details, and revised help notes in SCANHELP.DOC and VPLOTHLP.DOC.

WMF output of graphs.
The latest versions have an option to write a graph as a windows metafile (.wmf), and this now works (though some colours may not be exactly the same as they were on the screen -we hope to fix this). The computer graphics metafile (.cgm) format works as before, but note that Office97 does not install the .cgm filter by default -install it from the CD ROM if you want to put these files into Word, Powerpoint etc.

Latest changes in SCAN

New data format for SCAN.
The revised SCANHELP.DOC describes the new data format, and SCAN.EXE now writes files in the new format (please report any problems). To try the new format, download CONSAM (if you use the CED1401 interface), SCAN, EKDIST, and the utility program SCANFIX.EXE (+ SCANFIX.INI).
SCAN0.EXE still writes in the old format (but has been modified so take it if you want to use theold format).

26-Oct-98. Changes made in SCAN and SCANHELP.DOC to make it easier to deal with small or difficult openings

Note for existing users.

The two changes listed below have entailed some changes in the menus.

The exp after fit/roll after fit option is now key 7 on the main menu, and the * key is now used for fast fit/normal fit.

On the accept/reject menu, key 8 is now expand fit (and set amp dubious is now available only under more options, from the main menu).


All-point amplitude histogram only mode

It is now possible to run SCAN to get an all-point amplitude histogram, without doing any fitting. This is not usually a sensible thing to do, but may be useful for screening records to get approximate amplitudes, when there is real doubt as to whether they are worth fitting properly.

.At present you start this mode by replying Y to the last question before going into graphics mode. First set the baseline, as below. Then identify the sections of record that are to go into the histogram. The fitting options do not appear on the menus now, and key 4 (on both normal and expand mode menus) is now toggles between ‘start good bit’ and ‘end good bit’. Before starting a good bit (i.e. a section of data to go into the histogram), make sure the baseline is correct (this is set by eye using ‘adjust baseline’. When key 4 is hit, the box on the screen changes from ‘Not recording’ to ‘Recording’. All points from the leftmost point on the screen will be used. You now roll forwards/backwards, and use ‘expand’ if you want, until you come to the end of the section of data that you want to go into the histogram. When key 4 is hit again, all points up to the rightmost on the screen will be included. (If you adjust the baseline again while ‘recording’, the baseline will be taken as the mean if the initial and final values, but obviously it is not good to use sections in which there is any baseline change.) Thus, if you hit key 4 twice, without rolling on in between, you record one screenful of data (normally 640 points).

After recording all the data you want (or at any time before then, when ‘not recording’ is displayed), show the point amplitude histogram in the normal way (‘more options, then + key). You aren’t asked what sort here, because only the all-point histogram is possible in this mode. After leaving the histogram display (key 9), you are asked whether you want to fit it (much as in EKDIST). Usually it will not be possible to fit the entire histogram with multiple Gaussians, because the fit is disturbed by the smear of points between the peaks. Unless peaks are close together, it will probably be necessary to set the fit range to fit them one at a time.

NB after running SCAN in all-point only mode, you cannot write the data to a scandat.dat file, so any fitting must be done within SCAN, and the only permanent record is the printout and the graphs (which can be queued or output as files in the normal way). Also, it is not possible to use ‘restart’, after running in all-point only mode.


The fast fit mode

This mode speeds up fitting by reducing the number of key presses that have to be done. It is suitable only for records in which FIT (AUTO) works most of the time. It is recommended that you get used to using the normal fitting mode before trying the fast fit mode.

In fast fit mode, after a fit has been accepted, the data immediately rolls across the screen until a transition crosses the red threshold line, and as soon as this happens, the whole screen is auto-fitted without any further key presses being needed. If the fit is accepted the process is repeated, so while all is going well, all you need do is keep hitting accept (twice) to accept each fit. While in fast fit mode a small red square appears below the box containing the calibrations (lower right).

If you reject a fit, then the small red square turns yellow, and the message ‘reverting temporarily to normal mode’ appears in the dialogue box. This allows you to cope with the rejected fit as though in normal mode –for example expand it and/or fit manually, or if you rejected because of a double opening, then ‘set gap unusable’ and roll on to the next good opening and fit it. While the yellow square is showing, as soon as you accept a fit the program reverts to fast fit mode. To switch off fast fit mode for good, just hit the * key again, and the red/yellow square disappears.

If the fitting ends in the open level (as shown in the open/shut message box) then the program also reverts temporarily to normal mode, until a fitting ends in the shut state. The reason for this is that it is possible to miss short shuttings if this is not done (there is no red trigger line to catch everything while you are at the open level, so if the initial guess misses a short shutting it disappears off screen and you don't realise it it was there)

In this mode, the short events may appear quite squashed up on the screen so the ‘expand fit’ button has been added to allow you to inspect more closely the quality of the fit (see next).

8: EXPAND FIT. This option allows the fitted region to be expanded and shifted, to allow closer inspection of the quality of the fit. It was introduced at the same time as the fast fit mode, because in this mode the short events may be very compressed on the screen, and difficult to see, but it can be used in normal mode too. When this key is hit, the trace is expanded, initially by 2-fold (or whatever was set in the parameter menu). It is also shifted to bring the shortest event fitted near the centre of the screen, on the presumption that this is what you want to inspect. You can expand/contract/shift to see the bits you want. Then hit FINISH EXPAND to return to the accept/reject menu. (in earlier versions this key was ‘SET AMP DUBIOUS’, which is now available only under ‘MORE OPTIONS’ from the main menu).


Latest changes in EKDIST

8-July-98 Now does also
(1) distribution of the length of the last open period in a burst
(2) distribution of the length of the last open period after a jump
(3) plot (against n) of the mean length of the nth open period in a jump
(4) plot (against n) of the mean length of the nth shut time in a jump