This package is designed to simplify the workflow of combining amphibian data sets from sources that use different taxonomic nomenclature, by conforming to the most current system suggested by the Amphibian Species of the World: an Online Resource, Forst (2017). Comparative studies require the combination of data from a range of sources such as spatial or conservation data from the IUCN red list, information on evolutionary history from published a phylogeny such as Pyron 2014, Syst Biol or life history data from AnAge. These sources have either made the decision to follow a specific taxonomic system or, more often, are no longer up-to-date. It can therefore be complicated to establish a universal or current nomenclature to be able to efficiently combine data sets. As such, the main objective of this package is to harvest taxonomic classifications of all amphibian species listed on the ASW website, harvest all listed synonyms per species and then using this information, suggest ASW names for any given list of taxa.
This package could also be useful for easily updating museum catalogs etc., and includes functions for producing summary statistics on species numbers at various taxonomic levels, or to update species names in manuscripts etc. after a taxonomic group has received nomenclature revisions.
Below are some examples of how to use the package. (REMEMBER! Please cite not only AmphiNom but all data resources used, including the Amphibian Species of the World).
AmphiNom is a package written in the R programming language. The most recent version can be downloaded from ‘gitHub’, using the ‘devtools’ library. The first step is therefore to make sure that the ‘devtools’ package is installed and loaded. Successful installation of ‘AmphiNom’ might also require that the ‘XML’ package is installed prior.
The starting point of this package is to populate a list of all currently registered species on the ASW website. For ease-of-use, a version of this is stored in the ‘AmphiNom’ package internally, but this may of course be outdated and so to generate your own, up-to-date version run the getTaxonomy() function.The function takes no arguments and essentially iterates through the ASW website, building the URL for each species through a bottom-up approach (i.e. first looking for all orders, then superfamilies, then families, subfamilies, genera and finally species). The resulting table contains 7 columns: one for each taxonomic level (Order through to Species) and a final column with the URL for the ASW website for each species.
Run the getTaxonomy() function (this may take 10 to 15 minutes), or have a look at the internally stored ‘asw_taxonomy’ data file:
The first think one might be interested in is to get some basic numbers for listed taxonomic units nested within a particular level.
number_of_units | |
---|---|
Oders | 0 |
Families | 0 |
Genera | 0 |
Species | 0 |
Additional arguments can be specified in the aswStats() function to narrow down the search. For example to get information on only a specific Family:
number_of_units | |
---|---|
Oders | 0 |
Families | 0 |
Genera | 0 |
Species | 0 |
This can be applied to any taxonomic level and to make sure everything is working properly (or if the asw_taxonomy data-set is up-to-date), you could double check if this matches the information on the ASW website
We can also turn on ‘verbose’ to get a list of all nested units instead of just the summary a table. This is useful for getting a more detailed overview, but also for making graphical representations of this information:
## $Orders
##
## Caudata
## 490
##
## $Super_families
## < table of extent 0 >
##
## $Families
##
## Plethodontidae
## 490
##
## $Sub_families
##
## Hemidactyliinae Plethodontinae
## 384 106
##
## $Genera
##
## Aneides Aquiloeurycea Batrachoseps Bolitoglossa Bradytriton
## 10 6 21 136 1
## Chiropterotriton Cryptotriton Dendrotriton Desmognathus Ensatina
## 23 7 8 24 1
## Eurycea Gyrinophilus Hemidactylium Hydromantes Isthmura
## 32 4 1 5 7
## Ixalotriton Karsenia Nototriton Nyctanolis Oedipina
## 2 1 20 1 40
## Parvimolge Phaeognathus Plethodon Pseudoeurycea Pseudotriton
## 1 1 56 40 3
## Speleomantes Stereochilus Thorius Urspelerpes
## 8 1 29 1
##
## $Species
## [1] "Aquiloeurycea cafetalera" "Aquiloeurycea cephalica"
## [3] "Aquiloeurycea galeanae" "Aquiloeurycea praecellens"
## [5] "Aquiloeurycea quetzalanensis" "Aquiloeurycea scandens"
## [7] "Batrachoseps altasierrae" "Batrachoseps attenuatus"
## [9] "Batrachoseps bramei" "Batrachoseps campi"
## [11] "Batrachoseps diabolicus" "Batrachoseps gabrieli"
## [13] "Batrachoseps gavilanensis" "Batrachoseps gregarius"
## [15] "Batrachoseps incognitus" "Batrachoseps kawia"
## [17] "Batrachoseps luciae" "Batrachoseps major"
## [19] "Batrachoseps minor" "Batrachoseps nigriventris"
## [21] "Batrachoseps pacificus" "Batrachoseps regius"
## [23] "Batrachoseps relictus" "Batrachoseps robustus"
## [25] "Batrachoseps simatus" "Batrachoseps stebbinsi"
## [27] "Batrachoseps wrighti" "Bolitoglossa altamazonica2"
## [29] "Bolitoglossa adspersa" "Bolitoglossa alberchi"
## [31] "Bolitoglossa altamazonica" "Bolitoglossa alvaradoi"
## [33] "Bolitoglossa anthracina" "Bolitoglossa aurae"
## [35] "Bolitoglossa aureogularis" "Bolitoglossa awajun"
## [37] "Bolitoglossa biseriata" "Bolitoglossa borburata"
## [39] "Bolitoglossa bramei" "Bolitoglossa caldwellae"
## [41] "Bolitoglossa capitana" "Bolitoglossa carri"
## [43] "Bolitoglossa cataguana" "Bolitoglossa celaque"
## [45] "Bolitoglossa centenorum" "Bolitoglossa cerroensis"
## [47] "Bolitoglossa chica" "Bolitoglossa chinanteca"
## [49] "Bolitoglossa chucantiensis" "Bolitoglossa coaxtlahuacana"
## [51] "Bolitoglossa colonnea" "Bolitoglossa compacta"
## [53] "Bolitoglossa conanti" "Bolitoglossa copia"
## [55] "Bolitoglossa copinhorum" "Bolitoglossa cuchumatana"
## [57] "Bolitoglossa cuna" "Bolitoglossa daryorum"
## [59] "Bolitoglossa decora" "Bolitoglossa diaphora"
## [61] "Bolitoglossa digitigrada" "Bolitoglossa diminuta"
## [63] "Bolitoglossa dofleini" "Bolitoglossa dunni"
## [65] "Bolitoglossa engelhardti" "Bolitoglossa epimela"
## [67] "Bolitoglossa equatoriana" "Bolitoglossa eremia"
## [69] "Bolitoglossa flavimembris" "Bolitoglossa flaviventris"
## [71] "Bolitoglossa franklini" "Bolitoglossa gomezi"
## [73] "Bolitoglossa gracilis" "Bolitoglossa guaneae"
## [75] "Bolitoglossa guaramacalensis" "Bolitoglossa hartwegi"
## [77] "Bolitoglossa heiroreias" "Bolitoglossa helmrichi"
## [79] "Bolitoglossa hermosa" "Bolitoglossa hiemalis"
## [81] "Bolitoglossa huehuetenanguensis" "Bolitoglossa hypacra"
## [83] "Bolitoglossa indio" "Bolitoglossa insularis"
## [85] "Bolitoglossa jacksoni" "Bolitoglossa jugivagans"
## [87] "Bolitoglossa kamuk" "Bolitoglossa kaqchikelorum"
## [89] "Bolitoglossa la" "Bolitoglossa leandrae"
## [91] "Bolitoglossa lignicolor" "Bolitoglossa lincolni"
## [93] "Bolitoglossa longissima" "Bolitoglossa lozanoi"
## [95] "Bolitoglossa macrinii" "Bolitoglossa madeira"
## [97] "Bolitoglossa magnifica" "Bolitoglossa marmorea"
## [99] "Bolitoglossa medemi" "Bolitoglossa meliana"
## [101] "Bolitoglossa mexicana" "Bolitoglossa minutula"
## [103] "Bolitoglossa mombachoensis" "Bolitoglossa morio"
## [105] "Bolitoglossa mucuyensis" "Bolitoglossa mulleri"
## [107] "Bolitoglossa nicefori" "Bolitoglossa nigrescens"
## [109] "Bolitoglossa ninadormida" "Bolitoglossa nussbaumi"
## [111] "Bolitoglossa nympha" "Bolitoglossa oaxacensis"
## [113] "Bolitoglossa obscura" "Bolitoglossa occidentalis"
## [115] "Bolitoglossa odonnelli" "Bolitoglossa omniumsanctorum"
## [117] "Bolitoglossa oresbia" "Bolitoglossa orestes"
## [119] "Bolitoglossa pacaya" "Bolitoglossa palmata"
## [121] "Bolitoglossa pandi" "Bolitoglossa paraensis"
## [123] "Bolitoglossa peruviana" "Bolitoglossa pesrubra"
## [125] "Bolitoglossa phalarosoma" "Bolitoglossa platydactyla"
## [127] "Bolitoglossa porrasorum" "Bolitoglossa psephena"
## [129] "Bolitoglossa pygmaea" "Bolitoglossa ramosi"
## [131] "Bolitoglossa riletti" "Bolitoglossa robinsoni"
## [133] "Bolitoglossa robusta" "Bolitoglossa rostrata"
## [135] "Bolitoglossa rufescens" "Bolitoglossa salvinii"
## [137] "Bolitoglossa savagei" "Bolitoglossa schizodactyla"
## [139] "Bolitoglossa silverstonei" "Bolitoglossa sima"
## [141] "Bolitoglossa sombra" "Bolitoglossa sooyorum"
## [143] "Bolitoglossa splendida" "Bolitoglossa striatula"
## [145] "Bolitoglossa stuarti" "Bolitoglossa subpalmata"
## [147] "Bolitoglossa suchitanensis" "Bolitoglossa synoria"
## [149] "Bolitoglossa tamaense" "Bolitoglossa tapajonica"
## [151] "Bolitoglossa tatamae" "Bolitoglossa taylori"
## [153] "Bolitoglossa tenebrosa" "Bolitoglossa tica"
## [155] "Bolitoglossa tzultacaj" "Bolitoglossa vallecula"
## [157] "Bolitoglossa veracrucis" "Bolitoglossa walkeri"
## [159] "Bolitoglossa xibalba" "Bolitoglossa yariguiensis"
## [161] "Bolitoglossa yucatana" "Bolitoglossa zacapensis"
## [163] "Bolitoglossa zapoteca" "Bradytriton silus"
## [165] "Chiropterotriton arboreus" "Chiropterotriton aureus"
## [167] "Chiropterotriton casasi" "Chiropterotriton ceronorum"
## [169] "Chiropterotriton chico" "Chiropterotriton chiropterus"
## [171] "Chiropterotriton chondrostega" "Chiropterotriton cieloensis"
## [173] "Chiropterotriton cracens" "Chiropterotriton dimidiatus"
## [175] "Chiropterotriton infernalis" "Chiropterotriton lavae"
## [177] "Chiropterotriton magnipes" "Chiropterotriton melipona"
## [179] "Chiropterotriton miquihuanus" "Chiropterotriton mosaueri"
## [181] "Chiropterotriton multidentatus" "Chiropterotriton nubilus"
## [183] "Chiropterotriton orculus" "Chiropterotriton perotensis"
## [185] "Chiropterotriton priscus" "Chiropterotriton terrestris"
## [187] "Chiropterotriton totonacus" "Cryptotriton alvarezdeltoroi"
## [189] "Cryptotriton monzoni" "Cryptotriton nasalis"
## [191] "Cryptotriton necopinus" "Cryptotriton sierraminensis"
## [193] "Cryptotriton veraepacis" "Cryptotriton xucaneborum"
## [195] "Dendrotriton bromeliacius" "Dendrotriton chujorum"
## [197] "Dendrotriton cuchumatanus" "Dendrotriton kekchiorum"
## [199] "Dendrotriton megarhinus" "Dendrotriton rabbi"
## [201] "Dendrotriton sanctibarbarus" "Dendrotriton xolocalcae"
## [203] "Eurycea aquatica" "Eurycea bislineata"
## [205] "Eurycea braggi" "Eurycea chamberlaini"
## [207] "Eurycea chisholmensis" "Eurycea cirrigera"
## [209] "Eurycea guttolineata" "Eurycea hillisi"
## [211] "Eurycea junaluska" "Eurycea latitans"
## [213] "Eurycea longicauda" "Eurycea lucifuga"
## [215] "Eurycea multiplicata" "Eurycea nana"
## [217] "Eurycea naufragia" "Eurycea neotenes"
## [219] "Eurycea nerea" "Eurycea paludicola"
## [221] "Eurycea pterophila" "Eurycea quadridigitata"
## [223] "Eurycea rathbuni" "Eurycea robusta"
## [225] "Eurycea sosorum" "Eurycea spelaea"
## [227] "Eurycea sphagnicola" "Eurycea subfluvicola"
## [229] "Eurycea tonkawae" "Eurycea troglodytes"
## [231] "Eurycea tynerensis" "Eurycea wallacei"
## [233] "Eurycea waterlooensis" "Eurycea wilderae"
## [235] "Gyrinophilus gulolineatus" "Gyrinophilus palleucus"
## [237] "Gyrinophilus porphyriticus" "Gyrinophilus subterraneus"
## [239] "Hemidactylium scutatum" "Isthmura bellii"
## [241] "Isthmura boneti" "Isthmura corrugata"
## [243] "Isthmura gigantea" "Isthmura maxima"
## [245] "Isthmura naucampatepetl" "Isthmura sierraoccidentalis"
## [247] "Ixalotriton niger" "Ixalotriton parvus"
## [249] "Nototriton abscondens" "Nototriton barbouri"
## [251] "Nototriton brodiei" "Nototriton costaricense"
## [253] "Nototriton gamezi" "Nototriton guanacaste"
## [255] "Nototriton lignicola" "Nototriton limnospectator"
## [257] "Nototriton major" "Nototriton matama"
## [259] "Nototriton mime" "Nototriton nelsoni"
## [261] "Nototriton oreadorum" "Nototriton picadoi"
## [263] "Nototriton picucha" "Nototriton richardi"
## [265] "Nototriton saslaya" "Nototriton stuarti"
## [267] "Nototriton tapanti" "Nototriton tomamorum"
## [269] "Nyctanolis pernix" "Oedipina alfaroi"
## [271] "Oedipina alleni" "Oedipina altura"
## [273] "Oedipina berlini" "Oedipina capitalina"
## [275] "Oedipina carablanca" "Oedipina chortiorum"
## [277] "Oedipina collaris" "Oedipina complex"
## [279] "Oedipina cyclocauda" "Oedipina ecuatoriana"
## [281] "Oedipina elongata" "Oedipina fortunensis"
## [283] "Oedipina gephyra" "Oedipina gracilis"
## [285] "Oedipina grandis" "Oedipina ignea"
## [287] "Oedipina kasios" "Oedipina koehleri"
## [289] "Oedipina leptopoda" "Oedipina maritima"
## [291] "Oedipina motaguae" "Oedipina nica"
## [293] "Oedipina nimaso" "Oedipina pacificensis"
## [295] "Oedipina parvipes" "Oedipina paucidentata"
## [297] "Oedipina petiola" "Oedipina poelzi"
## [299] "Oedipina pseudouniformis" "Oedipina quadra"
## [301] "Oedipina salvadorensis" "Oedipina savagei"
## [303] "Oedipina stenopodia" "Oedipina stuarti"
## [305] "Oedipina taylori" "Oedipina tomasi"
## [307] "Oedipina tzutujilorum" "Oedipina uniformis"
## [309] "Oedipina villamizariorum" "Parvimolge townsendi"
## [311] "Pseudoeurycea ahuitzotl" "Pseudoeurycea altamontana"
## [313] "Pseudoeurycea amuzga" "Pseudoeurycea anitae"
## [315] "Pseudoeurycea aquatica" "Pseudoeurycea aurantia"
## [317] "Pseudoeurycea brunnata" "Pseudoeurycea cochranae"
## [319] "Pseudoeurycea conanti" "Pseudoeurycea exspectata"
## [321] "Pseudoeurycea firscheini" "Pseudoeurycea gadovii"
## [323] "Pseudoeurycea goebeli" "Pseudoeurycea granitum"
## [325] "Pseudoeurycea juarezi" "Pseudoeurycea kuautli"
## [327] "Pseudoeurycea leprosa" "Pseudoeurycea lineola"
## [329] "Pseudoeurycea longicauda" "Pseudoeurycea lynchi"
## [331] "Pseudoeurycea melanomolga" "Pseudoeurycea mixcoatl"
## [333] "Pseudoeurycea mixteca" "Pseudoeurycea mystax"
## [335] "Pseudoeurycea nigromaculata" "Pseudoeurycea obesa"
## [337] "Pseudoeurycea orchileucos" "Pseudoeurycea orchimelas"
## [339] "Pseudoeurycea papenfussi" "Pseudoeurycea rex"
## [341] "Pseudoeurycea robertsi" "Pseudoeurycea ruficauda"
## [343] "Pseudoeurycea saltator" "Pseudoeurycea smithi"
## [345] "Pseudoeurycea tenchalli" "Pseudoeurycea teotepec"
## [347] "Pseudoeurycea tlahcuiloh" "Pseudoeurycea tlilicxitl"
## [349] "Pseudoeurycea unguidentis" "Pseudoeurycea werleri"
## [351] "Pseudotriton diastictus" "Pseudotriton montanus"
## [353] "Pseudotriton ruber" "Stereochilus marginatus"
## [355] "Thorius adelos" "Thorius arboreus"
## [357] "Thorius aureus" "Thorius boreas"
## [359] "Thorius dubitus" "Thorius grandis"
## [361] "Thorius hankeni" "Thorius infernalis"
## [363] "Thorius insperatus" "Thorius longicaudus"
## [365] "Thorius lunaris" "Thorius macdougalli"
## [367] "Thorius magnipes" "Thorius maxillabrochus"
## [369] "Thorius minutissimus" "Thorius minydemus"
## [371] "Thorius munificus" "Thorius narismagnus"
## [373] "Thorius narisovalis" "Thorius omiltemi"
## [375] "Thorius papaloae" "Thorius pennatulus"
## [377] "Thorius pinicola" "Thorius pulmonaris"
## [379] "Thorius schmidti" "Thorius smithi"
## [381] "Thorius spilogaster" "Thorius tlaxiacus"
## [383] "Thorius troglodytes" "Urspelerpes brucei"
## [385] "Aneides aeneus" "Aneides caryaensis"
## [387] "Aneides ferreus" "Aneides flavipunctatus"
## [389] "Aneides hardii" "Aneides iecanus"
## [391] "Aneides klamathensis" "Aneides lugubris"
## [393] "Aneides niger" "Aneides vagrans"
## [395] "Desmognathus abditus" "Desmognathus aeneus"
## [397] "Desmognathus apalachicolae" "Desmognathus aureatus"
## [399] "Desmognathus auriculatus" "Desmognathus brimleyorum"
## [401] "Desmognathus carolinensis" "Desmognathus conanti"
## [403] "Desmognathus folkertsi" "Desmognathus fuscus"
## [405] "Desmognathus imitator" "Desmognathus marmoratus"
## [407] "Desmognathus melanius" "Desmognathus monticola"
## [409] "Desmognathus ochrophaeus" "Desmognathus ocoee"
## [411] "Desmognathus orestes" "Desmognathus organi"
## [413] "Desmognathus planiceps" "Desmognathus quadramaculatus"
## [415] "Desmognathus santeetlah" "Desmognathus valentinei"
## [417] "Desmognathus welteri" "Desmognathus wrighti"
## [419] "Ensatina eschscholtzii" "Hydromantes brunus"
## [421] "Hydromantes platycephalus" "Hydromantes samweli"
## [423] "Hydromantes shastae" "Hydromantes wintu"
## [425] "Karsenia koreana" "Phaeognathus hubrichti"
## [427] "Plethodon ainsworthi" "Plethodon albagula"
## [429] "Plethodon amplus" "Plethodon angusticlavius"
## [431] "Plethodon asupak" "Plethodon aureolus"
## [433] "Plethodon caddoensis" "Plethodon chattahoochee"
## [435] "Plethodon cheoah" "Plethodon chlorobryonis"
## [437] "Plethodon cinereus" "Plethodon cylindraceus"
## [439] "Plethodon dixi" "Plethodon dorsalis"
## [441] "Plethodon dunni" "Plethodon electromorphus"
## [443] "Plethodon elongatus" "Plethodon fourchensis"
## [445] "Plethodon glutinosus" "Plethodon hoffmani"
## [447] "Plethodon hubrichti" "Plethodon idahoensis"
## [449] "Plethodon jacksoni" "Plethodon jordani"
## [451] "Plethodon kentucki" "Plethodon kiamichi"
## [453] "Plethodon kisatchie" "Plethodon larselli"
## [455] "Plethodon meridianus" "Plethodon metcalfi"
## [457] "Plethodon montanus" "Plethodon neomexicanus"
## [459] "Plethodon nettingi" "Plethodon ocmulgee"
## [461] "Plethodon ouachitae" "Plethodon pauleyi"
## [463] "Plethodon petraeus" "Plethodon punctatus"
## [465] "Plethodon richmondi" "Plethodon savannah"
## [467] "Plethodon sequoyah" "Plethodon serratus"
## [469] "Plethodon shenandoah" "Plethodon sherando"
## [471] "Plethodon shermani" "Plethodon stormi"
## [473] "Plethodon teyahalee" "Plethodon vandykei"
## [475] "Plethodon variolatus" "Plethodon vehiculum"
## [477] "Plethodon ventralis" "Plethodon virginia"
## [479] "Plethodon websteri" "Plethodon wehrlei"
## [481] "Plethodon welleri" "Plethodon yonahlossee"
## [483] "Speleomantes ambrosii" "Speleomantes flavus"
## [485] "Speleomantes genei" "Speleomantes imperialis"
## [487] "Speleomantes italicus" "Speleomantes sarrabusensis"
## [489] "Speleomantes strinatii" "Speleomantes supramontis"
plethodontid.stats<-aswStats(asw_taxonomy, Family = "Plethodontidae",verbose = T)
par(mar=c(1,1,1,1))
pie(plethodontid.stats$Genera[order(plethodontid.stats$Genera, decreasing = T)], cex=0.5, main = "No. of Species per Genus", col = rainbow(length(plethodontid.stats$Genera),s = 0.5), clockwise = T, border = NA)
Hopefully the most useful data-set this package generates is an up-to-date list of all possible synonyms per species, to facilitate matching data sets that might be using different names for the same species. As with the taxonomic table, a version of the current synonym list is stored in the AmphiNom package internally. This may of course be outdated and so to generate your own, up-to-date version run the getSynonym() function! The function takes the getTaxonomy() output as a reference and then looks through every species webpage to tabulate all listed synonyms. It is therefore important that you specify a “asw_taxonomy” object that is more up-to-date than the one stored in the package (if none is specified, AmphiNom will use the internal version). Generating a full list for all amphibian species can take a long, long time (up to an hour). More realistically, you may only be interested in a specific taxonomic group and so you can narrow down your search as in this example here:
species | synonyms |
---|---|
Agalychnis annae | Agalychnis annae |
Agalychnis annae | Phyllomedusa annae |
Agalychnis buckleyi | Agalychnis buckleyi |
Agalychnis buckleyi | Hyla (Hylella) porifera |
Agalychnis buckleyi | Hyla porifera |
Agalychnis buckleyi | Hylella porifera |
Agalychnis buckleyi | Hylomantis buckleyi |
Agalychnis buckleyi | Phyllomedusa (Phyllomedusa) loris |
Agalychnis buckleyi | Phyllomedusa buckleyi |
Agalychnis buckleyi | Phyllomedusa loris |
Agalychnis callidryas | Agalychnis callidryas |
Agalychnis callidryas | Agalychnis callidryas callidryas |
Agalychnis callidryas | Agalychnis helenae |
Agalychnis callidryas | Hyla callidryas |
Agalychnis callidryas | Phyllomedusa (Agalychnis) callidryas |
The output is a table with two columns listing species names and all available synonyms (here showing the first 15 entries). We could summarize this information like so:
Species | Number of associated names |
---|---|
Agalychnis annae | 2 |
Agalychnis buckleyi | 8 |
Agalychnis callidryas | 8 |
Agalychnis dacnicolor | 6 |
Agalychnis danieli | 3 |
Agalychnis hulli | 3 |
Agalychnis lemur | 4 |
Agalychnis medinae | 4 |
Agalychnis moreletii | 8 |
Agalychnis psilopygion | 3 |
Agalychnis saltator | 2 |
Agalychnis spurrelli | 4 |
Agalychnis taylori | 2 |
Agalychnis terranova | 1 |
Having now prepared the data-set of amphibian synonyms, the main objective of this package is to facilitate the unification of naming systems, i.e. matching a list of names to the synonym table and suggesting the currently advised nomenclature by ASW. As an example, lets look at how the names on Amphibia Web differ to those on ASW. Their most current taxonomy can be found here, and can be read into R directly like so:
For this tutorial however, we will use a version stored internally in AmphiNom as “amphweb” (again,might be out of date so be careful).
order | family | subfamily | genus | subgenus | species | common_name | gaa_name | synonymies | itis_names | iucn | isocc | intro_isocc | aweb_uid | uri.guid | taxon_notes_public |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Anura | Allophrynidae | NA | Allophryne | NA | relicta | NA | NA | NA | NA | NA | BR | NA | 8097 | https://amphibiaweb.org/species/8097 | NA |
Anura | Allophrynidae | NA | Allophryne | NA | resplendens | NA | NA | NA | NA | NA | PE | NA | 7786 | https://amphibiaweb.org/species/7786 | NA |
Anura | Allophrynidae | NA | Allophryne | NA | ruthveni | Tukeit-Hill Frog | Allophryne ruthveni | Sphaenorhynchus seabrai, Sphoenohyla seabrai | Sphaenorhynchus seabrai, Sphoenohyla seabrai | Least Concern (LC) | VE,SR,GY,GF,BR | NA | 2059 | https://amphibiaweb.org/species/2059 | NA |
Anura | Alsodidae | NA | Alsodes | NA | australis | NA | Alsodes australis | NA | NA | Data Deficient (DD) | CL,AR | NA | 5715 | https://amphibiaweb.org/species/5715 | NA |
Anura | Alsodidae | NA | Alsodes | NA | barrioi | NA | Alsodes barrioi | NA | NA | Endangered (EN) | CL | NA | 2552 | https://amphibiaweb.org/species/2552 | NA |
Anura | Alsodidae | NA | Alsodes | NA | cantillanensis | NA | Alsodes cantillanensis | NA | NA | Critically Endangered (CR) | CL | NA | 8311 | https://amphibiaweb.org/species/8311 | NA |
For this example, lets look only at the genus Hyla that due to a recent revision by Duellman et al. 2016, Zootaxa has experiences name changes that have been implemented in ASW, but not AW:
and lets query that list, using the synonym list created with getSynonyms(), here, using the version stored internally:
hyla.names<-aswSync(query=paste(amphweb.hyla$genus, amphweb.hyla$species),asw = asw_synonyms)
head(hyla.names, n=15)
query | stripped | status | warnings | ASW_names |
---|---|---|---|---|
Hyla andersonii | hyla_andersonii | updated | NA | Dryophytes andersonii |
Hyla annectans | hyla_annectans | up_to_date | NA | Hyla annectans |
Hyla arborea | hyla_arborea | up_to_date | NA | Hyla arborea |
Hyla arboricola | hyla_arboricola | updated | NA | Dryophytes arboricola |
Hyla arenicolor | hyla_arenicolor | updated | NA | Dryophytes arenicolor |
Hyla avivoca | hyla_avivoca | updated | NA | Dryophytes avivoca |
Hyla bocourti | hyla_bocourti | updated | NA | Dryophytes bocourti |
Hyla carthaginiensis | hyla_carthaginiensis | up_to_date | NA | Hyla carthaginiensis |
Hyla chinensis | hyla_chinensis | up_to_date | NA | Hyla chinensis |
Hyla chrysoscelis | hyla_chrysoscelis | updated | NA | Dryophytes chrysoscelis |
Hyla cinerea | hyla_cinerea | updated | NA | Dryophytes cinereus |
Hyla euphorbiacea | hyla_euphorbiacea | updated | NA | Dryophytes euphorbiaceus |
Hyla eximia | hyla_eximia | updated | NA | Dryophytes eximius |
Hyla felixarabica | hyla_felixarabica | up_to_date | NA | Hyla felixarabica |
Hyla femoralis | hyla_femoralis | updated | NA | Dryophytes femoralis |
The output here is a table listing the user-specified query, a ‘stripped’ version of that input that tries to deal with any differences such as capitalization or underscores etc. that might cause issues, a status column listing whether any names match and if not, whether they could be updated to ASW names with no problem, or whether names were not found as listed synonyms or whether names are ambiguous and could refer to more than one species. A specific warning column is also included that, for now, only warns you if the resulting name changes result in duplicates. The final column lists the suggested ASW names.
Various additional arguments can be invoked, for example, whether ambiguities should be sorted out on the fly with the user deciding on which species is referred to on the go, or for example whether to pass forward the original query names if no match is found in the synonym list.
instead of looking through the output table of aswSync(), we can also print out a report using the synonymReport() function.
number_of_units | |
---|---|
queries | 38 |
names_up_to_date | 17 |
names_successfully_updated | 20 |
names_not_found | 1 |
ambiguities | 0 |
duplicates_produced | 2 |
this tells us that less than half of the names are up to date, and AmphiNom could update quite a few on its own without any complications. AmphiNom found all names on ASW and there were no issues with ambiguities (queries which mach synonyms belonging to more than one species), but the automatic updating has resulted in 4 cases where names are not unique anymore! These need to be checked carefully and most likely are units that used to be distinct and are now synonyms. We can get more of an idea of what has happened here by asking AmphiNom to spit out a bit more information:
## $names_not_found
## [1] "Hyla flaviventris"
##
## $query
## [1] "Hyla andersonii" "Hyla arboricola" "Hyla arenicolor" "Hyla avivoca"
## [5] "Hyla bocourti" "Hyla chrysoscelis" "Hyla cinerea" "Hyla euphorbiacea"
## [9] "Hyla eximia" "Hyla femoralis" "Hyla gratiosa" "Hyla heinzsteinitzi"
## [13] "Hyla immaculata" "Hyla japonica" "Hyla plicata" "Hyla squirella"
## [17] "Hyla suweonensis" "Hyla versicolor" "Hyla walkeri" "Hyla wrightorum"
##
## $ASW_names
## [1] "Dryophytes andersonii" "Dryophytes arboricola" "Dryophytes arenicolor"
## [4] "Dryophytes avivoca" "Dryophytes bocourti" "Dryophytes chrysoscelis"
## [7] "Dryophytes cinereus" "Dryophytes euphorbiaceus" "Dryophytes eximius"
## [10] "Dryophytes femoralis" "Dryophytes gratiosus" "Dryophytes japonicus"
## [13] "Dryophytes immaculatus" "Dryophytes japonicus" "Dryophytes plicatus"
## [16] "Dryophytes squirellus" "Dryophytes suweonensis" "Dryophytes versicolor"
## [19] "Dryophytes walkeri" "Dryophytes wrightorum"
##
## $ambiguities
## $ambiguities$query
## character(0)
##
## $ambiguities$ASW_names
## character(0)
##
##
## $duplicated
## $duplicated$query
## [1] "Hyla heinzsteinitzi" "Hyla japonica"
##
## $duplicated$ASW_names
## [1] "Dryophytes japonicus" "Dryophytes japonicus"
At just a glance, we can already see that H. heinzsteinitzi has been sunk into D. japonicus and H. suweonensis into D. immaculatus and so, these two species are no longer valid according to ASW.
Of course all of this can also be done manually from the aswSync() output:
query | stripped | status | warnings | ASW_names | |
---|---|---|---|---|---|
19 | Hyla heinzsteinitzi | hyla_heinzsteinitzi | updated | duplicated | Dryophytes japonicus |
22 | Hyla japonica | hyla_japonica | updated | duplicated | Dryophytes japonicus |
The decision can now be made how to deal with these duplicates, or should there be any ambiguities, after which point, the ASW names can simply be adopted for use in the original data-set and voila!