Monday, March 21, 2011

ENMTools 1.3 is out!

We have a shiny new version of ENMTools ready to go! This version includes some minor bug fixes and adds a few new features. The new features are described in detail in the user manual, but here's a quick rundown:

*Handy tool for eliminating duplicate occurrence points from a .csv file using either exact location or an ASCII grid.
*New feature to make maps of the spatial distribution of residuals from a regression between two environmental variables (Warren and Moskwik, in prep).
*Tool to standardize raster files so that they sum to 1 over the geographic space.
*Tool for calculating range overlap from rasters, applying a user-selected presence/absence threshold.
*New rank-based overlap metric for rasters (RR) that estimates the probability that a pair of rasters agree in the relative ranking of any two patches of habitat (Warren and Seifert 2011).
*Addition of RR metric to hypothesis tests.

The manual has been expanded considerably, including some basic troubleshooting FAQs.

Wednesday, November 10, 2010

New Functions in ENMTools to Identify Environmental Barriers to Dispersal


We're pleased to announce publication of a paper that uses new functions in ENMTools to identify environmental barriers to dispersal. These new features of ENMTools permit identification of two types of environmental barriers that might be acting to maintain geographic boundaries between populations in nature: (1) steep environmental gradients and (2) ribbons of unsuitable habitat. ENMTools is now able to assess the significance of such boundaries in nature using geographically informed randomization procedures. Although you may have noticed that these 'new' features have been available in the last few releases of ENMTools, they haven't been published on previously, or really been explained in enough detail to make them useful. We hope that this will change with publication of this paper! For more details on how to use these new 'range breaking' methods please see section II.c.iii of the ENMTools manual [pdf document].

Glor, R. E. and D. Warren (Accepted Article) Testing ecological explanations for biogeographic boundaries. Evolution. [doi link]

Thursday, October 14, 2010

New version of ENMTools up

We've got a new version of ENMTools. This update fixes a couple of issues and adds one handy little tool. The manual is not completely updated yet, but the program is here:

http://www.danwarren.net/enmtools/builds/Release/ENMTools_1.2.zip

Here's what has changed:

-The problems with the I metric that were mentioned in a previous post/email have been fixed. It should now scale from 0 to 1.

-The breadth metrics have both been changed to standardized niche breadth, scaling from 0, where only one grid cell has a nonzero suitability score, to 1, where all grid cells are equally suitable.

-There's a new tool called "standardize rasters". It basically just takes a bunch of rasters and scales suitability scores so that they sum to 1.

-The model selection functions are now in the main build, but as yet are not documented in the manual. See my previous blog post/mailing for how to use that function. For more details read the Warren and Seifert paper currently in the "accepted" section of Ecological Applications' web page.

Tuesday, September 7, 2010

Error in I metric (but don't panic!)

Thanks to a manuscript by Dennis Rödder and Jan Engler that is currently in revision for Global Ecology and Biogeography (entitled “Quantitative metrics of overlaps in Grinnellian niches: advances and possible drawbacks”), we have discovered a typographical error in our description of the niche overlap metric I, Eq. (3) of Warren, Glor and Turelli (2008, Evolution 62:2868-2883). Unfortunately, this error also found its way into ENMTools. Fortunately, the error is only a scaling issue. It does not affect the statistical tests presented in our paper or any known test based on ENMTools. Those tests use only relative rankings of overlaps (rather than specific values), and our error does not change relative rankings.

The formula we provided for Hellinger distance, H, is one of several alternatives. In the form we provided, H ranges from 0 to Sqrt(2). The incorrect formula we published is I = 1 – (H/2), which ranges from 1 – (1/Sqrt(2)) to 1 (not 0 to 1 as we stated). The correct formula is 1 – (H^2/2), which ranges from 0 to 1. Denoting our incorrect formula, Iold, and the intended formula, Icorrect,

Icorrect = 1 – 2(1 – Iold)^2.

Because both formulas decrease monotonically from 1 with increasing H, our typo does not alter relative rankings of I values. Hence, it does not affect P values obtained from resampling-based tests of niche identity or similarity, such as those in Warren et al. (2008). If you have manuscripts that use the I metric, there is no need to re-run any analyses based on ranks; and resulting conclusions about niche identity or similarity remain valid.

We will release an updated version of ENMTools shortly that corrects this error. We thank Dennis Rödder and Jan Engler for bringing it to our attention. We apologize for any inconvenience it has caused.

Wednesday, August 11, 2010

Model selection paper now online

The paper I've been working on with Stephanie Seifert on model selection in Maxent is now available as a preprint from Ecological Applications. The paper demonstrates that AIC and BIC can be useful in setting regularization, and also acts as the first demonstration of the utility of ENMTools' data simulation functions.

Tuesday, June 8, 2010

New test version of ENMTools with model selection

There's a new test version of ENMTools up here. In addition to fixing a few minor annoyances from previous versions, there's a new function that allows criterion-based model selection using AICc and BIC. The user interface for the function is almost non-existent - all it really does is ask for a script file. Here's a quick-and-dirty rundown of how to use it. In order to correctly calculate likelihoods, the data must be formatted appropriately. For that reason we suggest that users pay very close attention to the requirements below.

1. Build a set of models to compare. It is absolutely crucial that suitability scores be output in RAW format! You will need both the .asc file and the .lambdas file associated with each model.

2. Make sure that each set of occurrence points to be compared is in its own independent file. You do not want to load an occurrence file that has points for multiple species. You also need to eliminate duplicate occurrence points from the file, particularly if you have Maxent set to ignore duplicate occurrences.

3. Build a script. A script is simply a .csv file with the paths to the files you want to analyze. Each line of the script should consist of a .csv file, a .asc file, and a .lambdas file. Relative paths will not work, you need fully qualified path names. A typical line will look like this:

c:\mydata\points.csv,c:\mydata\species.asc,c:\mydata\species.lambdas

You need one line per analysis. Also note that ENMTools will output results into a file with a name based on your script file. If your script file is named myscript.csv, the output will be named myscript_model_selection.csv. At present it will overwrite that output file (if it already exists) without asking, so BE CAREFUL.

4. In ENMTools, choose the "Model Selection" tool under "ENM Measurements". A file dialog will pop up. At this point you should choose the script file that you just made. ENMTools will chug along for a while, and will tell you when it's finished. The process is fairly simple: ENMTools uses your raw suitability scores (after standardization) and occurrence points to calculate the likelihood of observing your data under that model. It then counts the number of parameters from your lambdas file, counting any parameter with nonzero weight. Finally, it uses these values to calculate AICc and BIC.

Preliminary studies (Warren and Seifert, in review) indicate that AICc outperforms BIC in selecting models on simulated data. I'll be talking about this study at Evolution this year, for those who are interested (shameless plug).

Keep in mind that this is a test build and may be buggy. Feedback is appreciated.

Wednesday, April 7, 2010

New version of ENMTools up

I've tracked down the sorting bug that Rich and I found last night, and there's now a new version of ENMTools that fixes the issue. It does appear that it only affected the ribbon analysis, and only the sorted output. There are some new functions added as well. One is just a simple tool for measuring correlations between raster files using the Pearson correlation coefficient. The second gives you the ability to sample occurrences from a raster file either randomly or with a probability determined by some function of the suitability of habitat in that grid cell. You can download the new version and manual here. There's more information on the new functions in the manual.

Now that the application note is out we're going to start using actual version numbers instead of build dates. This is version 1.1.