ADC API Limits and Thresholds#
Repertoire endpoint query fields#
It is expected that the number of repertoires in a data repository will never become so large such that queries become computationally expensive. A data repository might have thousands of repertoires across hundreds of studies, yet such numbers are easily handled by databases. Based upon this, the ADC API does not place limits on the repertoire endpoint for the fields that can be queried or the operators that can be used.
Rearrangement endpoint query fields#
Unlike repertoire data, data repositories are expected to store billions
of rearrangement records, where performing “simple” queries can quickly
become computationally expensive. Data repositories are encouraged to
optimize their databases for performance. Therefore, based upon a set of
query use cases provided by immunology experts, a minimal
set of required fields was defined that can be queried. These required
fields are described in the following Table. The fields also have the
AIRR extension property adc-query-support: true
in the AIRR Schema.
Field(s) |
Description |
---|---|
sequence_id, repertoire_id, sample_processing_id, data_processing_id, clone_id, cell_id |
Identifiers; sequence_id allows for query of that specific rearrangement object in the repository, while repertoire_id, sample_processing_id, and data_processing_id are links to the repertoire metadata for the rearrangement. The clone_id and cell_id are identifiers that group rearrangements based on clone assignment and single cell assignment. |
locus, v_call, d_call, j_call, c_call, productive, junction_aa, junction_aa_length |
Commonly used rearrangement annotations. |
Data repository specific limits#
A data repository may impose limits on the size of the data returned. This might be because of limitations imposed by the back-end database being used or because of the need to manage the load placed on the server. For example, MongoDB databases have document size limits (16 megabytes) which limit the size of a query that can be sent to a repository and the size of a single repertoire or rearrangement object that is returned. As a result a repository might choose to set a maximum query size.
Size limits can be retrieved from the info
endpoint. If the data
repository does not provide a limit, then no limit is assumed.
Field |
Description |
---|---|
|
The maximum value for the |
|
The maximum size of the JSON query object. |