HTS Bioinf - Bioinformatics Group roles
This document describes the different roles and responsibilities in the bioinformatics group.
Bioinformatics coordinator
Responsible for overall coordination of work in the group.
- Develop a vision for the bioinformatics group and translate this into concrete projects
- Recruit competent staff matching the needs of the group
- Maintain overview of current and future activities, and communicate these to the group
- Manage/supervise most major projects
- Understand requirements, create overall plans and draft specifications
- Assign resources
- Follow up against goals
- Conduct regular group meetings and one-on-one meetings with individuals in the group
- Communicate with management
- Bi-weekly coordination meetings with GDx unit leader
- Monthly coordination meetings with SLD section leader and GDx unit leader
- Participate in external projects work requiring broad overview
- Manage external collaborations and develop relationships in the field
- Research partners
- USIT, OUS KLM, OUS IKT
- Other hospitals, Norbioinf, NACG, GA4GH, etc.
Required competencies:
- Broad overview of bioinformatics field, technologies, methods
- Articulation and communication of vision
- Good overall understanding of diagnostic process and role/opportunity for bioinformatics
- General overview of the infrastructure, understanding of pipelines and variant interpretation processes
- Project/process management (e.g. creating a work breakdown structure, overall issue management)
- Structure/progress/quality control tracking with relevant tools
- Knowledge of staff skills/interests and schedules
- At home in OUS (knowledge of how it works, including how to promote/improve/use existing resources)
- Proactive communication (for external parties & management)
Head of engineering
Responsible for creating and implementing best practice engineering vision and strategy, coaching the development team collectively and individually.
- Oversee product development and delivery (top-level and day-to-day)
- Define project strategy, help the group translating the stakeholder needs into requirements and technical architecture, and ultimately to products
- Follow up work, provide guidance to the engineering team on best practices, code review, system architecture, etc., and improve development processes
- Establish and maintain quality standards (tests, documentation, etc.)
- Closely follow industry benchmarks and own the process of knowledge sharing
- Define and develop the technology stack and software architecture
- Participate in recruitment
- Set up and support the engineering team, identify the team's needs for development and training, help them become better engineers
Required competencies:
- Experience in operating and influencing at a strategic level
- Knowledge and deep technical understanding of software development industry and processes
- Leadership and management skills with the ability to optimise team performance and development
Bioinformatics operations coordinator
The coordination of operations (ops) involves a set of responsibilities delegated by the Head of Unit to ensure that bioinformatics operations are run with high standards, according to our SLA (dokid 147443), our goals and action plan (dokid 142070), and in agreement with NS-EN ISO 15189:2012.
The responsibilities falling under bioinformatics operations coordination are outlined below.
Coordinating the operations team
- Follow up of ongoing tasks on a daily basis and in regular operations team meetings. Oversee the distribution of incoming issues related to operations (all tickets are assigned, weekly reviews), hereunder balance the need for efficient problem solving with the need for knowledge transfer.
- Long-term planning, including rotation of duty shifts* and synchronization of activities with bioinformatics coordinator and system developers.
Securing production capacity and robustness
- Maintain an overview of the status of all production systems.
- Monitor* and follow up on production capacity (network transfers, disk spaces, licenses etc.)
- Identify systematic pain points and escalate issues as necessary.
Ensuring staffing is adequate to meet our current and future needs
- Recruitment* and onboarding in collaboration with Head of Unit
- Training* and supervision* of new employees in the operations team
- Identify opportunities for and in collaboration with the Head of Unit facilitate development of new skills for both senior and junior operations team members.
Managing quality and risk
- Continuously evaluate risks of failure, escalate issues as necessary, update relevant documentation*, such as Achilles and FMEA.
- Ensure that procedures* and group role descriptions for operations are up-to-date and relevant.
- Drive continuous improvements to organization and collaboration, documentation and routines, competencies etc., and inspire the team to develop a proactive and forward-thinking mindset.
Stakeholder communication
- Closely follow communication with our users about operational issues and changes that affect users.
- Maintain contact with GDx lab, NorSeq and bioinformatic development projects (internal and external) that affect operations.
- Provide regular operations status reports (to the Head of Unit and in GDx unit meetings, otherwise as required).
- Ensure that the handover of new or updated software/workflows to operations is smooth (training, documentation, risk evaluation, endringskontroll).
* The operations coordinator can, in agreement with the Head of Unit, delegate responsibilities marked with an asterisk.
Required competencies:
- Good understanding of the operations team members, their competencies and capacities
- Good connection to the group and lab staff
- Deep knowledge of production procedures, lab system, and variant calling pipelines
- General understanding of ELLA (e.g. generate new passwords for users, delete analysis, etc.)
- Ability to do quick investigations (locate the logs and communicate to relevant people)
- Good knowledge of the technology of the system
- Knowledge of where is what; from sequencer to ELLA, how the pipelines and infrastructure are organized (configs, paths..)
- Understanding of the sequencing process (helpful but not required)
Production duty responsible
The detailed responsibilities of this rotating role are described in other documents, but the main ones are:
- Run and monitor production pipelines
- Update annotation data according to HTS Bioinf - Update of external annotation data
- Provide necessary quality and performance data when validating new versions of software or instruments
Required competencies:
- See procedure for "Training for running pipeline"
- Competency on pipeline and ELLA production
- Diagnostic workflow
- Location of logs
- How to start and stop production
- How to update annotation data
Production automation engineer
Responsible for ensuring smooth running and support for future development of production systems.
- Identify opportunities for automation and develop solutions that scale production
- Maintain the fully-automated production pipeline
- Be main knowledge person of LIMS and lab systems
Required competencies:
- Automation and monitoring
- Systems integration
- Deep knowledge of Clarity LIMS (workflow, protocol, step, etc.) and Clarity API (used for automation)
- General understanding of the lab processes
- Knowledge of NSC IT infrastructure
Release coordinator
Responsible for coordination of pipeline repositories releases.
- Plan and prepare releases (parts of this work can be delegated to others)
- Content of a specific release (issue grooming with respect to releases)
- Versioning and tags
- Release schedule and date
- Deployment to production
- Ensure CI tests run in a production-like staging environment before release
- Communicate releases to all stakeholders
- Ensure affected documentation is updated
- Work with SK to improve the release process and the related paperwork ("Endringskontroll" etc.)
- Ensure the procedures are followed for updates to production systems
- Train others to increase redundancy
Required competencies:
- Deep knowledge of production procedures and pipelines, the technology of the system (esp. infrastructure, interdependencies, databases, credentials needed) and version control
- Deep knowledge of CI pipelines and staging/production infrastructure/environment
- Trigger the various CI tests
- Create release artifacts (vcpipe, reference data and singularity images)
- Deploy the new pipeline and restart the services
- Documentation writing skill
- Ability to fill an "Endringskontroll"
System administrator
Responsible for the continuous functioning of the infrastructure.
- Maintain and develop the infrastructure used for development and testing
- Development servers
- Cloud services (Gitlab, DigitalOcean, Slack, AWS)
- Maintain production infrastructure
- Diagnostic part of NSC
- p22 in TSD (currently delegated to Tony)
- General system administration of physical and virtual systems (VMs)
- Install and maintain hardware
- Keep systems patched and up to date
- Monitor the system capacity (storage, compute)
- User administration
- Keep main file system directories clean
Required competencies:
- System administration of Linux-based systems
- Red Hat and package management: yum / dnf, rpm
- Ubuntu
- Virtualization software like VMWare and Docker/Singularity containers
- Hardware
- RAID arrays, LLVM / LVM - software RAID / partition management
- Networks
- Deep knowledge of local infrastructure
- Operational knowledge of pipelines ecosystem
- Programming (advanced and versatile Bash, Perl, Python)
Developer
Maintain, improve and implement new features in pipelines, and/or ELLA and other internal tools.
- Implement new features/modules
- Refactor existing code
- Write good documentation
- Follow development practices of the group. See Software development and review procedure.
- Create and update tests
- CI/CD, unit testing, end-to-end / E2E testing
- Investigate and solve bugs in production (conduct investigations)
- Ensure that third-party software not directly related to variant calling but used in production systems is patched and up to date (operating system, Docker, Nextflow, programming languages and core libraries (JavaScript, Perl, Python, shells, scripts), in-house source code updates in Gitlab)
Required competencies:
- vcpipe and bioinformatic analysis focus
- Bash, Nextflow, Python, additional as needed
- ELLA and full-stack focus
- Backend: Python, Bash
- Frameworks: FastAPI, Flask, Pydantic, Pytest, SQLAlchemy, Supervisor
- Frontend: JavaScript, HTML, CSS/SCSS
- Frameworks: CerebralJS, AngularJS
- Backend: Python, Bash
- Technologies / platforms
- Container systems: Docker, Singularity
- VCS / version control system: git
- Make
- CI/CD automated testing / artifacts (Gitlab CI in particular)
- Databases: PostgreSQL, SQLite3
- Deep knowledge of systems architecture (of respective part or related tech)
- Knowledge of bioinformatics (depends on the task - basic to very good)
- Knowledge of data formats and standards (e.g FASTQ, BAM, BED, GFF, VCF)
Product owner
Manage and coordinate development and user support for respective software product.
- Understand and create issues based on user needs
- Align stakeholders around the vision of the product
- Manage development plan (prioritize, assign and follow up issues; based on user needs, department goals and development capacity)
- Provide user training and support, maintain user manuals
- Manage and coordinate user testing and documentation for new releases
Required competencies:
- Very good understanding of the domain (genetic diagnostics) and diagnostic workflows
- Basic knowledge of our tech in systems with focus on possibilities and interconnections
- Good overview of personnel resources
- Ability to manage a software development project
- Experience with testing and usability
- Good communication and interpersonal skills
Tech lead (System owner)
Responsible for a larger software system or specific repositories.
- Keep repository and documentation clean, healthy and up to date
- Coordinate releases together with release coordinator
- Decide if/when owner must approve an MR
- Keep CI tests comprehensive and green
- Overview issues, although not responsible for them
- Ensure redundancy in system know-how
- Ensure that third-party software is patched and up to date. Follow development and initiate work to apply updates when necessary
Verification and Validation Responsible
Oversee verification and validation and write relevant documentation when changes are done in the unit. Relevant changes could be in IT systems, bioinformatic pipelines, infrastructure and methods.
Required competencies:
A 'Kompetanseplan' in 'Kompetanserportalen' describes the training required for the role.
Responsible role holders
Role | Role holder | Deputy |
---|---|---|
Bioinformatics coordinator | Tony Håndstad | |
Bioinformatics operations coordinator | Yvan Strahm | |
Production automation engineer | Xuyang Yuan | Erik Severinsen |
Release coordinator automation | Xuyang Yuan | Production duty responsible |
Release coordinator variant calling | Ying Sheng | Production duty responsible |
Release coordinator annotation | Ksenia Lavrichenko | Production duty responsible |
Release coordinator interpretation | Morten Cristoph Eike | Core developer ELLA |
System administrator | - | Daniel Delatre |
Verification and Validation | Ying Sheng | Erik Severinsen |
System experts
System | Experts |
---|---|
Lab automation | Xuyang Yuan, Erik Severinsen, Saurabh Bansod |
Variant calling | Ying Sheng, Xuyang Yuan, Yvan Strahm, Sjur Urdson Gjerald |
Annotation | Ksenia Lavrichenko, Francesco Bettella, Sjur Urdson Gjerald |
Interpretation | Øyvind Evju, Francesco Bettella, Vetle Simensen |
Documentation | Tony Håndstad. Ksenia Lavrichenko, Francesco Betella, Morten Cristoph Eike |
Data sharing | Tony Håndstad, Vetle Simensen |
------------------- | ----------------------------------------------------------------------------- |
Helpdesk | Marieke Cecilia van Eggelen, Production duty responsible |
TSD infrastructure | Tony Håndstad, Francesco Betella |
NSC infrastructure | NSC bioinformaticians, Xuyang Yuan, Yvan Strahm, Erik Severinsen, Ying Sheng |
System and product owners for specific repositories
Repository | Role | Responsible |
---|---|---|
tsd-import | Tech lead | Xuyang Yuan |
vcpipe and related repositories | Tech lead | Ying Sheng |
ella-anno, anno-targets | Product owner | Ksenia Lavrichenko |
ella-anno, anno-targets | Tech lead | Francesco Bettella |
svtools, sv-pack | Tech lead | Sjur Urdson Gjerald |
Gene panel builder | Product owner | Morten Cristoph Eike |
Gene panel builder | Tech lead | Francesco Bettella |
ELLA | Product owner | Morten Cristoph Eike |
ELLA | Tech lead | Øyvind Evju |
VARDE | Tech lead | Vetle Simensen |
-------------------------------- | --------------- | --------------------- |
Maestro | Tech lead | Saurabh D. Bansod |
Maestro front-end | Product owner | Morten Cristoph Eike |
Steps | Tech lead | Tony Håndstad |