User Stories
This section explains how SODAR Core based web applications are built on a very high level. We assume that you have read the For the Impatient section and are basing your web application on the SODAR Core example site as described there. Also, we assume that you have intermediate experience with Django and Python programming.
Please also note that the term web app refers to the overall Django site, that is what the user sees and what is commonly referred to as a “web application” or “dynamic website”.
The term Django app refers to the technical term within Django development, that is a “Django app Python package”.
Flow Cell Data Management
On a very high level here is how SODAR Core was used to built Digestiflow (cf. See It In Action). You can find the source code in the Github project.
The aim is to manage the meta data for sequencers and flow cells.
SODAR Core App Configuration
Configure your Django site to use the
projectroles
SODAR Core Django app. Each SODAR Core “project” corresponds to one site and this would allow to have multiple groups manage their sequencing meta data in the same web app instance.Configure the
timeline
SODAR Core Django app to provide an audit trail of changes to data.Configure the
filesfolders
SODAR Core Django app to manage small file uploads in various places.
Custom Apps
The following description uses domain-specific language from the high-throughput sequencing domain. While this makes the section harder to understand to the layperson, explaining the different terms is out of scope in this manual.
Write the
sequencers
app for management of sequencing machines.Write the
barcodes
app for management of the barcode adapter sets.Write the
flowcells
app for managing flow cells and libraries. This app depends onsequencers
andbarcodes
for these apps’ Django models.
Variant Analysis
On a very high level here is how SODAR Core was used to built VarFish (cf. See It In Action). You can find the source code in the Github project.
The aim is to provide an data analysis web application.
SODAR Core App Configuration
Configure your Django site to use the
projectroles
SODAR Core Django app. Each SODAR Core “project” corresponds to one site and this would allow to have multiple groups manage their sequencing meta data in the same web app instance.Configure the
timeline
SODAR Core Django app to provide an audit trail of changes to data.Configure the
bgjobs
SODAR Core Django app to manage asynchronous jobs, such as long-running queries.
Custom Apps
The following description uses domain-specific language from the medical genetics domain. While this makes the section harder to understand to the layperson, explaining the different terms is out of scope in this manual.
Write various Django apps for importing background data such as population frequencies from the gnomAD project, genes, etc.
Write the
variants
app to implement the actual variant filtration. This is the core part of Varfish and provides the different Django models, views, and templates to actually perform the variant filtration.Write the
importer
app to implement efficient bulk import of variants from annotated TSV files.