# Technical details concerning this release

The Simfit package runs in Windows, Linux, and Mac, and uses some 220 procedures for numerical calculations, which are implemented in two distinct ways.

1. The academic version of Simfit
   This relies on two dynamic link libraries called w_maths.dll and w_numbers.dll (x64_maths.dll and x64_numbers.dll in the 64-bit version) to perform the necessary calculations. These DLLs either use code written by Bill Bardsley, or else public domain routines, to implement the techniques recommended by the Numerical Analysis Group (NAG). The academic version is completely free and suitable for student use.
2. The NAG library versions of Simfit
   These employ alternative versions of w_maths.dll and w_numbers.dll that are linked directly to the actual NAG library DLLs, so that the NAG routines can be used for numerical analysis. These professional versions are also free, but they can only be used by those having a valid set of NAG DLLs.
   The NAG library versions have increased functionality over the academic version, and have more facilities in the areas of optimisation, differential equation solving, curve fitting, and statistics.
3. Swapping between versions
   There is only one Simfit installation program called simfit_setup8_a_b.exe (or x64_simfit_setup8_a_b.exe for the 64-bit version) but a program called change_simfit_version.exe (or x64_change_simfit_version.exe for the 64-bit version) is distributed with the Simfit package and, when Simfit is not running, it can be used to swap between the Academic and NAG versions of Simfit.
4. The Linux version of Simfit
   The only difference between the Linux and Simfit versions is in the first line of the file l_simfit.cfg. The default installation is for Windows, so first-time Linux users must make sure that this file is deleted from their Home and Simfit folders before running Simfit for the first time, so that Simfit can create a Linux configuration. Linux users must read the file linux.txt distributed with the Simfit package, and should not attempt to install the GhostScript or GSview packages, as such utilities are always built into Linux installations.

..... Important information for first time users
Simfit provides many advisory messages like this one to help first-time users.
Experienced users can switch them on or off using [Configure], [Advanced], [Speedup].

1. Overview
   The Simfit package contains some forty programs, covering many aspects of simulation, fitting, statistics, and plotting.

   Simfit will accept rectangular tables, with or without row and column labels, in any of the following formats.

   a) Data pasted from the the clipboard.
   b) Spreadsheet exports as tab, comma, semicolon, or space-delimited text files.
   c) Spreadsheet exports as .xml, .html, .htm, .mht, or .mhtml files.
   d) Data files in Simfit format.

   If the data table is to have labels, then there must be both row labels (cases) and column titles (variables) with a dummy label in position(1,1). Also the labels must not contain spaces, so use Time_of_day for example, instead of just Time of day.

   When programs are selected, appropriate test data sets are installed to appreciate the format required and to demonstrate the procedures involved in order to help you get started.

   Macros are provided in the Simfit\doc folder to transfer Simfit results files into Word, or to transform or replace missing values in Excel worksheets before saving data files in Simfit format.

2. Configuration
   Users can alter the configuration in many ways, e.g. to switch off start-up messages, alter font size, change plotting area, limit the number of table rows, etc. The default configuration supplies advice about test files and file formats, and provides options to view selected files, or to type in values directly rather than use data files or the clipboard. Experienced users will use the Advanced Configuration options to switch off such items in order to speed up analysis.
3. Computer notation
   From Version 8 the default notation for numbers is the standard one but users can choose the number of significant figures or choose six significant figures in scientific, i.e., exponential notation indicating powers of ten scaling factors. Simfit was written for scientists, so it assumes you understand powers of ten, and prefer a fixed number of significant figures in the output of results. That is why it can use the standard, unambigous, scientific notation, when recording results, where xE+ab means x multiplied by ten to the power ab, and yE-cd means y multiplied by ten to the power -cd.
   For instance, 1.234E+02 means 123.4, and 1.234E-02 means 0.01234.

   Although scientific notation employs full stops for decimal points, commas can be sometimes used in Simfit. For instance with the Simfit editors 1,5 instead of 1.5 for one and a half, with one exception: tables in text format with spaces or commas for separators would be ambigous, but if tabs or semicolons are used as column delimiters, commas could be used as decimal points.
   Commas or decimal points to indicate thousands can cause ambiguities. For example 1,000,000 or 1.000.000 for a million should be avoided in text files, but would be acceptable in files exported from spreadsheet programs like MS Excel.

4. Getting started
   There is a mechanism to supply appropriate test data every time a procedure is selected. So, to get started, you should choose the program required and run it with the demonstration example files provided. There are three ways to import test data to demonstrate Simfit procedures.
   - Use the pre-selected example or one you have prepared using Simfit editors.
   - Use the [Demo] button on the File Open control to use a Simfit test file.
   - use the [NAG] button on the File Open control in the numerical analysis section.

   To find an appropriate test file from the file [Open] control, press [Help] to read about the test file options, then press [Demo] then [View] and select a suitable test file.
   Only when you have seen how Simfit works with correctly formatted data in the test files should you try to analyse your own data. Clearly, if Simfit works with a test file but fails with your data, then your data file is not formatted correctly.
   Note that, if the Simfit menus or graphs are too small to read, or they are so large that they overflow, you can press [Configure], adjust the the font or graphics display sizes, then press [Apply].

5. Using Simfit with MS_Office, OpenOffice, and LibreOffice
   A document called ms_office.pdf, which is distributed with the Simfit package, gives details of how to transfer data from Microsoft Office and OpenOffice into Simfit, how to use Simfit results tables in the Office suites, and how to import Simfit graphics files into Office documents. Users of MS Excel will find it convenient to load one of the Simfit Excel macros (e.g. simfit4.xls, or simfit6.xls) to create Simfit files directly from Excel. To do this, the macro must be loaded before you select data columns from your database to write out to file. Users of OpenOffice and similar can use the clipboard, or create ASCII text files to import into program Maksim. Program Maksim accepts clipboard tables, and .csv, .xml, .html, or .htm files in the following formats:
   - Tables copied to the clipboard from any spreadsheet program, e.g., Excel or Calc.
   - Tables prepared in any text editor, e.g. Notepad, using spaces, commas, semicolons, or tabs as delimiters.
   - Tables written out from Excel or Calc as either,
     - Space delimited ASCII,
     - Comma delimited ASCII,
     - Semicolon delimited ASCII,
     - Tab delimited ASCII,
     - XML or HTML files, or
     - Unicode, after first reading into a text editor, e.g., Notepad then saving as ASCII text.
   - Files already in Simfit format.
6. Using the clipboard
   To analyse clipboard data, just copy the table of values to the clipboard from your spreadsheet program, e.g., Excel. Then, from the Simfit menu, select the program required and click on the file selection [Paste] button when a data file is requested. If the data are correctly formatted, Simfit will create a temporary file containing the clipboard data, which you can save eventually if required.
   For instance, select column 1 = x and column 2 = y from your spreadsheet, copy to the clipboard, then plot the clipboard data using program Simplot.
7. Help
   Sources of information are the individual tutorials provided with each program, the help program, the w_readme files (the index is w_readme.0), the test files, or the reference manual w_manual.pdf with hyperlinks. A summary of the package with collages to illustrate graphical procedures is also provided. The reference manual contains worked examples as well as the theory for all the numerical analysis and statistical techniques used by Simfit, making it a useful textbook about data analysis. The file w_examples.pdf contains a collection of all the Simfit tutorials and worked examples.
   If Simfit is set up correctly you can view all of these directly from the program controller, w_simfit.exe (or x64_simfit.exe).
8. The Minimise/Exit strategy
   You can stop and quit from any executing Simfit program using Program Manager or by clicking the upper right hand closure cross but, if you do this, results for the current analysis done by that program will be lost, unless you are writing to a log file. The Simfit driver program can be minimised, maximised, or closed in the usual way from the system menu at top left or right, but the minimisation and system menu icons are mostly disabled while the individual sub-programs are executing. However, the upper right hand closure cross is always available to exit from any program or the Simfit driver.
9. Auxiliaries
   Configure Simfit to use your own text-editor/word-processor for editing and you can install GSview/Ghostscript to view .ps and .eps files, transform .eps to bit maps and graphics files, and view or print the manual w_manual.pdf or collected worked examples w_examples.pdf. However, from Simfit Version 8 The Ghostscript DLLs are distributed with the package so that it is no longer nevessary to install Ghostscript and Gsview.
10. Elementary and advanced modes
    Many procedures in Simfit are available at two levels. So, if you are not satisfied with a statistical analysis, curve fit or graph at the elementary levels, you must turn to the more advanced levels, which offer greater power but demand more sophistication from users.
    For instance, after doing enzyme kinetics with substrate (program MMFIT) and inhibitor (program RFFIT) separately, you could fit
    v = f(S,I)
    as a surface (i.e. a function of two variables using program QNFIT).
    Warning: fitting surfaces, differential equations or your own models requires patience and expertise.
11. Hardcopy
    You can copy to the clipboard, drive printers, or save files directly from graphical displays but, for publication quality graphs with overlays, Greek, maths symbols, accents, rotated fonts, variable line thickness, etc., create ASCII coordinate files, assemble into library files or add to your project archive, read them into program SIMPLOT and create Encapsulated PostScript files (.eps). Alternatively, data can be transferred interactively into program SIMPLOT from any Simfit graph, by choosing the [Advanced] option. The recommended way use Simfit graphics is to always create compact industry standard PostScript files, and have nothing to do with bulky low resolution bitmaps (.bmp), compressed bitmaps (.pcx, .tif, .jpg) or enhanced meta files (.emf). After creating a .eps file you have the option to create .png or .pdf files directly and you can also create .svg files which like .eps files are compact device independent vector image files that can be be enlarged indefinitely with no loss of resolution.
    Simfit PostScript files can be edited in Notepad, printed, re-sized, collected into collages, transformed into other formats or viewed (using program EDITPS), or included in documents. If you do not have a PostScript printer, you can print or transform the PostScript files from Simfit using the GSview/Ghostscript options. Otherwise just transform the PostScript files into portable network graphics files (.png), or create scalable vector files (.svg) which can now be handled by the Web and all Windows programs.

# Simfit files

1. Executables
   Executables are called w_*.exe (or x64_*.exe in the 64-bit version) and they will only run if the dll files are available.
2. Dynamic link libraries
   Dynamic link libraries are w_*.dll (and salflibc.dll, i.e. the Silverfrost-Salford Software runtime dll) and the *.exe and *.dll files must be self-consistent. The 64-bit dynamic link libraries are x64_*.dll and they require salflibc64.dll and clearwin64.dll.
3. Test files
   Test files (*.tf?) and library files (*.tfl) are data sets to use for practise.
4. Readme files
   w_readme files (indexed in w_readme.0) contain technical details.
5. PostScript
   PostScript files such as simfig?.ps are example figures, while w_manual.ps is the manual which can be printed/viewed using GSview/Ghostscript, and w_manual.pdf can be printed/viewed using Adobe Acrobat. Simfit PostScript files have a unique structured format so that they can be edited to change sizes, symbols, colours, etc. using any test editor, like Notepad. This is described in the reference manual.
6. Configuration files
   Configuration files control Simfit procedures and can be read using a text editor such as Notepad.
   They can be found in your ...\ProgramData\Simfit\user\cfg folder.
   l_simfit.cfg (used to configure Simfit to run in Linux)
   w_labels.cfg (fill-styles/colours/labels for bar and pie charts
   w_filter.cfg (file filter information for file selection)
   w_input.cfg, w_output.cfg (latest files read in and created)
   w_ps.cfg (used to configure the PostScript output)
   w_simfit.cfg (used by w_simfit.exe or x64_simfit.exe to configure Simfit)
   w_params.cfg (fixed and user-defined parameters)
   w_symbol.cfg (default symbols for plotting)
   w_module.cfg (default user names and modules)
7. Parameter limits files
   Parameter limits files set parameter limits and starting estimates for curve fitting using programs qnfit and deqsol. They have the file extension .plf and are best assembled into library files, as in qnfit.tfl.
8. Results files
   Special files to record results and other messages.
   They can be read using a text editor such as Notepad.
   They can be found in your ...\ProgramData\Simfit\user\res folder.
   iterate.txt (message file for lbfgsb/dvode)
   nagifail.txt (message file for NAG library)
9. Temporary files
   Temporary (*.tmp) files should be deleted but note that w_in.tmp and w_out.tmp contain files from input.cfg and output.cfg during the current session.
10. Upgrades
    The latest information and help can be obtained from
    https://simfit.uk
    w.g.bardsley@gmail.com

# Warning message about the way Simfit is configured

1. You may be trying to run the Simfit package from a folder other than the Simfit binaries folder, e.g., C:\Program Files\Simfit\bin
   There has been a significant change since Version 5.3 and this is not how the program controller w_simfit.exe (or x64_simfit.exe) should be used now. If this is so, you can re-configure Simfit, or re-install from the setup program, simfit_setup.exe (or x64_simfit_setup.exe).
2. You can configure Simfit by running w_simfit.exe (or x64_simfit.exe) from the Simfit folder, which will then write details to the file w_simfit.cfg.
3. All the Simfit program files should be in the Simfit folder, as well as the program manager (w_simfit.exe or x64_simfit.exe) and the Salford-Software library (salflibc.dll or salflibc64.dll and clearwin64.dll).
   There should be a dek-top shortcut to w_simfit.exe (or x64_simfit.exe) in the Simfit folder.
4. There is a set of test files, library files, and PostScript files for each version of Simfit, but these are regularly upgraded to reflect developments in the package.
   If these files are all kept in the Simfit demonstration folder, e.g., C:\Program Files\Simfit\dem, they can be viewed at any stage from the Simfit driver program.