-
Notifications
You must be signed in to change notification settings - Fork 2
Home
The wiki is for technical documentation. See also user guide
- Scope
- System Overview
- Variants
- Patients
- Annotation
- Genes
- Analysis
- Classification
- ClinVar Export
- Sequencing Data
- Authentication
- Database
- Front End
- Install
- Configuration
- Maintenance
- Coding Style
- Testing
VariantGrid aims to allow biologists and medical scientists to perform filtering, visualisation and curation of variant (ie VCF derived) data themselves via a graphical interface.
We aim to integrate with existing mapping & variant calling pipelines, LIMS and patient record systems in labs.
- Django
- Postgres
- Celery - for async worker jobs
- Redis - cache and distributed key/value store
We make a number of technical trade-offs:
- System designed for 10-100k samples, mostly exomes
- Multi-sample analysis is done on samples from same VCF (ie we do not store bams or gVCFs)
- Optimise for bioinformatician productivity vs raw performance
See also:
Variants from different VCFs are linked to a single database record. VCF sample data (zygosity/allele depth etc) are stored in partitioned tables, and packed into a single row (to reduce joins on multi-sample queries)
- Variants and Alleles - database design
- Genotype Queries
- VCF import
- Liftover - converting between genome builds
- VEP - Ensembl Variant Effect Predictor (used for variant annotation)
- Variant Annotation
- Annotation Column Versions
- Genes and Transcripts - How to work across RefSeq/Ensembl, multiple genome builds etc
- Gene and Transcript version data
Users can make custom variant filters graphically by constructing a directed acyclic graph of Analysis Nodes which represent sources or filters of variants.
These filters work entirely in SQL (abstracted via Django Q objects) and so can be combined easily using logical operators and work in real time.
See https://shariant.readthedocs.io
Future work:
Sequencing and QC is handled in the "seqauto" app.
Future work:
Issue #76: SeqAuto API - Code was written for a diagnostic intranet, runs jobs to crawl disks to load QC files and import VCFs. Move this code into scripts which call APIs.
- Users - adding / managing etc
- Users, permissions and groups - Per object permissions (via Django Guardian)
- LDAP Setup - Use Windows Active Directory logins on an intranet
- Keycloak Setup
- Keycloak Integration
- HTML/Template Style guide
- Web CSS Style Guide
- Customising appearance - how to change the appearance across different deployments
- Install from source/scratch
- Clone a VM (AWS, VirtualBox, NECTAR, NCBI instances)
- Upgrading - how to upgrade a server
- Database backup and restore
- Developer Setup and Tips
- Troubleshooting