Multi-system versioning support
A bioinformatics subsystem with multiple instances supports different versions, allowing users to evaluate and migrate seamlessly, addressing disruptions from automatic upgrades by enabling parallel operation and validation within separate namespaces.
Patent Information
- Application Number
- PCT/US2025/041575
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-09-06
- Filing Date
- 2025-08-12
- Publication Date
- 2026-02-19
AI Technical Summary
Current clinical systems automatically cycle upgrades across users to the latest version, disrupting production standard operating procedures (SOPs) and requiring users to evaluate updated versions before migration.
Implementing a bioinformatics subsystem with multiple instances configured to operate on different versions, allowing users to log in to specific instances based on workgroup identifiers, enabling evaluation and migration to updated versions while maintaining existing workflows.
Enables users to evaluate and validate new versions without disrupting existing workflows, ensuring seamless transitions and minimizing data loss by allowing parallel operation of different versions within separate namespaces.
Smart Images

Figure US2025041575_19022026_PF_FP_ABST
Abstract
Description
MULTI-SYSTEM VERSIONING SUPPORTCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 682,319, filed August 12, 2024, and U.S. Provisional Patent Application No. 63 / 691,841, filed September 6, 2024, each of which is incorporated by reference herein in its entirety.BACKGROUND
[0002] Current deployments of clinical systems, including bioinformatics systems, may cycle upgrades automatically across users implementing services on one or more servers to the latest version of the service as soon as it is deployed. For a majority of clinical users, this may be disruptive to their production SOPs. Users may benefit from being able evaluate updated versions for a certain period of time and explicitly choose to upgrade.SUMMARY
[0003] Clinical workflows may be defined based on a standard operating procedure (SOP). Users may be allowed to log in to different instances of software operating different versions to activate analysis and generate reports, while also evaluating other versions. For example, users may log into different instances of a bioinformatics subsystem to activate bioinformatics analysis and / or generate reports.
[0004] Dedicated workgroups may be defined and given access to different versions, including updated versions to evaluate for enabling migration to updated versions. Users may select a workgroup on login, which may be used to determine routing the requests to the appropriate version of the bioinformatics subsystem.
[0005] A plurality of instances of a bioinformatics subsystem may be defined for being mapped to a workgroup. The bioinformatics subsystem may be configured to perform bioinformatics analysis of sequencing data stored in a common dataset and generate reports configured to validate the bioinformatics analysis. Each instance of the plurality of instances of the bioinformatics subsystem may be associated with a respective workgroup identifier. Theplurality of instances of the bioinformatics subsystem may comprise a first instance configured to operate in a first version defining a first set of features configured to perform the bioinformatics analysis of the sequencing data and generate the reports configured to validate the bioinformatics analysis. The bioinformatics analysis may comprise secondary analysis or tertiary analysis. The plurality of instances of the bioinformatics subsystem comprise a second instance configured to operate in a second version defining a second set of features configured to perform the bioinformatics analysis of the sequencing data and generate the reports configured to validate the bioinformatics analysis.
[0006] The plurality of instances of the bioinformatics subsystem may be associated with a first domain. A plurality of instances of the bioinformatics subsystem may be stored in memory that are associated with a second domain that is separate from the first domain. Each instance of the plurality of instances associated with each domain may include a respective namespace comprising Kubernetes clusters of computing resources.
[0007] A first request may be received from a client subsystem that comprises a first workgroup identifier. The client subsystem may be provided access to the first instance configured to operate in the first version of the bioinformatics subsystem based on the receipt of the first workgroup identifier. An indication to activate the first instance may be received for performing the bioinformatics analysis on the sequencing data and generate the reports based on the sequencing data. The bioinformatics subsystem may initiate the bioinformatics analysis on the sequencing data on the first instance of the bioinformatics subsystem using the first set of features.
[0008] A second request may be received from the client subsystem that comprises a second workgroup identifier. Based on the receipt of the second workgroup identifier, the client subsystem may be provided access to the second instance configured to operate in the second version of the bioinformatics subsystem to evaluate the second set of features. The first version and the second version of the bioinformatics subsystem may be configured to identify different variants, utilize information from different data sources, or generate different information in the reports.
[0009] A third request may be received from the client subsystem that comprises the first workgroup identifier. An indication to migrate the first workgroup identifier of the bioinformatics subsystem to the second version may be received at the bioinformatics subsystem.Based on the first instance of the bioinformatics subsystem failing to be currently activated for performing the bioinformatics analysis on the sequencing data or generating the reports based on the sequencing data, the first workgroup may be allowed to migrate to the second version. Based on the first instance of the bioinformatics subsystem being currently activated for performing the bioinformatics analysis on the sequencing data or generating the reports based on the sequencing data, prevent the first workgroup from migrating to the second version. The migration may be configured to direct the workgroup identifier from a first URL associated with the first instance to a second URL associated with the second instance.
[0010] Administrative users may be provided a list of available versions for the bioinformatics subsystem. Active version workgroups may be defined, with other workgroups being operated as evaluation workgroups for evaluating features for other versions. A gateway may be implemented to manage application version selection based on identified workgroup.BRIEF DESCRIPTION OF DRAWINGS
[0011] FIG. 1A illustrates a schematic diagram of a system environment (or “environment”).
[0012] FIG. IB illustrates a block diagram of an example computing device.
[0013] FIG. 2 is a diagram illustrating an example bioinformatics subsystem that is configured to enable users to operate workflows on different instances to implement and / or evaluate features of different versions of the bioinformatics subsystem.
[0014] FIG. 3A is a system diagram illustrating an example system for providing multiple instances of a bioinformatics subsystem to a user or group of users in an organization.
[0015] FIG. 3B shows an example process of the gateway capable of identifying a workgroup and a corresponding instance of the bioinformatics subsystem for implementing one or more services based on a generic URL identifying a domain for a given organization.
[0016] FIGs. 4A-4E are screenshots of example user interfaces that may be implemented for provide multiple instances of a bioinformatics subsystem to a user or group of users in an organization.
[0017] FIG. 5 is a flow diagram illustrating an example process for providing client subsystems access to different versions of a bioinformatics subsystem based on a workgroup identifier and managing migration to an updated version of the bioinformatics subsystem.
[0018] FIGs. 6A and 6B show respective system flow diagrams for migrating or preventing migration of a workgroup from one version of the bioinformatics subsystem to another.
[0019] FIG. 7 shows a diagram of an example design changelog.
[0020] FIG. 8 is an example diagram of a service e.g., CRS) consuming a message for a different version of the bioinformatics subsystem.DETAILED DESCRIPTION
[0021] FIG. 1A illustrates a schematic diagram of a system environment (or “environment”) 100, as described herein. As illustrated, the environment 100 includes one or more server device(s) 102 connected to a client device 108 and a sequencing device 114 via a network 112.
[0022] As shown in FIG. 1A, the server device(s) 102, the client device 108, and the sequencing device 114 may communicate with each other via the network 112. The network 112 may comprise any suitable network over which computing devices can communicate. The network 112 may include a wired and / or wireless communication network. Example wireless communication networks may be comprised of one or more types of RF communication signals using one or more wireless communication protocols, such as a cellular communication protocol, a WIFI communication protocol, and / or another wireless communication protocol. In addition, or in the alternative to communicating across the network 112, the server device(s) 102, the client device 108, and / or the sequencing device 114 may bypass the network 112 and may communicate directly with one another.
[0023] As indicated by FIG. 1 A, the sequencing device 114 may comprise a device for sequencing a biological sample. The biological sample may include human and non-human deoxyribonucleic acid (DNA) and / or ribonucleic acid (RNA) to determine individual nucleotide bases of nucleic-acid sequences {e.g., sequencing by synthesis). The sequencing device 114 may analyze nucleic-acid segments and / or oligonucleotides extracted from samples to generate nucleotide reads and / or other data utilizing computer implemented methods and systems described herein either directly or indirectly on the sequencing device 114. More particularly, the sequencing device 114 may receive and analyze, within nucleotide-sample slides {e.g., flow cells), nucleic-acid sequences extracted from samples. The sequencing device 114 may utilize SBS to sequence nucleic-acid segments into nucleotide reads.
[0024] As further indicated by FIG. 1 A, the server device(s) 102 may generate, receive, analyze, store, and / or transmit digital data, such as data for determining nucleotide-base calls or sequencing nucleic-acid polymers. As shown in FIG. 1A, the sequencing device 114 may send (and the server device(s) 102 may receive) call data indicating nucleotide-base calls and / or other sequencing data from the sequencing device 114. The sequencing data may be included in a variant call file (e.g., gVCF or multi-sample VCF (msVCF)). The server device(s) 102 may also communicate with the client device 108. In particular, the server device(s) 102 may send data to the client device 108, including a variant call file or other information indicating nucleotide-base calls, sequencing metrics, error data, and / or other metrics associated with a nucleotide-base call, such as a call quality, a genotype, and / or a genotype quality.
[0025] The server device(s) 102 may comprise a distributed collection of servers where the server device(s) 102 include a number of server devices distributed across the network 112 and located in the same or different physical locations. Further, the server device(s) 102 may comprise a content server, an application server, a communication server, a web-hosting server, or another type of server.
[0026] As further shown in FIG. 1A, the server device(s) 102 may include a bioinformatics subsystem 104. The bioinformatics subsystem 104 may analyze base call data, such as sequencing metrics received from the sequencing device 114, to determine nucleotide base sequences for nucleic-acid polymers. For example, the bioinformatics subsystem 104 may receive raw data from the sequencing device 114 and may determine a nucleotide base sequence for a nucleic-acid segment. The bioinformatics subsystem 104 may determine the sequences of nucleotide bases in DNA and / or RNA segments or oligonucleotides. In addition to processing and determining sequences for biological samples, the bioinformatics subsystem 104 may generate a variant call fde indicating one or more nucleotide-base calls for one or more genomic coordinates. The bioinformatics subsystem 104 may perform bioinformatics analysis and / or generate reports in response to input received from the client device(s) 108. The types of bioinformatics analysis performed by the bioinformatics subsystem 104 may include primary analysis, secondary analysis, and / or tertiary analysis. Primary analysis may include calling of the individual nucleotide bases. Secondary analysis may include alignment and / or assembly of DNA or RNA fragments (e.g., one or more nucleotide bases) by mapping reads to a reference genome and / or variant calling. Some may refer to variant calling, based on primary and / orsecondary analysis, and / or other form of downstream analysis for which conclusions may be made relating to genetic features, expression, or mutations as tertiary analysis. The primary analysis, the second analysis, and / or the tertiary analysis may be performed on the sequencing device 114 or off of the sequencing device 114 (e.g., at the server device(s) 102).
[0027] The client device 108 may generate, store, receive, and / or send digital data. In particular, the client device 108 may receive sequencing metrics and / or reports from the sequencing device 114. Furthermore, the client device 108 may communicate with the server device(s) 102 to receive a variant call file comprising nucleotide base calls and / or other metrics, such as a call-quality, a genotype indication, and / or a genotype quality. The client device 108 may receive reports generated based on the analysis performed on the sequencing data. The client device 108 may present and / or display information pertaining to the nucleotide-base call within a graphical user interface to a user associated with the client device 108. For example, the client device 108 may present an interface that includes a visualization for operating a genotyper and / or the results of analysis or reports generated therefrom. Though a single client device 108 is shown, the server devices 102 and / or the bioinformatics subsystem 104 may be in communication with multiple client devices for receiving and / or processing requests.
[0028] The client device 108 illustrated in FIG. 1 A may comprise various types of client devices. In examples, the client device 108 may include non-mobile devices, such as desktop computers or servers, or other types of client devices. In other examples, the client device 108 may include mobile devices, such as laptops, tablets, mobile telephones, or smartphones.
[0029] As further illustrated in FIG. 1A, the client device 108 may include a client subsystem 110. The client subsystem 110 may be a web application or a native application stored and executed on the client device 108 (e.g., a mobile application, desktop application). The client subsystem 110 may include instructions that (when executed) cause the client device 108 to receive data from the sequencing device 114 and / or server devices 102 and present, for display at the client device 108, data from a variant call file. Furthermore, the client subsystem 110 may instruct the client device 108 to display a visualization of contribution measures for sequencing metrics of a nucleotide-base call.
[0030] As further illustrated in FIG. 1A, the environment 100 may include a database 116. The database 116 can store information such as variant call files (e.g., including sequencing data thereon), sample nucleotide sequences, nucleotide reads, nucleotide-base calls, and sequencingmetrics. The server device(s) 102, the client device 108, and / or the sequencing device 114 may communicate with the database 116 (e.g., via the network 112) to store and / or access information, such as variant call files, sample nucleotide sequences, nucleotide reads, nucleotide- base calls, and / or sequencing metrics.
[0031] The environment 100 may be included in a local network or local high-performance computing (HPC) system. For example, the one or more client devices 108 (e.g., as a part of the client subsystem 110), one or more server devices 102 (e.g., as a part of the bioinformatics subsystem 104), and / or one or more sequencing devices 114 may operate in a local network or HPC system. The environment 100 may be included in a cloud computing environment comprising a plurality of server devices, such as server device(s) 102, having software and / or data distributed thereon. In one example, the one or more server devices 102 may include computer-executable instructions for implementing the bioinformatics subsystem 104, and / or one or more versions thereof, in a cloud computing environment. The bioinformatics subsystem 104 may be implemented to perform sequencing analysis and / or generate reports as described herein, and may be distributed across server devices 102 having access to the database 116 via the network 112 in a cloud-based computing system.
[0032] Though FIG. 1A illustrates the components of environment 100 communicating via the network 112, it will be appreciated that the components of environment 100 may communicate directly with each other, for example, bypassing the network 112. For example, the client device 108 may communicate directly with the sequencing device 114.
[0033] FIG. IB illustrates a block diagram of an example computing device 150. One or more computing devices such as the computing device 150. One or more computing devices, such as the computing device 150 may operate as a client device, server device, and / or a sequencing device, as described herein. As shown by FIG. IB, the computing device 150 may comprise a processor 152, a memory 154, a storage device 156, an I / O interface 158, and / or a communication interface 160, which may be communicatively coupled by way of a communication infrastructure 162. It will be appreciated that the computing device 150 may include fewer or more components than those shown in FIG. IB.
[0034] The processor 152 may include hardware for executing instructions, such as those making up a computer program. In examples, to execute instructions for dynamically modifying workflows, the processor 152 may retrieve (or fetch) the instructions from an internal register, aninternal cache, the memory 154, or the storage device 156 and decode and execute the instructions. The memory 154 may be a volatile or non-volatile memory used for storing data, metadata, and programs for execution by the processor(s). The storage device 156 may include storage, such as a hard disk, flash disk drive, or other digital storage device, for storing data or instructions for performing the methods described herein. The memory 154 may have stored thereon computer-readable or machine-readable instructions for performing one or more processes or methods described herein.
[0035] The I / O interface 158 may allow a user to provide input to, receive output from, and / or otherwise transfer data to and receive data from the computing device 150. The I / O interface 158 may include a mouse, a keypad or a keyboard, a touch screen, a camera, an optical scanner, network interface, modem, other known I / O devices or a combination of such I / O interfaces.The I / O interface 158 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. The I / O interface 158 may be configured to provide graphical data to a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and / or any other graphical content.
[0036] The communication interface 160 may include hardware, software, or both. In any event, the communication interface 160 may provide one or more interfaces for communication (such as, for example, packet-based communication) between the computing device 150 and one or more other computing devices or networks. As an example, and not by way of limitation, the communication interface 160 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI.
[0037] Additionally, the communication interface 160 may facilitate communications with various types of wired or wireless networks. The communication interface 160 may also facilitate communications using various communication protocols. The communication interface 160 may also include hardware, software, or both that couples components of the computing device 150 to each other. For example, the communication interface 160 may use one or more networks and / or protocols to enable a plurality of computing devices connected by a particular infrastructure to communicate with each other to perform one or more aspects of the processesdescribed herein. To illustrate, the sequencing process may allow a plurality of devices (e.g., a client device, sequencing device, and server device(s)) to exchange information such as sequencing data and error notifications.
[0038] Referring again to FIG. 1 A, one or more computing devices, such as the server devices 102, may implement the one or more bioinformatics subsystems 104 to assist in performing bioinformatics analysis and / or generating reports that may be used for identifying the results of the bioinformatics analysis. The reports may be used for validating new versions of bioinformatics subsystem 104. For example, the bioinformatics information may be validated by defining standard operating procedures (SOPs), which may operate as a step-by-step guide for performing analysis in a bioinformatics workflow for achieving compliance in the analysis of sequencing data in bioinformatics. Next generation sequencing (NGS) panel validation may include a validation protocol with defined types and / or number of samples, reproducibility and / or repeatability of variant detection, reportable ranges, reference ranges, limits of detection, clinical sensitivity and / or specificity, validation of bioinformatics pipelines, and / or other parameters of the bioinformatics analysis and / or sequencing data that may be validated.
[0039] The validation protocol may include a statement of the intended use, an indication of the types of samples and / or the performance characteristics that may be addressed, standard operating procedures (SOPs) for generating sequence data and bioinformatics analysis, as well as the validation samples, may be given to individuals that were not involved in the development or optimization of the test so that they may acquire validation data in a blind manner. Validation of NGS tests for clinical implementation may include validation related to the preparation of the material for sequencing, the sequencing, and / or the bioinformatics analysis of the produced sequencing data. Validation may be carried out for each of these steps and may be a time consuming process. Bioinformatics workflows may include various tools in different pipelines that may be implemented to perform different tasks due to the variability of sequencing data. Validation may be performed to ensure that the pipelines are able to detect the variants of importance in the genes of interest. Different parameters to be calculated for validation depending on the type of test being performed.
[0040] The bioinformatics subsystem 104 may be configured with features that allow a user or an organization having one or more users to define custom workflows (e.g., for operating according to SOPs), which may be specific to a user or group of users, to an application (e.g.,oncology, infectious disease and microbial surveillance (such as viral and / or microbial lineage), genetic disease testing (such as rare undiagnosed genetic diseases (RUGD) testing, carrier screening, pharmacogenomics, and so forth)), and / or to sample source or sequencing technique (e.g., panel- based sequencing, whole genome sequencing, whole transcriptome sequencing, whole exome sequencing, DNA, RNA, tumor-only, tumor / normal tissue mixed, solid, heme, circulating tumor DNA (ctDNA), and so forth), and / or to a sample type. Further, aspects of the workflows may be configurable or customized based on user or organization preference or procedure (e.g., standard operating procedure (SOP)). In certain implementations the bioinformatics subsystem 104 may be integrated with or otherwise in communication with a laboratory information management system (LIMS) and / or electronic health record system (EHR).
[0041] In some implementations of the bioinformatics subsystem 104, the bioinformatics subsystem 104 may be updated to subsequent versions to introduce additional and / or different features to the bioinformatics subsystem 104. These features may affect the way the bioinformatics analysis is performed by the bioinformatics subsystem 104. For example, different versions of the bioinformatics subsystem 104 may rely on different data sources for calling of variants or performing other downstream analysis. Different versions of the bioinformatics subsystem 104 may call more or less variants based on different forms of information, thresholds, algorithms, etc. that are utilized by the bioinformatics subsystem 104 when performing secondary and / or tertiary analysis. Data may be formatted differently in different versions of the bioinformatics subsystem 104. Different versions of the bioinformatics subsystem 104 may generate different reports, fields within reports, and / or other information as output.
[0042] If the bioinformatics subsystem 104 is updated for each user or group of users at the same time, certain types of analysis and / or processes may have to be performed in advance of the update or may have to be reperformed on the updated bioinformatic subsystem 104, which may result in loss of data, analysis, and / or reporting that has already been performed or that is in the process of being performed at the time of the update. The user or group of users accessing the bioinformatics subsystem 104 may have to re-validate workflows that have been defined according to SOPs for a particular user or group and have to gain a full understanding of thefeature set and changes from one version to another to re-validate the analysis that was performed.
[0043] Examples are described herein for a bioinformatics subsystem, such as the bioinformatics subsystem 104, being configured in a way to allow for users to complete bioinformatics analysis and / or report generation prior to migrating to another version of the bioinformatics subsystem. The examples described herein may allow a user operating a client device, such as the client device 108 shown in FIG. 1 A, to evaluate the features of different versions of the bioinformatics subsystem 104 before performing a migration to that version. FIG. 2 is a diagram illustrating an example bioinformatics subsystem 104 that is configured to enable users to operate workflows on different instances 200a, 200b to implement and / or evaluate features of different versions of the bioinformatics subsystem 104. As shown in FIG. 2, the bioinformatics subsystem 104 may operate in a first instance 200a for implementing a first workflow WF1 and a second instance 200b for implementing a second workflow WF2. Each workflow WF1, WF2 may include a workflow for performing clinical analysis and / or reporting, including bioinformatics analysis and / or reporting. The first workflow WF1 may be defined and / or executed within the first instance 200a according to certain features defined by the version (e.g, Version 1) of the bioinformatics subsystem 104 for the instance 200a. The second workflow WF2 may be defined and / or executed within the second instance 200b according to features defined by another version (e.g., Version 2) of the bioinformatics subsystem 104 for the instance 200b. Each instance 200a, 200b of the bioinformatics subsystem 104 may include separate and / or independent copies of software applications and / or services that may run on the same physical or virtual infrastructure.
[0044] In one example, each instance 200a, 200b may include a separate namespace. Namespaces may include organized clusters of computing resources into virtual sub-clusters. When namespaces are used, separate namespaces may be identified and accessed via a corresponding URL for each organization. Namespaces may be helpful when different teams or case projects share a given cluster of computing resources. In one example, the cluster of computing resources may include a Kubernetes cluster (e.g., k8namespace). Any number of namespaces may be supported within a cluster, which may each logically be separated from others but with the ability to communicate with each other.
[0045] The features defined for each version (e.g., Version 1 and Version 2) of the bioinformatics subsystem 104 may allow a user or an organization having one or more users to define a custom workflow (e.g., WF1 and WF2 for operating according to different SOPs), which may be specific to the user, group of users, and / or application for performing a type of clinical analysis, including genetic disease testing based on a sample source, sequencing technique, and / or to a sample type. The workflows (e.g., WF1 and WF2) may be configurable or customized based on the user or organization preference or procedure (e.g., SOP).
[0046] A user or group of users within an organization may identify different instances 200a, 200b of the bioinformatics subsystem 104 using different workgroup identifiers (e.g., Workgroup 1 and Workgroup 2). The workgroup identifiers may each correspond to different instance 200a, 200b of the bioinformatics subsystem 104 for a group of users within an organization. A user may access each instance 200a, 200b using the respective workgroup identifier to implement and / or evaluate features of different versions of the bioinformatics subsystem 104 for a given workflow.
[0047] As shown in FIG. 2, a user may access each instance 200a, 200b of the bioinformatics subsystem 104 using a respective workgroup identifier (e.g., Workgroup 1 and Workgroup 2) corresponding to the instance 200a, 200b. The user may configure or customize the workflow (e.g., WF1, WF2) within each instance 200a, 200b. An initial step in the workflow may involve case accessioning, such as receiving and / or intaking sequencing data at 202a, 202b (e.g., in the form of a variant call file, such as a gVCF or msVCF file) subsequent to a sequencing operation performed by a sequencing device. Different sequencing data or instances of the same sequencing data may be received at each instance 200a, 200b. The bioinformatics subsystem 104 may recognize once a given instance of sequencing data has been uploaded to an instance 200a, 200b of the bioinformatics subsystem and prevent another instance of the bioinformatics subsystem 104 from accessing the same instance of data.
[0048] Each instance 200a, 200b of the bioinformatics subsystem 104 may perform separate bioinformatics analysis (e.g., secondary and / or tertiary analysis) at 204a, 204b based on respective received sequencing data and the features and / or services of the respective version of the bioinformatics subsystem 104 defined for the given instance 200a, 200b. Each instance 200a, 200b of the bioinformatics subsystem 104 being defined according to different features and / or services of the different versions of the bioinformatics subsystem 104 may allow the useror group of users to identify different features and / or services in each version that may be selected for performing the bioinformatics analysis (e.g., different types of analysis), the different formats of the sequencing data to be input for performing the bioinformatics analysis in different versions of the bioinformatics subsystem 104, and / or the different format of the output generated as a result of the bioinformatics analysis performed in different versions of the bioinformatics subsystem 104.
[0049] As shown in FIG. 2, a user may perform a validation procedure at 206a, 206b to validate the results generated by a respective instance 200a, 200b on test data prior to migrating to an instance operating according to a different version of the bioinformatics subsystem 104. The results of the bioinformatics analysis performed at 206a, 204b on test data may include reports that are generated that may be used in the validation procedures performed at 206a, 206b. Based upon the variant interpretation, each instance 200a, 200b of the bioinformatics subsystem 104 may facilitate user generation, modification, and approval of a report relevant to the particular workflow (e.g. ,WF I or WF2). Aspects of the report, including layout, annotations, and / or other presentation aspects, may be configurable by the user or groups of users at the organization so as to facilitate generation of customized reports. Each instance 200a, 200b of the bioinformatics subsystem 104 may further facilitate final approval and / or sign-out of the report once reviewed and approved, prior to migrating to an updated instance of the bioinformatics subsystem 104. As a user may validate a process or workflow based on test data, SOPs may be defined for the user’s workflow in using the updated instance of the bioinformatics subsystem 104. The SOPs may be defined based on the validation procedures performed at 206a, 206b and the SOPs may be used to perform subsequent analysis on sequencing data.
[0050] In one example, an updated version of the bioinformatics subsystem 104 may be made available to a user via instance 200b while the user is currently operating in instance 200a. The user may access instance 200b to perform validation and / or defining SOPs for subsequent analysis to be performed using the instance 200b. Sequencing data may be received at 202b that may include test data for validating a respective instance 200b of the bioinformatics subsystem 104 for migration from instance 200a to instance 200b operating in another version of the bioinformatics subsystem 104. Bioinformatics analysis may be performed at 204b and the results of the bioinformatics analysis may be validated at 206b to determine whether migration is appropriate from instance 200a to 200b. For example, the validation procedure may beimplemented at 206b and SOPs may be defined based on the validation procedures. The SOPs may be used to perform subsequent bioinformatics analysis at 204b on sequencing data received during or after the migration at 202b (e.g., without performing subsequent validation).
[0051] The validation procedures may include a variant review, filtering, and / or prioritization. The variant review may be implemented by performing or facilitating a quality control operation related to variant identification and / or variant quality metrics, providing visualizations (e.g., a genomics viewer) related to the identified variants and / or filtered variants based on user selections, and / or providing frequency information e.g., population or sub-population frequency information, demographic frequency information, etc.) related to the identified variants. Subsequent to variant review, an instance 200a, 200b of the bioinformatics subsystem 104 may facilitate a variant interpretation operation, such as may be performed in accordance with the user or organizations SOP. Variant interpretation may include or involve the association of information to variants to inform functional and / or clinical significance of the variants. By way of example, an instance 200a, 200b of the bioinformatics subsystem 104 may access one or more external (e.g., third-party databases) or internal knowledge bases based on the present context or application (e.g., oncology, infectious disease, microbial surveillance, genetic disorders, and so forth), may access relevant past case data for one or more of the variant(s) being reviewed (e.g., historic or prior decisions) for the user or organization, and / or may access functional impact data from relevant data sources for association with the variant(s) being reviewed. An instance 200a, 200b may access the same and / or different data / data sources. Such information may be provided to and used by the user of the software platform to annotate the sequence or variant data, such as to make associations between the identified variants and the information in the accessed databases. Variant annotation may include or involve providing variant characteristics related to the variant’s structure, functional impact, prevalence, potential clinical impacts, and so forth.
[0052] Though an example is provided in FIG. 2 for providing two instances of the bioinformatics subsystem 104 that may operate on different versions, any number of instances may be created for supporting different versions of the bioinformatics subsystem 104 for a user or group of users within an organization. Additionally, any number of instances of the bioinformatics subsystem 104 may be created for supporting one or more versions of the bioinformatics subsystem 104 for one or more users of other organizations. For example, different organizations may be defined within the bioinformatics subsystem using differentdomains. Each domain may include one or more subdomains that may be directed to respective instances of the bioinformatics subsystem 104 operating on different versions, as described herein. Thus, different organizations, or groups of users within an organization, may have access to instances of the bioinformatics subsystem 104 that are operating on the same or different versions.
[0053] FIG. 3A is a system diagram illustrating an example system 300 for providing multiple instances of a bioinformatics subsystem 104 to a user or group of users in an organization or common domain. As shown in FIG. 3A, the system 300 may include a client device, such as the client device 108 shown in FIG. 1A, and / or one or more server devices, such as the one or more server devices 102 shown in FIG. 1A. The one or more server devices may operate the bioinformatics subsystem 104 described herein.
[0054] The client device 108 may receive, at 302, a domain associated with an organization. For example, the client device 108 may receive a user selection of a link or another input (e.g., text) that indicates a domain associated with an organization having one or more users defined within the services offered by the one or more server devices 102. In response to the identified domain, the one or more server devices 102 may provide the client device 108 with an option to provide input for providing a login for an administrative user to access an administrator namespace 318 at 320.
[0055] The administrator namespace 318 may provide an administrative user access to create one or more instances of the bioinformatics subsystem 104. The administrator namespace 318 may be configured with one or more services 321 that allow users to select a workgroup identifier associated with a version of each instance of the bioinformatics subsystem 104 that is accessible within the domain 302 for one or more users. For example, the administrator namespace 318 may be configured with a workgroup selection user interface 322 that may allow the user to provide input to identify a workgroup associated with a version of the bioinformatics subsystem 104 from a predefined set of workgroups available in the bioinformatics subsystem 104. The workgroup selection user interface 322 may display a list of available workgroups and / or allow the administrative user to define workgroups in the bioinformatics subsystem 104. The list of available workgroups may each be displayed with a corresponding version of the bioinformatics subsystem 104 that is accessible for the workgroup. For example, the workgroup selection user interface 322 may display a notification of a current version on whichbioinformatics analysis and / or validation are currently being performed and / or whether updated versions of the bioinformatics subsystem 104 are available. Each version may have a separate data format or types, sets of features, and / or services that correspond to each version. The workgroup selection user interface 322 of the administrator namespace 318 may also allow the user to identify a workgroup identifier that may be provided by one or more users for accessing the instance for performing bioinformatics analysis and / or generating reports, as described herein. The workgroup selection user interface 322 may provide an indication of the active version of the bioinformatics subsystem 104 that is currently being used for bioinformatics analysis and / or identify other versions of the bioinformatics subsystem 104 that may be evaluated for validation and / or performing migration.
[0056] An administrative user may have access to administrative services 321 that may allow the user to provide input for creating additional workgroups for a corresponding instance of the bioinformatics subsystem 104 and / or migrating workgroups to other instances of the bioinformatics subsystem 104. In response to the input provided from the administrative user, the one or more server devices 102 may create one or more instances of the bioinformatics subsystem 104 and / or map the one or more instances to a workgroup identifier. For example, the one or more server devices 102 may create separate instances 312, 314, 316 of the bioinformatics subsystem 104 in response to the input provided by the user. Each instance 312, 314, 316 may have different data formats or types, sets of features, services / microservices, user interfaces, and / or resource (e.g., local cache, processing resources, memory resource, etc.) defined by the version of the bioinformatics subsystem 104 selected by the user when defining the instance and / or workgroup. Each instance 312, 314, 316 may be defined by different data formats or types, sets of features, services / microservices, user interfaces, and / or resource (e.g., local cache, processing resources, memory resource, etc.) for a given version of the bioinformatics subsystem 104. The one or more server devices 102 may generate a sub-domain or URL for accessing each instance 312, 314, 316 of the bioinformatics subsystem 104. The subdomain or URL may be stored in the database 310 or other storage location at 322. For example, the subdomain or URL may be stored with the domain and / or workgroup identifier for being accessed by a user or group of users in the organization associated with the domain. Each instance 312, 314, 316 may access a common database 310 (e.g., relational database) or other storage location. Each instance 312,314, 316 may have dedicated processing resources, queues, and / or cache for processing requests from client devices.
[0057] After one or more of the instances 312, 314, 316 have been created, a client device 108 may be used to access the one or more instances 312, 314, 316 (e.g., as shown in the user interface 400b of FIG. 4B). The client device 108 may be the same client device used to create one or more of the instances 312, 314, 316, or may be another client device. The client device 108 may receive, at 302, a domain associated with the organization. The domain may be sent to a gateway 304 for accessing one or more of the instances 312, 314, 316 of the bioinformatics subsystem 104 for performing bioinformatics analysis and / or generating reports, as described herein. For example, the gateway 304 may send a request at 324 to retrieve the workgroup identifiers and / or versions defined in the database 310 or other storage location for the domain received at 302. The gateway 304 may receive the workgroup identifier and / or version for each instance 312, 314, 316 of the bioinformatics subsystem 104 defined in the database 310 or other storage location. A workgroup identifier may be mapped to a given version 312, 314, 316 in storage. The gateway 304 may provide the workgroup identifier and / or version for each instance 312, 314, 316 to the user at the client device 108 for selection. Though the gateway 304 is identified as being on the one or more server devices 102, the gateway 304 may be implemented on the client device 108 or a separate computing device.
[0058] As shown in FIG. 3A, the user may select one of the workgroup identifiers 306, 308, 310 corresponding to a respective instance 312, 314, 316 of the bioinformatics subsystem 104 for the given domain received at 302. The gateway 304 may intercept application programming interface (API) calls from each client device attempting to access the bioinformatics subsystem 104. The gateway 304 may use a convention based routing to forward the requests from client devices to the corresponding instance 312, 314, 316.
[0059] Domain level vanity URLs may be employed for each domain. These URLs may be configured to point to a particular instance 312, 314, 316 based on their locale and legislative requirements. Upon a user logging into the domain, the user may be defaulted to a workgroup identifier 306, 308, 310 and / or a corresponding instance 312, 314, 316 of the bioinformatics subsystem 104. FIG. 3B shows an example process 350 of the gateway 304 capable of identifying a workgroup and a corresponding instance 352 of the bioinformatics subsystem for implementing one or more services 354 based on a generic domain level URL 356 identifying adomain for a given organization. For example, the gateway 304 may identify a domain from a header in the domain level URL 356. The domain may be an organization name or other domain identifier. The gateway 304 may direct a given user to a particular instance 352 of the bioinformatics subsystem 104 based on a workgroup header and the domain identified in the domain level URL 356. The instance 352 and / or the services implemented therein may be accessed via a separate URL 351. The instance 352 may be implementing a particular version 353 of the bioinformatics subsystem. The instance 352 may implement particular data formats or types, sets of features, and / or services (c. ., the CRS 354 and / or other services).
[0060] Referring again to FIG. 3A, in one example, on successful login the gateway 304 may look for a presence of a workgroup selection. The gateway 304 may use a workgroup identifier 306, 308, 310 selection in a cookie stored in the web browser at the client device 108 or another identifier stored in browser storage. The cookie may include an identifier of the workgroup previously selected in the browser. If no cookie is present, a workgroup selection user interface may be displayed for allowing the user to select a workgroup identifier 306, 308, 310. The gateway 304 may perform a look up at the database 310 or other storage location to resolve the application version of the instance 312, 314, 316 of the bioinformatics subsystem 104 for being provided to the client device 108 in response to the selected workgroup identifier 306, 308, 310. After user selection, the gateway 304 may proxy each requests from the client device 108 to the desired instance 312, 314, 316. In another example, a workgroup selection user interface may be provided to the client device 108. The one or more server devices 102 may capture the user selection in a new cookie (e.g., psActiveWorkgroup). On redirection, the gateway 304 may use this cookie to proxy each request from the client device 108.
[0061] Each of the instances 312, 314, 316 may have access to common sequencing data stored in the database 310 or other storage location for being uploaded for bioinformatics analysis and / or report generation, as described herein. Once an instance of sequencing data has been uploaded to a given instance 312, 314, 316 of the bioinformatics subsystem 104, the other instances 312, 314, 316 may be unable to access the same instance of sequencing data from the database 310. After an instance 312, 314, 316 has been selected for uploading sequencing data, different sets of features and / or services may be implemented for the corresponding version of the bioinformatics subsystem 104 to perform bioinformatics analysis and / or implement validation, as described herein.
[0062] After the user has selected an instance 312, 314, 316 of the bioinformatics subsystem 104 for performing bioinformatics analysis and / or implement validation, as described herein, the results may be stored in the database 310 or other storage location. The results generated by each instance 312, 314, 316 may be based on the sets of features and / or services of the version of the bioinformatics subsystem 104 used to generate the results.
[0063] Users may select one of the workgroups 306, 308, 310 to perform bioinformatics analysis and / or implement validation using a corresponding version of the bioinformatics subsystem 104 for the selected workgroup, while evaluating another version of the bioinformatics subsystem 104. For example, the user may select the workgroup 306 and upload an instance of sequencing data for performing bioinformatics analysis, while uploading another instance of sequencing data for performing validation and / or evaluating one of the versions of the instances 314, 316 corresponding to workgroups 308, 310. The evaluation of one of the versions of the bioinformatics subsystem 104 may be performed to determine whether to migrate a workgroup and / or the results generated from another version of the bioinformatics subsystem 104 to another (e.g., updated) version.
[0064] Once a workgroup 306, 308, 310 has been selected for performing bioinformatics analysis and / or generate reports using a version of the bioinformatics subsystem 104 in a corresponding instance 312, 314, 316, the workgroup may be required to remain on the given version of the bioinformatics subsystem 104 until completion of the bioinformatics analysis (e.g., as shown in the user interface 400c shown in FIG. 4C and / or the user interface 400d shown in FIG. 4D). For example, a user may be prevented from migrating a given workgroup 306, 308, 310 from one version to another until the bioinformatics analysis and / or validation has completed. The stored results from a version of the bioinformatics subsystem 104 may be retrieved from the database 310 or other storage location and migrated to another version for being processed according to the sets of features and / or services of the other version.
[0065] FIGs. 4A-4D are illustrations of example user interfaces that may be implemented for providing multiple instances of a bioinformatics subsystem to a user or group of users in an organization. The example user interfaces may be generated and / or displayed using one or more computing devices. For example, the user interfaces may be generated and / or displayed via a local application on a client device and / or a client subsystem thereon. In another example, the user interfaces may be generated on a remote application or service that is accessed via a localapplication, such as a web browser or other local application enabling a web interface, executed at the client device. For example, the local application operating at a client device may be operated as part of a client subsystem and may be configured to display the user interfaces generated at and / or based on information received from one or more server devices, which may be executing the bioinformatics subsystem from which certain information may be displayed to a user and / or from which input may be received from the user for performing multi-version operations, as described herein.
[0066] FIG. 4A shows a user interface 400a that may be displayed to a user 404 who is logged in to the bioinformatics subsystem for performing bioinformatics analysis and / or validation. As shown in FIG. 4A, the user 404 may be logged into the bioinformatics subsystem using a username and / or other login (e.g., email address) associated with their organization. The user 404 may login using a password. The user may be associated with a particular or default workgroup 402a upon logging into the bioinformatics subsystem. The user 404 may be an administrative user capable of creating workgroups for different users and / or groups of users in the organization, performing bioinformatics analysis, and / or validation within the workgroups. The user 404 may be of another user type capable of accessing the workgroups for performing bioinformatics analysis, and / or validation within the workgroups. Administrative users may also, or alternatively, select a version of the bioinformatics subsystem for being implemented for a given workgroup and / or performing validation for migrating the workgroup to different versions of the bioinformatics subsystem.
[0067] As shown in FIG. 4A, the user 404 may be provided with an option (e.g., via display of a button, icon, or other actuator) to change the workgroup that they are operating in. The user 402 may change to another workgroup to perform bioinformatics analysis and / or validation of other sequencing data in another version of the bioinformatics subsystem. The user 404 may change to another workgroup that is operating in another version of the bioinformatics subsystem to evaluate the version and / or perform validation for potentially migrating other workgroups to another version of the bioinformatics subsystem.
[0068] After the user logs into the bioinformatics subsystem, or when the user selects an option 408 to change their workgroup, the user may be provided a graphical user interface, such as the graphical user interface 400b shown in FIG. 4B, that provides the user with a list of workgroups for selection to perform bioinformatics analysis and / or validation of sequencing data. As shownin FIG. 4B, the user may be provided a list of workgroups 402 for selection. The list of workgroups may be dependent on the user who is logged into the system. For example, a different list of workgroups may be provided for users in different organizations or that are associated with different groups of users within an organization. Each workgroup 402 may be displayed as an option (e.g., via display of a button, icon, or other actuator) to select the workgroup along with additional information about the workgroup. For example, each of the workgroups 402 may be displayed with a corresponding URL for accessing an instance of the bioinformatics subsystem and / or a version 414 of the instance bioinformatics subsystem corresponding to the workgroup. Each workgroup 402 may be created by an administrative user and the version 414 of the bioinformatics subsystem may be selected for data formats or types, sets of features, services / microservices, user interfaces, and / or resource (e.g., local cache, processing resources, memory resource, etc} that are applied for the version 414 of the bioinformatics subsystem. After a user logs in, the user may select a workgroup 402 and select an actuator 416 (e.g., a button, icon or other actuator) to access the instance of the bioinformatics subsystem defined according to the data formats or types, sets of features, services / microservices, user interfaces, and / or resource (e.g., local cache, processing resources, memory resource, etc} offered by the corresponding version 414 of the selected workgroup 402. The bioinformatics subsystem may receive the workgroup identifier of the selected workgroup 402 and provide the user access to the selected instance of the bioinformatics subsystem for performing bioinformatics analysis and / or validation of sequencing data. For example, the user may be directed to the URL that is mapped to the selected instance of the version of the bioinformatics subsystem for the selected workgroup 402. The user may upload sequencing data, check on or continue analysis or validation that was previously started for the workgroup, or otherwise utilize the features and / or services of the bioinformatics subsystem offered for the selected workgroup. The user may select a workgroup 402 corresponding to a particular version 414 of the bioinformatics subsystem to upload sequencing data and evaluate the version for potentially migrating another workgroup in which the user is performing analysis and / or validation.
[0069] FIG. 4C shows a user interface 400c that may be displayed to a user who is logged in to an instance of the bioinformatics subsystem for performing bioinformatics analysis and / or validation. The user interface 400c may be provided to the user after selection of a workgroup402b or after logging in and being directed to an instance of the bioinformatics information associated with a default or prestored workgroup 402b for the user. As shown in FIG. 4C, the bioinformatics subsystem may be aware of a current version of the instance being provided to the user based on the workgroup 402b. For example, the user interface 400c may display a current version 420 of the bioinformatics subsystem provided to the user based on the workgroup 402b. The bioinformatics subsystem may also be aware if there are updated versions of the bioinformatics subsystem that are available from the current version.
[0070] As shown in FIG. 4C, the user interface 400c may provide an actuator 422 (e.g., button, icon, link, or other actuator) that may be selected by the user to show the current version 420 of the bioinformatics subsystem to which the user is given access in response to the workgroup identifier of the workgroup 402b. The user interface 400c may also, or alternatively, provide an indication 424 of available updates from the current version 420 of the bioinformatics subsystem being accessed via the workgroup 402b. For example, the indication 424 may identify one or more updated versions of the bioinformatics subsystem since the current version 420. Each updated version may be identified with corresponding information. For example, each version may be displayed with a version number, a release date, one or more features or services offered or updated in the version, and / or other information related to the version. The user interface 400c may provide an actuator 430a, 430b (e.g., button, icon, link, or other actuator) for each version that allows for display of additional information related to the version, such as features and / or services that have been added or updated. The user interface 400c may include an actuator 430a for the current version and / or an actuator 430b for an updated version to allow the user to review / compare information related to each of the versions of the bioinformatics subsystem to determine whether to migrate to a new version. The user interface 400c may indicate that one or more versions of the bioinformatics subsystem are not yet available and provide information related to the unavailable version, such as a date at which the version may be available, and / or features / services to be offered by the currently unavailable version. The user may actuate an actuator 434 to be provided one or more portions of the information related to the currently unavailable version of the bioinformatics subsystem. The user interface 400c may also, or alternatively, be provide an indication 426 that the workgroup 402b is currently operating in the latest version of the bioinformatics subsystem.
[0071] If the user chooses to migrate the workgroup from the current version 420 to an updated version, the user may select an actuator 432 (e.g., button, icon, link, or other actuator) that corresponds to the version to which the workgroup 402b is to be migrated to send a notice to the bioinformatics system. A workgroup may be prevented from skipping versions and may be required to migrate to a next available version prior to performing a migration to another later available version, or the bioinformatics system may perform migration to each version if the user selects a later version than the next available version for migration. The migration of sequencing data to each version may ensure the sequencing data is properly updated and / or appropriate features and / or services are implemented for processing the sequencing data to ensure proper compatibility prior to being processed by later versions of the bioinformatics subsystem. Each version of the sequencing data processed by a version may be stored as a separate instance of the sequencing data.
[0072] In response to the actuation of the actuator 432 indicating that the user would like to migrate the workgroup 402b (e.g, including sequencing data, features, and / or services utilized therein) from the current version to an updated version, the user interface 400c may provide an indication 436, as shown on FIG. 4D, confirming whether the user would like to perform the migration. The user may confirm the migration by selecting actuator 438 or cancel the migration by selecting actuator 440 and return to performing analysis in the current version of the bioinformatics subsystem. Alternatively, or additionally, the user interface 400c may provide an indication 442 informing the user when bioinformatics analysis is in progress (e.g, a workflow has been started and has not completed or reports are being generated) and asking the user to wait for analysis to complete prior to performing migration. If the user selects the actuator 438 to perform the migration to the updated version of the bioinformatics subsystem, a user interface 400d may be displayed to a user, as shown in FIG. 4E, that indicates that a migration is in progress and the current workgroup is unavailable for performing bioinformatics analysis and / or generating reports until the migration has completed.
[0073] After a migration is initiated, a user may be prevented from performing bioinformatics analysis and / or generate reports on the data that is being migrated. The migration may result in the URL for accessing a given instance of the bioinformatics subsystem for a workgroup to be redirected to another instance corresponding to the updated version of the bioinformatics subsystem. Once migration is complete, the user may be notified so that bioinformatics analysisand / or validation may be performed on the migrated data in the updated version of the bioinformatics subsystem. The changes during the migration may include schema changes and / or formatting changes to the datasets to be used for bioinformatics analysis and / or validation in the updated version.
[0074] FIG. 5 is a flow diagram illustrating an example process 500 for providing client subsystems access to different versions of a bioinformatics subsystem based on a workgroup identifier and managing migration to an updated version of the bioinformatics subsystem. One or more portions of the process 500 may be implemented by a bioinformatics subsystem operating on one or more computing devices. One or more portions of the process 500 may be implemented by a client subsystem or another subsystem operating on one or more computing devices. Each subsystem may include software and / or hardware operating on one or more computing devices. Each subsystem may operate on a computing device having stored thereon in memory computer-executable instructions for implementing one or more portions of the process 500. Though the process 500 may illustrate a sequence of steps or events in a particular order, the sequence of steps or events may be performed in another order.
[0075] As shown in FIG. 5, a plurality of instances of a bioinformatics subsystem may be defined at 502 for a given organization or domain. Each instance may be configured to perform bioinformatics analysis of sequencing data. The sequencing data may be stored in a common dataset (e.g, database or other common data storage) to each of the instances. However, each instance of the bioinformatics subsystem may be configured to access its own instance of sequencing data for performing bioinformatics analysis and / or generation of reports.
[0076] Different instances may be defined for operating according to different versions of the bioinformatics subsystem. For example, an administrative user may select a version of the bioinformatics subsystem for being mapped to a given workgroup. Each version may define different data format or types, sets of features and / or services for performing bioinformatics analysis and / or report generation. Each instance may include a namespace that includes a cluster of computing resources. Namespaces may include a way to organize clusters of computing resources into virtual sub-clusters. When namespaces are used, separate namespaces may be identified and accessed via a corresponding URL for each organization or domain. In one example, the cluster of computing resources may include a Kubernetes cluster (e.g., k8namespace).
[0077] At 504, at least one instance of the bioinformatics subsystem may be mapped to a respective workgroup identifier. The workgroup identifier may define a set of users capable of accessing the instance to which the workgroup identifier is mapped. At least one of the users within a domain may be provided an option to select a workgroup identifier and map the workgroup identifier to a given instance of the bioinformatics subsystem operating in a specific version.
[0078] After the workgroup identifiers are mapped to a given instance, users may log into the bioinformatics subsystem and select a workgroup identifier for performing bioinformatics analysis and / or generating reports using the features and / or services defined by the selected version of the bioinformatics subsystem. A determination may be made, at 506, as to whether a workgroup identifier has been received indicating a selected workgroup (e.g., in response to a user selection). If a user has not selected a workgroup, the process 500 may continue to wait for a workgroup selection or a default workgroup may be selected. The selected workgroup identifier may be received at 506 and the user may be provided access to the corresponding instance of the bioinformatics subsystem at 508. The selected workgroup may be a previously activated workgroup to which the user previously uploaded sequencing data for analysis and / or that is currently processing the sequencing data. The selection of a workgroup within which the user or group of users was previously started analysis may allow a user to continue to finish performing bioinformatics analysis and / or generating reports in a given version of the bioinformatics subsystem prior to updating to a subsequent version. In another example, the user may select a workgroup for an updated version of the bioinformatics subsystem that has not been activated for processing sequencing data and upload sequencing data to initiate bioinformatics analysis and / or evaluate the updated version. The selected workgroup identifier may route the user to the instance that is mapped to the selected workgroup via a corresponding URL.
[0079] While the user has access to a given instance of the bioinformatics subsystem, the user may provide an indication to migrate the workgroup to an updated version of the bioinformatics subsystem at 510. If the user provides an indication to migrate the workgroup from a current version to an updated version at 510, the bioinformatics subsystem may determine whether the instance to which the workgroup is mapped has a current bioinformatics analysis and / or validation process in progress at 512. If the instance is currently performing bioinformatics analysis and / or validation, a notification may be provided to the user to inform the user that thebioinformatics subsystem has initiated a bioinformatics analysis and / or validation process that is currently in progress and ask the user to initiate a migration when the bioinformatics analysis is completed at 514. If the instance has not initiated bioinformatics analysis and / or validation that is currently in progress, the bioinformatics subsystem may initiate migration of the workgroup from the current version to the updated version at 516, as described herein.
[0080] FIG. 6A is a system flow diagram of an example process 600 for migrating a workgroup from one version of the bioinformatics subsystem to another. As shown in FIG. 6A, one or more portions of the processes 600 may be implemented by one or more devices operating one or more subsystems. For example, the process 600 may be implemented by a client subsystem 602 operating on a client device and / or a bioinformatics subsystem operating on one or more server devices. As shown in FIG. 6A, the bioinformatics subsystem may include one or more services, such as gateway service 604, configuration service 606, administrative service (e.g., TAS) 608, and / or one or more instances (e.g., instance 610 and / or instance 612) of services and / or microservices for performing bioinformatics analysis and / or generating reports at the bioinformatics subsystem. In an example, the gateway service 604 may be implemented on a separate subsystem operating on a gateway device. Additionally, though two instances 610, 612 of services of the bioinformatics subsystem are shown that may be implemented for performing bioinformatics analysis and / or generating reports, the bioinformatics subsystem may include additional instances for additional versions or for the same version operated by different workgroups or organizations. Each subsystem may include hardware and / or software for performing as described herein. Each subsystem may be implemented as computer-executable instructions stored in memory on one or more computing devices for being executed to perform as described herein. Though the processes 600 may illustrate a sequence of steps or events in a particular order, the sequence of steps or events may be performed in another order.
[0081] As shown in FIG. 6A, the process 600 may be initiated by the client subsystem 602 transmitting a message at 620 to the gateway 604 to migrate the workgroup to another version (e.g., version 4 to version 5). An administrative user may have access to upgrade the workgroup to another version. The user accessing the client subsystem 602 may initiate a request at 620 to migrate a workgroup to an updated version of the bioinformatics subsystem. The gateway 604 may be configured to receive communications from the client subsystem 602 and communicate with other services for performing the migration. The message at 620 may include a workgroupidentifier, an identifier of a current version associated with the workgroup, and / or an identifier of the version to which to upgrade. The message 620 may also include a user identifier and / or a domain or organization identifier associated with the workgroup identifier.
[0082] In response to the message at 620, the gateway 604 may send a message at 622 to the configuration service 606 for the workgroup. The message at 622 may include the workgroup identifier, the identifier of a current version associated with the workgroup, the identifier of the version to which to upgrade, the user identifier, and / or the domain or organization identifier associated with the workgroup identifier. The configuration service 606 may provide the list the software versions and the corresponding information to the client subsystem 602 (e.g., as shown in FIG. 4B and 4C). The configuration service 606 may lists each of the other versions available and / or upcoming and / or associated version information. The version information may include a version identifier, a version name, a version description (e.g., including release information, such as the features and / or services offered by the version), a version URL, a version release date, an indication of whether the version is a default version, a version status (e.g, live, inactive, or scheduled / upcoming).
[0083] After a user initiates the version for a workgroup, the configuration service 606 may store an initiation date that the user initiated the migration, a user that initiated the migration, a date of upgrade to a new version, and / or a date by which an upgrade is estimated for completion. The configuration service 606 may send a confirmation notice to the client subsystem 602 that may describe that the version migration is permanent and requesting confirmation that the user would like to proceed with migration (e.g., as shown in FIG. 4D). The configuration service 606 may provide a notice of the estimated period of time for the migration. On receiving confirmation to proceed with the migration, the configuration service 606 may determine whether services of the bioinformatics system in the current instance 610 of the workgroup have current bioinformatics analysis or report generation in progress. The configuration service 606 may be configured to determine that bioinformatics analysis or report generation is currently in progress using the current instance 610 of the bioinformatics subsystem causing the request for migration to be prevented and a message may be sent to the user via the client subsystem 602 (e.g., as shown in the process 650 of FIG. 6B). The configuration service 606 may be in communication with a case registration service (CRS) (e.g., such as CRS 614 shown in FIG. 6B) to determine whether bioinformatics analysis or report generation is in progress using the currentinstance 610 of the bioinformatics subsystem. The user may be asked to attempt to migrate at a later time after the bioinformatics analysis or report generation has completed at the instance 610.
[0084] If the bioinformatics analysis or report generation has completed or otherwise is not in progress using the current instance 610 of the bioinformatics subsystem, the configuration service 606 may allow the migration to be performed by sending a message at 624 to initiate migration of the workgroup via the administrative service 608. For example, after the bioinformatics analysis or report generation has completed for active cases at the instance 610, the message 624 may be sent to the administrative service 608. The message at 624 may include the workgroup identifier, the identifier of the current version associated with the workgroup, the identifier of the version to which to upgrade, the user identifier, and / or the domain or organization identifier associated with the workgroup identifier.
[0085] The administrative service 608 may manage the migration and communicate with the services of each instance 610, 612 of the bioinformatics subsystem to ensure that the data is properly updated during migration from one version to another. The administrative service 608 may hold metadata regarding release versions of the bioinformatics subsystem.
[0086] One or more application programming interfaces (APIs) may be implemented by the administrative service 608 and / or the configuration service 606. For example, the an API calls may be made (c. ., to the administrative service 608) to get a list of live and / or scheduled releases. The administrative service 608 may implement an API call to post or create a new version release of the bioinformatics subsystem. The administrative service 608 may implement an API call to get an active version of a workgroup. The administrative service 608 may implement an API call to post a workgroup migration. The configuration service 606 may implement an API call to get version releases and / or post a workgroup migration.
[0087] As shown in FIG. 6A, the configuration service 606 may operate as an interface to the client subsystem 602 and after transmitting the message 624, which may include an API call to initiate the workgroup migration, the configuration service may send a message at 625 to the client subsystem 602 that indicates that the migration has been queued. The client subsystem 602 may display a message to the user that the migration is in progress (e.g., as shown in FIG. 4E).
[0088] The administrative service 608 may receive the message at 624 and determine at 626 to initiate the workgroup migration from instance 610 to instance 612. At 628, the administrative service may send a message to the current instance 610 to initiate the migration. For example, the administrative service 608 may implement the API call to initiate the workgroup migration at 628 and / or for obtaining data formatting or types, features, and / or services that are implemented for performing or resulting from the bioinformatics analysis and / or generation of reports at the instance 610. The data formatting or types may be stored in an instance of the sequencing data locally stored with the instance 610. The instance 610 may include services that are configured to initiate a tear down process for migrating in response to the message 628. The tear down process may identify data formatting or types, features, and / or services that are implemented for performing or resulting from the bioinformatics analysis and / or generation of reports at the instance 610. The instance 610 may send a response at 630 that indicates the tear down was successful. The response at 630 may include the data formatting or types, features, and / or services that are implemented for performing or resulting from the bioinformatics analysis and / or generation of reports at the instance 610.
[0089] The information in the response at 630 may be used to compare the instance 610 and / or the sequencing data stored therein with the instance 612. For example, the administrative service 608 may compare the data formatting or types, features, and / or services of the instance that are implemented for performing or resulting from the bioinformatics analysis and / or generation of reports at the instance 610 with the data formatting or types, features, and / or services of the instance that are implemented for performing or resulting from the bioinformatics analysis at the instance 612. The instance of the sequencing data may be sent to the instance 612 with an indication of updates to the sequencing data for starting the migration at 632. The instance 612 may have services or microservices configured for migrating the sequencing data to the proper data format or types for performing the bioinformatics analysis and / or generation of reports at the instance 612. Once the migration has successfully completed, the instance 612 may store the migrated sequencing data in memory utilized by the instance 612 and send a response message to the administrative service 608 indicating that the migration has completed successfully at 634. The administrative service 608 may finalize the migration at 636. For example, the administrative service 608 may record the finalized version of the instance of the data for the workgroup.
[0090] After the migration has completed, the gateway 604 may be informed (e.g, by the administrative service 606 directly, or via the configuration service 606) that the workgroup is to be directed to the instance 612 for analysis. For example, the workgroup selection may be associated with an updated URL that is configured to direct the client subsystem 602 to the instance 612 of the bioinformatics subsystem operating in the updated version of the bioinformatics subsystem for performing the bioinformatics analysis and / or generation of reports. After the migration, the client subsystem 602 may send a request at 637 to perform the bioinformatics analysis and / or generation of reports using the workgroup. The request may be received by the gateway 604 and the client subsystem may be directed to the instance 612 at 638 (e.g., via a proxy request). The client subsystem 602 may be given access to the instance 612 via the response 640 for enabling the client subsystem 602 to perform bioinformatics analysis and / or generation of reports at the instance 612.
[0091] FIG. 6B is a system flow diagram of an example process 650 for preventing a workgroup from migrating from one version of the bioinformatics subsystem to another due current processing of bioinformatics analysis and / or reports at the current instance of the bioinformatics subsystem operating according to the current version. As shown in FIG. 6B, one or more portions of the processes 650 may be implemented by one or more devices operating one or more subsystems. For example, the process 650 may be implemented by the client subsystem 602 operating on a client device and / or a bioinformatics subsystem operating on one or more server devices. As shown in FIG. 6B, the bioinformatics subsystem may include one or more services, such as the gateway service 604, the configuration service 606, and / or a case registration service (CRS) 614. As described herein, in an example, the gateway service 604 may be implemented on a separate subsystem operating on a gateway device. Each subsystem may include hardware and / or software for performing as described herein. Each subsystem may be implemented as computer-executable instructions stored in memory on one or more computing devices for being executed as described herein. Though the processes 650 may illustrate a sequence of steps or events in a particular order, the sequence of steps or events may be performed in another order.
[0092] As shown in FIG. 6B, the process 650 may be initiated by the client subsystem 602 transmitting a message at 620a to the gateway 604 to migrate the workgroup to another version (e.g, version 4 to version 5). In response to the message 620a being received by the gateway604 from the client subsystem 602, the gateway 604 may send a message at 622a to the configuration service 606 to migrate the workgroup to another version. The messages transmitted at 620a and 622a may be similar to the messages transmitted at 620 and 622, respectively, in FIG. 6A. The messages at 620a, 622a may include a workgroup identifier, an identifier of a current version associated with the workgroup, an identifier of the version to which to upgrade, a user identifier, and / or a domain or organization identifier associated with the workgroup identifier.
[0093] The configuration service 606 may send a message at 652 to the CRS 614. The CRS 614 may maintain a registry or list of instances currently in progress due to a prior initiation of bioinformatics analysis and / or report generation. The message at 652 may be in API call that identifies the workgroup identifier, the current version of the bioinformatics subsystem associated with the workgroup, the identifier of the version to which to upgrade, the user identifier, and / or the domain or organization identifier associated with the workgroup identifier. The CRS 614 may perform a search for the workgroup in the registered cases for which bioinformatics analysis and / or reporting is currently in progress. If the workgroup is identified as having any registered cases for which bioinformatics analysis and / or reporting is currently in progress, the CRS 614 may return a message 654 identifying that the workgroup is currently in progress performing bioinformatics analysis and / or reporting and / or identifies the number of cases currently in progress. If there are no cases currently in progress, the configuration service 606 may initiate the migration (e.g, as shown in FIG. 6A). If there are currently cases in progress, the configuration service 606 may inform the client subsystem 602 via a message 656, either direction or via the gateway 604, that the current workgroup cannot be migrated to another version due to the cases currently in progress. The client subsystem may attempt a subsequent migration, at 658, after determining that the cases that are currently in progress have completed.
[0094] The administrative service (e.g, TAS) may implement a design changelog. FIG. 7 shows an example configuration 700 of design for managing the version of a given workgroup within a domain or organization. There may be multiple namespaces or instances of a given bioinformatics subsystem stored therein, and each namespace or instance for a given domain or organization 701 corresponding to a different version. As shown in FIG. 7, the domain or organization may include instances or namespaces 702, 704, 706. Each instances or namespaces 702, 704, 706 may be made available to an administrative user for selecting to associate a givenworkgroup with a corresponding instances or namespaces 702, 704, 706. A table or other storage format may be created in the administrative service (e.g., TAS) that stores a mapping 710 of a workgroup to a given instance or namespace 702, 704, 706 for the version in the bioinformatics subsystem selected for the workgroup. The mapping 710 may include a case identifier, a workgroup identifier, a workgroup name, and / or a version number or instance identifier.
[0095] The mapping may be based on domain configuration information 712 stored in memory (e.g., local cache). The domain configuration information 712 may include tenant information 714 that describes a workgroup and / or users within the workgroup. For example, the tenant information 714 may include a workgroup name, a workgroup identifier, and / or user identifiers for users within the workgroup. The domain configuration information 712 may include bioinformatics information 716 that identifies information related to sequencing data and / or the bioinformatics subsystem for performing analysis and / or report generation based on the sequencing data. For example, the bioinformatics information 716 may include information related to a transcription start site (TSS). The TSS may identify a region of sequencing data (e.g., genomic DNA or RNA) for which bioinformatics analysis may be performed and / or reports may be generated. The bioinformatics information 716 may include a URL that points to the instance or namespace that may be implemented for performing the bioinformatics analysis and / or generating reports. The bioinformatics information 716 may identify one of the instances or namespaces 702, 704, 706, which may be accessed by a corresponding URL for performing analysis on the identified sequencing data in the region of interest.
[0096] In one example, each instance may include a namespace. Namespaces may include a way to organize clusters of computing resources into virtual sub-clusters. When namespaces are used, separate namespaces may be identified and accessed via a corresponding URL for each organization. Namespaces may be helpful when different teams or case projects share a given cluster of computing resources. In one example, the cluster of computing resources may include a Kubernetes cluster (e.g., k8namespace). Any number of namespaces may be supported within a cluster, which may each logically be separated from others but with the ability to communicate with each other.
[0097] Each instance or namespace 702, 704, 706 may be defined by version information 718, which may be used to define the bioinformatics information 716. As shown in FIG. 7, theversion information may include release notes or other information describing the format of the sequencing data, features, and / or services offered by the version release. The version information may include the deployment data, a date of last update, and / o rother information characterizing the version of the bioinformatics subsystem, as described herein.
[0098] Though a single mapping 710 is shown in FIG. 7, a separate mapping may be generated and / or stored, based on similar information, for each workgroup defined for a given domain or organization 701. In one example, the domain or organization 701 may have access to instances or namespaces 702, 704, 706 for being associated with a given workgroup that is created.Multiple workgroups may be created that are operating under the same or different instances or namespaces 702, 704, 706. For example, an administrative user of the domain or organization 701 may create two different workgroups, workgroup 1 and workgroup 2, that may be mapped to the same or different instances or namespaces 702, 704, 706. If workgroup 1 and workgroup 2 are mapped to the same instances or namespaces 702, 704, 706, they may be created to analyze different instances of sequencing data. Each workgroup (e. ., workgroup 1 and workgroup 2) may have a separate mapping 710 for identifying the workgroup and / or instance or namespace 702, 704, 706 to which the workgroup is mapped for performing analysis of identified sequencing data.
[0099] A user may call the administrative service (e.g., TAS) to get the instance or version for a given workgroup to be directed to for performing bioinformatics analysis and / or reporting. After the CRS (Case Registration Service) identifies the workgroup from the pipeline configuration in the configuration service, it may need to ensure that the workgroup is currently configured to be active on that version before processing the message. The CRS may call the administrative service (e.g., TAS) to find out the current version of the workgroup. If the workgroup version is not in sync with the software version of the administrative service (e.g., TAS), the message may be rejected. If a workgroup is active and in sync with administrative service (e.g., TAS), case creation may be implemented.
[0100] In CRS, a message may be consumed if the administrative service (e.g., TAS) responds with a version (e.g., 4.0) for a given workgroup. When the CRS calls the administrative service (e.g., TAS) in this version (e.g., 4.0), the administrative service (e.g., TAS) may respond with a dummy version (e.g., 4.0) for the given namespace or instance. Now, an updated version (e.g., v5.0) may be implemented. In the implementation of the updated version (e.g., v5.0), a mappingtable, such as the mapping 710, may be populated. For each domain 701 , a workgroup for which user is an administrative user may be identified. An entry in the mapping 710 may be added with the version (e.g., v4.0) for the workgroup. Now, after deployment, a user may want to migrate a workgroup to the updated version (e.g., v5.0). A configuration service may call the administrative service (e.g., TAS) to update the version of the workgroup (e.g., to v5.0). Once the version is updated for the workgroup to the updated version (e.g., v5.0), the CRS code in the prior version (e.g., v4.0) may stop consuming the message. So, in the updated version (e.g., v5.0), the CRS may do two checks. For the given workgroup and namespace or instance, it may check if there a record in mapping 710. If there is no record, the lack of a record may indicate that the workgroup may not have been updated to the updated version (e.g., v5.0). If the record matches, the updated version (e.g., v5.0) may be used to consume the message.
[0101] FIG. 8 is an example diagram 800 of a CRS consuming a message for a different version of the bioinformatics subsystem. As shown in FIG. 8, one or more portions of the processes 800 may be implemented by one or more devices operating one or more subsystems. For example, the process 800 may be implemented by a client subsystem 602 operating on a client device and / or a bioinformatics subsystem operating on one or more server devices. As shown in FIG. 8, the process 800 may include one or more services and / or locations for queuing messages and / or reports for being communicated to a given instance. For example, the process may include as gateway service 802, one or more queues 804, a case registration service (CRS) 806, a configuration service 808, and / or an administrative service (e.g., TAS) 810. In an example, the gateway service 802 may be implemented on a separate subsystem operating on a gateway device. The queue 804 may be included in storage at the same or different computing device than the services implemented by the one or more subsystems. Each subsystem may include hardware and / or software for performing as described herein. Each subsystem may be implemented as computer-executable instructions stored in memory on one or more computing devices for being executed to perform as described herein. Though the processes 800 may illustrate a sequence of steps or events in a particular order, the sequence of steps or events may be performed in another order.
[0102] As shown in FIG. 8, the gateway service 802 may receive a message 820. The message 820 may be received from a subsystem performing bioinformatics analysis or another subsystem of a computing device for being directed to a particular instance corresponding to a workgroupidentifier. The message 820 may indicate that bioinformatics analysis has started or completion of successful bioinformatics analysis. The message 820 may include a workgroup identifier or other information from which the workgroup identifier may be determined. The gateway service 802, for example, may include or have stored thereon a number of topics to which other computing devices may publish information. The message 820 may be published to a topic (e.g., application-specific topic) managed by the gateway service 802.
[0103] The gateway service may send the information in the message 820 to the queue 804 at 822 for each instance of the bioinformatics subsystem corresponding to a different version of the bioinformatics subsystem. For example, the message 820 may be broadcast to each queue 804 for an instance of the bioinformatics subsystem that is subscribed to the topic to which the message 820 was published. Each instance may listen for messages received on the subscribed topics.
[0104] The CRS 806 at each instance may ingest the message 820. The CRS 806 may send a message (e.g, get pipeline config message, which may be an API call) 826 to the configuration service 808 to return a workgroup identifier 828. The CRS 806 may send a message (e.g., get workgroup-version mapping message, which may be an API call) 830. The message 830 may include a workgroup identifier or information that the administrative service 810 may use to determine the workgroup identifier. The administrative service 810 may maintain the mapping of workgroup identifiers to versions of the bioinformatics subsystem. The administrative service 810 may return a message 832 that includes an active version, a URL, and / or a namespace (e.g., k8snamespace) of the workgroup to which the message 820 is directed. The CRS 806 may process the message 820, or the information therein, at 834, if the namespace matches that of the instance for which the CRS 806 is implemented. If the namespaces do not match, then the message 820 is directed to another instance of the bioinformatics subsystem and the CRS 806 may send a reject message 836 and / or clear the message 820 from the queue 804.
[0105] API definitions are also described herein for obtaining information related to different instances and / or versions of the bioinformatics subsystems, and / or migrating a given workgroup to another instance or version. For example, an API may be implemented to link the versions to the instances. Each version of the CRS may listen to the topic via version specific queues. To ensure that a workgroup is currently configured on the active version of the bioinformatics subsystem, the CRS may call the administrative service (e.g, TAS) to find out the currentversion of the workgroup before processing the message. If the k8snamespace returned by the administrative service (e.g., TAS) does not match with the k8snamespace of the deployed instance, or the message returned by administrative service (e.g., TAS) is empty, the CRS may reject that message. If the k8snamespace returned by the administrative service (e.g., TAS) matches with the k8snamespace of the deployed instance, case creation may proceed.
[0106] Table 1 is an example of information that may be provided in an API request.TABLE 1TAS: Active version of a workgroup (4.0.0)For example, the administrative service may have a get request that includes a get action going to a URL with headers. The URL headers may identify the domain name, workgroup identifier,namespace, and / or version. The response to the get request may include a URL of the namespace, a version of the instance, and / or the namespace.
[0107] Although features, elements, and functions are described above in particular combinations, a feature, element, or function is used alone or in any combination with the other features, elements, or functions. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements may be subsequently made that are also intended to be encompassed by the following claims.
[0108] The methods described herein are implemented in a computer program, software, or firmware incorporated in a computer-readable medium for execution by a computer or processor. Examples of computer-readable media include electronic signals (transmitted over wired or wireless connections) and computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, a read only memory (ROM), a random-access memory (RAM), removable disks, and optical media such as CD-ROM disks, and digital versatile disks (DVDs).
Claims
CLAIMSWhat is claimed is:
1. A computer system comprising: a memory; and at least one processor configured to: define a plurality of instances of a bioinformatics subsystem configured to perform bioinformatics analysis of sequencing data stored in a common dataset, wherein each instance of the plurality of instances of the bioinformatics subsystem is associated with a respective workgroup identifier, wherein the plurality of instances of the bioinformatics subsystem comprise a first instance configured to operate in a first version defining a first set of features configured to perform the bioinformatics analysis of the sequencing data, and wherein the plurality of instances of the bioinformatics subsystem comprise a second instance configured to operate in a second version defining a second set of features configured to perform the bioinformatics analysis of the sequencing data; receive a first request from a client subsystem that comprises a first workgroup identifier; provide the client subsystem access to the first instance configured to operate in the first version of the bioinformatics subsystem based on the receipt of the first workgroup identifier; receive an indication to activate the first instance for performing the bioinformatics analysis on the sequencing data and generate reports based on the sequencing data; initiate the bioinformatics analysis on the sequencing data on the first instance of the bioinformatics subsystem using the first set of features; receive a second request from the client subsystem that comprises a second workgroup identifier; and based on the receipt of the second workgroup identifier, provide the client subsystem access to the second instance configured to operate in the second version of the bioinformatics subsystem to evaluate the second set of features prior to performing amigration to activate the second instance for performing the bioinformatics analysis on the sequencing data.
2. The computer system of claim 1, wherein the at least one processor configured to perform the migration of the sequencing data to the second version by updating the sequencing data to ensure proper compatibility with the second version of the bioinformatics subsystem.
3. The computer system of claim 1, wherein the first version and the second version of the bioinformatics subsystem are configured to identify different variants, utilize information from different data sources, or generate different information in the reports.
4. The computer system of claim 1, wherein the at least one processor is configured to: receive a third request from the client subsystem that comprises the first workgroup identifier; receive an indication to migrate the first workgroup identifier of the bioinformatics subsystem to the second version; and based on the first instance of the bioinformatics subsystem failing to be currently activated for performing the bioinformatics analysis on the sequencing data, allow the first workgroup to migrate to the second version.
5. The computer system of claim 4, wherein the migration is configured to direct the workgroup identifier from a first URL associated with the first instance to a second URL associated with the second instance.
6. The computer system of claim 1, wherein the at least one processor configured to: receive a third request from the client subsystem that comprises the first workgroup identifier; receive an indication to migrate the first workgroup identifier of the bioinformatics subsystem to the second version; andbased on the first instance of the bioinformatics subsystem being currently activated for performing the bioinformatics analysis on the sequencing data, prevent the first workgroup from migrating to the second version.
7. The computer system of claim 1, wherein the bioinformatics analysis comprises secondary analysis or tertiary analysis.
8. The computer system of claim 1, wherein each instance of the plurality of instances is comprises a respective namespace comprising Kubernetes clusters of computing resources.
9. The computer system of claim 1, wherein the plurality of instances of the bioinformatics subsystem are associated with a first domain, and wherein the memory comprises a plurality of instances of the bioinformatics subsystem that are associated with a second domain that is separate from the first domain.
10. The computer system of claim 1, wherein the report comprises a first report, and wherein the at least one processor is configured to: generate, based on test data associated with the second instance of the bioinformatics subsystem, a second report configured to identify results of the bioinformatics analysis using the second set of features of the second instance of the bioinformatics subsystem, wherein the second report is configured to validate the bioinformatics analysis prior to the migration.
11. At least one computer-readable storage medium having computer-executable instructions stored thereon configured to, when executed by at least one processor, cause the at least one processor to: define a plurality of instances of a bioinformatics subsystem configured to perform bioinformatics analysis of sequencing data stored in a common dataset, wherein each instance of the plurality of instances of the bioinformatics subsystem is associated with a respective workgroup identifier, wherein the plurality of instances of the bioinformatics subsystem comprise a first instance configured to operate in a first version defining a first set of features configured to perform the bioinformatics analysis of the sequencing data, and wherein theplurality of instances of the bioinformatics subsystem comprise a second instance configured to operate in a second version defining a second set of features configured to perform the bioinformatics analysis of the sequencing data; receive a first request from a client subsystem that comprises a first workgroup identifier; provide the client subsystem access to the first instance configured to operate in the first version of the bioinformatics subsystem based on the receipt of the first workgroup identifier; receive an indication to activate the first instance for performing the bioinformatics analysis on the sequencing data; initiate the bioinformatics analysis on the sequencing data on the first instance of the bioinformatics subsystem using the first set of features; receive a second request from the client subsystem that comprises a second workgroup identifier; and based on the receipt of the second workgroup identifier, provide the client subsystem access to the second instance configured to operate in the second version of the bioinformatics subsystem to evaluate the second set of features.
12. The at least one computer-readable medium of claim 11, wherein the instructions are configured to cause the at least one processor to perform the migration of the sequencing data to the second version by updating the sequencing data to ensure proper compatibility with the second version of the bioinformatics subsystem.
13. The at least one computer-readable medium of claim 11, wherein the first version and the second version of the bioinformatics subsystem are configured to identify different variants, utilize information from different data sources, or generate different information in the reports.
14. The at least one computer-readable medium of claim 11, wherein the instructions are configured to cause the at least one processor configured to: receive a third request from the client subsystem that comprises the first workgroup identifier; receive an indication to migrate the first workgroup identifier of the bioinformatics subsystem to the second version; andbased on the first instance of the bioinformatics subsystem failing to be currently activated for performing the bioinformatics analysis on the sequencing data, allow the first workgroup to migrate to the second version.
15. The at least one computer-readable medium of claim 14, wherein the migration is configured to direct the workgroup identifier from a first URL associated with the first instance to a second URL associated with the second instance.
16. The at least one computer-readable medium of claim 11, wherein the instructions are configured to cause at least one processor configured to: receive a third request from the client subsystem that comprises the first workgroup identifier; receive an indication to migrate the first workgroup identifier of the bioinformatics subsystem to the second version; and based on the first instance of the bioinformatics subsystem being currently activated for performing the bioinformatics analysis on the sequencing data, prevent the first workgroup from migrating to the second version.
17. The at least one computer-readable medium of claim 11, wherein the bioinformatics analysis comprises secondary analysis or tertiary analysis.
18. The at least one computer-readable medium of claim 11, wherein each instance of the plurality of instances is comprises a respective namespace comprising Kubemetes clusters of computing resources.
19. The at least one computer-readable medium of claim 11, wherein the plurality of instances of the bioinformatics subsystem are associated with a first domain, and wherein the memory comprises a plurality of instances of the bioinformatics subsystem that are associated with a second domain that is separate from the first domain.
20. The at least one computer-readable medium of claim 1 1, wherein the report comprises a first report, and wherein the instructions are configured to cause the at least one processor is to: generate, based on test data associated with the second instance of the bioinformatics subsystem, a second report configured to identify results of the bioinformatics analysis using the second set of features of the second instance of the bioinformatics subsystem, wherein the second report is configured to validate the bioinformatics analysis prior to the migration.
Citation Information
Patent Citations
Dynamic graphical status summaries for nucelotide sequencing
US20230207063A1
Multi-version processing using a monitor subsystem
WO2024063995A1