Context

The BacDive Web Service accepts 4 types of requests and replies in 3 different ways:

request type unambiguous? JSON-reply
taxon no URL(s) of matching strain(s)
sequence yes URL of matching strain
culturecollectionno yes URL of matching strain
bacdive_id yes dataset of that strain

The advanced search has an option called “Download list of BacDive Ids”, which returns a text file with one bacdive_id per line.

Decision

Because:

  1. we assume that most users want to analyse the strain datasets, not lists of URLs or IDs, and
  2. the request types seem to form a funnel from search to URL/ID to dataset,

we will ensure that all main functions return full dataset(s) by default.

Status: Removed in v0.9.0

Consequences

A uniform data structure was needed and implemented, see #31. In case IDs need to be retrieved, retrieve_data() and retrieve_search_results() either need an extra parameter for that, or a retrieve_IDs() function needs to be added (see #54)