On CoV-Spectrum, a popular feature are the collections. Any user can create a collection which mainly consists of
- Title
- Description
- List of variant entry where each only consists of
- Name
- A normal variant query or an advanced variant query (the SARS-CoV-2-specific query, not the new advanced query)
- Description
We want to have this feature for all of GenSpectrum, for all organisms.
Data structure / API
Like with CoV-Spectrum collections, we want to support multiple ways of specifying a variant. This can either be a lineage filter + a set of mutations, or an entirely custom advanced query. For the advanced queries, not all filters are valid, for example, you shouldn't be able to filter on collection dates.
In the database, we want to store these different objects as a tagged union.
Authentication
Unlike with CoV-Spectrum, for GS we want to use user account authentication, starting with GitHub as our identity provider.
We want to still implement a mechanism where users can easily collaborate on collections, either by having a collection-admin create edit tokens, or inviting other users as collaborators (Similar to how in Google Docs you can invite someone specifically, or share a general edit link).
We also want to offer a way to authenticate/provide a token that's easy to do automated. We know that users use scripts to update collections, and we want to continue to support this.
We also considered login with ORCID: #1046
User interface
To be refined
Steps
To generalize the feature for whole GenSpectrum / different pathogens, we need:
- Implement an API to create/edit collections in the backend
- Define an authentication mechanism (Do we do it the same way as with the CoV-Spectrum collections?)
- Create a web interface to create and maintain collections
On CoV-Spectrum, a popular feature are the collections. Any user can create a collection which mainly consists of
We want to have this feature for all of GenSpectrum, for all organisms.
Data structure / API
Like with CoV-Spectrum collections, we want to support multiple ways of specifying a variant. This can either be a lineage filter + a set of mutations, or an entirely custom advanced query. For the advanced queries, not all filters are valid, for example, you shouldn't be able to filter on collection dates.
In the database, we want to store these different objects as a tagged union.
Authentication
Unlike with CoV-Spectrum, for GS we want to use user account authentication, starting with GitHub as our identity provider.
We want to still implement a mechanism where users can easily collaborate on collections, either by having a collection-admin create edit tokens, or inviting other users as collaborators (Similar to how in Google Docs you can invite someone specifically, or share a general edit link).
We also want to offer a way to authenticate/provide a token that's easy to do automated. We know that users use scripts to update collections, and we want to continue to support this.
We also considered login with ORCID: #1046
User interface
To be refined
Steps
To generalize the feature for whole GenSpectrum / different pathogens, we need: