Skip to content

HTS Bioinf - Gene panel builder process

The gene panel builder (GPB) is a tool designed for the effective creation, maintenance, update and storage of panels of genes with clinical relevance.

Three user categories are expected to be be involved in the gene panel building process:

  • Bioinformaticians: Run CLI tasks to update reference data and export panels as files to be deployed in pipelines and interpretation software.
  • Lab doctors: Define the composition of the panels in terms of genes and regions; curate genes and regions modes of inheritance whenever needed.
  • Molecular biologists: Select appropriate default transcripts and ensure the technical quality of the analyses (sufficient coverage, etc.).

Process for automatic and manual updates

The intention of GPB is to allow a simple and lean interaction between the different user categories and to make it easy to version-control the gene panels, keep them up to date with public databases, and review any changes before they are deployed to production.

GPB keeps reference data and panel designs locally stored within a database. Regularly, for example every quarter, the reference data underlying GPB are refreshed and panels are updated with any changes (i.e., a new build) as a result. The process is described below (see also "Update external reference data" and "Export and deploy gene panels" for step by step guides).

Step 1 - Update reference data and make new drafts (automatic updates only)

Users are notified of the incoming update of reference data like PanelApp panels, NCBI transcripts, and OMIM modes of inheritance. The notification is necessary as panels can change as a result of the update process. A bioinformatician then carries out the update. This is done with a simple CLI command that downloads data from various API/FTP services on the Internet and updates the database (see GPB technical docs for details).

After the reference data are updated, the bioinformatician runs a second CLI command that exports the latest versions of all panels as files and a third one that compares them to their extant production counterparts to generate a so-called "diff report".

The bioinformatician sends the diff report to the doctors to inform them of any pending changes.

Step 2 - Review of changes and versioning

The front page of the GPB UI lists all panels, including drafts. A doctor must inspect all panels with a reported diff, newly created or updated, review the latter in the separate diff report received from the bioinformatician, and perform any necessary changes. For all draft panels, the doctor finally presses Submit, bumping each draft version to the latest version + 1 minor. If there are significant changes, for example if genes are added or removed in the new version, the doctor has the option to bump the major version instead of the minor by ticking Bump major version before clicking Submit.

When all panels have been processed, the bioinformatician exports the latest versions of all panels once again (this time without prior update of the reference data). A new final diff report is produced and added for reference as an attachment to a change management document (Norwegian: "Endringskontroll") which is then approved by the doctors.

Step 3 - Deployment

A bioinformatician pushes the exported panel files to a version-controlled "gene panel store" repository, applies a new release tag, checks it out and deploys it into production systems where pipelines and downstream services that depend on these files can access them. Finally, gene panel procedures, ordering portals (Norway: "Genetikkportalen"), and hospital homepages are updated with any relevant changes.

sequenceDiagram
actor Bioinf
actor Doctor
participant GPBbackend
participant GPBfrontend
participant GPBstore
participant InternetDB
link GPBstore: Link to repo @ https://gitlab.com/alleles/genepanel-store

Bioinf->>Doctor: Notify "update"
Bioinf->>GPBbackend: CLI Update data
GPBbackend->>InternetDB: Get data from API/FTP
InternetDB-->>GPBbackend: updated data
Bioinf->>GPBbackend: CLI Export panels
Bioinf->>GPBbackend: CLI Diff
GPBbackend-->>Bioinf: diff report
Bioinf->>GPBbackend: Create draft copies
Note over GPBbackend: One draft copy of each panel with diff is created
Bioinf-)Doctor: Send diff report
Doctor->>GPBfrontend: List all draft panels
loop For all draft panels
    Note over GPBbackend: Doctor reviews diff report before "Submit"
    Doctor->>GPBfrontend: "Edit"/"Submit" draft
    GPBfrontend->>GPBbackend: Export on "Submit"
    GPBbackend-->>Bioinf: panel as files
end
%% When all is done
Bioinf->>GPBbackend: CLI Diff
GPBbackend-->>Bioinf: diff report
Bioinf-)Doctor: Send diff report
Doctor--)Bioinf: Approve diff
Bioinf->>GPBstore: Push changes