The BeaconPlus environment utilizes the Beacon protocol for federated genomic variant queries, extended by methods discussed in the Beacon API development and custom extensions which may - or may not - make it into the Beacon specification but help to increase the usability of the Progenetix resource.
While the specification in principle follows the Beacon specification, and offers a minimal method to access it, this optioned isn’t used in practice due to the “forward looking” nature of some of the BeaconPlus methods.
The query string is deparsed into a hash reference, in the “$query” object, with the conventions of:
key=val1&key=val2,val3would be deparsed to
key = [val1, val2, val3]
The treatment of each attribute as pointing to an array leads to a consistent, though sometimes awkward, access to the values; even consistently unary values have to be addressed as (first) array element.
Queries with multiple options for the same attribute are treated as logical “OR”.
The construction of the query object depends on the detected parameters: