Seamless access to Wilderlab’s eDNA data
We provide comprehensive API documentation, code samples, and technical support to help you connect effortlessly. Contact our team to request access and discuss your integration needs.
Harness the power of Wilderlab’s environmental DNA insights directly within your digital ecosystem—making data-driven decisions faster and smarter.
Environmental DNA (eDNA) testing generates a lot of data. Over the past three years our clients have detected over a million different DNA sequences from thousands of different species. While our primary method of disseminating data is in xlsx format, static result tables do not reflect continuous updates to taxon IDs due to the availability of new reference sequences. Furthermore, static result tables are not always shared between departments, resulting in fragmented data and reporting.
To remedy this, Wilderlab has developed an API (Application Programming Interface) that enables clients to access their data in real time, facilitating the export of eDNA results to environmental data storage platforms such as Kisters and Hilltop.
This tutorial provides a brief introduction to accessing the connect.wilderlab API using the R programming language and the the wilderlab R package. Please contact us if you would like us to generate API access keys for your organisation, or if you would like any further help.
The wilderlab R package contains functions for importing and exporting eDNA data. To download the package from GitHub, ensure that devtools is installed. The insect package will also be required later on in this tutorial:
if(!("devtools" %in% list.files(.libPaths()))) install.packages("devtools")
if(!("insect" %in% list.files(.libPaths()))) install.packages("insect") Then run:
devtools::install_github("wilderlabnz/wilderlab")
library(wilderlab) When signing up to the Wilderlab API, your unique log in information will be securely sent to you. This will include three access keys: an API access key id, key; a secret access key, secret; and a X-API-Key, xapikey.
Copy and paste this unique information into the appropriate slots in the following code to load them into your R session.
key <- "*****************"
secret <- "***************************************"
xapikey <- "***************************************" Description
Wrapper functions for creating URLs and authorisation headers to download job, sample, taxa, and record information from the connect.wilderlab API.
Usage
get_wilderdata(tb, key, secret, xapikey, JobID = NULL) Arguments
| Argument | Description |
|---|---|
| tb | a character string specifying the table required. Accepeted values are jobs, samples, taxa, and records. |
| key | a string specifying the API access key for the client account. Please contact info@wilderlab.co if you would like access keys generated for your account. |
| secret | a string specifying the API secret access key for the client account. Please contact info@wilderlab.co if you would like access keys generated for your account. |
| xapikey | a string specifying the X-API-Key value for the client account. Please contact info@wilderlab.co if you would like access keys generated for your account. |
| JobID | a 6 digit integer specifying a Wilderlab job number. Required only for accessing the records table. |
Details
The Wilderlab API is designed for clients to access up-to-date eDNA data for their internal data storage platforms and geospatial applications. Clients can access their job, sample, taxon and eDNA records data at any time by querying the API with a valid URL and authorization header. The get_wilderdata function is a wrapper that enables these URLs and headers to be compiled with minimal effort.
Pulling information from the job, samples, and taxa tables is very straightforward. All the information associated with a unique API access key is accessed as a whole:
jobs <- get_wilderdata("jobs", key = key, secret = secret, xapikey = xapikey)
samples <- get_wilderdata("samples", key = key, secret = secret, xapikey = xapikey)
taxa <- get_wilderdata("taxa", key = key, secret = secret, xapikey = xapikey) Pulling from the records table is done on a specified JobID thus multiple calls must be made to get a full records table. After accessing the jobs table, the relevant JobIDs can be iterated over, the corresponding records pulled through the API, and finally the gathered records combined into a complete records table. The following code chunk is an example of how this can be done.
records <- vector(mode = "list", length = nrow(jobs))
for(i in seq_along(records)){
records[[i]] <- get_wilderdata("records", JobID = jobs$JobID[i],
key = key, secret = secret, xapikey = xapikey)
}
records <- do.call("rbind", records) The final step in completing the records table is to add lineage information and sample metadata. This is an optional step but can improve interpretation of the results.
tdb <- taxa[, 1:4]
colnames(tdb) <- c("taxID", "parent_taxID", "rank", "name")
lineages = insect::get_lineage(records$TaxID, tdb)
records$phylum <- sapply(lineages, "[", "phylum")
records$class <- sapply(lineages, "[", "class")
records$order <- sapply(lineages, "[", "order")
records$family <- sapply(lineages, "[", "family")
records$genus <- sapply(lineages, "[", "genus")
records$species <- sapply(lineages, "[", "species")
records$Latitude <- samples$Latitude[match(records$UID,samples$UID)]
records$Longitude <- samples$Longitude[match(records$UID,samples$UID)]
records$ClientSampleID <- samples$ClientSampleID[match(records$UID,samples$UID)] For the purposes of this manual, we will use example access keys as follows. This information will allow us to produce an example of what to expect from connecting to the Wilderlab API. Feel free to try out the API with these access keys first to ensure it is working as expected.
key <- "AKIATVYXGCYLWADFJVEX"
secret <- "SiDvZFUFXlCXK/jeBtHrfRPWMmb8veW6q5+ULuyx"
xapikey <- "7CCm580l5vgeKbalwIEy565uFhbEudTauAq80B38" Jobs
Getting information from the jobs table:
jobs <- get_wilderdata("jobs", key = key, secret = secret, xapikey = xapikey)
jobs JobID SubmissionDate ContactName ContactEmail PurchaseOrder JobReference JobNotes NumberOfSamples AssayPanel MakeDataPublic PassCode JobStatus ResultsLink InvoiceNo
1 601833 2021-07-04 Shaun Wilkinson api@example.com Passive sampler validation experiment 3 Comprehensive panel 1 W1E0638 Complete https://s3.ap-southeast-2.amazonaws.com/wilderlab.results/c03d243992534adcf4ffecd39c43d6e8/WLM601833_250626.xlsx INTERNAL
2 601834 2021-07-04 Shaun Wilkinson api@example.com Passive sampler validation experiment 3 Comprehensive panel 1 W1E0638 Complete https://s3.ap-southeast-2.amazonaws.com/wilderlab.results/a26f9576e52ce92c689070da34865104/WLM601834_250626.xlsx INTERNAL Samples
Getting information from the samples table:
samples <- get_wilderdata("samples", key = key, secret = secret, xapikey = xapikey)
samples samples <- get_wilderdata("samples", key = key, secret = secret, xapikey = xapikey)
samples SID JobID UID CollectionDate CollectedBy ClientSampleID Latitude Longitude VolumeFilteredML DeploymentDuration EnvironmentType TICI TICINoSeqs TICIQuantile TICIVersion ClientNotes AccountName MakeDataPublic Report
1 8145 601833 507875 2021-07-03 Shaun Wilkinson Ruakokoputuna C3 -41.312665 175.449873 1000 River/Stream 105.80 109 0.57 Riverine V1 Control rep 3 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/c62322f1b3162646.html
2 8143 601833 507877 2021-07-03 Shaun Wilkinson Ruakokoputuna C1 -41.312665 175.449873 1000 River/Stream 0.00 0 0.00 NC - Low seq count Control rep 1 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/c62322f1b3162646.html
3 8144 601833 510042 2021-07-03 Shaun Wilkinson Ruakokoputuna C2 -41.312665 175.449873 1000 River/Stream 100.08 159 0.51 Riverine V1 Control rep 2 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/c62322f1b3162646.html
4 8146 601834 510897 2021-07-03 Shaun Wilkinson Ruakokoputuna P1 -41.312665 175.449873 24 River/Stream 100.97 391 0.52 Riverine V1 Passive rep 1 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/0b6f40128711495a.html
5 8147 601834 510898 2021-07-03 Shaun Wilkinson Ruakokoputuna P2 -41.312665 175.449873 24 River/Stream 100.88 381 0.52 Riverine V1 Passive rep 2 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/0b6f40128711495a.html
6 8148 601834 510899 2021-07-03 Shaun Wilkinson Ruakokoputuna P3 -41.312665 175.449873 24 River/Stream 99.81 320 0.50 Riverine V1 Passive rep 3 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/0b6f40128711495a.html Taxa
Getting information from the taxa table:
taxa <- get_wilderdata("taxa", key = key, secret = secret, xapikey = xapikey)
head(taxa, 10) TaxID ParentTaxID Rank Name CommonName MaoriName
1 1 0 no rank root Unidentified
2 2 131567 domain Bacteria Eubacteria
3 6 335928 genus Azorhizobium
4 10 1706371 genus Cellvibrio
5 13 203488 genus Dictyoglomus
6 18 213421 genus Pelobacter
7 20 76892 genus Phenylobacterium
8 22 267890 genus Shewanella
9 29 32015 order Myxococcales Fruiting gliding bacteria
10 31 80811 family Myxococcaceae Records
Getting information from the records table:
records <- vector(mode = "list", length = nrow(jobs))
for(i in seq_along(records)){
records[[i]] <- get_wilderdata("records", JobID = jobs$JobID[i],
key = key, secret = secret, xapikey = xapikey)
}
records <- do.call("rbind", records)
head(records, 10) HID UID TaxID Rank Name CommonName Group Count
1 2557713 507875 10 genus Cellvibrio Bacteria 37
2 2679827 510042 10 genus Cellvibrio Bacteria 43
3 2557718 507875 237 genus Flavobacterium Bacteria 62
4 2679837 510042 237 genus Flavobacterium Bacteria 21
5 2557710 507875 444 family Legionellaceae Bacteria 42
6 2557724 507875 543 family Enterobacteriaceae Bacteria 20
7 2557748 507877 543 family Enterobacteriaceae Bacteria 7
8 2679838 510042 543 family Enterobacteriaceae Bacteria 20
9 2679848 510042 642 genus Aeromonas Bacteria 6
10 2679844 510042 978 genus Cytophaga Bacteria 9 Adding lineage information and sample metadata information into the records table:
tdb <- taxa[, 1:4]
colnames(tdb) <- c("taxID", "parent_taxID", "rank", "name")
lineages = insect::get_lineage(records$TaxID, tdb)
records$phylum <- sapply(lineages, "[", "phylum")
records$class <- sapply(lineages, "[", "class")
records$order <- sapply(lineages, "[", "order")
records$family <- sapply(lineages, "[", "family")
records$genus <- sapply(lineages, "[", "genus")
records$species <- sapply(lineages, "[", "species")
records$Latitude <- samples$Latitude[match(records$UID, samples$UID)]
records$Longitude <- samples$Longitude[match(records$UID, samples$UID)]
records$ClientSampleID <- samples$ClientSampleID[match(records$UID, samples$UID)]
head(records, 10) HID UID TaxID Rank Name CommonName Group Count phylum class order family genus species Latitude Longitude ClientSampleID
1 2557713 507875 10 genus Cellvibrio Bacteria 37 Pseudomonadota Gammaproteobacteria Cellvibrionales Cellvibrionaceae Cellvibrio <NA> -41.312665 175.449873 Ruakokoputuna C3
2 2679827 510042 10 genus Cellvibrio Bacteria 43 Pseudomonadota Gammaproteobacteria Cellvibrionales Cellvibrionaceae Cellvibrio <NA> -41.312665 175.449873 Ruakokoputuna C2
3 2557718 507875 237 genus Flavobacterium Bacteria 62 Bacteroidota Flavobacteriia Flavobacteriales Flavobacteriaceae Flavobacterium <NA> -41.312665 175.449873 Ruakokoputuna C3
4 2679837 510042 237 genus Flavobacterium Bacteria 21 Bacteroidota Flavobacteriia Flavobacteriales Flavobacteriaceae Flavobacterium <NA> -41.312665 175.449873 Ruakokoputuna C2
5 2557710 507875 444 family Legionellaceae Bacteria 42 Pseudomonadota Gammaproteobacteria Legionellales Legionellaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C3
6 2557724 507875 543 family Enterobacteriaceae Bacteria 20 Pseudomonadota Gammaproteobacteria Enterobacterales Enterobacteriaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C3
7 2557748 507877 543 family Enterobacteriaceae Bacteria 7 Pseudomonadota Gammaproteobacteria Enterobacterales Enterobacteriaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C1
8 2679838 510042 543 family Enterobacteriaceae Bacteria 20 Pseudomonadota Gammaproteobacteria Enterobacterales Enterobacteriaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C2
9 2679848 510042 642 genus Aeromonas Bacteria 6 Pseudomonadota Gammaproteobacteria Aeromonadales Aeromonadaceae Aeromonas <NA> -41.312665 175.449873 Ruakokoputuna C2
10 2679844 510042 978 genus Cytophaga Bacteria 9 Bacteroidota Cytophagia Cytophagales Cytophagaceae Cytophaga <NA> -41.312665 175.449873 Ruakokoputuna C2 Issues
If you experience a problem using this software please feel free to raise it as an issue on GitHub.
Environmental DNA (eDNA) testing generates a lot of data. Over the past three years our clients have detected over a million different DNA sequences from thousands of different species. While our primary method of disseminating data is in xlsx format, static result tables do not reflect continuous updates to taxon IDs due to the availability of new reference sequences. Furthermore, static result tables are not always shared between departments, resulting in fragmented data and reporting.
To remedy this, Wilderlab has developed an API (Application Programming Interface) that enables clients to access their data in real time, facilitating the export of eDNA results to environmental data storage platforms such as Kisters and Hilltop.
This tutorial provides a brief introduction to accessing the connect.wilderlab
API using the R programming language and the the wilderlab R package.
Please contact us
if you would like us to generate API access keys for
your organisation, or if you would like any further help.
The wilderlab R package contains functions for importing and exporting eDNA data. To download the package from GitHub, ensure that devtools is installed. The insect package will also be required later on in this tutorial:
if(!("devtools" %in% list.files(.libPaths()))) install.packages("devtools")
if(!("insect" %in% list.files(.libPaths()))) install.packages("insect")
Then run:
devtools::install_github("wilderlabnz/wilderlab")
library(wilderlab)
When signing up to the Wilderlab API, your unique log in information
will be securely sent to you. This will include three access keys: an
API access key id, key; a secret access key,
secret; and a X-API-Key, xapikey.
Copy and paste this unique information into the appropriate slots in the
following code to load them into your R session.
key <- "*****************"
secret <- "***************************************"
xapikey <- "***************************************"
get_wilderdata functionWrapper functions for creating URLs and authorisation headers to download job, sample, taxa, and record information from the connect.wilderlab API.
get_wilderdata(tb, key, secret, xapikey, JobID = NULL)
| Argument | Description |
|---|---|
tb |
a character string specifying the table required.
Accepted values are jobs, samples,
taxa, and records. |
key |
a string specifying the API access key for the client account. Please contact info@wilderlab.co if you would like access keys generated for your account. |
secret |
a string specifying the API secret access key for the client account. Please contact info@wilderlab.co if you would like access keys generated for your account. |
xapikey |
a string specifying the X-API-Key value for the client account. Please contact info@wilderlab.co if you would like access keys generated for your account. |
JobID |
a 6 digit integer specifying a Wilderlab job number. Required only for accessing the records table. |
The Wilderlab API is designed for clients to access up-to-date eDNA
data for their internal data storage platforms and geospatial
applications. Clients can access their job, sample, taxon and eDNA
records data at any time by querying the API with a valid URL and
authorization header. The get_wilderdata function is a
wrapper that enables these URLs and headers to be compiled with minimal
effort.
Pulling information from the job, samples,
and taxa tables is very straightforward. All the
information associated with a unique API access key is accessed as a
whole:
jobs <- get_wilderdata("jobs", key = key, secret = secret, xapikey = xapikey)
samples <- get_wilderdata("samples", key = key, secret = secret, xapikey = xapikey)
taxa <- get_wilderdata("taxa", key = key, secret = secret, xapikey = xapikey)
Pulling from the records table is done on a specified
JobID thus multiple calls must be made to get a full records table.
After accessing the jobs table, the relevant JobIDs can be
iterated over, the corresponding records pulled through the API, and
finally the gathered records combined into a complete records table. The
following code chunk is an example of how this can be done.
records <- vector(mode = "list", length = nrow(jobs))
for(i in seq_along(records)){
records[[i]] <- get_wilderdata("records", JobID = jobs$JobID[i],
key = key, secret = secret, xapikey = xapikey)
}
records <- do.call("rbind", records)
The final step in completing the records table is to add lineage information and sample metadata. This is an optional step but can improve interpretation of the results.
tdb <- taxa[, 1:4]
colnames(tdb) <- c("taxID", "parent_taxID", "rank", "name")
lineages = insect::get_lineage(records$TaxID, tdb)
records$phylum <- sapply(lineages, "[", "phylum")
records$class <- sapply(lineages, "[", "class")
records$order <- sapply(lineages, "[", "order")
records$family <- sapply(lineages, "[", "family")
records$genus <- sapply(lineages, "[", "genus")
records$species <- sapply(lineages, "[", "species")
records$Latitude <- samples$Latitude[match(records$UID,samples$UID)]
records$Longitude <- samples$Longitude[match(records$UID,samples$UID)]
records$ClientSampleID <- samples$ClientSampleID[match(records$UID,samples$UID)]
For the purposes of this manual, we will use example access keys as follows. This information will allow us to produce an example of what to expect from connecting to the Wilderlab API. Feel free to try out the API with these access keys first to ensure it is working as expected.
key <- "AKIATVYXGCYLWADFJVEX"
secret <- "SiDvZFUFXlCXK/jeBtHrfRPWMmb8veW6q5+ULuyx"
xapikey <- "7CCm580l5vgeKbalwIEy565uFhbEudTauAq80B38"
Getting information from the jobs table:
jobs <- get_wilderdata("jobs", key = key, secret = secret, xapikey = xapikey)
jobs
JobID SubmissionDate ContactName ContactEmail PurchaseOrder JobReference JobNotes NumberOfSamples AssayPanel MakeDataPublic PassCode JobStatus ResultsLink InvoiceNo
1 601833 2021-07-04 Shaun Wilkinson api@example.com Passive sampler validation experiment 3 Comprehensive panel 1 W1E0638 Complete https://s3.ap-southeast-2.amazonaws.com/wilderlab.results/c03d243992534adcf4ffecd39c43d6e8/WLM601833_250626.xlsx INTERNAL
2 601834 2021-07-04 Shaun Wilkinson api@example.com Passive sampler validation experiment 3 Comprehensive panel 1 W1E0638 Complete https://s3.ap-southeast-2.amazonaws.com/wilderlab.results/a26f9576e52ce92c689070da34865104/WLM601834_250626.xlsx INTERNAL
Getting information from the samples table:
samples <- get_wilderdata("samples", key = key, secret = secret, xapikey = xapikey)
samples
SID JobID UID CollectionDate CollectedBy ClientSampleID Latitude Longitude VolumeFilteredML DeploymentDuration EnvironmentType TICI TICINoSeqs TICIQuantile TICIVersion ClientNotes AccountName MakeDataPublic Report
1 8145 601833 507875 2021-07-03 Shaun Wilkinson Ruakokoputuna C3 -41.312665 175.449873 1000 River/Stream 105.80 109 0.57 Riverine V1 Control rep 3 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/c62322f1b3162646.html
2 8143 601833 507877 2021-07-03 Shaun Wilkinson Ruakokoputuna C1 -41.312665 175.449873 1000 River/Stream 0.00 0 0.00 NC - Low seq count Control rep 1 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/c62322f1b3162646.html
3 8144 601833 510042 2021-07-03 Shaun Wilkinson Ruakokoputuna C2 -41.312665 175.449873 1000 River/Stream 100.08 159 0.51 Riverine V1 Control rep 2 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/c62322f1b3162646.html
4 8146 601834 510897 2021-07-03 Shaun Wilkinson Ruakokoputuna P1 -41.312665 175.449873 24 River/Stream 100.97 391 0.52 Riverine V1 Passive rep 1 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/0b6f40128711495a.html
5 8147 601834 510898 2021-07-03 Shaun Wilkinson Ruakokoputuna P2 -41.312665 175.449873 24 River/Stream 100.88 381 0.52 Riverine V1 Passive rep 2 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/0b6f40128711495a.html
6 8148 601834 510899 2021-07-03 Shaun Wilkinson Ruakokoputuna P3 -41.312665 175.449873 24 River/Stream 99.81 320 0.50 Riverine V1 Passive rep 3 Wilderlab NZ Ltd 1 https://s3.ap-southeast-2.amazonaws.com/wilderlab.openwaters/reports/0b6f40128711495a.html
Getting information from the taxa table:
taxa <- get_wilderdata("taxa", key = key, secret = secret, xapikey = xapikey)
head(taxa, 10)
TaxID ParentTaxID Rank Name CommonName MaoriName
1 1 0 no rank root Unidentified
2 2 131567 domain Bacteria Eubacteria
3 6 335928 genus Azorhizobium
4 10 1706371 genus Cellvibrio
5 13 203488 genus Dictyoglomus
6 18 213421 genus Pelobacter
7 20 76892 genus Phenylobacterium
8 22 267890 genus Shewanella
9 29 32015 order Myxococcales Fruiting gliding bacteria
10 31 80811 family Myxococcaceae
Getting information from the records table:
records <- vector(mode = "list", length = nrow(jobs))
for(i in seq_along(records)){
records[[i]] <- get_wilderdata("records", JobID = jobs$JobID[i],
key = key, secret = secret, xapikey = xapikey)
}
records <- do.call("rbind", records)
head(records, 10)
HID UID TaxID Rank Name CommonName Group Count
1 2557713 507875 10 genus Cellvibrio Bacteria 37
2 2679827 510042 10 genus Cellvibrio Bacteria 43
3 2557718 507875 237 genus Flavobacterium Bacteria 62
4 2679837 510042 237 genus Flavobacterium Bacteria 21
5 2557710 507875 444 family Legionellaceae Bacteria 42
6 2557724 507875 543 family Enterobacteriaceae Bacteria 20
7 2557748 507877 543 family Enterobacteriaceae Bacteria 7
8 2679838 510042 543 family Enterobacteriaceae Bacteria 20
9 2679848 510042 642 genus Aeromonas Bacteria 6
10 2679844 510042 978 genus Cytophaga Bacteria 9
Adding lineage information and sample metadata information into the records table:
tdb <- taxa[, 1:4]
colnames(tdb) <- c("taxID", "parent_taxID", "rank", "name")
lineages = insect::get_lineage(records$TaxID, tdb)
records$phylum <- sapply(lineages, "[", "phylum")
records$class <- sapply(lineages, "[", "class")
records$order <- sapply(lineages, "[", "order")
records$family <- sapply(lineages, "[", "family")
records$genus <- sapply(lineages, "[", "genus")
records$species <- sapply(lineages, "[", "species")
records$Latitude <- samples$Latitude[match(records$UID, samples$UID)]
records$Longitude <- samples$Longitude[match(records$UID, samples$UID)]
records$ClientSampleID <- samples$ClientSampleID[match(records$UID, samples$UID)]
head(records, 10)
HID UID TaxID Rank Name CommonName Group Count phylum class order family genus species Latitude Longitude ClientSampleID
1 2557713 507875 10 genus Cellvibrio Bacteria 37 Pseudomonadota Gammaproteobacteria Cellvibrionales Cellvibrionaceae Cellvibrio <NA> -41.312665 175.449873 Ruakokoputuna C3
2 2679827 510042 10 genus Cellvibrio Bacteria 43 Pseudomonadota Gammaproteobacteria Cellvibrionales Cellvibrionaceae Cellvibrio <NA> -41.312665 175.449873 Ruakokoputuna C2
3 2557718 507875 237 genus Flavobacterium Bacteria 62 Bacteroidota Flavobacteriia Flavobacteriales Flavobacteriaceae Flavobacterium <NA> -41.312665 175.449873 Ruakokoputuna C3
4 2679837 510042 237 genus Flavobacterium Bacteria 21 Bacteroidota Flavobacteriia Flavobacteriales Flavobacteriaceae Flavobacterium <NA> -41.312665 175.449873 Ruakokoputuna C2
5 2557710 507875 444 family Legionellaceae Bacteria 42 Pseudomonadota Gammaproteobacteria Legionellales Legionellaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C3
6 2557724 507875 543 family Enterobacteriaceae Bacteria 20 Pseudomonadota Gammaproteobacteria Enterobacterales Enterobacteriaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C3
7 2557748 507877 543 family Enterobacteriaceae Bacteria 7 Pseudomonadota Gammaproteobacteria Enterobacterales Enterobacteriaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C1
8 2679838 510042 543 family Enterobacteriaceae Bacteria 20 Pseudomonadota Gammaproteobacteria Enterobacterales Enterobacteriaceae <NA> <NA> -41.312665 175.449873 Ruakokoputuna C2
9 2679848 510042 642 genus Aeromonas Bacteria 6 Pseudomonadota Gammaproteobacteria Aeromonadales Aeromonadaceae Aeromonas <NA> -41.312665 175.449873 Ruakokoputuna C2
10 2679844 510042 978 genus Cytophaga Bacteria 9 Bacteroidota Cytophagia Cytophagales Cytophagaceae Cytophaga <NA> -41.312665 175.449873 Ruakokoputuna C2
If you experience a problem using this software please feel free to raise it as an issue on GitHub.