There are a number of options for resolution of taxonomic names. The Taxonomic Name Resolution Service (TNRS) comes to mind. There is a new service for taxonomic name resoultion called the Global Names Resolver. They describe the service thusly "Resolve lists of scientific names against known sources. This service parses incoming names, executes exact or fuzzy matching as required, and displays a confidence score for each match along with its identifier.".
1 # If you don't have them already
2 # install.packages(c('RJSONIO','plyr','devtools')) require(devtools)
3 # install_github('taxize_','ropensci')
4 library(RJSONIO)
5 library(plyr)
6 library(taxize)
1 tail(gnr_datasources(todf = T))
## id title
## 82 164 BioLib.cz
## 83 165 Tropicos - Missouri Botanical Garden
## 84 166 nlbif
## 85 167 IPNI
## 86 168 Index to Organism Names
## 87 169 uBio NameBank
1 out <- gnr_datasources(todf = T)
2 out[out$title == "EOL", "id"]
## [1] 12
1 out <- gnr_datasources(todf = T)
2 outdf <- out[agrep("zoo", out$title, ignore.case = T), ]
3 outdf[1:2, ]
## id title
## 20 100 Mushroom Observer
## 25 105 ZooKeys
1 gnr(names = c("Helianthus annuus", "Homo sapiens"), returndf = TRUE)[1:2, ]
## data_source_id submitted_name name_string score title
## 1 4 Helianthus annuus Helianthus annuus 0.988 NCBI
## 3 10 Helianthus annuus Helianthus annuus 0.988 Freebase
1 gnr(names = c("Helianthus annuus", "Homo sapiens"), data_source_ids = "12",
2 returndf = TRUE)
## data_source_id submitted_name name_string score title
## 1 12 Helianthus annuus Helianthus annuus 0.988 EOL
## 2 12 Homo sapiens Homo sapiens 0.988 EOL
1 KnitPost <- function(input, base.url = "/") {
2 require(knitr)
3 opts_knit$set(base.url = base.url)
4 fig.path <- paste0("img/", sub(".Rmd$", "", basename(input)), "/")
5 opts_chunk$set(fig.path = fig.path)
6 opts_chunk$set(fig.cap = "center")
7 render_jekyll()
8 knit(input, envir = parent.frame())
9 }
10 setwd("/path/to/_posts")
11 KnitPost("/path/to/postfile.Rmd")
from jfisher.