Kyazma Home
Kyazma Home
JoinMap 5 Release Notes

=== 7 October 2022 ===
Maintenance release of JoinMap 5
  (Build: 7oct2022.12jan2022)

- In some instances a change of the Windows Theme and/or the use of
  the lock screen could corrupt the navigation tree. One of the
  symptoms was that many nodes are shown as marked (red). Subsequent
  use of the navigation tree (i.e. change of the selected node)
  resulted in runtime errors (Access violation at ...). This is fixed.

=== 21 March 2022 ===
Maintenance release of JoinMap 5
  (Build: 21mar2022.12jan2022)

- With the preceding release the SQLite library was updated as well.
  However, this update introduced a very subtle change in the
  behaviour of SQLite regarding the automatic ROWID variable in
  subqueries. This caused the inability of JoinMap to show the tables
  of several tabsheets, with error messages like 'Failed to prepare
  statement for query: ...'. This is fixed.

- ML maps of CP type populations did not show the plausible positions
  of P1, only those of P2. This is fixed.

=== 14 March 2022 ===
Maintenance release of JoinMap 5
  (Build: 14mar2022.12jan2022)

- Calculating the linkages of data of CP type populations could result
  in an incorrect error message 'error in determine_phasecomb()', if
  dominant observations (h-, k-) are present. This bug was introduced
  in the maintenance release of 30 March 2021. It is now fixed.

=== 22 July 2021 ===
Maintenance release of JoinMap 5
  (Build: 22jul2021.22jul2021)

- With very large datasets (over 50,000 loci), the function 'Create
  Groups Using the Groupings Tree' would sometimes not finish. This
  is fixed.

- The determination of the strongest cross links did not show its
  progress. This is fixed.

Minor enhancement:
- Similar to the progress of some database actions being shown with
  sequences of '>' symbols on the progress bar, this is now also shown
  in the Windows task bar element of the program with sequences of dot

=== 30 March 2021 ===
Maintenance release of JoinMap 5
  (Build: 30mar2021.26mrt2021)

- The ML mapping algorithm applied to population type RIx with dense
  regions on the map could result in tiny negative estimates of
  recombination frequencies and map distances, to be seen in the
  Session Log as -0.000. An attempt to invert the resulting map order
  would result in the error message:
    'ReadLoci_SQLite() map position of locus X before that of Y'.
  This problem is solved.

- The chart title, axis titles and map chart title are enhanced to
  accept unicode.

- Various minor user interface elements are improved.

=== 1 October 2019 ===
Maintenance release of JoinMap 5
  (Build: 1oct2019.19aug2019)

- The software is enhanced to accept unicode characters in file and
  directory names instead of just the limited set of ASCII characters.

  This means e.g. that if you have an MS-Windows user name consisting
  of non-ASCII characters, JoinMap will now be able to access your
  MS-Windows personal folder 'Documents' (which is accessed internally
  as 'C:\Users\<username>\Documents'). As a result, JoinMap can now
  access its program settings in the 'Documents\JoinMap5' subdirectory
  and can also place projects there. Another advantage is that JoinMap
  can load data into a project from files with names consisting of
  non-ASCII characters; note, however, that the data in these files
  must still be in ASCII.

  However, it is not clear if this works correctly for languages with
  right-to-left directionality.

  The remarks on pages 4 and 17 of the User Manual about ASCII
  characters can now be ignored.

- The various notes tabsheets are also enhanced to accept unicode.

  Although it is not perfect, it works fine under most practical
  circumstances for languages with left-to-right directionality, e.g.
  typing, copying, pasting, exporting and printing. Only under extreme
  conditions the odd character can become corrupted, e.g. an extended
  character at the end of a very long line (lines are limited in
  length to 1024 basic [BMP] characters, while extended [non-BMP]
  characters take up the space of two characters and thus reduce the
  maximum line length). Another aspect is that notes tabsheets are
  based on fixed width fonts and despite of this many non-ASCII
  characters are wider than ASCII characters, which all occupy the
  same width. Due to this, the notes tabsheets may not look very

  When notes tabsheets are exported to file, the file format will be
  'UTF-8-BOM', which preserves all unicode characters. This format is
  recognized properly by most MS-Windows software, e.g. by the text
  editors Notepad++ and MS-Windows Notepad.

  [BMP: Unicode characters are grouped into so-called planes, one of
   which is the Basic Multilingual Plane. This plane contains the
   characters for nearly all modern languages and many symbols.]

- The file with release notes can be viewed using a new option of the
  Help menu.

=== 22 March 2019 ===
Maintenance release of JoinMap 5
  (Build: 22mar2019.21dec2018)

- Computing the linkages of groups of DH and HAP population types
  resulted in 'Access violation' errors. This is corrected.

- Computing the Genotype Probabilities of map nodes of population type
  CP would change the genotype data: the genotypes in linkage phases
  other than {00} would become their genetic equivalents in linkage
  phases {00}. These changed data would be visible on the data
  tabsheets. Also, any further computation (Genotype Probabilities,
  Plausible Positions, Locus Genot. Freq.) would be based on the
  modified data. The change would not be permanent, i.e. re-selecting
  the map node, would reload the correct genotype data.
    This is corrected.

- The print preview and print of colorized data tabsheets of DH, HAP
  and CP population types did not take the linkage phases into
  account. Now they do.

=== 5 January 2019 ===
Final edition of JoinMap 5
  (Build: 5jan2019.21dec2018)

This version is the final release of version 5.

The User Manual is completely rewritten so that it will present all
essential information regarding version 5.

- The function 'Exclude Marked Loci in Group Node' will now also check
  the Exclude checkboxes of the loci that are identical.

- The marking of nodes in the navigation tree and the groupings tree
  is improved and made more consistent. Pressing the F8 and the space
  key will mark a node, while the Esc key will clear all marks.

- The effect of using of the keys PageUp, PageDown, Home and End,
  possibly in combination with holding a Shift or Ctrl key, is made
  more consistent.

- A Print Setup button was added to the tool bar.

Various minor errors and glitches were corrected.

=== 8 October 2018 ===
Update and maintenance release of JoinMap 5
  (Build: 8oct2018.30apr2018)

This release is the last before the final release. The only planned
addition for the final release is the new User Manual, which will be a
full revision for this version number 5.

- What was achieved previously for all other population types, is now
  also accomplished for population type CP: the time consuming Gibbs
  sampling method (a Monte Carlo EM algorithm) for the multipoint
  recombination frequency estimation in the ML mapping procedure is
  replaced by a much faster deterministic EM algorithm. The estimates
  are obtained not only faster but also with greater accuracy.

- The labels on the buttons of the three options dialogs (environment,
  calculation and map chart options) were changed so that their
  meaning is more intuitive.

- When computing the linkages of a group of population type CP, the
  linkage phase determination may be unsuccessful. In this case, the
  groups between which the linkage phases could not be determined,
  were printed as a single list of loci without indicating the groups.
  The indicator 'group' is now printed as intended.

=== 21 August 2018 ===
Update and maintenance release of JoinMap 5
  (Build: 21aug2018.30apr2018)

Added functionality:
- The Find tool is enabled for all tables and plain text windows. The
  tool is available from the Edit menu and with the usual key
  combination Ctrl+F. Searching can be done case sensitive or case
  insensitive. Pressing the F3 key will search again for a text
  entered previously in the Find tool.

- Computing the groupings and the linkages for population type CP,
  where the data contain dominant h- or k- genotypes for <hkxhk> type
  markers, could result in the error 'error in determine_phasecomb()'.
  This bug is repaired.

- The Population menu function 'Exclude Similar Loci' always excluded
  the second locus in a pair with a similarity above or equal to the
  given value, regardless whether or not the first locus was excluded
  previously due to similarity with another locus. This could result
  e.g. in excluding locus C if locus B is similar to locus A, and
  locus C to B but not to A. The function works now as intended.

=== 12 June 2018 ===
Update and maintenance release of JoinMap 5
  (Build: 12jun2018.30apr2018)

Added functionality:
- Printing is enabled for most tables and plain text windows.
    In order to print something, first the to be printed range must
  be marked in the regular way (key combination Ctrl+A will mark the
  entire content). Next, pressing key combination Ctrl+P will open the
  Print Preview window, from which the result can be judged prior to
    The Preview window's toolbar contains buttons for zooming in or
  out, for fitting page, width or height, and for opening the dialogs
  for the page setup, the print setup and the printing.
    Moving through the preview page(s) can be done by dragging the
  mouse pointer and with the usual keys and key combinations. In
  addition, the numeric keypad plus and minus keys as well as left and
  right double-clicking with the mouse all act on the zoom state.
  Rolling the mouse wheel will scroll the current page, rolling
  combined with pressing the Ctrl key will zoom the page, while
  rolling combined with the Shift key will move through the pages.
    Clicking the Print button or using key combination Ctrl+P (from
  the Preview window) will open the print dialog.
    Pressing key combination Shift+Ctrl+P from the main program window
  will open the print dialog directly without showing the Print
  Preview window. The File menu contains the page setup, print setup,
  the print preview and the print functions.
    Whenever the required width of a print is wider than is available
  on one page, then the remaining parts will automatically be printed
  on a next page or even next pages. In this case for tables, the
  first column is always repeated on such pages to facilitate an easy
    If the number of pages you are starting to print is larger than
  100, then a warning will be issued and you are prompted whether to
  continue or cancel the printing. Also, during the actual printing
  (i.e. sending the data to the MS-Windows print spooler), the print
  job may be cancelled by pressing the Esc or Break key (similar to
  cancelling computations).
    The Data tabsheet's print will not show the 'frozen' top row(s),
  because their contents are usually not very legible anyway (they do
  not fit inside a column).
    It is not possible to print the dataset node's Dataset tabsheet,
  because this is considered not very useful. If you do wish to obtain
  a print of a Dataset tabsheet, then you can copy the content, paste
  it into MS-Excel and print it from there.

=== 2 May 2018 ===
Update and maintenance release of JoinMap 5
  (Build: 2may2018.30apr2018)

Added functionality:
- Charts can be created for the data in the tabsheets, for which it
  can be considered useful (i.e. Individual Genot. Freq., Locus Genot.
  Freq., Mean Chisquare Contribs., Genot. Probs.: Indiv. Means, Genot.
  Probs.: Locus Means, Expected Rec. Count, Fit & Stress).
    If the relevant tabsheet is selected, then click on the 'Create
  Chart' button on the tool bar or use the 'Create Chart' function of
  the Calculate menu. This will result in a chart node being created
  in the navigation tree. The corresponding Chart Control tabsheet has
  many (self explaining) options to set the chart to your preference.
  The available chart types are: bar, stacked bar, stacked area and XY
  chart. Identical loci, if present, will not be shown in the charts.
    Charts can be copied to the clipboard for pasting with other
  software and they can be exported to file in the enhanced metafile
  format (emf).

- Combining maps from several nodes could result in a runtime error
  and also mess up the marking of nodes in the navigation tree. This
  is corrected.

=== 21 February 2018 ===
Update and maintenance release of JoinMap 5
  (Build: 21feb2018.11oct2017)

Added functionality:
- Map nodes resulting directly from mapping contain various tabsheets
  with diagnostics about the loci, such as the N.N. Fit and Stress. In
  these tabsheets, rows can be marked and subsequently the Map menu
  function 'Exclude Marked Loci in Group Node' can be applied. In the
  map node's grandparental group node this will check the Exclude
  checkboxes of the loci that correspond to the marked rows.

- Marked regions in the Dataset tabsheet and in editable plain text
  tabsheets (e.g. Notes) can be deleted with key combination Ctrl+Del
  and with an option of the Edit menu.

- A new menu function 'Flip Marked Genotypes' was added for the
  dataset node. Sometimes genotypes may have been coded erroneously,
  e.g. the A was used instead of the B and vice versa; this may result
  in recombination frequency estimates larger than 0.5, showing up in
  a group node's Suspect Linkages tabsheet. This 'Flip' function will
  allow easy correction of such genotype data in the dataset node.
  The function will replace genotype codes in the marked region in
  their opposite codes. The type of replacement depends on the
  population type.
    In a BC1, the A's will be replaced by H's and v.v. if there are
  A's in the marked range, while if there are B's in the marked range
  then B's will be replaced by H's and v.v..
    For population types DH, HAP, HAP1, DH1 and DH2 the A's will be
  replaced by B's and v.v..
    For population types BCpxFy, RIx, IMxFy and F2 the same happens,
  and in addition C's will be replaced by D's and v.v..
    For population type CP the following genotype mutual replacements
  take place:  ad <=> bc,  ef <=> eg,  ll <=> nn,  lm <=> np,
  while in addition the segregation types <lmxll> and <nnxnp> will be
  replaced by each other as well as their corresponding phase and
  classification types.
    In all cases the replacement is case-insensitive and also the
  genotype code must be a correct one, incorrect codes are left
  unchanged. Therefore, it is advised to apply (and pass succesfully)
  the 'Check for Coding Errors' function in advance to the flip.

- Another function was added to the Dataset menu: 'Create Dataset from
  Data Tabsheet'. This function creates a new dataset node and fills
  it with the genotype data of a marked population, group or map node
  that has a Data tabsheet with genotype data. The data of loci and
  individuals that are checked as excluded on the Loci and Individuals
  tabsheets, if present, will not be transfered to the new dataset

- The color of marked regions in the tables is changed to red. (Marked
  regions in plain text remains the MS-Windows default, usually blue.)

- The system of marking nodes in the navigation panel is improved.

=== 8 January 2018 ===
Update and maintenance release of JoinMap 5
  (Build: 8jan2018.11oct2017)

Corrections in the ML mapping algorithm:
- The expected recombination counts, the map distances and possibly
  the map order were estimated erroneously for population type BCbxFy.
- The N.N. Stress was computed erroneously for a few population types:
  BC1 (only if coded with H's and B's), BCbxFy, DH and HAP.
  These errors were present since the first pre-release.

=== 20 December 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 20dec2017.11oct2017)

Adjusted functionality:
- The map building approach of the ML mapping algorithm was adjusted
  to become more reliable for high density maps. Spatial sampling is
  still being used for gradually building the map. After the sampling
  threshold becomes 0, then now the building proceeds with adding
  batches of loci instead of adding all remaining loci in one go.
  The loci in each batch are selected at random. The batches are of a
  fixed size, which can be adjusted in the Calculation Options. Three
  of the map optimization (simulated annealing) parameters are now
  specific to each spatial sampling level (now called S1 to S5) and to
  the building with batches after the sampling threshold of 0 is
  reached (called T0). This is meant to be able to speed up the first
  map building levels. The three parameters are: (1) the number of
  optimization rounds per sample, (2) the chain length with constant
  acceptance probability and (3) the stop criterion (stop after #
  chains without improvement).
- The history of the status bar is increased to 50 messages.
- Two parameters used in the true EM approach with the multipoint
  recombination frequency estimation are adjustable in the Calculation
  Options: the maximum number of iterations and the recombination
  frequency tolerance. These parameters determine when the EM
  iterations should stop.

- When applying the 'Invert Map' function of a map node, the Plausible
  Positions tabsheet did invert the map, but failed to show the
  position counts at their inverted positions and a recalculation
  would be required. This is now working as expected.

=== 6 November 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 6nov2017.11oct2017)

Added functionality:
- The 'Colorize' function for graphical genotypes takes the linkage
  phases (if available) into account for population types CP, DH and

The following adjustment was made:
- The new (more efficient) locus replacement strategy in the map order
  optimization method (i.e. simulated annealing) turned out to work
  not very well if the number of loci that is added after the last
  spatial sampling threshold is large. For the time being the strategy
  is returned to that of JoinMap v4.1.
  Remark: This does not apply to population type CP. Here the new
  strategy is not yet applied.

=== 27 October 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 27oct2017.11oct2017)

Added functionality:
- Export Map tabsheets from multiple marked map nodes as one joint
  map-file (e.g. for use with MapQTL).
- Export Data tabsheets from multiple marked nodes (population, group
  or map nodes) as one joint loc-file (e.g. for use with MapQTL).

The following corrections were made:
- Individual Genot. Freq. tabsheet would compute all frequencies to
  be 0 for certain individuals if some loci were excluded.
- Assigning ungrouped loci to their SCL-groups at a grouping node
  could lead to an 'access violation' error if a threshold value other
  than the default is used.
- In extreme situations the multipoint recombination frequecy
  estimation procedure could result in a floating point error
  (division by zero).
- Using the 'Move Marked Loci' of grouping nodes did not adjust the
  corresponding group nodes correctly.

=== 7 October 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 7oct2017.2jun2017)

Added functionality:
- Export Map tabsheets as map-files.

The following corrections were made:
- Selecting another node after a map node was selected could lead to
  an 'access violation' error causing the program to stop working.
- Repeatedly doing computations that are done in parallel, like
  calculating groupings, could make the program appear to freeze.

=== 25 September 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 25sep2017.2jun2017)

Added functionality:
- Map charts.
- Copying marked regions in the Further Information window.

The following corrections were made:
- In the computations of pairwise data, numerical problems could lead
  to tiny negative LOD values instead of exactly 0.
- The new, true EM algorithm for multipoint recombination frequency
  estimation could result in some runtime errors ('root not
  bracketed ...', 'division by zero', 'rec.freq. larger than 0.5'),
  preventing the computation of the map or the plausible positions.

  Because some parameter settings had to be changed, the first time
  the new release is run JoinMap will show two error messages about
  reading the program and page setup; these can be ignored.

=== 11 August 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 11aug2017.2jun2017)

Added functionality:
- Copying and cutting marked regions in plain text tabsheets
  (previously the entire text was taken).

The following corrections were made:
- Due to repeated rounding errors, the interpolation to compute the
  integrated map with population type CP could result in map positions
  of <lmxll> and <nnxnp> markers just outside their interval (less
  than 1e-14 cM). This would result in the next type of error message
  when trying to view the Data tabsheet of or do computations with a
  map node:
    'ReadLoci_SQLite() map position of locus X before that of Y'.
  This is now prevented.
- Fixed and Start order tabsheets were made tolerant for the type of
  newline characters (CR, LF, CR+LF, LF+CR) used with pasted orders.
  Previously this could lead to unrecognized locus names.
- Pasting into plain text tabsheets was made tolerant for the type of
  newline character and for lines longer than the maximum of 1024
  characters. This applies to the Notes, Start and Fixed order
- The Dataset node function 'Check for Coding Errors' did not accept
  correct phase type codes for segregation type <nnxnp>; repaired.

=== 14 July 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 14jul2017.2jun2017)

Added functionality:
- 'Move Marked Loci' menu function for grouping nodes.

The following corrections were made:
- The Individual Genotypes Frequencies were determined without taking
  the exclusion of loci into account. Now they are.
- In fields of floating point parameters (e.g. in the Calculation
  Options) the decimal point could not be entered. Now it is possible.
- The reporting about any incompleteness in linkage phase
  determination in the population node computations of groupings was
  poor. Now identicals are not reported anymore and the status whether
  loci are excluded is given.

The Help menu document with the new features of v5 is updated.

=== 3 June 2017 ===
Update and maintenance release of JoinMap 5
  (Build: 3jun2017.26apr2017)

Added functionality:
- marking regions in tables for functions on the marked loci or
- 'Exclude Marked Items' menu function for Individual Genot. Freq. and
  Locus Genot. Freq. tabsheets of population nodes;
- 'Set X2-Test Classification for Marked Loci' menu function for Locus
  Genot. Freq. tabsheet of population and map nodes;
- checking or un-checking a range of checkboxes in marked rows;
- copying and exporting marked rows of tables;
- toggling a checkbox with the Enter key.

The Help menu document with the new features of v5 is updated.

Some bugs were removed, one of which is the 'Invalid floating point
operation' obtained when computing a maximum likelihood map for
population type CP.

=== 16 May 2017 ===
Maintenance release of JoinMap 5
  (Build: 16may2017.26apr2017)

The computations of locus pairs did not deal correctly with
situations, where a locus has all observations missing. This
would lead to the error message
  'Par_Task_Interface->Status not completed'.
This is corrected.

=== 26 April 2017 ===
Early release of JoinMap 5
  (Build: 26apr2017.26apr2017)

= First public release. The final edition of JoinMap v5 is
  several months in the future. Because of the demand, a
  first stable early edition is released. Following this
  first release, subsequent updates with the remaining to be
  added functions will be released in the coming months.

JoinMap 4 & 4.1 Release notes

=== 31 July 2013 ===
Maintenance releases of JoinMap 4 and 4.1
  (Build: 31jul13.4feb11)

= A function is added to the Grouping node menu:
  'Assign Identical Loci to Their Groups'. The procedure to
  create a grouping node (see 6 and 19 March 2013) assigns
  sets of identical loci to group number 0, with the
  exception of one representing locus for each set. The new
  function will assign the identicals with group number 0 to
  the groups of their representing loci.

=== 19 March 2013 ===
Maintenance release of JoinMap 4
  (Build: 19mar13.4feb11)

= The same changes are applied to JoinMap 4 as in the recent
  maintenance release of JoinMap 4.1 of 6 March 2013.
  See below.

=== 6 March 2013 ===
Maintenance release of JoinMap 4.1
  (Build: 6mar13.4feb11)

= The grouping procedure of sets of loci into linkage
  groups used to be limited to sets of roughly 4000 loci due
  to available RAM memory. As the program is 32-bit it is
  limited by the maximum addressable amount of RAM. A new
  algorithm is implemented that is designed to store
  intermediate results on hard disk rather than in RAM. The
  program can now accommodate sets of up to ~50,000 loci,
  while keeping computation time within acceptable limits.
  On a typical present-day PC, the grouping procedure of
  50,000 loci takes about one hour. The speed of the hard
  disk is an important limiting factor. As the computations
  scale quadratically with the number of loci, groupings of
  smaller sets are still quite fast: 10,000 loci in about
  three minutes, 5000 loci in just about twenty seconds and
  1000 loci in a second.

  Beware that such oversized datasets require extreme file
  sizes: the 50,000 loci require a file of ~30 GB for the
  pairwise data. When creating the grouping node and group
  nodes, this file with pairwise data will be duplicated.
  Thus, ensure that the hard disk in use has sufficient free
  space when dealing with such datasets.

  In large datasets there will often be some redundancy (in
  fact, in most cases there should be). As an new feature
  the grouping procedure determines which loci are
  identical. Being identical is based on the entire set of
  genotype observations of all included (not excluded)
  individuals, including the missing observations. Sets of
  identical loci will be represented by one of them (the
  first not excluded locus). Identical loci will be
  specified at the bottom part of the 'Groupings (text)'
  tabsheet, while a numerical summary is given with the blue
  'Further information' tool bar button. One advantage is
  that the pairwise data will only be calculated for the
  loci that represent their identicals, thus reducing the

  When determining a grouping node and group nodes, only the
  representing loci of sets of identical loci will be
  grouped, while in the grouping node tabsheet the identical
  loci will automatically obtain group number 0 (i.e. will
  not be part of a group), with 'identical' as Node name.

  The determination of the SCL-Values takes the identicals
  into account and will list 'identical' as SCL-Value to
  link them to their representing locus. The
  representing loci will obtain a regular SCL-Value.

  The procedure 'Assign Ungrouped Loci to SCL-Groups' will
  leave the identicals assigned to group 0.

  The procedure for determining a grouping based on a map or
  another grouping node will take the identicals into
  account and assign them to group 0.

  The grouping procedure may also be done based on the
  recombination frequency or the linkage LOD. For
  population types CP, DH and HAP, this means that the
  linkage phases must be determined to obtain these values.
  In the original procedure the pairs were sorted to their
  independence LOD value prior to the linkage phase
  determination. To be able to deal with very large datasets
  this sorting is not done anymore. The independence LOD
  threshold for pairs subject to phase determination, which
  used to be internally set at a LOD value 1.0, is now a
  Calculation Options parameter at the Population tabsheet:
  'Determine linkage phases ...'. When in doubt about the
  linkage phase determination you can increase this
  parameter value.

= The navigation panel could disappear after resizing it to
  the smallest size (by dragging the splitter between the
  navigation and the contents-and-results panel).
  Disappearing is now prevented.

=== 11 June 2012 ===
Maintenance release of JoinMap 4
  (Build: 11jun12.4feb11)

= In text tabsheets, like the 'Map (text)' tabsheet,
  sometimes a non-printable character got inserted at a
  random position (visible as a square character). It
  prevented copying the area around it. It is corrected.

=== 14 March 2012 ===
Maintenance releases of JoinMap 4 and 4.1
  (Build: 14mar12.4feb11)

= For population types DH, HAP and CP, the Linkage LODs for
  the Groupings (text and tree) tabsheet as well as the
  corresponding SCL-values of derived Grouping nodes were
  calculated erroneously. This is corrected.

= The calculation option 'Determine linkage phases (CP, DH,
  HAP) with a LOD larger than' was reset to the value 1.0
  each time the groupings of a population node were
  (re)calculated. This is corrected.

=== 4 August 2011 ===
Maintenance release of JoinMap 4.1
  (Build: 4aug11.4feb11)

= The Population menu functions 'Exclude Identicals' and
  'Exclude Similar Loci' could lead to runtime errors with
  larger datasets. The functions have been recoded and are
  now also much faster.

= Renaming the project file without renaming the project
  directory would lead to a rewritten, empty project file.
  This is corrected.

=== 3 August 2011 ===
Maintenance release of JoinMap 4
  (Build: 3aug11.4feb11)

= The Population menu functions 'Exclude Identicals' and
  'Exclude Similar Loci' could lead to runtime errors with
  larger datasets. The functions have been recoded and are
  now also much faster.

= The following minor errors were corrected:

  The heading in the Genotype Probabilities tabsheet had
  'R.Genotype' instead of 'Genotype' for the central

  Long group and map node names were made shorter than the
  allowed 20 characters when closing the project.

  Map charts would inexplicably draw some 'homologs' lines
  between loci that did not have identical names.

  The simulated annealing sometimes appeared to continue
  too long.

  For map nodes the 'Info on Tabsheet Contents' button and
  function in the File menu should be active for several
  tabsheets while they were not.

  Any fixed order used in the determination of plausible
  orders was not reported in the
  'Info on Tabsheet Contents'.

  The name of the HTTP Host of the proxy settings in the
  environment options was not saved.

  Sometimes the decimal separator (the point) was reset to
  the preference in the MS-Windows Regional Options. This
  would lead to error messages like
  '0.000 is not a valid floating point value'.

  Renaming the project file without renaming the project
  directory would lead to a rewritten, empty project file.

=== 20 July 2011 ===
Final version of JoinMap 4.1
  (Build: 20jul11.4feb11)

= The only, but very important, enhancement of version 4.1
  of JoinMap is the ability to use the multipoint maximum
  likelihood mapping algorithm on populations of type CP,
  i.e. the outbreeding species full-sib family. The new
  method is described in a paper that was accepted for

  Van Ooijen, J.W. (2011). Multipoint maximum likelihood
    mapping in a full-sib family of an outbreeding species.
    Genetics Research, accepted June 2011.

=== 7 February 2011 ===
Maintenance release of JoinMap 4
  (Build: 7feb11.4feb11)

= The Colorize function to show graphical genotypes now
  takes the linkage phases into account for DH and HAP
  population types. For instance, genotype a of a marker
  with phase {1} is shown in the same color as genotype b
  of a marker with phase {0}.

= A function was added to work on the Similarity of Loci
  tabsheet: Population menu > Exclude Similar Loci.
  It works like the Exclude Identicals function, but instead
  of using a similarity value of 1.0 this function prompts
  for a similarity value to use. If two loci have a
  similarity above the given value, the second locus will be
  excluded on the Loci tabsheet, unless the first locus is
  already excluded (to prevent excluding locus C if locus B
  is similar to locus A, and locus C to B but not to A).
  This function allows spatial sampling of the loci.

= The grouping process was given a somewhat higher speed.

=== 6 October 2010 ===
Maintenance release of JoinMap 4
  (Build: 6oct10.9feb10)

= In recent maintenance releases JoinMap was set to use
  Windows Desktop Themes. Several users experienced runtime
  errors due to this. The use of themes by JoinMap is

= Clicking on the 'no data' header of an empty Data tabsheet
  resulted in an 'OLE error' message. This is repaired.

=== 20 April 2010 ===
Maintenance release of JoinMap 4
  (Build: 20apr10.9feb10)

= When creating maternal and paternal population nodes of a
  CP type dataset node, now loci with a <hkxhk> segregation
  type are also exported, unless the classification type is
  (hh,k-) or (h-,kk). The genotypes hk, h- and k- are all
  exported as unknowns --; genotypes hh and kk are exported
  as ll and lm, respectively, for the first (=maternal)
  parent, and as nn and np, respectively, for the second
  (=paternal) parent.

=== 19 Februay 2010 ===
Maintenance release of JoinMap 4
  (Build: 19feb10.9feb10)

= Creating a population node of a CP type dataset node
  resulted in an error. A similar bug resulted with the
  exporting as loc-file from Data tabsheets in minor
  errors in the loc-file. The bugs were repaired.

=== 16 Februay 2010 ===
Maintenance release of JoinMap 4
  (Build: 16feb10.9feb10)

= To make working with large marker datasets of a population
  a bit faster, new options are introduced:
  -A checkbox option on the tool bar controls whether or not
  the various Data tabsheets are loaded; it can also be set
  in the Options menu.
  -Large datasets create huge tables of pairwise linkages
  and if they are not going to be inspected things are
  faster if the tables are left out altogether. Therefore,
  in the Group tabsheet of the calculation options two new
  checkboxes control whether or not weak and strong linkages
  tables are created when the linkages are calculated.

= The Colorize function to show graphical genotypes now
  takes the linkage phases into account (if available) for
  all segregation types except <hkxhk>. For instance,
  genotype lm of a marker with phase {1-} is shown in the
  same color as genotype ll of a marker with phase {0-}. The
  default colors are modified for a better correspondence
  between the segregation types.

= An option is added that controls whether the current
  selection or the entire tabsheet contents must be printed,
  copied, or exported; it is a check box on the tool bar and
  is also available in the Options menu.

= The Highlight Errors function now also allows
  classification types (a,h) and (h,b) for population types
  BCpxFy. And when the y-generation is zero (i.e. it is a
  normal BC1), only genotypes a and h (BCAxFy), or h and b
  (BCBxFy) are allowed.

= With an added option in the Help menu you can now check
  via the internet whether a newer release is available.
  If your internet connection requires the use of a proxy,
  you can supply the proxy name and port in the environment

= Several internal actions that may take a while now change
  the cursor temporarily into the hourglass cursor.

= Map-files or pwd-files in which the comma is used as
  decimal separator (instead of the point) will be loaded

= Maps with multiple linkage groups are now inverted
  group by group with the Invert Map function of the
  Map menu.

= The time stamp now also shows the seconds.

=== 11 August 2008 ===
Maintenance release of JoinMap 4
  (Build: 11aug08.7apr08)

= In the ML mapping algorithm the fixed order was not always
  maintained; this is corrected.

= The tabsheet with the Locus Means of the Genotype
  Probabilities is sorted on the map position of the loci.
  This will result in a proper chart when plotted against
  the map position.

= The tabsheet with the Individual Means of the Genotype
  Probabilities is given in the original order of the

=== 23 July 2008 ===
Maintenance release of JoinMap 4
  (Build: 23jul08.7apr08)

= If the grouping cannot be calculated for a population
  type CP, better information will now be shown.

= The situation with three (or more) loci at the same map
  position could lead to a floating point error in the ML
  map calculations. This is corrected.

= The cooling control parameter of the ML Mapping algorithm
  had a lower limit of 0.001 which is now reduced to
  0.00001; the upper limit is now set to 1.0.

= The tabsheet with the Locus Means of the Genotype
  Probabilities now also shows the map position of the loci.

= When no project is open, pressing the OK button on the
  Environment and the Calculation Options dialogs will save
  the options as default options that will apply to all
  future projects (similar to the 'Save as default' button).

= The About box was renewed.

=== 8 April 2008 ===
Maintenance release of JoinMap 4
  (Build: 8apr08.7apr08)

= For a BCpxFy the genotype probabilities given the map
  given two heterozygous or dominant flanking markers were
  not completely right. This is corrected.

= The map chart options dialog can be opened when no map
  chart is visible; changing the options will have the same
  effect as 'Save as Default Map Chart Options'. Any future
  map chart will be drawn according to these options.

= Also, when no map chart is visible the 'Reset to Preset
  Map Chart Options' can be activated, which will affect
  all future map charts.

= The loading of MAPMAKER raw data is slightly improved.

= Various minor (internal) improvements were made.

=== 4 May 2007 ===
Maintenance release of JoinMap 4
  (Build: 4may07.4oct06)

= JoinMap 4 was enabled to run under Windows Vista.
  For installation of the user license under Windows Vista,
  please see the 'Installation ReadMe' file on the CDROM or
  in the program directory after running the program
  installation 'setup.exe'
  (typically: 'C:\Program Files\JoinMap4').

=== 18 April 2007 ===
Maintenance release of JoinMap 4
  (Build: 18apr07.4oct06)

= When exporting the Data tabsheet of a Map node of a CP
  type population as a loc-file, the map position of
  markers was given at the wrong place in the file.
  This is corrected.

= The exporting of a Dataset tabsheet of a Dataset node as
  a loc-file did not function properly. This is corrected.

=== 5 March 2007 ===
Maintenance release of JoinMap 4
  (Build: 5mar07.4oct06)

= When calculating the linkages for groups of population
  type CP, it is possible that the linkage phases cannot
  be determined and thus also no recombination frequencies
  can be calculated. In such instances the program could
  generate an unclear runtime error message: 'unknown error
  in sclastype()'.
  This problem is corrected and the information given in
  the 'Info on Tabsheet Contents' has become more complete
  about the linkage phases determination status.

=== 4 October 2006 ===
Maintenance release of JoinMap 4
  (Build: 2oct06.4oct06)

= For extremely large values of the chisquare distribution
  the P-value in the Grouping tabsheet could not be
  calculated and resulted in the freezing of the program.
  The P-value is calculated irrespective of the Grouping
  parameter chosen.

  A new algorithm to calculate the P-value is now used.

= For very large linkage groups the computations of the
  linkages may appear to take extremely long. Actually,
  it is not the computations that take a long time but
  the loading of the resulting data into the Linkages
  tabsheets. For such large linkage groups there may
  be very, very many pairs to display on the Weak and
  Strong linkages tabsheets, depending on the chosen
  corresponding thresholds.

  To allow for more precision here, the recombination
  frequency thresholds on the Group tabsheet of the
  Calculation Options now have up to four decimals.

  Unfortunately the loading of the data into the
  tabsheets cannot be shown on the progress bar, but the
  progress of the program is now shown with some simple
  comments on the status bar:
    'loading table "Weak Linkages"'
    'loading table "Strong Linkages"'
    'loading table "Suspect Linkages"'
  together with the numbers of rows that must be loaded,
  allowing the user to see and estimate the progress.
  These comments are usually only visible with very large

=== 25 July 2006 ===
Final edition of JoinMap 4
  (Build: 25jul06.16jun06)