HTS Bioinf - Software administration
This document specifies the responsibilities for administration (forvaltningsansvar) of software used in the diagnostic pipeline and for IT systems used as part of development and testing of the pipeline.
The bioinformatics group has two roles with responsibilities for third-party software.
- Pipeline software responsible : Responsible for third party bioinformatics software directly used in the diagnostic pipelines, e.g.:
- Dragen, GATK/Picard, BWA, Ensembl VEP
- Nextflow.io
- Supporting software responsible: Responsible for all other software, e.g.:
- The OS of our development servers.
- Gitlab : source code repository with extra features such as code reviews and running tests.
- Docker : system for running virtual servers used in testing on the above servers
- Jira : issue tracking and software management, hosted externally at ousamg.atlassian.net
- The programming languages (Python, Perl, JavaScript, shell scripts) and core language libraries.
Continuous monitoring of software updates
The responsibility includes identifying when third-party software or external IT systems should be updated and make sure that the update doesn't introduce errors. The responsible persons should be member of relevant mailing lists and/or read news/homepage of the software covered by his/her role. Any changes relevant for security or correctness or that introduce new features useful for our use should be considered. If critical updates (e.g. serious bugs that can affect analysis quality) are released, then the bioinformatics group should be notified and the update be applied as soon as possible.
Validation of changes to third-party software
To reduce the risk of introducing defects into production, we:
- run a set of automated tests in our test environment after each change
- run the pipeline using a reference sample and compare the result to a reference
- aim to have separate deploys for upgrades to third-part software and for our own code changes
Separate deploys are sometimes not possible when software upgrade also requires changes to our own code or configuration. For more info on validation see "HTS Bioinf - Process for updates to production pipelines".
Since any changes in the supporting software doesn't affect the diagnostic results, the changes don't need a formal validation. Also the changes can often be reverted.