Find species missing from FFB
Here we present a practical guide to the flora_species_gap() function of the floraR package. Given a genus of plants or algae, it lists the species-level names that occur in Brazil but that the Flora e Funga do Brasil (FFB) does not register yet - a to-do list for taxonomists expanding the FFB monographs.
It combines two independent kinds of evidence that a species occurs in Brazil:
- POWO distributions - species that Plants of the World Online (POWO), maintained by the Royal Botanic Gardens, Kew, maps in Brazil;
- GBIF type specimens - species whose type specimens (holotypes, isotypes, lectotypes, syntypes, paratypes, and so on) were collected in Brazil, as published by herbaria worldwide through GBIF. A type collected in Brazil is direct evidence that the taxon occurs in the country.
The result is a single table, one row per name, stating which source(s) reported it. Names reported by both are listed first: they are the strongest candidates for inclusion in FFB.
How the comparison works
- FFB side. Read every name currently registered in FFB, from the locally cached FFB dataset (downloaded only when needed, as in
flora_download()). - Each source. Retrieve the genus’s species-level names - accepted names and synonyms - with each name’s accepted name, and the evidence that it occurs in Brazil.
- Missing names. Keep only the names not already in FFB. A name counts as already in FFB when either the name itself or its accepted name matches any FFB name, anywhere in the checklist. This matters because checklists disagree on generic placement: for example, POWO lists Myrcia doloresensis as a synonym of Eugenia florida, which FFB registers under Eugenia.
- One table. Merge the names from both sources into one row per name.
Names are compared ignoring case, diacritics, hyphens, y/i, and the genitive -ii/-i ending, so orthographic variants are neither reported as missing nor listed twice. For example, POWO’s Luetzelburgia andrade-limae is recognised as FFB’s L. andradelimae, and POWO’s Myrcia aegiphylloides is merged with GBIF’s Myrcia aegyphylloides. Only species-level names are reported.
Where the evidence comes from
POWO distributions (sources = "powo")
POWO’s names, synonymy, and distribution maps all come from the World Checklist of Vascular Plants (WCVP). POWO’s own API blocks programmatic clients, so Kew’s data is read from one of two places, chosen with powo_source:
powo_source |
What it reads | Speed |
|---|---|---|
"rWCVPdata" (default) |
The whole WCVP, installed locally by the rWCVPdata package. | Fast: every name and distribution of the genus is resolved at once, in memory. |
"checklistbank" |
POWO’s own weekly export and WCVP, as hosted on ChecklistBank. | Slower: one web request per candidate. Always current, and needs no extra package. |
A species has POWO evidence when its accepted name occurs in at least one of the five TDWG level-3 areas covering Brazil - Brazil North, Northeast, West-Central, Southeast, and South - the areas POWO maps. If no distribution is mapped, POWO’s free-text range (e.g. "Brazil (Bahia)") is checked instead; POWO_Evidence_Source records which was used. POWO covers vascular plants only, so it finds nothing for algae.
GBIF type specimens (sources = "gbif")
The genus is searched among plants and algae only - the GBIF kingdoms Plantae (land plants, red and green algae), Chromista (brown algae, diatoms), and Protozoa (euglenids) - so a genus name shared with an animal, such as Gracilaria (both a red alga and a moth), resolves to the alga. A single search lists every name in the genus with type specimens collected in Brazil; for the FFB-missing names only, the specimens themselves are then retrieved and summarised.
Installing rWCVPdata
rWCVPdata is not on CRAN. Install it once with:
install.packages("rWCVPdata",
repos = c("https://matildabrown.github.io/drat",
"https://cloud.r-project.org"))The WCVP version in use is shown in each HTML report; rWCVPdata::wcvp_check_version() tells you whether a newer release is available. If you prefer not to install it, use powo_source = "checklistbank", or sources = "gbif".
Find species missing from FFB
library(floraR)
gap <- flora_species_gap(taxon = "Myrcia")This returns one row per missing name, and also saves an .xlsx spreadsheet and a self-contained HTML report (KPI counts plus a filterable table you can copy or download) in the flora_species_gap/ folder. For Myrcia, 28 names are missing from FFB: 6 reported by both POWO and GBIF - such as Myrcia microcalyx, mapped by POWO in Brazil North and known from a holotype and isotypes collected there - 4 by POWO only, and 18 by GBIF only.
Key columns of the result:
| Column | Meaning |
|---|---|
Taxon_name, Authors, Accepted_name |
The name, its authors, and its accepted name. |
Found_in |
"POWO; GBIF", "POWO", or "GBIF". |
Brazil_evidence |
Whether POWO places the species in Brazil or it has Brazilian types. |
POWO_Brazil_Areas, POWO_Evidence_Source |
The Brazilian regions POWO maps for the species, and whether from the WCVP distribution or POWO’s range text. |
POWO_Published_in, POWO_URL, IPNI_URL |
Protologue citation, and links to the name’s POWO and IPNI pages. |
GBIF_N_type_specimens, GBIF_Type_statuses |
Number of type specimens collected in Brazil, and their categories. |
GBIF_Type_specimens |
Up to ten specimens, as herbarium, catalogue number, and type status. |
GBIF_Specimen_names |
The names the types are filed under in GBIF - usually the typified name. |
GBIF_Collectors, GBIF_Years, GBIF_States |
Who collected the types, when, and in which Brazilian states. |
GBIF_URL |
Link to the name’s GBIF page. |
Source-specific columns are NA for names the other source did not report.
Read the typification
GBIF_Specimen_names shows which name each type actually belongs to, which often differs from Taxon_name. For example, in Myrcia the row for Myrcia aegiphylloides (reported by both sources) rests on a holotype collected in Rio de Janeiro that GBIF files under Aulomyrcia anomala O.Berg - pointing straight to the basionym and its original material.
Use one source at a time
# POWO only, read live from ChecklistBank
gap_powo <- flora_species_gap(taxon = "Myrcia", sources = "powo",
powo_source = "checklistbank")
# GBIF only - e.g. for algae, which POWO does not cover
gap_algae <- flora_species_gap(taxon = "Gracilaria", sources = "gbif")
# Stricter type evidence: holotypes and isotypes only
gap_strict <- flora_species_gap(taxon = "Myrcia", type_status = c("Holotype", "Isotype"))
# Also review POWO names missing from FFB that POWO places outside Brazil
gap_all <- flora_species_gap(taxon = "Myrcia", require_brazil_evidence = FALSE)Arguments
| Argument | Applies to | Description |
|---|---|---|
taxon |
A single genus name of plants or algae. | |
sources |
"powo", "gbif", or both (default). |
|
powo_source |
POWO | "rWCVPdata" (default) or "checklistbank". |
require_brazil_evidence |
POWO | If TRUE (default), keep only POWO names placed in Brazil. |
fetch_details |
POWO | With powo_source = "checklistbank", fetch each candidate’s protologue citation. Default TRUE. |
max_number |
POWO | With powo_source = "checklistbank", maximum number of names retrieved. Default 5000. |
type_status |
GBIF | Type categories counted as evidence (e.g. c("Holotype", "Isotype")). NULL (default) uses all. |
version |
FFB dataset version to compare against. Default "latest". |
|
save, dir, filename |
Save the result as an .xlsx spreadsheet, and where. |
|
html_report, open_report |
Write the HTML report, and open it in the browser. | |
verbose |
Print progress messages. Default TRUE. |
Additional Tips
- Start with the names reported by both sources (
Found_in == "POWO; GBIF"): two independent lines of evidence point to the same gap. - A synonym reported as missing usually means FFB lacks its accepted name too; check
Accepted_namebefore adding a name. - GBIF names with
GBIF_Taxonomic_status"DOUBTFUL"are often old names of uncertain application (e.g. many 19th-century names): filter them out for a shorter list, or review them if you are revising the group. - GBIF only knows the types that herbaria have digitised and published; a name absent from the result may still have Brazilian types in a collection not yet in GBIF.
- The HTML report requires the
rmarkdown,DT, andhtmltoolspackages. Without them, the report is skipped with a message and the spreadsheet is still saved.