The official GitHub repository for the R package “SPecies IDentity and Evolution in R” (spider).
spider provides functions for the analysis of species limits and DNA barcoding data. Included are functions for generating important summary statistics from DNA barcode data, assessing specimen identification efficacy, testing and optimizing divergence threshold limits, assessment of diagnostic nucleotides, and calculation of the probability of reciprocal monophyly. Additionally, a sliding window function offers opportunities to analyse information across a gene, often used for marker design in degraded DNA studies. Further information on the package has been published in Brown et al. (2012).
For an introduction to the package, visit our
spider tutorial and manual. Over time, the tutorial will be expanded and moved into GitHub vignettes and project pages.
If you are interested in previous versions (before v1.5.0) of the
spider source code, check out our old repository hosted at r-forge.
Stable CRAN version (NOT YET WORKING).
Or development version from GitHub (WORKING).
Here, we will do a quick “best close match” analysis (Meier et al., 2006) on a Anoteropsis wolf spider dataset (Vink & Paterson, 2003) to see how well DNA barcodes can identify individuals in a simulated identification scenario.
# load up the data library("spider") data(anoteropsis)
# make a quick species vector (unique species name for each individual) from the taxon labels anoSpp <- sapply(strsplit(rownames(anoteropsis), split="_"), function(x) paste(x, x)) head(anoSpp, n=4) #>  "Artoria flavimanus" "Artoria separata" "Anoteropsis adumbrata" "Anoteropsis adumbrata"
# get some statistics about the sequence lengths seqStat(anoteropsis) #> Min Max Mean Median Thresh #> 395 409 408 409 33
# make a distance matrix from raw p-distances anoDist <- ape::dist.dna(anoteropsis, model="raw", pairwise.deletion=TRUE)
# calculate identification success based on a 1% interspecific threshold table(bestCloseMatch(distobj=anoDist, sppVector=anoSpp, threshold=0.01)) #> correct incorrect no id #> 11 2 20
spiderin R by running