Tuesday, 30 June 2026

Biodiverse 5.99_002 development release

 A new development release of Biodiverse (version 5.99_002) is now available.  

This is the second development release leading to version 6.  

Versions for Windows and Mac are available and can be accessed via https://github.com/shawnlaffan/biodiverse/wiki/Downloads

Installation instructions are at https://github.com/shawnlaffan/biodiverse/wiki/Installation

This version includes a few minor stability updates, bug fixes and performance improvements when compared with 5.99_001.  Basedatas with groups defined using a single text axis are also plotted as a grid, greatly improving visualisations in the GUI.

The list of changes is summarised at https://github.com/shawnlaffan/biodiverse/wiki/ReleaseNotes#version-5xx

For the full list of issues and changes leading to the 6.0 release, see https://github.com/shawnlaffan/biodiverse/milestone/23


A set of links to the new documentation system is at https://biogeospatial.github.io/ 

----

Shawn Laffan

30-Jun-2026 


For more details about Biodiverse, see http://shawnlaffan.github.io/biodiverse/  

For a list of some of the analyses Biodiverse has been used for, see https://biogeospatial.github.io/biodiverse-publication-list/ 

You can also join the Biodiverse-users mailing list at https://groups.google.com/group/Biodiverse-users or start a discussion at https://github.com/shawnlaffan/biodiverse/discussions 


Range polygons

Biodiverse version 6 contains new spatial conditions and visualisation options to work with polygons of label and tree node ranges.  

Three polygon types are supported, convex hulls, concave hulls and circumcircles.  Convex hulls and circumcircles are best avoided when modelling geographic ranges given they are sensitive to outliers, do not model arcuate shapes such as ranges that follow coastlines, and in the circumcircle case are gross generalisations.  They are also not constrained by other factors, so a terrestrial taxon range can easily span oceans. However, they do represent useful models of regions that can be used in randomisations to define things such as the set of locations with which to swap labels, or to define dispersal extents in spatially constrained randomisations.  

When used as a spatial condition, the range polygons can be applied either for a single label at a time, for the labels subtending a tree node, or for all labels in a groups' assemblage.  In each of the latter two aggregate cases, the system uses the union of the component polygons rather than the polygons spanning the component groups.  This produces multipart polygons that allow for gaps in the distributions, for example an internal node in a tree might have some tips on one side of a continent, and others on the opposite side.  Or even across continents.  

The spatial conditions also support arguments for the concave hulls to allow holes and to define the degree of concavity (a value of 1 matches the convex hull, 0 is maximum concavity).  

Pictures are better than text, so here are some examples of the visualisations.  The first few screen shots below are for the Labels tab but they also apply to Spatial Outputs. 

Assemblage range polygons can be added via the Map menu. 


Tree range polygons are added through the Tree menu.  


Check the boxes to select which ones you want.  You can also set the map or tree highlights to be the same, and set the values to match the other highlighting.  This save a few mouse clicks and windows.  

Now when you hover on a cell, the selected polygons are shown.  In this case it is the circumcircle and convex hull for each label in a group in the south west of Western Australia.



And for contrast, here are the circumcircle and convex hull unions for the same assemblage.  (It also shows why one should be cautious about using concave hulls to model taxon ranges).  

The same process applies to tree nodes (branches) when they are hovered over.  


The polygons for an ancestral branch of the previous plot.  



And the convex hulls.  The shapes can get pretty weird, which is why one would normally use a concavity parameter greater than zero.  


This plot shows both that the visualisations work in the spatial outputs tab, and also why one generally wants to use the union of the polygons when many labels are being plotted.  

The plots above are all static but the system is dynamic.  The set of polygons changes as you hover over a different branch or cell.  If you want to hold a plot constant then right click on the branch or cell and Biodiverse will stop updating things.  Remember to right click in the same pane again to bring back the dynamic updates.  

An important point is the the spatial conditions use the cell centroids to define the polygons, where the visualisations use the cell polygons.  This can lead to slightly different results in some cases.  We can add an option to use polygons in the spatial conditions if there is a need.  

As noted at the start, this functionality will be in Version 6.  if you want to try it now then it is also part of the 5.99_001 development release.  


----

Shawn Laffan

30-Jun-2026 


For more details about Biodiverse, see http://shawnlaffan.github.io/biodiverse/  


For a list of some of the analyses Biodiverse has been used for, see https://github.com/shawnlaffan/biodiverse/wiki/PublicationsList 


You can also join the Biodiverse-users mailing list at https://groups.google.com/group/Biodiverse-users or start a discussion at https://github.com/shawnlaffan/biodiverse/discussions 



Friday, 19 June 2026

Trees: visualise results from other spatial outputs

For a long time Biodiverse has allowed the user to visualise additional values on the phylogenetic tree in a spatial analysis tab.  These include turnover of the branches in two neighbour sets, indices related to tree branched such as the weights used in a phylogenetic endemism calculation (another example is in this post).

This is very useful but before version 5 was limited to the set of lists in the spatial output being viewed.  

From version 5 of Biodiverse you can plot lists results from any spatial output across all basedatas in your project.  A big advantage of this is that you can run one analysis, for example a randomisation to generate a CANAPE output.  Later you can run a calculation to see what the relative contribution of each clade in the tree is to each analysis window, without having to rerun the whole analysis to see the new list.  This can be in a clone of the basedata so the randomisations won't be out of synch across a basedata's outputs (Biodiverse warns about this).  

This is currently implemented as a menu option below the tree and map plots.  Unfortunately this means it is not as obvious as it could be, and this is something still being worked on.  There have also been minor changes since v5 was released, but only to how the selected list names are shown.

The screenshots below show it in operation for a very simple analysis that uses every cell in the basedata.  This allows every cell in the tree to be coloured which works better as a demonstration.


The menu is at the lower right of the options below the map and tree plots.  The exact location depends on your screen size.  

Users can select from any list across all spatial outputs across all basedatas in the project.  In this case it is the PE weights in an analysis called Acacia_spatial0 in a basedata called Acacia1 (no, these are not informative names).

And the tree branches are coloured as requested.  

The lists can also be categorical outputs.  This is the results for a Range Weighted Branch Length Differences (RWiBaLD) analysis.  More details for that are in Mishler et al. 2026.

And that's pretty much it for the description.  More of the theory is discussed in the posts linked to above.  


----

Shawn Laffan

19-Jun-2026 


For more details about Biodiverse, see http://shawnlaffan.github.io/biodiverse/  


For a list of some of the analyses Biodiverse has been used for, see https://github.com/shawnlaffan/biodiverse/wiki/PublicationsList 


You can also join the Biodiverse-users mailing list at https://groups.google.com/group/Biodiverse-users or start a discussion at https://github.com/shawnlaffan/biodiverse/discussions 


Biodiverse 5.99_001 development release

A new development release of Biodiverse (version 5.99_001) is now available.  

This is the first development release leading to version 6.  

Versions for Windows and Mac are available and can be accessed via https://github.com/shawnlaffan/biodiverse/wiki/Downloads

Installation instructions are at https://github.com/shawnlaffan/biodiverse/wiki/Installation

This version includes the ability to visualise label and tree branch ranges as polygons, as well as many computational efficiency improvements and GUI updates.  The list of changes is summarised at https://github.com/shawnlaffan/biodiverse/wiki/ReleaseNotes#version-5xx

For the full list of issues and changes leading to the 6.0 release, see https://github.com/shawnlaffan/biodiverse/milestone/23


Much of the documentation has now also been ported to a quarto book system.  This is much more readable than the wiki system that was previously used.  

A set of links is at https://biogeospatial.github.io/ 


----

Shawn Laffan

19-Jun-2026 


For more details about Biodiverse, see http://shawnlaffan.github.io/biodiverse/  

For a list of some of the analyses Biodiverse has been used for, see https://biogeospatial.github.io/biodiverse-publication-list/ 

You can also join the Biodiverse-users mailing list at https://groups.google.com/group/Biodiverse-users or start a discussion at https://github.com/shawnlaffan/biodiverse/discussions