Test if a lineage goes down to a specified rank

is_rank(
  lineage,
  rank = c("kingdom", "phylum", "class", "order", "family", "genus", "species", "strain")
)

Arguments

lineage

string. Vector of lineages.

rank

string. One of c("kingdom", "phylum", "class", "order", "family", "genus", "species", "strain") with partial matching.

Value

logical.

Examples

lineage1 <- "k__Bacteria|p__Verrucomicrobia|c__Verrucomicrobiae"
lineage2 <- "k__Bacteria|p__Firmicutes|c__Clostridia"
is_rank(c(lineage1, lineage2), "class")
#> [1] TRUE TRUE
is_rank(c(lineage1, lineage2), "order")
#> [1] FALSE FALSE