As previously described, Beacon v2 is an specification for sharing/discovery of data. Thus, a priori, it has nothing to do with any particular software, database or computer language.
Which are the implementation options?¶
Two elements are needed to implement (or "light") a Beacon v2:
- An internal database (where the biological data are stored).
- A REST API that provides a standardized way to send queries and receive responses (containing yes/no, counts or data).
In this section we are going to present three implementation options, going from no involvement/delegate to CRG software to full delegate to CRG software.
Let's say that you have your data organized and structured in a database (e.g. SQL or NoSQL which may or may not have an internal layer to get access to it). Let's also say that you have the resources (and knowledge) to read the "instructions" (i.e., Beacon v2 specification) to build an API on top of your existing solution. If that's your case, then this is the option for you. You are one of what we call Beacon v2 API implementers. We have a few of them already in the Beacon v2 Service Registry:
- European Genome-Phenome Archive Beacon
- Cafe Variome
byconPython stack driving full featured v2 under the Progenetix resource
- Fundacion Progreso y Salud Beacon v2 API
- CNAG Beacon v2 API
Let's say that you have a solution to organize your data but you don't have the resources (or knowledge) to implement a Beacon v2 API yourself. In some pilot studies, CRG has been helping individual institutions to build their Beacon v2 API. However, this option is not practical and does not scalate well so you may want to check Option C.
Let's say that you have your data somewhat structured (you may have Excel files, PDFs, VCFs... or maybe a SQL database, or an EHR solution with phenoclinic information).
You want to "beaconize" your data to be part of a larger ecosystem, but you're unsure where to start, and/or don't want to invest a lot of resources because you are still unsure if the whole thing will pay off. Well, you're a not alone! Most centers are in this situation. For that reason at CRG we developed the Beacon v2 Reference Implementation.
People that download and install B2RI or another pre-packaged solution are named Beacon v2 deployers.