Data structure with graph reference index
The method addresses genomic variability representation issues by using a graph reference genome with partitions and a GRMI for efficient storage and retrieval, enhancing data accessibility and accuracy in genomic analysis.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- KONINKLIJKE PHILIPS NV
- Filing Date
- 2026-01-07
- Publication Date
- 2026-07-23
AI Technical Summary
Existing linear reference genomes fail to adequately represent genomic variability, leading to reference bias and inaccurate downstream analysis, and existing data structures are inefficient for graph-based genome processing.
A method for representing genomic data in a compressed, searchable format using a graph reference genome, involving graph partitions and a Graph Reference Master Index (GRMI) for efficient storage and retrieval, allowing fine-grained retrieval of specific regions.
Enables efficient storage and rapid retrieval of genomic data while reducing overall storage requirements and query latency, supporting accurate alignment and variant calling across diverse samples.
Smart Images

Figure IMGF000068_0001 
Figure IMGF000068_0002 
Figure IMGF000070_0001
Abstract
Description
Philips Docket: 2025P00078WODATA STRUCTURE WITH GRAPH REFERENCE INDEXField of the Invention
[0001] The present disclosure is directed generally to methods and systems for creating and processing a data structure comprising genetic information.Background
[0002] The linear reference genome, comprising a single genetic sequence, is the most prevalent model used for processing and analysis, including the alignment of reads and the calling of variants, in next generation sequencing (NGS). A linear reference genome is based on the use of a single, preferred tiling path to produce a single consensus representation of the genome. For example, the linear reference NCBI GRCh38 (Hg38) is a composite genome with approximately 93% of the primary assembly consisting of sequences from 11 individuals.
[0003] However, despite its popularity among scientists due to its ease of reference and lower requirement for computational analysis, the single tiling path of a linear reference genome is insufficient to represent the allelic diversity in complex genomic regions of most mammalian genomes. With so much genomic variation excluded, the linear reference genome introduces a pervasive reference bias. This can adversely affect the accuracy of downstream analysis. For instance, if the genomic region that contains a clinically relevant mutation of a patient is significantly different from the reference genome, then the sequencing reads of the patient in that region will not be correctly mapped to the reference, resulting in a missed call of the variant which could be critical for diagnosis and treatment. The latest human reference genome GRCh38 attempted to improve the representation of allelic diversity by including alternate loci scaffolds in regions with known alternate haplotypes (e.g., the major histocompatibility complex region), high variability (e.g., olfactory receptor regions) and large structural variants greater than 5 Kb. However, this does not adequately encompass or represent the variability found within genomes.
[0004] Over the past decades, the cost of sequencing an entire human genome has decreased dramatically. Today, sequencing the whole genome of a mammal can be less expensive than the subsequent processing and storage of the massive amounts of data generated. Consequently, it isPhilips Docket: 2025PF00078essential to store genomic data in a manner that conserves resources for storage, processing, and transmission, in order to keep overall costs manageable and to maximize the utility of the vast quantities of genomic sequencing data now being produced.
[0005] One of the most effective ways to represent the complex genomic diversity in a reference cohort is through a genome graph, where genomic variations are captured as edges associated with different nucleotide sequences. With the advancement in bioinformatics algorithms and computational power, graph-based genome analysis will become one of the mainstream approaches for genomic studies. However, as with linear reference genomes, existing genome graphs are not designed or structured to adequately encompass or represent the variability found within the genomes of a cohort.
[0006] Many genomic sequence files and databases still store sequence information as linear sequence data. This creates obstacles when comparing such data with more recent genomic data, which are often stored in graph-based formats. Consequently, interoperability between linear and graph-based data remains problematic.
[0007] In particular, existing file formats and encoding / decoding schemes do not support efficient data retrieval and processing if a graph reference genome instead of a linear reference genome is provided. Rather, existing data access structures and mechanisms are tied to linear coordinate systems. As a result, edges in a graph reference genome cannot be efficiently looked up using existing frameworks for storing and processing genomic data.Summary of the Disclosure
[0008] Described herein are methods and systems for creating, processing and / or storing a genomic data structure as specified in the independent claims. Examples of these methods and systems are given in the dependent claims and the specification, and can be freely combined with each other as long as they are not mutually exclusive.
[0009] In one aspect, disclosed herein is a computer-implemented method for representing genomic data in a compressed, searchable format, the method comprising:receiving a definition of a graph reference genome comprising edges representing genomic variants;Philips Docket: 2025PF00078identifying graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived;encoding the graph reference genome on a per-partition basis to generate compressed representations of the graph partitions;generating at least one graph reference master index, GRMI, the GRMI comprising index entries representing the graph partitions, the compressed representations being individually identifiable via the GRMI, the index entries being identifiable by a search key being or comprising the one or more criteria;storing the compressed representations and the at least one GRMI in a genomic data structure; andstoring the genomic data structure in a memory.
[0010] In a further aspect, disclosed herein is a computer-implemented method for searching genomic data. The method comprises:receiving a genomic data structure comprising:■ partition-wise compressed data of a graph reference genome, the graph reference genome comprising edges representing genomic variants, the partition-wise compression being based on graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifierPhilips Docket: 2025PF00078range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; and■ at least one graph reference master index, GRMI, the GRMI being a searchable index for the graph partitions, the GRMI comprising index entries representing the graph partitions, the index entries being addressable by a search key being or comprising the one or more criteria;receiving a search key;searching the GRMI using the received search key for identifying one or more graph partitions comprising edges whose index entries match the search key; reconstructing a de-compressed representation of those parts of the graph reference genome which are encoded in the identified one or more graph partitions while keeping the other graph partitions in compressed state; andstoring the reconstructed part of the graph reference genome in a memory.
[0011] In a further aspect, disclosed herein is a computer program comprising instructions which enable a processor to carry out the method of any one of the examples disclosed herein.
[0012] In a further aspect, disclosed herein is a computer program product comprising instructions which enable a processor to carry out the method of any one of the examples disclosed herein.
[0013] In a further aspect, disclosed herein is a computer system for representing genomic data in a compressed, searchable format. The computer system comprises a memory and a processor, the processor being configured for:receiving a definition of a graph reference genome comprising edges representingPhilips Docket: 2025PF00078genomic variants;identifying graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived;encoding the graph reference genome on a per-partition basis to generate compressed representations of the graph partitions;generating at least one graph reference master index, GRMI, the GRMI comprising index entries representing the graph partitions, the compressed representations being individually identifiable via the GRMI, the index entries being identifiable by a search key being or comprising the one or more criteria;storing the compressed representations and the at least one GRMI in a genomic data structure; andstoring the genomic data structure in the memory.
[0014] In a further aspect, disclosed herein is a computer system for searching genomic data. The computer system comprises memory and a processor, the processor being configured for: receiving a genomic data structure comprising:■ partition-wise compressed data of a graph reference genome, the graph reference genome comprising edges representing genomic variants, the partition-wise compression being based on graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifierPhilips Docket: 2025PF00078range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; and■ at least one graph reference master index, GRMI, the GRMI being a searchable index for the graph partitions, the GRMI comprising index entries representing the graph partitions, the index entries being addressable by a search key; receiving a search key;searching the GRMI using the received search key for identifying one or more graph partitions comprising edges whose index entries match the search key; reconstructing a de-compressed representation only of those parts of the graph reference genome which are encoded in the identified one or more graph partitions while keeping the other graph partitions in compressed state; andstoring the reconstructed part of the graph reference genome in the memory.
[0015] In a further aspect, disclosed herein is a genomic data structure comprising:partition-wise compressed data of a graph reference genome, the graph reference genome comprising edges representing genomic variants, the partition-wise compression being based on graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from whichPhilips Docket: 2025PF00078one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; andat least one graph reference master index, GRMI, the GRMI being a searchable index for the graph partitions, the GRMI comprising index entries representing the graph partitions, the index entries being addressable by a search key;wherein the GRMI is configured such that it enables searching the GRMI with a search key for identifying one or more graph partitions comprising edges whose index entries match the search key.Brief Description of the Drawings
[0016] In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the various examples.
[0017] FIG. 1 is a schematic representation of an exemplary genomic data structure with a GRMI.
[0018] FIG. 2 shows a flow chart of an example encoding method for representing genomic data and a GRMI in a data structure.
[0019] FIG. 3 shows a flow chart of an example decoding method for reconstructing parts of a graph reference genome.
[0020] FIG. 4 illustrates an example of a graph reference genome with edges belonging to different groups, clusters and partitions.
[0021] FIG. 5 shows a block diagram of an example data processing system for encoding, processing, and / or decoding genomic data.
[0022] FIG. 6 illustrates an example of graph-based reference genome comprising edges obtained from different sources, including edges corresponding to a linear reference.Philips Docket: 2025PF00078
[0023] FIG. 7 shows a first path highlighted through the graph reference genome of FIG. 6.
[0024] FIG. 8 shows a second path highlighted through the graph reference genome of FIG. 6.
[0025] FIG. 9 illustrates an exemplary graph reference genome including different types of connections between edges and a linear reference sequence.
[0026] FIG. 10 illustrates an exemplary computation of a pseudo-linear coordinate for a position on an edge connected to a linear reference sequence.
[0027] FIG. 11 illustrates an exemplary computation of a pseudo-linear coordinate for a position on a further edge connected to a linear reference sequence.Detailed Description of Examples
[0028] The present disclosure describes various examples of a system, a method, a computer program, a computer program product and a data structure for creating, processing and / or storing genomic data.
[0029] It should be appreciated that all combinations of the foregoing concepts and additional concepts discussed in greater detail below and in the claims (provided such concepts are not mutually inconsistent) are contemplated as being part of the disclosure.
[0030] These and other aspects of the various examples will be apparent from and elucidated with reference to the example(s) described hereinafter.
[0031] Disclosed is a computer-implemented method for representing genomic data in a compressed, searchable format. The method comprises:receiving a definition of a graph reference genome comprising edges representing genomic variants;identifying graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or morePhilips Docket: 2025PF00078of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived;encoding the graph reference genome on a per-partition basis to generate compressed representations of the graph partitions;generating at least one graph reference master index, GRMI, the GRMI comprising index entries representing the graph partitions, the compressed representations being individually identifiable via the GRMI, the index entries being identifiable by a search key being or comprising the one or more criteria;storing the compressed representations and the at least one GRMI in a genomic data structure; andstoring the genomic data structure in a memory.
[0032] This could have the advantage that large graph reference genomes are stored in a highly compact form while still allowing rapid, fine-grained retrieval of specific regions, so overall storage requirements and query latency may be reduced.
[0033] The GRMI may allow efficient selective access to edges in large graph references, as the decoder does not have to sequentially parse access units or rely on external, non-standard indexing solutions. The GRMI may also allow efficient selective access to reads aligned to these edges.
[0034] For example, the sequence identifier could be a chromosome ID.
[0035] According to some examples, a “subset of the edges sharing a sequence identifier” may be a group of edges that are all associated with the same sequence ID (for example a chromosome ID or another designated reference sequence), such that they can be retrieved or reconstructed together when queries are performed per-sequence.
[0036] According to some examples, a “subset of the edges sharing a genomic coordinate range” may be a group of edges whose pseudo-linear or predefined linear coordinates fall withinPhilips Docket: 2025PF00078a defined minimum and maximum genomic position, thereby delimiting the genomic scope of the partition.
[0037] According to some examples, a “subset of the edges sharing an edge identifier range” may be a group of edges whose numerical edge identifiers lie between a minimum and maximum value, for example corresponding to edges belonging to a particular version or sample of the graph reference genome.
[0038] According to some examples, the edges are MPEG-G segments and the edge identifier ranges are MPEG-G segment identifier ranges. The search key that may be used to search this index may be or comprise an edge identifier being a MPEG-G segment identifier. The “subset of the edges sharing a segment identifier range” in this case may be a group of segments whose numerical MPEG-G segment identifiers fall between a minimum and maximum value, thereby enabling fine-grained partitioning inside long edges.
[0039] According to some examples, a “subset of the edges sharing a cluster identifier range” may be a group of edges that are topologically or positionally adjacent and assigned to the same cluster, where the cluster identifier range defines the minimum and maximum cluster IDs bounding the subset. In some examples, the clustering may have been performed with respect to edges being MPEG-G segments, an in this case the “subset of the edges sharing a cluster identifier range” may be a group of MPEG-G segments that are topologically or positionally adjacent and assigned to the same cluster.
[0040] According to some examples, a “subset of the edges sharing a group identifier range” may be a group of edges (which may, for example, be MPEG-G edges or MPEG-G segments) that originate from the same biological source or sample, or from multiple sources that are assigned consecutive group IDs, where the minimum and maximum group identifier values delimit the group.
[0041] Preferably, each partition is individually addressable via the GRMI. This may have the advantage that the decoder may be enabled to process only the data actually requested, which may lower compute and I / O overhead during downstream analyses.
[0042] According to some examples, the genomic data structure comprises a plurality of access units. The data of each of one or more of the graph partitions is stored in one or more of the accessPhilips Docket: 2025PF00078units. An access unit is the smallest independently decodable element comprised in the genomic data structure that needs to be decoded to reconstruct a genomic record. Each access unit comprises one or more blocks, each representing a compressed set of values (e.g., a compressed set of descriptor values, such as MPEG-G descriptor values and / or MPEG-G attribute values), and the at least one GRMI supports random access to the access units based on a provided search key. In particular, the creating of the GRMI may comprise creating the index entries such that the access units are indexed in the GRMI based on one or more boundary parameters. The boundary parameters are also referred herein to as “boundary conditions”.
[0043] This may have the advantage that the use of independently decodable access units in combination with the GRMI may enable direct jumping to the necessary access units and the data blocks contained therein, thereby avoiding full-file scans and sharply decreasing decoding latency and memory footprint. This structure may also facilitate parallel decompression of access units, which may improve throughput on multi-core systems.
[0044] According to examples, each of the partitions is stored in one of the access units or a group of two or more of the access units. In particular, the encoder may apply a first partitioning schema using one or more first boundary parameter ranges for partitioning sequence data and sequence-related descriptors of a particular part of the graph reference genome, thereby providing nsppartitions comprising sequence data. These sequence data may be stored in the edges, e.g., in the MPEG-G edges or MPEG-G segments. For example, the first partitioning schema may provide a number of nsppartitions comprising sequence data and optionally also one or more descriptors of MPEG-G edges or MPEG-G segments. The nsppartitions comprising sequence data are stored in the same number nspof access units. In addition, the encoder may apply a second partitioning schema using one or more second boundary parameter ranges for partitioning annotations (which may be stored in descriptors, in particular MPEG-G attributes) of a particular part of the graph reference genome, thereby providing nappartitions comprising annotation data. The first and second partitioning schemas and respective boundary parameters and parameter values may differ from each other, and hence, the number of nsppartitions comprising sequence data and the number of nappartitions comprising annotation data may differ. Both types of access units may be randomly accessible via the GRMI.Philips Docket: 2025PF00078
[0045] Preferably, the edges belonging to a graph partition are encoded within a single access unit of the graph reference dataset. Supplementary information, such as annotations, may be stored separately in separate, dedicated access units of the corresponding annotation type. When a partitioning scheme based on cluster identifier ranges is applied, the records associated with the clusters within a particular, single partition may be represented by a corresponding set of one or more access units.
[0046] For example, the records of a single partition of the graph reference genome will typically cover multiple cluster identifier ranges, if cluster identifier ranges are used as bounding parameter. Each partition defined by a range of cluster IDs contains all the records (graph reference genome elements) associated with those clusters. If the graph reference genome is free of annotations, the records of the multiple clusters of a single one of said partitions may be stored in a single access unit representing said single partitions. In other examples, e.g., when the graph reference genome comprises annotations, the records of the multiple clusters of said single one of said partitions may be stored, for example, in a first access unit for storing sequence data of said single partition, and in one or more second access units for storing the annotation data of said single partition. The data of each access unit are independently encoded and stored.
[0047] A genomic record can be, for example, a data structure representing a specific type of genomic information, such as read or read pair information or an element of a graph reference genome (e.g. an edge or cluster). The data of a collection of genomic records are encoded and stored in an access unit. A genomic record may be reconstructed by decoding the descriptor blocks belonging to said access unit. The type of genomic record may be determined by the access unit type and, where applicable, by the descriptors that are present within the access unit.
[0048] According to examples, the genomic data structure comprises access units, each, upon being decoded, may provide genomic records of a particular type. Each access unit may be a container of many genomic records of the same type, whereby different record types cannot be mixed in the same access unit.
[0049] There can be multiple types of genomic records encoded in the genomic data structure. According to some examples, the genomic data structure comprises edge records and / or cluster records.Philips Docket: 2025PF00078
[0050] For example, an edge record may represent an individual edge in a graph reference genome and may contain descriptors such as an edge identifier, a nucleotide sequence, its rank in the graph and / or its upstream or downstream connections.
[0051] A cluster record may represent a grouping of edges or edge-aligned reads that are related by their topological or positional characteristics within the graph. Rather than encoding a single sequencing template, a cluster record type may express a higher-level abstraction that may allow efficient traversal of the graph and facilitate queries such as retrieving all reads that belong to the edges (e.g., MPEG-G edges and / or MPEG-G segments) of a given cluster.
[0052] According to some examples, the method further comprises storing access unit offset values and access unit block offset values in the GRMI to enable random access to the access unit blocks. For example, these offset values may be used as pointers for random access to respective access units and access unit blocks.
[0053] This may have the benefit that the explicit storage of access-unit and block offsets within the GRMI may eliminate the need for sequential offset discovery, so the decoder can seek directly to the desired byte position, which may reduce I / O operations and accelerate random queries.
[0054] According to some examples, the method comprises storing the GRMI entries in association with respective one or more sets of boundary parameter values. A boundary parameter value set delimits the content of the partition to which it is assigned and enables searching the GRMI via the search key. The boundary parameters are selected from a group comprising:a sequence identifier;genomic coordinate boundaries, comprising a minimum and a maximum reference genome position of the partition that define the lowest and highest genomic coordinates of edges in the partition, the coordinates optionally being pseudo-linear coordinates;cluster boundaries, comprising a minimum and a maximum cluster identifier that define the range of cluster identifiers covered by the partition;edge boundaries, comprising a minimum and a maximum edge identifier that define the identifier range of the edges in the partition, the range optionally corresponding to edges belonging to a version or a sample;Philips Docket: 2025PF00078group boundaries, comprising a minimum and a maximum group identifier that define the range of identifiers of groups to which the edges in the partition belong;chain boundaries, comprising a minimum and a maximum chain identifier that define the range of identifiers of chains to which the edges in the partition belong; and subgraph boundaries, comprising a minimum and a maximum subgraph identifier that define the range of identifiers of subgraphs of the graph reference genome to which the edges in the partition belong.
[0055] A set of boundary parameter values of a boundary parameter may, for example, comprise a minimum and maximum value for said parameter. Each GRMI entry may be associated with value sets of one or more of the boundary parameters.
[0056] The boundary parameters may enable a decoder to decide whether or not to jump to and decode the access units of a particular graph partition. They may also enable the decoder to evaluate simple numeric boundary parameters against a search key and immediately decide whether a partition contains relevant data. This may allow avoiding unnecessary disk reads and decompression and improving overall query performance. Checking if a numerical value is smaller or larger than a numerical boundary value is an operation that may be executed very fast and with low computational effort.
[0057] The genomic coordinates of one or more of the edges of the graph reference genome can be, for example, pseudo-linear coordinates computed based on known linear coordinates of one or more reference sequences which are also part of the graph reference genome.
[0058] According to some examples, the genomic data structure comprises one or more dataset groups, each dataset group comprising one or more datasets. At least some of the datasets respectively comprise a single GRMI and one or more access units that are directly addressable via the GRMI. For example, GRMI entries may comprise pointers, e.g. storage addresses of access units and / or of individual blocks within an access unit such that if a search key matches an GRMI entry, the pointer of this entry may be used to directly access a particular block of a particular access unit. The GRMI entry matching a search key can be, for example, an entry representing one or more graph elements (e.g. edges, in particular MPEG-G edges or MPEG-G segments) having assigned a property that is of the same type as the boundary parameter used for creating the GRMIPhilips Docket: 2025PF00078(e.g. a coordinate range, a sequence identifier range, a group identifier range, etc.) and representing a value or value range that matches the value or value range of the search key.
[0059] In some examples, the dataset may comprise multiple GRMIs, one for each of two or more different boundary parameters.
[0060] Preferably, there is only one GRMI per graph reference genome. If the genomic data structure comprises one or more genome datasets, such as an MPEG-G compliant data structure, there is preferably only one GRMI per graph reference genome dataset. However, it is possible that this single GRMI covers a combination of two or more different boundary parameters which have been used in combination for partitioning the graph reference genome.
[0061] Organizing the genomic data structure into dataset groups with individually addressable access units may simplify incremental updates with genomic data from other sources, e.g., other patients or samples, and / or selective decoding and distribution of only the datasets required for a particular analysis, which may lower network transfer volumes and eases version management.
[0062] According to some examples, the genomic data structure is an MPEG-G compliant file.
[0063] This could have the advantage that conformity with the MPEG-G standard ensures interoperability with existing genomic compression and streaming tools. This may reduce integration effort for downstream bioinformatics analysis or visualization software.
[0064] According to some examples, the genomic data structure comprises at least one first dataset having dataset type (for example, a proposed dataset type = 5) indicating that the at least one first dataset comprises a graph reference genome. The at least one first dataset comprises the GRMI. Optionally, the genomic data structure comprises at least one second dataset having dataset type being indicative of unaligned or aligned reads (e.g., a dataset type < 3 in accordance with the current MPEG-G standard). In addition, or alternatively, the genomic data structure comprises at least one second dataset having dataset type (e.g., a dataset type = 4) indicating graph aligned data. The at least one second dataset comprises a master index table, MIT, or a graph alignment master index, GAMI, instead of the GRMI.
[0065] The MIT is a coordinate-based index for reads aligned to a linear reference.
[0066] The GAMI is an indexing structure for graph-aligned datasets, allowing efficient retrieval of access units containing reads mapped to particular edges of the graph referencePhilips Docket: 2025PF00078genome. Thus, the GAMI enables a decoder to locate which access units contain the relevant graph-aligned genomic records based on criteria such as a range of pseudo-linear coordinates and a range of identifiers for data elements such as edges (e g., MPEG-G edges or MPEG-G segments), clusters (which may, for example, be based on clusters of MPEG-G edges or MPEG-G segments), chains or groups.
[0067] The GRMI can be, for example, an indexing structure for the graph reference genome itself (and parts thereof, e.g., edges, nodes, groups, etc.). It may be used, for example, to navigate or retrieve parts of the graph reference dataset, which may belong to a different dataset type than the graph-aligned reads for which the GAMI was computed.
[0068] Providing a genomic data structure comprising both one or more GRMI and one or more GAMI may be advantageous, as complementary index structures may be provided: while the GRMI may organize and provide fast access to the graph reference genome, the GAMI may provide an index of the aligned read data against that graph.
[0069] This could result in a genomic data structure that may act as a single container that simultaneously holds graph reference data and conventional read datasets in a manner that both types of data can quickly be accessed and searched via an index structure. This may enable users to perform hybrid analyses without juggling multiple files, while the distinct index types may provide optimal search performance for each data modality.
[0070] According to some examples, the graph reference genome is a pangenome graph reference genome.
[0071] A beneficial effect of this could be that employing a pangenome graph reference captures population-wide genomic variation, thereby reducing reference bias and enabling more accurate alignment and variant calling across diverse samples.
[0072] According to some examples, the method further comprises:computing pseudo-linear positions of points on the edges of the graph reference genome; wherein the GRMI is generated such that the index entries are addressable by a search key being a genomic coordinate or coordinate range.Philips Docket: 2025PF00078
[0073] This could have the advantage that mapping graph edges to pseudo-linear positions allows existing linear-reference visualization and analysis tools to be reused, which may leverage mature software ecosystems and may lower the barrier to adoption of graph-based references.
[0074] According to some examples, the edges of the graph reference genome respectively have assigned numerical edge identifiers. The edge identifier ranges of different edge groups are non-overlapping. The method further comprises:creating a newer version of the graph reference genome by creating additional edges that are connected to the existing edges of the graph reference genome;creating new edge identifiers for the additional edges such that the edge identifiers of the additional edges have a higher numerical value than the edge identifiers of the existing graph reference genome; andupdating the GRMI to enable addressing also the additional edges via the search key.
[0075] This versioning scheme of edge identifiers may have the advantage that incremental updates to the graph reference genome may be enabled. Edges that have been added to a graph reference genome later, i.e., edges that belong to a newer version of the graph reference genome, are assigned new edge ID ranges that are ensured to be higher than the numerical values of all edge identifiers of the edges already existing in the graph reference genome. As edges from older versions retain their existing identifiers, it may be sufficient to incrementally update the index instead of creating it de-novo whenever a new edge is added to the graph reference genome, thereby saving CPU capacity. This may also ensure comparability of analysis results obtained by downstream bioinformatics analysis tools which may store their analysis results in association with respective edge identifiers. Keeping edge identifiers constant over many versions of a graph reference genome may ensure comparability of results obtained on graph reference genomes having different versions.
[0076] A further possible benefit could be that the above-mentioned edge-identifier scheme may permit incremental extension of not only the graph reference genome, but also of the GRMI, so new versions can be added without rewriting or invalidating existing identifiers. This may save processing time and preserve backward compatibility for previously stored datasets.Philips Docket: 2025PF00078
[0077] According to some examples, the creation of the additional edges of a graph reference genome may comprise identifying new edges from sequencing read alignments. In particular, sequencing reads obtained from a new dataset may be aligned against the existing version of the graph reference genome. While many of the reads will typically map consistently to the edges already present in the graph, a subset of reads or read portions may fail to align without mismatches. For example, a read may comprise a single nucleotide substitution not represented in any existing edge sequence, a read may comprise an insertion relative to all known paths, or a read may span two genomic regions in a way not captured by the current connectivity of the graph reference genome.
[0078] From such mismatches or gaps, the encoder or other system may infer candidate variant sequences. These candidate sequences are not identical to raw reads but are consensus sequences derived from multiple reads that exhibit the same variation pattern. For example, if a plurality of reads consistently shows a G— A substitution at a particular genomic position, a new variant edge may be created that branches from the existing edge at the substitution site and rejoins downstream. Similarly, if a set of reads consistently exhibits an insertion of a defined length relative to the reference backbone, a new edge containing the insertion sequence may be generated.
[0079] The newly inferred variant sequences are then represented as edges within the graph reference genome. Their connectivity with existing edges is determined based on the alignment context of the supporting reads, i.e. the upstream and downstream anchor positions to which the variant sequence attaches. Hence, identifying additional edges that are connected with existing edges may correspond to a graph-based variant calling process in which new reference elements are constructed from read evidence and incorporated into the topology of the graph reference genome. Thereby, each additional edge is assigned a numerical edge identifier that is greater than any of the identifiers of the pre-existing edges, thereby ensuring non-overlapping identifier ranges across graph versions. The graph reference genome comprising these new edges constitutes a newer version of the graph reference, while earlier edges and their identifiers remain unchanged.
[0080] According to some examples, the groups of the graph reference genome respectively have assigned numerical group identifiers. The edge identifier ranges of different edge groups are non-overlapping. The method further comprises:Philips Docket: 2025PF00078creating a newer version of the graph reference genome by creating additional edges that represent genomic variants identified in sequence reads derived from a new source, the new source represented as a new group, the additional edges being connected to the existing edges of the graph reference genome;creating a new group identifier for the additional group, the new group identifier having a higher value than the group identifiers existing already in the genomic data structure; creating new edge identifiers for the additional edges such that the edge identifiers of the additional edges have a higher numerical value than the edge identifiers of the existing graph reference genome; andupdating the GRMI to enable addressing also the additional edges via the search key comprising one of the new edge identifiers and / or the new group identifier.
[0081] The scheme described above may be applied in some examples to assign new edge identifiers and group identifiers in such a way that higher numerical values are allocated to edges or groups that are added later to the graph reference genome. Multiple new groups (with increasing group IDs) may correspond to multiple sources (samples) of edges being added to a particular version of the graph reference genome. Therefore, a range of group IDs can also bound the edges to given version(s) of the graph reference genome.
[0082] For example, a graph reference genome may comprise edges organized into groups, each group being assigned a unique numerical group identifier. For instance, a first group of edges may have group identifier “1” and a second group of edges may have group identifier “2.” The edges within each group are assigned numerical edge identifiers, and the edge identifier ranges of the different groups are non-overlapping. In a subsequent update, additional variation is discovered from sequencing data of a newly analyzed population. From these data, a set of additional edges is identified, the additional edges being connected to existing edges of the graph reference genome based on the alignment context. A newer version of the graph reference genome is then created by incorporating the additional edges. To maintain versioning consistency, the additional edges are assigned to a new group, for example with group identifier “3,” which is numerically higher than any group identifier already assigned. Similarly, each of the additional edges is assigned a new edge identifier, with all such identifiers being higher than the edge identifiers of the existing groups, thereby ensuring that edge identifier ranges remain non- overlapping.Philips Docket: 2025PF00078
[0083] The Graph Reference Master Index (GRMI) is subsequently updated to include partitions corresponding to the newly added group and its edges. This enables random access to the additional edges using a search key that comprises either the new edge identifiers or the new group identifier. In this way, queries referencing the updated group or its edges can be resolved without ambiguity, while preserving backward compatibility with previously defined groups and edge identifiers.
[0084] According to some examples, the GRMI comprises a minimum and a maximum edge identifier value for each graph partition. The minimum and maximum edge identifier values are indicative of the smallest and highest edge identifier values of all edges comprised in this graph partition. Thereby, the minimum and maximum edge identifier values are bounding the edges belonging to one or more versions of the graph reference genome.
[0085] In addition, or alternatively, the GRMI comprises a minimum and a maximum group identifier value for each graph partition. The minimum and maximum group identifier values are indicative of the smallest and highest group identifier values of all edges comprised in this graph partition, and are implicitly (because the edge identifiers of a new group will have a higher value than the edge identifiers of existing groups) indicative of the smallest and highest edge identifier values of all edges comprised in the groups in the graph partition. Thereby, the minimum and maximum group identifiers define the edges belonging to one or more versions of the graph reference genome.
[0086] For example, a range of edge identifiers can indicate a partition belongs to a particular graph reference version or a version having a higher version number. The assumption is that edges added in version v are comprised in all versions > v, because typically, a graph reference genome is enriched with additional genomic variants over time, and edges are, according to some use case scenarios, typically not deleted.
[0087] Similarly, multiple new groups (with increasing group IDs) can correspond to multiple sources (samples) of edges being added to a particular version of the graph reference genome. Therefore, a range of group IDs can also bound the edges to given version(s) of the graph reference genome.Philips Docket: 2025PF00078
[0088] Storing the minimum and the maximum edge identifiers per partition may enable rapid filtering of partitions by version without inspecting individual entries, which may streamline version-specific queries and may reduce index traversal time.
[0089] According to some examples, the partition-wise encoding comprises encoding data associated with elements of the graph reference genome in a set of one or more of the access units. The set of access units belongs to two or more different types of access units. For example, the data of a single one of the partitions may be stored in access units belonging to two or more different types of access units. The encoding of the data associated with elements of the graph reference genome comprises, for each of the access unit types: setting a flag to indicate whether access units of that type are grouped by sequence identifier of sequences of the graph reference genome belonging to said partition; and optionally, if the flag is set, for each sequence identifier of sequences comprised in the partition, storing the number of access units used for storing data associated with the sequence having said sequence identifier.
[0090] This structure may have the advantage that heterogeneous data associated with the graph reference genome can be organized into access units of different types while still being uniformly addressable via the GRMI. By signaling, through a flag, whether access units of a given type are grouped by sequence identifier, the decoder may be enabled to directly determine whether sequence-specific grouping is present and thereby avoid unnecessary parsing steps. If sequencebased grouping is activated, the explicit storage of the number of access units per sequence identifier may further allow the decoder to directly compute which access units need to be accessed for reconstructing data associated with a particular sequence. This may reduce query latency, lower memory overhead, and enable selective decoding of only those access units that contain relevant information for the sequence of interest. In addition, the partition-wise organization across multiple access unit types may facilitate parallel decoding of different classes of genomic data, thereby improving throughput on multi-core architectures and enabling efficient hybrid analyses across different descriptor classes.
[0091] The ’’type” of an access unit may also be referred to as “class” of an access unit.
[0092] According to some examples, the partition-wise encoding is performed such that the way partitions are defined, i.e., the type and values of boundary parameters used for defining a partition, is different for different access unit types. For example, different access unit types mayPhilips Docket: 2025PF00078correspond to different boundary parameters and, as a consequence, may be used for storing different numbers of partitions.
[0093] For example, a reference genome may be derived from 100 different patients, each corresponds to a graph reference group. One way of partitioning is then to put 10 groups of edges into each partition, thus resulting in a total of 10 partitions. Each of these 10 source-based partitions would be stored in a separate, individually addressable and decodable access unit, and indexed by the boundary condition of a group ID range. The GRMI built for providing random access to these 10 partitions and respective access units based on the group-ID would require 10 entries. So the first index entry would comprise a pointer to the first access unit storing e.g. descriptor values for descriptors DI, D2, D3 [...] for partition 1 comprising the groups 0-9, the second index entry would comprise a pointer to a second access unit storing e.g. descriptor values for descriptors DI, D2, D3 [... ] for partition 2 comprising groups 10-19, and so on.
[0094] If there are n sequences in the dataset, the number of group ID range-based graph partitions in this example would be 10 x n, since each sequence is individually partitioned into 10 groups. In another example, each sequence i can be further partitioned into k_i genomic ranges, in addition to the group ID ranges. In this case, the total number of graph partitions is (k_l + ... + k_n) * 10, or given by sum(seq_blocks[i]) as defined in the syntax of the examples provided in tabular form at the end of the specification.
[0095] In some examples, the partition-wise encoding and indexing may be more complex, in particular, if annotation data for the graph reference genome is to be encoded. Annotation data may be stored and encoded in two or more different types or sub-types of access units, wherein each of said access units or access unit subtypes may be partitioned in their own ways. For those cases, the total number of partitions may be given by sum(seq_blocks[k]) + sum(class_blocks[i][j][k]) as defined in the syntax of the examples provided in tabular form at the end of the specification.
[0096] According to some examples, the partitioning of the graph reference genome is performed per sequence, and a partition cannot span more than one sequence.
[0097] According to some examples, the set of access units comprise one or more access units of a graph reference annotation access unit type. This access unit type may be referred to, for example, as GR_ANN access unit type. A concrete example for this type of access unit may bePhilips Docket: 2025PF00078found in description of the access unit type GR ANN TYPE AU at the end of the specification). The GR ANN access units are data containers in the graph reference genome configured to selectively store annotations assigned to elements of the graph reference genome.
[0098] According to some examples, the partition-wise encoding is executed such that sequence data belonging to a particular partition of the graph reference genome is stored in a first access unit and that annotation data belonging to said particular partition is stored in a second access unit.
[0099] According to some examples, the identification of the graph partitions comprises identifying subsets of the annotations assigned to elements of the graph reference genome which belong to a respective one of the partitions. The encoding of the graph reference genome on a perpartition basis comprises storing the annotations assigned to graph elements of the graph reference genome partition-wise in a compressed manner into one or more GR ANN access units. The generating of the GRMI comprises creating pointers from index entries to the GR ANN access units such that the one or more GR ANN access units are accessible via the GRMI.
[0100] With reference to the example above, the first index entry would comprise a pointer to the first access unit storing e.g. descriptor values for descriptors DI, D2, D3 [...] for partition 1 comprising the groups 0-9, and in addition would comprise a pointer to a GR ANN access unit used for storing annotation data of the first partition in descriptor (MPEG-G attribute) D4. The second index entry would comprise a pointer to a second access unit storing e.g. descriptor values for descriptors DI, D2, D3 [...] for partition 2 comprising groups 10-19, and in addition would comprise a pointer to a further GR ANN access unit used for storing annotation data of the second partition in descriptor (MPEG-G attribute) D4.
[0101] This organization may have the advantage that annotations of the graph reference genome may be stored separately from the structural elements of the graph itself. By storing annotations in dedicated GR_ANN access units, the system enables selective retrieval and decoding of annotation data without requiring access to the underlying sequence or edge information. This may reduce decoding overhead in workflows where only annotation data is needed, for example when querying functional features or metadata linked to specific edges or segments. In addition, the decoupling of annotations from structural graph data may facilitate independent updating of annotations without requiring modification of the graph reference genomePhilips Docket: 2025PF00078itself, thereby improving modularity and maintainability. Furthermore, partitioning annotations into GR_ANN access units may allow efficient indexing and filtering of annotations by partition boundaries, which can accelerate annotation-centric queries and downstream analyses.
[0102] Different access unit types may have different ways of storing and encoding data of the different partitions, and the boundary parameters used for creating the partitions may be different for the different access unit types.
[0103] In some examples, the GR_ANN access unit type comprises two or more subtypes, identified by an annotation group ID (see, for example, the gr ann group in the syntax of the examples provided in tabular form at the end of the specification). Each subtype can contain a different set of descriptors and have their own partitioning approaches / boundary parameters used for creating partitions.
[0104] According to some examples, the annotations are stored in one or more descriptors. The descriptor can be one or more of: a Graph Reference Data Type descriptor, describing the type of graph reference data structure being annotated; a Graph Reference Data ID descriptor, describing the ID of the graph reference data structure being annotated; and one or more attributes corresponding to specific annotation data fields.
[0105] According to some examples, each subtype of the GR ANN access unit type stores the encoded data of one or more of these descriptors.
[0106] This organization may have the advantage that annotations can be flexibly structured according to their content and intended use. By allowing the GR ANN access unit type to comprise two or more subtypes identified by an annotation group ID, annotations of different nature (for example functional annotations, population-level annotations, or application-specific metadata) can be separated into distinct sub-containers. This separation may enable tailored partitioning schemes and boundary parameters for each subtype, which may improve query efficiency and allow selective decoding of only the annotation categories relevant to a given analysis task.
[0107] Storing annotations in descriptors further may provide a standardized and compressed representation of annotation data. The use of a Graph Reference Data Type descriptor and a Graph Reference Data ID descriptor ensures that each annotation can be unambiguously linked to the corresponding element of the graph reference genome, while additional attributes permit storingPhilips Docket: 2025PF00078specific annotation fields in a structured manner. This descriptor-based organization may reduce redundancy in storage, enable efficient indexing and retrieval of annotations by type or ID, and facilitate interoperability with external annotation systems.
[0108] According to some examples, the annotations are stored in one or more descriptors, wherein each of the access units stores selectively the values of the same one of the descriptors. The one or more descriptors for storing the annotations can be, for example, selected from a group comprising:a core graph reference descriptor being indicative of the specific graph reference element being annotated, wherein in particular, the core graph reference descriptor is selected from a group comprising:■ a Graph Reference Data Type descriptor, describing the type of graph reference element being annotated; and■ a Graph Reference Data ID descriptor, describing the ID of the graph reference element being annotated.a disease association descriptor being indicative of attributes of a disease associated with a graph reference element, wherein in particular, the disease association descriptor is selected from a group comprising:■ a Disease Coding System descriptor, describing the coding system used for specifying the disease (e.g. ICD-10-CM, SNOMED CT);■ a Disease ID descriptor, describing the identifier of the disease in the chosen coding system;■ an Ethnicity descriptor, describing the ethnicity of the individuals affected; and ■ a Patient Count descriptor, describing the number of patients of the specified ethnicity and disease,a functional annotation descriptor being indicative of a function or disease associated with a genomic sequence, wherein in particular, the functional annotation descriptor is selected from a group comprising:■ a Gene Symbol descriptor, describing the symbol of the gene that contains thePhilips Docket: 2025PF00078variation■ a Transcript ID descriptor, describing the identifier of the gene transcript used for deriving molecular consequence■ a Molecular Consequence descriptor, describing the molecular effect of the variation (silent, missense, nonsense, etc.)■ a Molecular Impact descriptor, describing the level of molecular impact (modifier, low, moderate, high)■ a Pathogenicity Classification descriptor, describing the clinical effect of the variation (benign, likely benign, uncertain, etc.)■ a Pathogenicity Score descriptor, describing a numerical score for damaging effecta patient profile descriptor being indicative of attributes of a patient from which a sequence was derived, wherein in particular the patient profile descriptor is selected from a group comprising:■ a Patient ID descriptor, describing the identifier of a patient■ an Age descriptor, describing the age of the patient■ a Gender descriptor, describing the gender of the patient■ a Diagnosis Coding System - the coding system used for specifying the diagnosis (e g. ICD-10-CM, SNOMED CT)■ Diagnosis ID descriptor, describing the identifier of the diagnosis in the chosen coding system■ a Treatment descriptor, describing the treatment procedure received■ a Drug descriptor, describing the drug administered■ a Clinical Outcome descriptor, describing the outcome after receiving the treatment or drug.
[0109] Hence, depending on the implementation example, the annotations may be stored in two core graph reference descriptors, e.g., the Graph Reference Data Type descriptor and the GraphPhilips Docket: 2025PF00078Reference Data ID descriptor, while none of the other descriptors mentioned above for storing annotation data may be used. In other implementation examples, the Graph Reference Data Type and Data ID descriptors, together with one or more of the other annotation descriptor classes mentioned above, may be used for storing graph reference genome annotations in the genomic data structure. For each of the above mentioned annotation descriptor classes like disease association descriptor, functional annotation descriptor, and patient profile descriptor, zero, one, two, more than two or even all of the above mentioned concrete descriptors or possibly further descriptors not comprised in the above-mentioned list may be used for storing annotation information, depending on the use case and the nature of the graph reference genome and its source.
[0110] According to some examples, the access units to which random access is supported by the at least one GRMI belong to two or more different access unit types. The GRMI further comprises:
[0111] For each of the one or more access unit types, one parameter (num_bounds[j]) indicating the number of boundary conditions applicable to each of one or more access units of the access unit type, the one or more access units being used for storing a respective one of the partitions; and / or
[0112] For each of the one or more access unit types, one or more parameters (bound_gr_type[j][m]) indicating the type of graph reference genome element, in particular MPEG-G edge or MPEG-G segment, whose identifiers are used for defining the partition boundaries.
[0113] This structure may have the advantage that the Graph Reference Master Index (GRMI) may support random access not only to access units of a single type but across multiple access unit types in a unified manner. By storing, for each access unit type, a parameter indicative of the number of boundary conditions applicable to the access units, the decoder may be enabled to directly determine the complexity of partitioning without parsing the access units themselves. This may reduce access latency and improve the scalability of the index when additional access unit types are introduced.
[0114] Furthermore, the explicit signaling of parameters that define the type of graph reference element (such as MPEG-G edges or MPEG-G segments) used for partition boundaries may ensurePhilips Docket: 2025PF00078that partitions can be interpreted consistently across different data types. This may facilitate flexible partitioning strategies, support efficient indexing of heterogeneous graph reference data, and enable selective decoding of only those partitions defined by the relevant element type. As a result, the GRMI may provide high-performance random access across diverse data structures while maintaining backward compatibility with existing partitioning schemes.
[0115] According to some examples, more than one type of graph reference element is used as basis for the boundary parameter(s) for each partition. For example, a partition may be defined by a cluster-ID range that corresponds to a genomic region, and a group-ID range that indicates the sources from which the edges in the partition are derived. Different types of graph reference genome elements may have, according to some examples, their own access unit type and record format. The identifier-range of any of the elements can be used as a boundary condition for a partition, if applicable. In this example, since edges can belong to both a group and a cluster, the IDs of both elements can be used as a boundary condition for a partition.
[0116] The number (num_bounds[j]) can be specified for each type of access unit accessible via the at least one GRMI. According to another example, an annotation access unit can contain the associations of edges / clusters with gene symbols. In this case, a partition can be bounded by ranges of edges and cluster IDs.
[0117] According to some examples, the GRMI further comprises parameter values (bound gr ID min, bound gr ID max) indicating the minimum and the maximum identifier per type of graph reference genome element belonging to a respective one of the partitions.
[0118] This may be useful for GR_ANN access units, which can be further split into subtypes, e.g. indicated by annotation group IDs (gr ann group). The annotation data contained in each of such access units can be associated with one or multiple types of graph elements. Therefore, it could be indexed by one or multiple ranges of graph element IDs.
[0119] In a further aspect, disclosed herein is a computer-implemented method for searching genomic data. The method comprises:receiving a genomic data structure comprising:■ partition-wise compressed data of a graph reference genome, the graph reference genome comprising edges representing genomic variants, the partition-wisePhilips Docket: 2025PF00078compression being based on graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; and■ at least one graph reference master index, GRMI, the GRMI being a searchable index for the graph partitions, the GRMI comprising index entries representing the graph partitions, the index entries being addressable by a search key; receiving a search key;searching the GRMI using the received search key for identifying one or more graph partitions comprising edges whose index entries match the search key; reconstructing a de-compressed representation of those parts of the graph reference genome which are encoded in the identified one or more graph partitions while keeping the other graph partitions in compressed state; andstoring the reconstructed part of the graph reference genome in a memory.
[0120] This could enable selective reconstruction of only genomic regions of interest while keeping the remainder compressed. This may lower memory consumption and may accelerate downstream analyses, especially when dealing with very large reference graphs.
[0121] For example, the expression “partition-wise compressed data of a graph reference genome” may be descriptive of a genomic data structure comprising a plurality of graph partitions which are encoded, thereby compressed and stored such that the individual partitions can bePhilips Docket: 2025PF00078accessed directly via the GRMI. For example, the encoded, compressed partitions may be stored in the form of access units as described herein for examples of the encoding method.
[0122] According to some examples, the genomic data structure comprises a plurality of access units. The data of each of one or more of the graph partitions is stored in one or more of the access units. An access unit is the smallest independently decodable element of the genomic data structure that needs to be decoded to reconstruct a genomic record. Each access unit comprises one or more blocks representing a compressed set of values (e.g., a compressed set of descriptor values, such as MPEG-G descriptor values and / or MPEG-G attribute values). The GRMI supports random access to the access units, and in some implementation examples where the GRMI also comprises block offset information, also to individual access unit blocks, based on the received search key.
[0123] There can be multiple types of genomic records, e.g. an edge record or a cluster record. The decoded data of an access unit can generate a genomic record of a particular type.
[0124] This could enable the search engine to exploit the same access-unit granularity to fetch only the blocks that intersect the query, thereby avoiding unnecessary decompression and improving responsiveness for interactive queries.
[0125] According to some examples, the GRMI comprises access unit offset values and optionally in addition access unit block offset values. The reconstruction comprises using the offset values for random access to the access units and access unit blocks.
[0126] Storing pre-computed offsets, e.g., byte offsets, in the GRMI may allow direct disk seeking to compressed blocks, which may eliminate linear scans and significantly cut I / O latency during random look-ups.
[0127] According to some examples, the GRMI entries are stored in association with respective one or more sets of boundary parameter values. The boundary parameter values delimit the content of the partition and serve as keys in the GRMI. The boundary parameters are selected from a group comprising:a sequence identifier;genomic coordinate boundaries, comprising a minimum and a maximum reference genome position of the partition that define the lowest and highest genomic coordinates of edges in the partition, the coordinates optionally being pseudo-linear coordinates;Philips Docket: 2025PF00078cluster boundaries, comprising a minimum and a maximum cluster identifier that define the range of cluster identifiers covered by the partition;edge boundaries, comprising a minimum and a maximum edge identifier that define the identifier range of the edges in the partition, the range optionally corresponding to edges belonging to a version or a sample;group boundaries, comprising a minimum and a maximum group identifier that define the range of identifiers of groups to which the edges in the partition belong;chain boundaries, comprising a minimum and a maximum chain identifier that define the range of identifiers of chains to which the edges in the partition belong; and subgraph boundaries, comprising a minimum and a maximum subgraph identifier that define the range of identifiers of subgraphs of the graph reference genome to which the edges in the partition belong.
[0128] The method further comprises: decoding the set of boundary parameters of the graph partitions. The searching comprises matching the search key against the decoded sets of boundary parameters.
[0129] Using one or more or even all of the above-mentioned boundary types may have the advantage that users or client software programs may be enabled to search and identify partitions comprising genomic data of interest based on many different search criteria. Hence, a wide usecase scenario is supported by the GRMI and by data structures comprising the same.
[0130] According to some examples, the search key is a sequence identifier and a genomic coordinate or coordinate range. The at least one GRMI comprises entries with a sequence identifier and genomic coordinate boundaries. The genomic coordinate boundaries comprise a minimum and a maximum reference genome position of the partition that define the lowest and highest genomic coordinates of edges in the partition. According to some examples, the coordinates can be pseudo-linear coordinates. The performing of the searching comprises matching the search key against the genomic coordinate boundaries to identify the one or more graph partitions
[0131] Optionally, the method further comprises: using software that is configured to visualize and / or analyze genomic data based on a linear reference genome to visualize and / or analyzePhilips Docket: 2025PF00078genomic data comprised in or aligned with the reconstructed partitions of the graph reference genome based on the pseudo-linear coordinates.
[0132] Computing pseudo-linear coordinates and storing them in the GRMI could enable seamless integration with traditional genome browsers that expect linear coordinates, allowing users to visualize and analyze graph-encoded variation within familiar interfaces while benefiting from the richer representation.
[0133] According to some examples, the edges of the graph reference genome respectively have assigned numerical edge identifiers. The edge identifier ranges of different edge groups are non-overlapping. The graph reference genome comprises a subset of initially present edges and at least one further subset of edges which were added to the graph reference genome later. The edge identifiers of the later added edges have a higher numerical value than the edge identifiers of the initially present edges.
[0134] According to some examples, the receiving of the search key comprises analyzing the search key for identifying a maximum edge identifier. The reconstructing of the part of the graph reference genome is executed such that all partitions comprising edges with an edge identifier being equal to or smaller than the maximum edge identifier are reconstructed, thereby reconstructing a version of the graph whose largest edge identifier is identical to or smaller than the maximum edge identifier in the search key.
[0135] According to other examples, the receiving of the search key comprises analyzing the search key for identifying one or more edge identifiers to be matched, and the reconstructing of the part of the graph reference genome is executed such that only partitions comprising those edges of the graph reference genome encoded in graph partitions which match the search key are reconstructed, wherein partitions comprising the other edges of the graph reference genome which do not match the identified one or more edge identifiers are kept in compressed state.
[0136] For example, matching edge identifiers may be those ones which are identical to the edge identifiers of the search key or are within an edge identifier range specified in the search key.
[0137] For example, the search key can be one of: an edge identifier, an edge identifier range, a group identifier or a group identifier range.Philips Docket: 2025PF00078
[0138] According to some examples, group identifiers of later added groups of edges have a higher numerical value than the group identifiers of edge groups already comprised in the graph reference genome. In case the search key is a group identifier, the group identifier can be used as an implicit indicator of the maximum edge identifier, because the group identifier may identify a group and the edge identifier with the highest numerical value of the edges contained in said group may be used as the maximum edge identifier. In other examples where the search key is a group identifier range, the maximum group identifier may be selected, and the edge identifier with the highest numerical value of the edges contained in said selected group may be used as the maximum edge identifier.
[0139] For example, a graph partition which matches the search key may be a set of one or more access units retrievable via the GRMI by following the pointers of GRMI entries matching the search key.
[0140] The expression “maximum edge identifier comprised in or derived from in the search key” may refer, for example, to the highest numerical edge identifier explicitly or implicitly specified in the query. In some examples, the search key may comprise an edge identifier range, in which case the maximum edge identifier can be the upper limit of that range or the upper limit of the group that contains the maximum edge identifier in that range. In other examples, the search key may specify other boundary parameters, such as a genomic coordinate range, a sequence identifier, or a group identifier. In such cases, the corresponding edge identifier range is first determined based on the mapping of the specified parameter to edges of the graph reference genome, and the maximum edge identifier of that range is then derived. Accordingly, the maximum edge identifier comprised in or derived from the search key defines an upper bound that can be used by the Graph Reference Master Index for efficiently determining whether a given partition contains edges relevant to the query.
[0141] For example, the initially present edges of a graph reference genome may be assigned identifiers 1 to 10,000. In a subsequent update of the graph, additional edges are added and assigned identifiers 10,001 to 15,000. A search request for the edge identifier range 1 to 10,000 results in reconstruction of the graph reference genome corresponding to its initial version, because all later edges carry higher identifier values. Conversely, depending on the use case scenario, a search request for the edge identifier range 10,001 to 10,500 allows reconstruction of only thosePhilips Docket: 2025PF00078edges in the queried range, while leaving other edges of the graph (e.g., edges 1 to 10.000 and 10,501 to 15,000) in compressed state.
[0142] The technical benefits of this approach may be that version-controlled selective reconstruction of parts of the graph reference genome may be supported, where a decoder can efficiently reproduce the state of the graph reference genome at a particular evolutionary version without decompressing all subsequent updates. In addition, a faster and resource-efficient selective access to only the edges that are relevant to a query may be provided, thereby reducing I / O operations and memory footprint. Providing an index that allows a sequence identifier-based or group identifier based search, in combination with the above-mentioned scheme of assigning sequence identifiers and group identifiers to new edges and / or groups may ensure backward compatibility of graph-based genomic analyses, since older graph versions can be reconstructed on demand, where old edge identifiers and group identifiers are maintained. Storing duplicate full graph references for ensuring backward compatibility of the analysis results may not be necessary. As mentioned above, the search key can be a set of edge identifiers or edge identifier ranges, or a set of group identifiers or group identifier ranges. Once the maximum edge ID is identified via the edge or group identifiers, a part of a version of the graph consisting of subsets of edges containing edges with IDs smaller than or equal to the identified edge ID in the search key may be constructed. Alternatively, a part of the graph consisting of subsets of edges matching the edge IDs specified explicitly or implicitly via group identifiers in the search key may be constructed.
[0143] A beneficial effect of this could be that simply inspecting the numeric range of a query edge identifier may suffice to select the corresponding graph version, which simplifies version control logic and accelerates historical comparisons.
[0144] According to some examples, the method further comprises outputting, via a user interface or application programming interface, the reconstructed part of the graph reference genome identified via the GRMI.
[0145] This could have the advantage that providing the reconstructed graph region through standard interfaces may facilitate direct consumption by visualization software or downstream pipelines, minimizing data format conversions and enhancing usability.
[0146] In a further aspect, disclosed is a computer program comprising instructions which enable a processor to carry out the method of any one of the examples described herein.Philips Docket: 2025PF00078
[0147] In a further aspect, disclosed is a computer program product comprising instructions which enable a processor to carry out the method of any one of the examples described herein.
[0148] According to some examples, enabling a processor to carry out a method may comprise causing the processor to carry out the method.
[0149] In a further aspect, disclosed is a computer system for representing genomic data in a compressed, searchable format. The computer system comprises a memory and a processor. The processor is configured for:receiving a definition of a graph reference genome comprising edges representing genomic variants;identifying graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived;encoding the graph reference genome on a per-partition basis to generate compressed representations of the graph partitions;generating at least one graph reference master index, GRMI, the GRMI comprising index entries representing the graph partitions, the compressed representations being individually identifiable via the GRMI, the index entries being identifiable by a search key being or comprising the one or more criteria;storing the compressed representations and the at least one GRMI in a genomic data structure; andstoring the genomic data structure in the memory.Philips Docket: 2025PF00078
[0150] This could additionally have the benefit that a system with dedicated processing and memory resources optimally configured for partition-wise compression and indexing achieves higher throughput and ensures reliable performance for large-scale genomic repositories.
[0151] In a further aspect, disclosed herein is a computer system for searching genomic data. The system comprises memory and a processor. The processor is configured for:receiving a genomic data structure comprising:■ partition-wise compressed data of a graph reference genome, the graph reference genome comprising edges representing genomic variants, the partition-wise compression being based on graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; and■ at least one graph reference master index, GRMI, the GRMI being a searchable index for the graph partitions, the GRMI comprising index entries representing the graph partitions, the index entries being addressable by a search key; receiving a search key;searching the GRMI using the received search key for identifying one or more graph partitions comprising edges whose index entries match the search key; reconstructing a de-compressed representation only of those parts of the graph reference genome which are encoded in the identified one or more graph partitions while keeping the other graph partitions in compressed state; andPhilips Docket: 2025PF00078storing the reconstructed part of the graph reference genome in the memory.
[0152] This could enable a hardware-accelerated search workflow in which the processor can reconstruct only required partitions on-the-fly, thereby delivering rapid query responses while conserving storage bandwidth.
[0153] In a further aspect, disclosed is a genomic data structure comprising:partition-wise compressed data of a graph reference genome, the graph reference genome comprising edges representing genomic variants, the partition-wise compression being based on graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; andat least one graph reference master index, GRMI, the GRMI being a searchable index for the graph partitions, the GRMI comprising index entries representing the graph partitions, the index entries being addressable by a search key being or comprising the one or more criteria;
[0154] The GRMI is configured such that it enables searching the GRMI with a search key for identifying one or more graph partitions comprising edges whose index entries match the search key.
[0155] Providing the above-mentioned data structure may have the advantage of providing a self-describing file that can be transferred and queried independently of external databases, increasing portability and reproducibility of analyses.Philips Docket: 2025PF00078
[0156] In some examples, the method may comprise computing, encoding and storing pseudo-linear coordinates in the genomic data structure and / or computing and outputting the pseudo-linear coordinates to a user or to a software program for processing and / or visualizing the pseudo-linear coordinates.
[0157] Hence, a pseudo-linear coordinate according to some examples is a linearized position value assigned to nodes, edges, or alignments in a graph reference genome, computed relative to anchor points that connect the graph to predefined linear reference coordinates. For edges, pseudo-linear coordinates may be derived from their distance to upstream and / or downstream anchors on a position-reference sequence. For read alignments, including the alignments of splices comprised therein, pseudo-linear coordinates may be derived from the mapping positions of reads on graph edges along the paths they traverse.
[0158] The graph reference genome may be used for aligning reads, thereby creating a genomic data structure that comprises the graph reference genome and the aligned reads.
[0159] In some examples, the pseudo-linear coordinates are used as partition boundary parameter and are used for creating and storing a GRMI that can be searched with a coordinate. This may allow providing a searchable index, in particular a GRMI, that may facilitate processing and searching of a graph reference genome and of a graph genome that includes the graph reference genome alongside with aligned reads.
[0160] Computing pseudo-linear coordinates may be advantageous as they may provide a linear coordinate overlay for graph reference genomes and graph genomes, making graph-based data interoperable with linear tools and enabling efficient indexing, querying, and visualization.
[0161] By anchoring graph edges to position-reference sequences (linear sequences with predefined coordinates), the pseudo-linear coordinates may provide for compatibility with existing linear coordinate systems by creating a bridge between graph references and traditional genome browsers / analysis pipelines. They may enable interoperability with existing tools that expect linear coordinates. In addition, computing pseudo-linear coordinates for edges or read alignments may provide for a linearized coordinate system overlay on the graph which may allow fast random access queries (e.g., “fetch reads in chrl: 1-1,000,000”) even when the underlying data is graphbased. In a further advantageous aspect, pseudo-linear coordinates may make it easy to measure genomic distances and relationships in graph space using a linear proxy, simplifying downstreamPhilips Docket: 2025PF00078analyses and improving decoding performance. By storing reads in association with pseudo-linear coordinates, the decoder may be enabled to quickly place them in a linear coordinate framework without traversing the full graph structure. This may reduce CPU effort and accelerate reconstruction of alignments for applications like visualization, variant calling, and reporting.
[0162] Assigning pseudo-linear coordinates to edges representing pangenomic variation (SNPs, indels, SVs) may ensure that diverse haplotypes can still be referenced consistently and may allow for a scalable handling of population graphs without breaking linear-coordinate-based workflows.
[0163] A “genomic data structure” as used herein is a data structure comprising genomic information. In particular, a genomic data structure can be a computer-readable container that stores compressed genomic information in fields arranged according to a defined syntax. In some examples, the structure conforms to the MPEG-G standard and comprises, for example, datasets, access units, and records together with descriptors that encode reads, alignments, reference information, transformation data, and / or metadata.
[0164] A “dataset” as used herein is a set of data sharing one or more features. In particular, a “dataset” can be a top-level container grouping homogeneous genomic content (e.g., raw reads, aligned reads, variants, references, or graph references / read alignments).
[0165] A “dataset type” as used herein can be, for example, a value signaling the content class of the dataset (e.g., linear-aligned reads versus graph-aligned reads), enabling decoders to apply appropriate parsing, indexing, and decoding logic.
[0166] An “access unit (AU)” can be, for example, the smallest independently decodable data container in a genomic data structure, each of the access units comprising records of the same class or sharing common properties. For example, each AU comprises an AU header and one or more blocks, wherein each block contains a portion of a descriptor stream. The AU header may provide information enabling a decoder to decode the AU, including synchronization, parameter sets, and references to external data if required.
[0167] A “block” can be, for example, the fundamental storage and compression unit within an AU, in particular for storing descriptor data. In some examples, each block can be decoded independently using the dataset parameter set and context information provided in the AU header.Philips Docket: 2025PF00078
[0168] A “record” can be, for example, a piece of data that encapsulates one atomic item of information. For example, it can be the smallest addressable unit of compressed genomic data in an MPEG-G file. According to some examples, it is an atomic piece of genomic information. For example, for unaligned data, a record can be an unaligned read or read pair; for aligned data, a record can represent all the combinations of alignments of a read or read pair; for annotation data, a record can refer to the information of a single genomic variant; for a graph reference genome, a “record” can be a graph reference genome element such as an edge.
[0169] A “sequence” can, for example, refer to the basic unit of reference information that provides the coordinate framework (linear or graph-based) against which reads are aligned. For example, a sequence within a graph reference genome can be a subgraph of connected edges. For example, a chromosome may be represented by a set of connected edges and may be referred to as a sequence.
[0170] A “read” can be, for example, a nucleotide sequence output by a sequencing instrument together with optional quality scores. A read pair may denote two reads originating from opposite ends of a DNA fragment, which may be jointly represented in a single record.
[0171] A “reference genome (linear and graph)” as used herein is genomic sequence data that provides the sequence context for alignments. A linear reference genome comprises one or more distinct linear reference sequences (e.g., chromosomes).
[0172] A “graph reference genome” represents genomic sequence diversity as a graph of nodes and edges with multiple alternative paths. A “graph reference genome” can be a particular type of graph genome that is designated as a reference for alignment and downstream processing. Like a linear reference genome, it serves as the coordinate system against which sequencing reads are aligned, but instead of being strictly linear, it provides alternative paths and edges representing variation. A graph reference genome may comprise one or more linear reference sequences carrying predefined linear coordinates. These linear reference sequences carrying predefined linear coordinates are referred herein as “position-reference sequences”. Hence, a position-reference sequence can be described as a linear reference sequence endowed with predefined linear coordinates used to anchor an element of a graph, e.g., a node or an edge.Philips Docket: 2025PF00078
[0173] A “definition of a reference genome” may be the reference genome itself, i.e., all sequences which define the reference genome, or can be an identifier of a reference genome that may be downloaded from an accessible source, e.g., the internet.
[0174] A “graph element” can be, for example, an atomic component of a graph comprising genomic data, e.g., a graph reference genome. For example, a graph element of a graph reference genome can be one or more of: an edge (e.g., an MPEG-G edge or MPEG-G segment), link, a group, a cluster, a chain, a subgraph, a cluster and an annotation.
[0175] A “link” may, for example, denote a connection between two edges of a graph reference genome. A link may, for example, specify the identifiers and strand orientations of the source and destination edges, the positions on the segments indicating the start and end points of the overlap, and a CIGAR string (or an extended CIGAR string with a modified notation scheme- E-CIGAR string) describing the alignment between them. The set of links may collectively define the permissible traversals across edges in the graph reference genome.
[0176] A “group” may, for example, refer to a container within a graph reference genome dataset that allows edges originated from the same source to be assigned to the same group. In particular, a group may be indicative of a source these edges were derived from, e.g., a particular patient.
[0177] A “cluster” can be, for example, a set of edges grouped together based on a predefined relation, such as sharing a structural relationship like being topologically adjacent edges. Clusters may be annotated with metadata and provide a logical layer of grouping within the graph reference genome.
[0178] A “chain” may, for example, refer to an ordered sequence of connected edges within the graph reference genome that are traversed consecutively. Chains may be used to provide a means to represent linearized substructures of the graph, such as canonical reference paths, haplotype paths, or other ordered traversal sequences defined over the edge and link structure. A “chain” may in particular be a chain in accordance with the MPEG-G standard (MPEG-G chain).
[0179] A “subgraph” may, for example, denote a subset of edges and their connecting links within the larger graph reference genome. A subgraph may represent a particular genomic locus, haplotype-specific variation, or any defined portion of the full graph. Subgraphs are useful forPhilips Docket: 2025PF00078selective decoding, region-specific storage, or targeted analysis operations. A “subgraph” may in particular be a subgraph in accordance with the MPEG-G standard (“MPEG-G subgraph”).
[0180] An “annotation” in a graph reference genome may, for example, specify additional biological or technical information associated with graph elements of the graph reference genomes. In some examples, annotations are encoded as descriptors and linked to graph elements using identifiers, positions, or paths, thereby providing context to the underlying genomic sequences
[0181] A “node” may be a graph element that connects edges. A node may represent a sequence anchor. A “path” can be an ordered sequence of nodes and edges spelling, upon traversal, a genomic sequence or haplotype.
[0182] An “edge” may be a graph element representing a directed sequence that may be connected to one or more other edges of the graph via connections. According to examples, it represents a directed sequence of nucleotides, e.g., with a defined source node and target node. The multiple edges of a graph reference genome may be used for encoding variation: e.g. a SNP, insertion, deletion, or longer alternative sequence paths.
[0183] According to some examples, an “edge” as used herein is an edge as defined in the MPEG-G standard, and may be referred to as “MPEG-G edge”. According to other examples, an “edge” is a graph reference segment as specified in the MPEG-G standard, and may be referred to as “MPEG-G segment”. Hence, an “MPEG-G segment” may refer to an element of a graph reference genome specified in accordance with the MPEG-G standard, which in contrast to MPEG-G edges do not comprise connectivity information, and is to be distinguished from “read segments”, which denote contiguous subsequences of sequencing reads.
[0184] In particular, an “MPEG-G edge” may be the primary atomic element of a graph reference genome. According to some examples, in an MPEG-G dataset type 5 (graph reference), MPEG-G edges are stored in access units of type GR EDG TYPE AU. Attributes of edges may include: edge identifier (unique ID), sequence symbols (the nucleotide string), links to other edges (upstream / downstr earn, mid-sequence transitions), and optional metadata (e.g. group ID, cluster ID, versioning info).
[0185] An “MPEG-G segment”, “segment” or “graph segment” can be, for example, a structural element of a graph reference genome specified in accordance with the MPEG-GPhilips Docket: 2025PF00078standard which differs from an MPEG-G edge mainly in that an MPEG-G segment does not comprise connection information. Rather, the connection information for MPEG-G segments is stored separately in the form of links which comprise edge connectivity information.
[0186] According to some examples, in an MPEG-G dataset type 5, MPEG-G segments are stored in access units of type GR SEG TYPE AU. According to some examples, the connectivity information, i.e., which MPEG-G edge is connected to which other MPEG-G edge(s) is stored as an attribute of the edge itself, while in the case of MPEG-G segments, the connection information is stored separately in the “links” attributes of the edge to which a segment belongs.
[0187] An “anchor point” can be, for example, a location at which a graph element (node or edge) is linked to a specific predefined linear coordinate on the position-reference sequence (e.g., an upstream or downstream anchor for an edge) through a connected path.
[0188] A “read alignment” can be, for example, data specifying where and how a read maps to a reference genome. A read alignment may include information such as mapping position(s), orientation, and edit operations. If a read comprises multiple splices, the read alignment descriptor may specify where an individual splice is aligned to the reference genome.
[0189] A “descriptor” as used herein may, for example, refer to a structured field within a data format that provides a specific piece of information about the data being represented. The descriptor may be, for example, an MPEG-G descriptor or an MPEG-G attribute. Each descriptor has a defined syntax (how it is encoded in the bitstream) and semantics (what information it represents). A descriptor, according to some examples, is a structure that contains collectively encoded blocks of data of the same or similar nature (e.g. sequences, positions, alignments, splices, graph path, etc.) for improving compression power. For example, each data block in the “graph path position” descriptor can be an encoded concatenation of position values of all read alignments. In particular, a descriptor may carry information in a compressed, standardized way (e.g., encoding read positions as deltas rather than absolute values). Thereby, a descriptor may allow a decoder to interpret the descriptor to reconstruct meaningful genomic information such as a read’s alignment, a variant call, or a splice. Preferably, a descriptor is organized in the genomic data structure such that decoders can retrieve only the needed information (e.g., only alignment positions, or only splice data) without parsing the whole data content of the genomic data structure.Philips Docket: 2025PF00078
[0190] A descriptor can in particular be a structure that contains the compressed blocks of values of a specific type of information. For example, a position descriptor may contain the encoded positions of all read alignments. Sometimes, a descriptor can further comprise multiple sub-sequences (or sub-streams).
[0191] For example, for graph reference genome datasets (dataset type 5) and genomic annotation datasets (dataset type 3), there exist data structures referred to in the MPEG-G standard as “attributes” and may be referred to as MPEG-G attributes. MPEG-G attributes are conceptually almost the same as descriptors as defined in the MPEG-G standard (“MPEG-G descriptors”), except that in the MPEG-G standard, “descriptors” are used to contain known and pre-defined data fields, whereas “attributes” are used to contain ad hoc data fields, with properties being specified in “dataset parameter sets” and contained within the file as part of the “encoding parameters”. “Attributes” may be used in the MPEG-G standard to provide the flexibility of accommodating additional data fields as needed. According to some examples, “attributes” are stored in access units in the same way as and alongside of descriptors. For the sake of simplicity, the term “descriptor” as used herein may be, for example, a MPEG-G descriptor or a MPEG-G attribute.
[0192] A “subsequence” within a descriptor, also referred to as “descriptor subsequence”, can be, for example, an ordered collection of decoded symbols belonging to a descriptor. Each subsequence corresponds to a specific field of information inside a descriptor.
[0193] The expression “pseudo-linear coordinates” may, for example, refer to linearized positions assigned to points on graph elements (e.g., edges, nodes, paths) to enable interoperability with linear coordinate systems. They may be computed using anchor points linked to predefined linear coordinates on a position-reference sequence. Depending on available anchors, the pseudo-linear coordinate may be calculated by interpolation between upstream and downstream anchors, or as an offset from a single anchor; values may be stored, for example, as integer offsets or absolute linear coordinates. The availability of pseudo-linear coordinates in the data structure may be indicated via, for example, a flag.
[0194] An “annotation table” can be, for example, a structured table associated with graphbased coordinates that stores pseudo-linear coordinates in association with additional information. In particular, an annotation table can be a type of dataset defined in the MPEG-G standard for thePhilips Docket: 2025PF00078storage of downstream genomic data, such as genomic variants. Pseudo-linear coordinates can be stored in the annotation table alongside variants called with respect to a graph reference genome.
[0195] A “searchable index” can be, for example, data that maps query keys to storage addresses comprising data stored under said key. The mapping can be, for example, be based on byte offsets or identifiers enabling direct retrieval of relevant data. In some examples, the searchable index may enable random access to a bitstream representing the genomic data structure. Random access is the ability to jump to and selectively decode only the portions of the bitstream that satisfy a query.
[0196] Selective decoding is the process of decoding only the identified data elements, e.g., access units, records, and / or descriptors, required to answer a query or reconstruct specific results.
[0197] A “Graph Reference Master Index (GRMI) as used herein can be, for example, an indexing structure that facilitates random access to graph reference genomes encoded in the genomic data structure. The GRMI may comprise entries that uniquely identify partitions of graph elements, and specify their location within the genomic data structure. Each GRMI entry may comprise offset information and identifiers that allow a decoder to directly locate and retrieve the AU or AUs comprising the partition(s) of interest, without requiring sequential parsing of the entire dataset. The GRMI entries may serve as access pointers to AUs, which in turn are composed of one or more blocks, e.g., by means of pointers such as storage addresses and / or byte offsets. Hence, the expression that the GRMI “supports random access to the access units based on the received search key” may indicate that the GRMI may provide a pointer to an AU, and the AU provides further information enabling the decoder to identify the relevant block(s) within the AU. Hence, when a decoder identifies an AU via the GRMI, it can directly access the AU because the GRMI specifies its byte offset and length in the bitstream. Once the AU is reached, the AU itself contains internal information that allows the decoder to locate and interpret its blocks. These blocks are, according to examples, not directly addressed by the GRMI. Instead, the GRMI gives access to the AU, and the AU header or internal indexing provides the offsets or boundaries of the blocks contained within it.
[0198] A “master index” can be, for example, a top-level index structure that enables random access to datasets in a genomic data structure by mapping query keys (e.g., coordinate ranges) to access units and access unit offsets.Philips Docket: 2025PF00078
[0199] A “Master Index Table” (MIT) as used herein can be, for example, an indexing structure that facilitates random access to data within a dataset. MIT entries point to specific AUs and, by extension, to the blocks contained therein. Each MIT entry may comprise offset information and identifiers that allow a decoder to directly locate and retrieve the AU containing a region of interest, without requiring sequential parsing of the entire dataset. MIT entries may serve as access pointers to AUs, which in turn are composed of one or more blocks.
[0200] The process of “encoding” can comprise, for example, transforming genomic inputs (reads, alignments, descriptors, reference and / or transformation data) into a compressed bitstream according to a predefined syntax that may depend on the nature of the data to be encoded. The process of “decoding” may refer to the inverse reconstruction process that restores the decompressed representation and, as needed, a transformed or computed reference for alignment interpretation. A compressed representation can be, for example, an entropy-coded, containerized form of the genomic data structure suitable for storage or transmission.
[0201] A “mid-sequence transition” can be, for example, a transition within a path in a graph reference genome, wherein the mid-sequence transition denotes a path away from an internal position of a graph element rather than at its endpoint. An endpoint transition may denote, for example, a transition occurring at the boundary of a path or edge.
[0202] FIG. 1 illustrates a schematic representation of a genomic data structure 100 according to one example. The genomic data structure may be a hierarchical arrangement of data structures that may contain logically organized blocks of sequencing and other data. The data structure may comprise a file header, at least one dataset group 102, and within each dataset group at least one dataset 104. Each dataset group contains a dataset group header and optional containers (for, e.g., metadata), and it may comprise one or more datasets. For example, each dataset group may selectively comprise sequencing data of a particular source, e.g., a particular individual. Hence, the data structure 100 may comprise genomic information of one or more sources and hence, comprise one or more dataset groups.
[0203] Each dataset can be composed of a dataset header, a dataset parameter set, and optional containers (for metadata and protection information). It can also optionally contain a master index table - MIT, or a graph alignment master index - GAMI 110, which facilitates random access inside each dataset.Philips Docket: 2025PF00078
[0204] Each dataset may include a dataset header, a dataset parameter set, and one or more access units (AUs). The access unit is the actual data structure that contains the compressed sequencing data. It constitutes the smallest data structure that can be decoded by a decoder, as each access unit comprises an AU header and one or more blocks containing descriptor streams. The descriptors 106.1-106.3 can include, for example, a splices descriptor 106.1, a graph path descriptor 106.2, a graph path position descriptor 106.3, and / or other types of descriptors. Each descriptor may correspond to a respective stream. A descriptor stream is the sequence of all encoded values of a particular descriptor across a group of genomic records. An access unit contains a collection of blocks. Each block is a portion of a descriptor stream, and it can be decoded independently using information from the dataset parameter set and from other access units, such as access units containing (fragments of) reference sequences. A block is a portion of the descriptor stream that belongs to the genomic records encoded in a particular AU. The data structure 100 may enable modular storage, efficient compression, and selective access of genomic data. In some examples, the genomic data structure is an MPEG-G file in accordance with the MPEG-G standard.
[0205] In accordance with the MPEG-G standard, different categories of genomic information are represented as dataset types. In particular, the standard specifies dataset types including: a dataset type “0” for raw genomic reads, wherein sequencing reads are stored prior to alignment; a dataset type “1” for aligned reads, wherein reads are stored together with alignment information relative to a linear reference genome; a dataset type “2” for a linear reference genome, wherein reference nucleotide sequences corresponding to, e.g. individual chromosomes, and their coordinates are encoded; a dataset type “3” for annotations, wherein variant, functional or other types of annotations with respect to a reference genome are represented; a dataset type “4” for graph-based read alignments, wherein reads are stored together with alignment information relative to a graph reference genome; and in some examples, a dataset type “5” for graph reference genomes, wherein graph-based structures including nodes, edges, and paths are stored to represent pangenomic variations.
[0206] In some examples, each dataset 104 corresponds to one of the dataset types described above. This hierarchical arrangement may ensure that raw reads, aligned reads, linear reference sequences, graph reference genomes, variants, and annotations are each stored in a standardizedPhilips Docket: 2025PF00078manner as separate datasets within an MPEG-G file, and that such datasets can be selectively decoded through the use of access units and master index structures.
[0207] For example, the data structure may comprise a reference genome which may be specified, in some examples, in the dataset for data type 5, wherein the graph reference genome comprises a plurality of graph reference genome edges, each specifying a sequence of characters. For example, the plurality of graph reference genome edges may comprise 1000 or more edges, 10,000 or more edges, 100,000 or more edges, or 1,000,000 or more edges, among other options. Each of these edges may comprise a sequence of 10 or more characters, 100 or more characters, or 1,000 or more characters, among other options. Hence, the graph reference genome may be huge, and the methods described herein may significantly improve the speed and functionality of a data processing system configured for processing, encoding and / or decoding genomic data comprising a graph reference genome.
[0208] A genomic data structure that comprises one (or more) graph reference genome may also comprise a respective graph reference master index - GRMI 112.
[0209] The GRMI can be implemented using various index structures. For example, B+-Tree Indexing may be used, such that each partition entry in the GRMI can be organized in a B+-tree keyed by edge identifiers, genomic coordinate ranges or other search keys, depending on the criteria used for creating the index.
[0210] Alternatively, Interval Tree or Segment Tree Indexing may be used. For example, if partitions are bounded by genomic position ranges, an interval tree may be used to efficiently identify partitions for a given query range.
[0211] For group IDs or cluster IDs that are discrete and non-overlapping, a hash table may be used to provide a fast lookup of partitions belonging to a specific group or cluster.
[0212] In one example, the GRMI may comprise two or more indices, for example, a B+-tree for edge ID ranges, an interval tree for genomic position ranges, and a hash map for group IDs.
[0213] The disclosure may be better understood in view of exemplary use case scenarios that illustrate the potential practical benefits of the GRMI and the associated new data structures. For example, the following scenarios demonstrate how graph reference annotations may be employed to integrate genomic, demographic, and clinical information in a structured and efficient manner.Philips Docket: 2025PF00078Disease association use case
[0214] A first use case relates to a disease association scenario. In this use case, demographic and clinical information such as disease identifiers, patient ethnicity, and the corresponding patient counts are associated with selected elements of the graph reference genome, such as edges (e.g., MPEG-G edges or MPEG-G segments. These associations are recorded in the form of one or more descriptors that respectively define one of: (i) Graph Reference Data Type: the type of graph reference data structure being annotated, (ii) Graph Reference Data ID: the identifier of the data structure being annotated, (iii) Disease Coding System: the coding system used for specifying the disease (for example ICD-10-CM or SNOMED CT), (iv) Disease ID: the identifier of the disease within the selected coding system, (v) the ethnicity of the affected individuals, and (vi) Patient Count: the number of patients of the specified ethnicity and disease.
[0215] By organizing this information in the form of novel descriptors, storing the content of the novel descriptors in respective blocks of access units, and making these access units and blocks directly accessible for a large variety of different search keys via the GRMI, it may become possible to efficiently retrieve and analyze disease-related annotations for specific regions of the graph reference genome. This structured representation and information retrieval may enable downstream analyses, such as inferring the likelihood of a disease in a patient by comparing sequencing read mappings against disease-associated graph elements. The benefit of this scenario may be that complex correlations between genetic variants and diseases may be captured, indexed, and retrieved in a standardized manner, thereby supporting clinical research, diagnostic workflows, and public health studies.Functional Annotation Use Case
[0216] A second use case relates to functional annotation of genomic variation. Here, the focus is on associating graph reference edges (e.g., MPEG-G edges or MPEG-G segments) with genelevel and functional information, such as molecular consequences and pathogenicity predictions. The descriptors used to capture these associations may include (i) Graph Reference Data Type: the type and identifier of the graph reference data structure being annotated, (ii) Graph Reference Data ID: the ID of the graph reference data structure being annotated, (iii) Gene Symbol: the symbol of the gene that contains this variation in the graph reference, (iv) Transcript ID: the ID of the gene transcript based on which the molecular consequence is derived, (v) Molecular Consequence: thePhilips Docket: 2025PF00078molecular effect of the variation, e.g. silent, missense, nonsense, frameshift, splice-site, etc., (vi) Molecular Impact: the level of molecular impact of the variation, e.g. modifier, low, moderate, high, (vii) Pathogenicity Classification: the clinical effect of the variation on a patient, e.g. benign, likely benign, uncertain significance, likely pathogenic and pathogenic, (viii) Pathogenicity Score: a score that indicates the damaging effect of the variation.
[0217] Through the GRMI and the partition-wise storing and compressing of graph-genome associated data as listed above, such information may be efficiently indexed and retrieved in association with specific edges of the graph reference genome. The benefit of this scenario may be that researchers and clinicians may be provided with a powerful tool to identify all pathogenic mutations within a gene, assess their functional roles, and prioritize variants for further study. This may directly support workflows such as variant interpretation, gene panels, and clinical reporting, and may also enable scalable gene-based analyses across large datasets.Patient Profile Use Case
[0218] A third use case involves patient profiling. In this scenario, the GRMI enables associations to be established between groups of graph reference data structures, e.g., edges (e.g., MPEG-G edges and / or MPEG-G segments), and individuals whose demographic and clinical information is available. Two types of annotation groups may be employed.
[0219] A first annotation group may describe the association between graph reference genome elements, e.g. edges such as MPEG-G edges and / or MPEG-G segments, and patients, using descriptors such as: (i) Graph Reference Data Type: the type of graph reference data structure being annotated, (ii) Graph Reference Data ID: the ID of the graph reference data structure being annotated, (iii) Patient ID: the ID of the patient containing the specified graph reference data structure.
[0220] A second annotation group may describe demographic and clinical information of individual patients, such as: (i) Patient ID: the ID of a patient, (ii) Age: the age of the patient, (iii) Gender: the gender of the patient, (iv) Diagnosis Coding System: the coding system used for specifying the diagnosis, e.g. 0 for ICD-10-CM and 1 for SNOMED CT, (v) Diagnosis ID: the ID of the diagnosis as defined in the specified coding system, (vi)Treatment: the treatment procedure received by the patient in response to the diagnosis, (vii)Drug: the drug received by the patient inPhilips Docket: 2025PF00078response to the diagnosis, (viii) Clinical Outcome: the clinical outcome of the patient after receiving the specified treatment procedure and drug.
[0221] This structure may allow analyses such as: (a) identifying edges such as, for example, MPEG-G edges and / or MPEG-G segments associated with a given patient profile and quantifying the frequency of their occurrence as a measure of relevance, or (b) identifying sets of patients with the same diagnosis, similar demographic characteristics, and genomic proximity to an individual under investigation, thereby providing insight into expected clinical outcomes. The benefit of this scenario may be that it may enable the direct integration of genomic and clinical data, supporting patient stratification, personalized treatment planning, and translational research across populations.
[0222] Together, these scenarios illustrate the various potential technical advantages of the GRMI and associated data structures. By allowing flexible annotation of graph reference data structures with disease associations, functional consequences, and patient profiles, the GRMI supports multi-dimensional indexing and efficient random access to medically relevant data. This may not only improve the scalability and expressiveness of MPEG-G for graph reference genomes, but may also ensure that the genomic data structure, specified in accordance with an extended version of the MPEG-G standard as described herein for various examples, may serve as a foundation for precision medicine, functional genomics, and patient-centered healthcare.
[0223] FIG. 2 shows a flow chart of an example method for representing genomic data in a data structure. The method may be executed by an encoder for encoding a graph reference genome.
[0224] In step 202, a definition of a graph reference genome is received. Such a definition may, for example, describe a reference graph consisting of a linear backbone sequence with additional edges representing known variants, such as single nucleotide polymorphisms (SNPs) or structural variants.
[0225] In step 204, the graph is divided into partitions. These partitions may be defined, for example, by edge identifier ranges, genomic coordinate ranges, by clusters of topologically adjacent edges, and / or by groups corresponding to different genome samples. For example, a first partition may cover genomic positions 1-1,000,000 of chromosome 1, while a second partition may cover positions 1,000,001-2,000,000. Alternatively, a partition may encompass a cluster ofPhilips Docket: 2025PF00078edges that all represent variation around a particular locus, such as the HLA region. It is possible that multiple partitions for the multiple different boundary parameters are created.
[0226] In step 206, the graph reference genome is encoded on a per-partition basis. Each partition is compressed into one or more access units that contain the coded descriptors and attributes of the edges in that partition. For example, one access unit may encode the sequences and metadata for all edges belonging to Group 1 within a partition, while another access unit encodes Group 2. The resulting compressed bitstream is structured so that the decoder can later reconstruct only the partitions that are relevant to a query. In case the graph reference genome or its elements comprise annotations, these annotations may be stored in one or more descriptors and in specific access units reserved for selectively storing the values of these descriptors (see, for example, the various annotation data descriptors mentioned in the three use case scenarios with respect to figure 1.
[0227] An access unit may typically consist of multiple blocks, where each block contains the coded representation of a specific descriptor or attribute of the edges in that partition. For example, one block may store encoded edge identifiers, another block may store the sequence symbols of the edges, and yet another block may store metadata attributes such as group or cluster information.
[0228] Block-wise encoding may allow entropy coding to be performed separately for each descriptor type, thereby optimizing compression efficiency. Second, it may enable selective decoding, since only the blocks corresponding to descriptors relevant to a particular query need to be accessed.
[0229] In step 208, at least one GRMI is generated. The GRMI specifies the boundary parameters for each partition, such as the minimum and maximum genomic position, cluster identifier, edge identifier, or group identifier. This enables efficient random access to the relevant partitions at decoding time.
[0230] The number of GRMIs created may depend on several factors, including the number of reference sequences, the number of partitions per sequence, and the dataset type of the genomic data structure.
[0231] For example, where the graph reference genome is represented as a single dataset type corresponding to a graph reference dataset type, one GRMI may be generated for the entire dataset.Philips Docket: 2025PF00078This GRMI includes entries for all partitions of all reference sequences contained in the dataset. For example, if the dataset contains two reference sequences (Sequence ID1 and Sequence ID2), and each sequence is divided into 100 partitions, then the GRMI contains 200 index entries, one for each partition, but all are stored within a single GRMI structure.
[0232] In more complex cases, multiple GRMIs may be generated, each tailored to different indexing criteria. For instance, one GRMI may be defined with boundaries based on genomic positions, another GRMI with boundaries based on cluster identifiers, and yet another GRMI with boundaries based on group identifiers. This may allow a decoder to perform searches optimized for different query types without having to compute translations at runtime.
[0233] The number of GRMIs can also reflect the organization of dataset groups. In an MPEG-G file, multiple datasets can be grouped together within a dataset group. If several datasets of type 5 are present in one dataset group — for example, separate graph references for different chromosomes or for different reference assemblies — each dataset may include its own GRMI. Accordingly, the genomic data structure may contain multiple GRMIs, one per dataset of type 5.
[0234] Moreover, where hybrid dataset types are used (dataset_type = 4 for graph-aligned reads and dataset type = 5 for the graph reference), a GRMI is typically generated only for the graph reference dataset (dataset_type = 5). The graph-aligned dataset (dataset_type = 4) may instead rely on a Graph Alignment Master Index (GAMI). The presence of multiple index types across dataset types may ensure that both the reference structure and the aligned read data can be efficiently accessed in a graph-aware manner.
[0235] For example, if a graph reference genome comprises 25 dataset groups, and the file contains one dataset of type 5 for each dataset group, then 25 GRMIs are created. If the reference graph genome of each dataset type group is divided into 10.000 partitions, then each of the 25 GRMI may contain, for example 10,000 entries, corresponding to the partitions of its dataset group.
[0236] The GRMI may complement this block-wise encoding by providing precise byte offsets for every access unit and every block contained therein. For each partition and each class of data, the GRMI may, for example, specify an AU byte offset pointing to the beginning of the access unit. In addition, for every descriptor and attribute encoded within the access unit, the GRMI mayPhilips Docket: 2025PF00078specify a block byte offset. These offsets allow the decoder to jump directly to the required block without sequentially parsing the entire access unit.
[0237] For example, a partition may cover genomic positions 1,000-2,000 in Sequence IDE The access unit for this partition contains three blocks: Block 1 for edge identifiers, Block 2 for nucleotide sequences, and Block 3 for group identifiers. The GRMI stores the AU byte offset indicating that the access unit starts at byte position 0x001000 in the file. It further stores block byte offsets, e.g. Block 1 starts at 0x001000, Block 2 starts at 0x001200, and Block 3 starts at 0x001500. If a query requires only the group identifiers for this partition, the decoder can directly jump to offset 0x001500 and decode Block 3, leaving the other blocks compressed.
[0238] Thereby, a fine-grained random access may be provided, since the decoder may access individual blocks without scanning entire partitions.
[0239] Accordingly, step 208 may not only comprise encoding the graph reference genome in block-wise compressed form but also establishing the linkage between the storage positions of the encoded blocks and their representing entries in the GRMI, ensuring efficient selective reconstruction during decoding.
[0240] In step 210, the encoded graph reference genome and the GRMI are stored together in a genomic data structure, which can be encapsulated into an MPEG-G file. This may ensure that downstream decoders or analysis tools have both the compressed graph data and the necessary index for efficient retrieval. Finally, in step 212, the genomic data structure is stored to memory.
[0241] FIG. 3 shows a flow chart of an example of a method of decoding a genomic data structure. For example, the data structure can be a data structure 100 as described with reference to FIG. 1 and / or a genomic data structure stored in memory in accordance with the method described with reference to FIG. 2. The method may be executed by a decoder.
[0242] In step 302, a genomic data structure 100 comprising a partition- wise compressed graph reference genome and at least one GRMI is received. For example, this may be an MPEG-G file containing access units for multiple graph partitions and the associated index structure.
[0243] In step 304, a search key is received. The search key may be, for example, a genomic coordinate range, a cluster identifier, an edge identifier, or a group identifier. For instance, thePhilips Docket: 2025PF00078search key may specify positions 1,000,000-1,050,000 on chromosome 1, or it may request all edges belonging to Group 2 in a particular partition.
[0244] In step 306, the GRMI is searched using the received search key. If the key specifies a coordinate range, the GRMI identifies the partitions whose minimum and maximum position values overlap with the requested interval. If the key specifies an edge identifier, the GRMI identifies the partition that contains the corresponding range of edge IDs.
[0245] The search key can be received through different types of interfaces, depending on the system configuration. In one example, the search key is entered via a graphical user interface (GUI). A user may specify the genomic coordinate interval of interest through an input form or by selecting a region in a genome browser. For instance, a researcher analyzing the BRCA1 locus may highlight, 100, 000 a range of positions on a particular chromosome, which is then translated into a search key for querying the Graph Reference Master Index.
[0246] In another example, the search key is received via an application programming interface (API) provided by the genomic data management system. Here, a bioinformatics workflow or third-party application can automatically issue structured requests to retrieve one or more parts of a graph. For example, a variant calling pipeline may submit a query specifying “edge lD range = 10,000-20,000” to reconstruct the portion of the graph that contains edges overlapping a candidate variant region.
[0247] In yet another example, the search key may be received via a command-line interface (CLI) or scripting environment, where a user specifies query parameters as part of a command. For instance, a bioinformatician may issue a command such as “decode -cluster id 25” to retrieve all edges belonging to Cluster 25.
[0248] In step 308, a representation of the requested part of the graph reference genome is reconstructed, and hence de-compressed, from the compressed data. For example, if the search key was an edge identifier range of 10,000-20,000, the decoder may be configured to reconstruct all edges within that range, thereby yielding the version of the graph reference genome that includes those edges but excludes later-added edges with higher identifiers. Alternatively, if the search key specified a coordinate interval, the decoder reconstructs all edges spanning that interval, while keeping other partitions in their compressed state.Philips Docket: 2025PF00078
[0249] In step 310, the reconstructed part of the graph reference genome is stored in memory, together with the unmodified compressed data for the rest of the graph. This allows hybrid use: parts of the graph that are relevant to the query are available in a fully decompressed representation for analysis, while other parts remain compressed to save storage and memory resources. For example, when reconstructing a variant-rich region such as the BRCA1 locus, the decoder may keep the rest of chromosome from which the de-compressed part is derived compressed until it is explicitly requested.
[0250] The reconstructed part of the graph reference genome is optionally output, e.g., displayed to a user via a graphical user interface or provided to downstream analysis pipelines. For example, the reconstructed part of the graph reference genome can be provided to another memory, represented in a further genomic data structure, or provided via a user interface of the graph data structure system. The user interface may include a display, a mouse, and / or a keyboard for receiving user commands. The user interface may be located with one or more other components of the computer system hosting the decoder, or may be located remote from said computer system and in communication via a wired and / or wireless communications network.
[0251] Fig. 4 is a chart illustrating an exemplary organization of a graph reference genome 400 comprising a plurality of edges.
[0252] When the graph is processed by an encoder for storing or transporting the graph reference genome in encoded and compressed form, the graph is divided into partitions, with Partition 1 406 spanning from a minimum position at the left boundary to a maximum position at the right boundary. Within this partition, the edges are further organized into multiple clusters, such as cluster 1 402 and cluster n 404, each grouping edges that are topologically or positionally adjacent.
[0253] The edges are assigned to groups representing different genome samples. For instance, Group 0408 corresponds to a first group of one or more edges representing the linear reference genome, while Group 1 410, Group 2412, Group 3414, and Group 4416 correspond to additional sample-specific groups of edges. These groups may be associated with specific individuals, e.g., patients, and respective attributes such as gender, age, or disease status, thereby linking the edges to biologically meaningful metadata.Philips Docket: 2025PF00078
[0254] Each group may be bounded by a non-overlapping range of edge identifiers, with later-added groups assigned larger group identifier values, and with later-added edges assigned larger edge identifier values. This allows the graph reference genome to be updated incrementally while maintaining backward compatibility. The graphical depiction in Figure 4 shows how the linear reference edges of Group 0408 are augmented by additional edges of Groups 1-4 branching out from and reconnecting to the linear backbone, thereby representing genomic variation.
[0255] Within the partition 406, the edges are further subdivided into clusters, exemplified by Cluster 1 402 and Cluster n 404. Each cluster groups together edges that are either topologically connected or positioned closely within the genomic coordinate space. The clustering can, for example, be based on branching points in the graph where multiple alternative paths diverge from or converge to a common node. In this way, Cluster 1 402 may represent a local genomic region where alternative alleles exist, while Cluster n 404 represents another region of variation further downstream along the sequence.
[0256] The identification of clusters may allow for finer-grained organization of the graph reference genome. Rather than storing or retrieving individual edges, entire clusters of neighboring edges can be efficiently accessed as a unit. This may reduce lookup complexity, because the Graph Reference Master Index can directly point to partitions that include one or more clusters, and within those partitions to the relevant cluster boundaries.
[0257] The edges within each cluster may further be grouped by genome sample. Each cluster therefore may act as a container for related edges from multiple groups. By bounding clusters within a partition by minimum and maximum position values, or by minimum and maximum identifiers, the structure ensures that decoding or query operations can be efficiently restricted to only those edges that are relevant for a given genomic region of interest.
[0258] Accordingly, the clusters in Fig. 4 illustrate how the graph reference genome can be decomposed into manageable sub-units, enabling efficient indexing, storage, and reconstruction. This cluster-based organization may support scalable handling of complex graph references containing many alternative paths, while preserving the ability to access data at the level of individual groups and versions.
[0259] By structuring the graph reference in this way, each partition 406 corresponds to an access unit containing coded data blocks of descriptors or attributes. This organization enablesPhilips Docket: 2025PF00078flexible partitioning by sequence identifiers, positional ranges, clusters, groups, or edge identifier ranges, depending on the use case. Users or decoders may thus select which category of partitioning to apply for efficient storage, access, and reconstruction of the graph reference genome.
[0260] FIG. 5 illustrates a block diagram of an example data processing system for encoding, processing and / or decoding genomic information is shown. System 600 may be any of the systems described or otherwise envisioned herein, and may comprise any of the components described or otherwise envisioned herein. According to an example, system 600 comprises one or more of a processor 620, memory 630, user interface 640, communications interface 650, and storage 660, interconnected via one or more system buses 612. It will be understood that FIG. 6 constitutes, in some respects, an abstraction and that the actual organization of the components of the system 600 may be different and more complex than illustrated. According to an example, system 600 comprises a processor 620 capable of executing instructions stored in memory 630 or storage 660 or otherwise processing data to, for example, perform one or more steps of the method. Processor 620 may be formed of one or multiple modules. Processor 620 may take any suitable form, including but not limited to a microprocessor, microcontroller, multiple microcontrollers, circuitry, field programmable gate array (FPGA), application-specific integrated circuit (ASIC), a single processor, or plural processors.
[0261] Memory 630 can take any suitable form, including a non-volatile memory and / or RAM. The memory 630 may include various memories such as, for example LI, L2, or L3 cache or system memory. As such, the memory 630 may include static random access memory (SRAM), dynamic RAM (DRAM), flash memory, read only memory (ROM), or other similar memory devices. The memory can store, among other things, an operating system. The RAM is used by the processor for the temporary storage of data. According to an example, an operating system may contain code which, when executed by the processor, controls operation of one or more components of system 600. It will be apparent that, in examples where the processor implements one or more of the functions described herein in hardware, the software described as corresponding to such functionality in other examples may be omitted.
[0262] User interface 640 may include one or more devices for enabling communication with a user. The user interface can be any device or system that allows information to be conveyedPhilips Docket: 2025PF00078and / or received, and may include a display, a mouse, and / or a keyboard for receiving user commands. In some examples, user interface 640 may include a command line interface or graphical user interface that may be presented to a remote terminal via communication interface 650. The user interface may be located with one or more other components of the system, or may located remote from the system and in communication via a wired and / or wireless communications network.
[0263] Communication interface 650 may include one or more devices for enabling communication with other hardware devices. For example, communication interface 650 may include a network interface card (NIC) configured to communicate according to the Ethernet protocol. Additionally, communication interface 650 may implement a TCP / IP stack for communication according to the TCP / IP protocols. Various alternative or additional hardware or configurations for communication interface 650 will be apparent.
[0264] Storage 660 may include one or more machine-readable storage media such as readonly memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, or similar storage media. In various examples, storage 660 may store instructions for execution by processor 620 or data upon which processor 620 may operate. For example, storage 660 may store an operating system 661 for controlling various operations of system 600.
[0265] It will be apparent that various information described as stored in storage 660 may be additionally or alternatively stored in memory 630. In this respect, memory 630 may also be considered to constitute a storage device and storage 660 may be considered a memory. Various other arrangements will be apparent. Further, memory 630 and storage 660 may both be considered to be non-transitory machine-readable media. As used herein, the term non-transitory will be understood to exclude transitory signals but to include all forms of storage, including both volatile and non-volatile memories.
[0266] While system 600 is shown as including one of each described component, the various components may be duplicated in various examples. For example, processor 620 may include multiple microprocessors that are configured to independently execute the methods described herein or are configured to perform steps or subroutines of the methods described herein such that the multiple processors cooperate to achieve the functionality described herein. Further, where onePhilips Docket: 2025PF00078or more components of system 600 is implemented in a cloud computing system, the various hardware components may belong to separate physical systems. For example, processor 620 may include a first processor in a first server and a second processor in a second server. Many other variations and configurations are possible.
[0267] According to an example, storage 660 of system 600 may store one or more algorithms and / or instructions to carry out one or more functions or steps of the methods described or otherwise envisioned herein. For example, storage 660 and / or the memory 630 may comprise one or more of: an operating system 661, a genomic data structure 662, a decoder 663, an encoder 664, and a bioinformatics tool for pre-processing genomic data to be stored in the genomic data structure 662 via the encoder 664 and / or for post-processing genomic data obtained by the decoder 663 decoding the genomic data structure 662.
[0268] Referring to FIG. 6, in one example, is a graph-based reference genome 700 comprising a plurality of edges. In this example, the edges are patterned to represent a common source of edges. For example, edges 704 and 706 comprise the same pattern and thus were obtained from the same sample or source. Edges 714 and 716 similarly comprise a common pattern and were obtained from the same sample or source, but a different sample or source than edges 704 and 706. Edges 702 and 718 respectively were obtained from sources different from the previous samples or sources. Lastly, edges 708, 710 and 712 comprise a common pattern and were obtained from the same sample or source. In this example, edges 708, 710 and 712 correspond to a linear reference genome. Each source may be represented in the genomic data structure as respective dataset group 102. For example, there may be a first dataset group for source 1 providing edges 704 and 706, a second dataset group for source 2 providing edges 714 and 716 and so on.
[0269] According to an example, a graph-based reference genome can be stored in a memory of a computer system as a genomic data structure or parts thereof. Each edge of the graph reference genome may specify a sequence of characters, and a plurality of links representing connections between the plurality of graph reference genome edges. Each of the plurality of graph reference genome edges may represent a respective path through a portion of the graph reference genome.
[0270] Although a display of the reference genome may comprise a visual indication of source such as the color or patterning as depicted in FIG. 6, or any other visual indicator, this is not a requirement. Further, when the reference genome is stored in memory, the indication of sourcePhilips Docket: 2025PF00078may be a data point associated with the stored reference genome. In figures 6 to 11, endpoint edge transitions are indicated via circles at the ends of the edges, and mid-sequence edge transitions are indicated via diamond symbols.
[0271] FIG. 7 shows a copy 800 of the graph reference genome 700 in which a first path through the graph is highlighted in black.
[0272] FIG. 8 shows a copy 900 of the graph reference genome 700 in which a second path through the graph different from the first path is highlighted in black.
[0273] As can be seen from figures 6-8, a path through the graph reference genome may be specified by a list of edge-IDs and transitions from one edge to another and finally to the linear graph reference sequence(s).
[0274] FIG. 9 is a further example of a graph reference genome 902 that will be used in the following to illustrate different types of connections and how the connections can be characterized in a genomic data structure. The graph reference genome 902 comprises a plurality of edges A01, A02, B01, E01, B02 and a linear reference sequence C01. The edge E01 is connected to the reference sequence C01 at the anchor points p3, p4 via two endpoint edge transitions. The edge E01 is in addition connected to edges B01 and B02 via respective endpoint edge transitions, and is connected to the edges A01, A02 via mid-sequence edge transitions. Hence, the edge E01 may have six types of connection [1] to [6] to other edges and the reference sequence which may be characterized as follows:
[0275] For each connection associated with the edge indexed by i, the following fields may be specified in the genomic data structure: conn_edge_ID[i] is the ID of the edge to which the current edge is connected. conn_is_upstream[i] is a flag, if set to 1, indicates the connecting edge is on thePhilips Docket: 2025PF00078upstream of the current edge, i.e. a path can only traverse from the connecting edge into the current edge but not vice versa. Otherwise, it is on the downstream. If the graph reference supports edges branching in or out from the middle of an edge sequence, the following additional fields are required: conn_type[i] is the type of the connection. Possible values include: 0 for a connection between the end points of two edges, 1 for branches in the middle of the current edge sequence, and 2 for a connection that joins an end point of the current edge to / from the middle of another edge sequence.
[0276] FIG. 10 is an illustration of an exemplary graph reference genome 904 comprising at least an edge EA aligned with and connected to a linear reference sequence R02, and how a pseudo-linear coordinate may be computed for a position PA on said edge edge EA.
[0277] According to some examples, the pseudo-linear coordinate of the point (XA) on an edge of the graph reference genome is computed using both an upstream anchor point and a downstream anchor point, wherein one of the edges (702-718) of the graph reference genome is represented as Edge A, wherein the pseudo-linear coordinates pos(Edge_A,xA)' of a position XA on Edge A connected to position-reference sequence through a path P consisting of a sequence of edges are computed according to the following formula:
[0278] Thereby, pl and p2 are the known linear positions of respectively the upstream and downstream anchor points of Edge A, dA is the distance in terms of number of nucleotides of position XA on Edge A leading to the upstream anchor point through path P, and |P| is the sequence length of path P.
[0279] For example, in the special case that Edge A is directly connected to the position reference sequence, the pseudo-linear coordinates pos Edge_A,xA) are computed according to the following formula:where pl and p2 are the known linear positions of respectively the upstream and downstream anchor points of Edge A, and 1A is the sequence length of Edge A.Philips Docket: 2025PF00078
[0280] As illustrated in the figure, the pseudo linear position for the position PA on edge EA in the graph reference 904 is computed with respect to a designated “linear sequence”, which is a collection of edges R02, R03 spanning across the graph with pre-defined linear coordinates. In addition to the linear reference sequence indicated by the connected edges R02, R03, the graph reference genome may comprise a further, disconnected linear reference sequence R01. The “linear sequence(s)” can be incorporated from an existing linear reference genome, e.g. Chromosome 1 of Human Genome Assembly GRCh38 (hg38). The linear reference sequence R01 and the further linear reference sequence {R02, R03} are represented as a thick solid line segments (or sequence thereof for R02 and R03) at the bottom of the figure and may be referred to as “linear reference sequence(s)” or “position reference sequence”.
[0281] The pseudo linear position of a point PA on edge EA connected to the linear reference sequence R02 through a path can be estimated by first identifying the upstream anchor point pl and the downstream anchor point p2 of the edge EA on the linear reference R02 and then computing a position between the known linear coordinates of the two anchor points pl, p2 that reflects the relative position of the point on the edge / path connecting the two anchor points. For example, with reference to the figure, the pseudo linear position of a point PA on edge EA at distance XA from the beginning of the edge EA can be estimated by the formula specified above.
[0282] In the case that only one anchor point exists for an edge, the pseudo linear position can be estimated, for example, by eitherpos(Edge_A, xA) = p + xA, if only upstream anchor point (at pi) existsOrpos(Edge_A, xA) = p2— (lA— xA), if only downstream anchor point (at p?) exists.
[0283] FIG. 11 is an illustration of a further exemplary graph reference genome 906 comprising at least two edges EA and EB aligned with and connected to a linear reference sequence R02, and how a pseudo-linear coordinate may be computed for a point PB on said edge EB.
[0284] The pseudo linear position of a point PB on said edge EB at distance defined by position XB from the beginning of the edge can be estimated by the following formula:Philips Docket: 2025PF00078
[0285] where pi and ps are the known linear positions of respectively the upstream and downstream anchor points of edge EB (“Edge B”), XA is the local position on edge EA (“Edge A”) connected to Edge B, and 1B is the sequence length (number of nucleotide bases) of Edge B. This formula can be considered an example of the more generic formula
[0286] In the case where an edge is connected to the linear reference in a graph reference genome through multiple paths, one of the paths can be selected for computing the pseudo linear position. Different path selection strategies can be applied, e.g. selecting the path containing the least number of edges, selecting the path containing the least number of nucleotide bases, or further excluding paths that involve edges incorporated into the graph reference in a version after the current edge was incorporated. Other possible approaches include selecting the smallest / median / largest value or computing a weighted average of the pseudo linear positions estimated from the multiple paths.EXAMPLES
[0287] Described below are examples of possible applications of the methods and systems described or otherwise envisioned herein. These examples are provided only as possible examples of the methods and systems described or otherwise envisioned herein, and therefore do not limit or prohibit other possible variations and examples. The data structure and format in which the genomic data is packaged and stored may take any of a wide variety of formats. Although a specific format of data storage and manipulation is described below with reference to various examples, it is understood that this is just one example of a data structure that may be utilized by the graph data structure system described or otherwise envisioned herein.
[0288] The updated syntax of a genomic data structure stored as an MPEG-G file and the respective algorithms for encoding and decoding an MPEG-G file may have the advantage of being fully integratable and backward compatible, such that they function seamlessly with MPEG-G files encoded in accordance with earlier editions of the MPEG-G standard.Philips Docket: 2025PF00078
[0289] In the examples described herein, and in particular in the tables below, we refer to the MPEG-G specifications ISO / IEC 23092-1 “Transport and Storage and Genomic Information” (3rd Edition) simply as Part 1. For clarity, references in the description below to clauses, subclauses and table numbers correspond to the respective clauses, subclauses and table numbers in the MPEG-G standard, and modifications to existing text in the specifications are highlighted in bold. The MPEG-G standard is enclosed herewith by reference in its entirety.
[0290] In the text below, the term “segment” refers to edges being MPEG-G segments.
[0291] According to some examples, the syntax of the GRMI may be as follows:
[0292] When the dataset type is equal to 4 for graph-aligned datasets or equal to 5 for graph reference datasets, the GRMI is included in the “dataset” container as defined in subclause 6.4.3.1 of MPEG-G Part 1. The GRMI syntax may be simpler than the syntax used for the Master Index Table described in subclause 6.5.2.1 of MPEG-G Part 1, which is limited to linear data.
[0293] For example, in the GRMI syntax, AU_start_position and AU_end_position, which in linear datasets indicate the alignment position for extracting nucleotide sequences, are omitted, i.e., not stored in the GRMI.
[0294] Omitting AU_start_position and AU_end_position may reduce redundancy in the bitstream and avoids the need to encode linear positions that have limited applicability in graph contexts. In graph-based datasets, such positions are generally irrelevant for downstream analysis, since graph edges cannot be uniquely represented by a single linear interval. This may lead to lower storage requirements and faster parsing, while ensuring that indexing remains semantically consistent with graph-based reference structures.
[0295] Second, while the data of each graph partition may be stored in multiple access units of different classes, the GRMI according to examples specifies only one set of boundary parameters per partition, rather than repeating such boundary parameters for each access unit.
[0296] Using a single set of boundary parameters per partition may reduce duplication and ensure consistent partition-level indexing. This may improve index compactness and memory efficiency.
[0297] Third, according to examples, the byte offsets of individual blocks in each access unit are always explicitly specified, irrespective of the value of the block header flag. These offsetsPhilips Docket: 2025PF00078may allow direct addressing of descriptors or attributes stored in block form, and may enable efficient query execution when only specific attributes (such as group identifiers or sequence descriptors) are required.Proposed Syntax and Semantics for extending the MPEG-G standard
[0298] In the following, various examples for extending the format of a genomic data structure stored in accordance with an extended version of the MPEG-G standard will be described. The extended version may only comprise one, two, more than two or even all of the extensions described below.Updated Proposed Changes to MPEG-G Part 1
[0299] Subclause 6.4.3.2 Dataset Header - include parameters specific to the following new dataset types:■ dataset type == 4 for graph-aligned content■ dataset type == 5 for graph reference
[0300] Update the semantics of the dataset type field: “dataset_type specifies the type of data encoded in the dataset. The possible values are: 0 = non-aligned content; 1 = aligned content; 2 = reference; 3 = annotation; 4 = graph-aligned content; 5 = graph reference.”Table 1 - proposes exemplary update to Dataset Header SyntaxPhilips Docket: 2025PF00078><<<Philips Docket: 2025PF00078<Philips Docket: 2025PF00078<> && <<<Philips Docket: 2025PF00078<<<Philips Docket: 2025PF00078<<<Philips Docket: 2025PF00078
[0301] According to one example, the dataset header defined in subclause 6.4.3.2 of MPEG-G Part 1 is extended to support new dataset types, in particular graph reference datasets (dataset type = 5).
[0302] The dataset header comprises the fields dataset group ID, dataset ID, version, and a multiple alignment flag. A field seq count specifies the number of sequences included in the dataset. If seq_count is greater than zero, the dataset header further includes a reference lD, a list of sequence identifiers (seq_ID[seq]), and a corresponding list of sequence block counts (seq_blocks[seq]). In the case of dataset type = 5, seq_blocks[seq] specifies the number of access units of type GR EDG TYPE AU or GR SEG TYPE AU associated with the respective sequence identifier.
[0303] A field dataset type identifies the type of dataset. For dataset type = 5, additional fields are defined. A field num classes specifies the number of access unit classes encoded in the dataset. Each class is identified by a did value, which indicates the access unit type. If did corresponds to GR ANN TYPE AU, a flag gr ann is set to indicate the presence of graph reference annotations. In this case, the dataset header also includes a field num gr ann groups indicating the number of graph reference annotation groups, together with identifiers gr_ann_group[gi] for each annotation group.Philips Docket: 2025PF00078
[0304] For each class, a flag class_seq_based may be set to indicate whether access units of that class are grouped by sequence identifier. If the flag is set, the dataset header specifies, for each sequence identifier, the number of access units associated with that sequence (class_blocks[ci][0][seq]). For classes corresponding to GR ANN TYPE AU, grouping may be performed by both annotation group and sequence identifier, in which case the dataset header specifies the number of access units associated with each combination of annotation group and sequence identifier (class_blocks[ci][gi][seq]).
[0305] If the MIT flag is set to one, the dataset header further includes information for master indexing. For dataset type values below 3 or equal to 4, the syntax follows the existing MPEG-G specification. For dataset type = 5, and when no block header is present, the dataset header specifies for each class and, if applicable, for each annotation group: the number of descriptors (num_descriptors[ci][gi]) and their identifiers (descriptor_ID[ci][gi][di]), and the number of attributes (num_attributes[ci][gi]) and their identifiers (attribute_ID[ci][gi][ai]).
[0306] This structure allows explicit signaling of descriptors and attributes for each access unit class, enabling flexible extension with additional annotation content.
[0307] Finally, in order to maintain byte alignment as required by MPEG-G serialization rules, padding bits (nesting zero bit) are inserted until alignment is achieved.
[0308] Table 2 — exemplary proposed extension to Dataset syntaxPhilips Docket: 2025PF00078<<
[0309] In order to extend MPEG-G Part 1, examples of an extended genomic data structure may comprise updates to the dataset header defined in subclause 6.4.3.2. These updates introduce parameters specific to two new dataset types, namely dataset_type = 4 for graph-aligned contentPhilips Docket: 2025PF00078and dataset type = 5 for graph reference data. Accordingly, the semantics of the dataset type field are revised to specify that dataset type identifies the type of data encoded in the dataset, with the following possible values:0 = non-aligned content;1 = aligned content;2 = reference;3 = annotation;4 = graph-aligned content; and5 = graph reference.
[0310] The dataset header continues to include the fields dataset group ID, dataset ID, version, multiple alignment flag and seq_count. When seq_count is greater than zero, a reference lD is specified, followed by a list of seq_ID values for each sequence and the corresponding number of sequence blocks. For dataset type = 5, these sequence blocks indicate the number of access units of type GR EDG TYPE AU or GR SEG TYPE AU associated with the respective sequence identifiers.
[0311] Where dataset type = 5, the dataset header further specifies the number of access unit classes contained in the dataset. Each class identifier (did) indicates an access unit type, and a flag (gr ann) is computed to determine whether annotation access units (GR ANN TYPE AU) are present. If annotation access units are present, the number of annotation groups is signaled, and each group is assigned a unique identifier. Within each class, a flag can be set to indicate whether access units are organized by sequence ID, and if so, the number of access units associated with each sequence is provided. For annotation access units, a similar structure applies, but grouping can additionally be performed by annotation group, enabling a fine-grained organization of graph reference annotations.
[0312] The dataset header, according to examples, also specifies the number of descriptors and attributes contained in each access unit. These are associated with the respective class identifiers and, where applicable, annotation groups. For each descriptor and attribute, an identifier is listed, enabling explicit signaling of the content and structure of the access units. This design may ensurePhilips Docket: 2025PF00078that access units can be flexibly extended with additional descriptors or attributes without affecting conformance.
[0313] Finally, as with existing dataset types, alignment with byte boundaries can be preserved by the insertion of a nesting zero bit as defined in MPEG-G Part 1.
[0314] The proposed extensions of the dataset type field may allow graph-aligned content and graph reference data to be represented natively in MPEG-G. This may provide compatibility with graph-based genome references, which are increasingly used in genomics due to their ability to capture genetic variation more comprehensively than linear references.
[0315] By introducing a mechanism to organize access units by sequence identifiers and annotation groups, a scalable and flexible representation of graph annotations may be enabled. This may support efficient storage and retrieval of metadata such as disease associations, functional consequences, or patient-specific attributes, without altering the core structure of the encoded data.
[0316] According to some examples, a dataset may comprise several structural elements, including a dataset header, metadata, metrics, a coding descriptor list (CDL), protection information, and one or more dataset parameter sets. Depending on the dataset type, the dataset further contains specific indexing and content structures.
[0317] For dataset types corresponding to unaligned reads, aligned reads, reference datasets, graph-aligned datasets, or graph reference datasets (i.e., dataset type < 3, or dataset type = 4 or 5), the dataset may include an index structure if the master index flag (MIT flag) is set. In such a case, when the dataset type is less than 3 or equal to 4, a conventional Master Index Table is present. When the dataset type is equal to 5, a Graph Reference Master Index (GRMI) is present instead.
[0318] In these dataset types, the dataset, according to examples, further comprises a series of access units, which are the smallest independently decodable structures. If no block headers are present (block header flag = 0), the dataset additionally contains descriptor streams, which organize the coded descriptors by type.
[0319] For annotation datasets (dataset type = 3), the dataset instead may contain one or more annotation tables in place of access units and descriptor streams.Philips Docket: 2025PF00078
[0320] Thus, the dataset syntax may flexibly adapt its internal structure depending on the dataset type, enabling the inclusion of a conventional master index, a proposed graph reference master index, or annotation tables, while always maintaining core components such as the header, metadata, metrics, CDL, protection information, and parameter sets.
[0321] Table 3 — Proposed extension to include Graph Reference Master Index<<Philips Docket: 2025PF00078<<<Philips Docket: 2025PF00078<
[0322] According to some examples, a dataset of type “graph reference” comprises a Graph Reference Master Index (GRMI) structure. The GRMI defines boundary information and byte offsets for partitions of a graph reference genome, thereby enabling efficient lookup of edges by genomic position, cluster identifier, edge identifier, or group identifier.
[0323] The GRMI includes, for example, a set of flags that indicate the type of boundaries applied to the graph partitions. In particular, a reference-position boundary flag, when set, signals that each partition is bounded by a range of pseudo-linear genomic positions on the referencePhilips Docket: 2025PF00078sequence. A cluster-ID boundary flag, when set, signals that each partition is bounded by a range of cluster identifiers. An edge-ID boundary flag, when set, signals that each partition is bounded by a range of edge identifiers. A group-ID boundary flag, when set, signals that each partition is bounded by a range of group identifiers.
[0324] For each reference sequence, the graph is subdivided into a number of partitions. For every partition, the GRMI specifies the number of edges included. Where the corresponding boundary flag is set, the GRMI further specifies the minimum and maximum values of the relevant identifier range, e.g. the minimum and maximum genomic positions, the minimum and maximum cluster identifiers, the minimum and maximum edge identifiers, or the minimum and maximum group identifiers.
[0325] In addition to the boundary information, the GRMI may also provide access information for retrieving coded data. In particular, for each partition and for each data class, the GRMI specifies the byte offset of the corresponding access unit. Furthermore, for each access unit, the GRMI identifies the number of fields, which is given by the number of descriptors plus the number of attributes. For every field, the GRMI specifies the byte offset of the corresponding block within the access unit.
[0326] Finally, the GRMI structure can be terminated, according to examples, in a byte-aligned fashion, including a nesting zero bit as specified in the MPEG-G standard.Subclause 6.5.2.2 Graph Alignments Master Index
[0327] According to some examples, the genomic data structure comprises a specification for the GRMI that corresponds to an extended MPEG G version that in addition comprises a subclause for the proposed Graph Alignments Master Index, also referred to as GAMI, as specified below:Table 4: Proposed Graph Alignments Master Index SyntaxPhilips Docket: 2025PF00078< <<Philips Docket: 2025PF00078Philips Docket: 2025PF00078<Philips Docket: 2025PF00078<<<Philips Docket: 2025PF00078
[0328] According to further examples, the genomic data structure comprises a Graph Alignments Master Index (GAMI) structure and the MPEG-G standard may be extended as suggested in the table above. This structure may provide indexing information for access units (AUs) of graph-aligned datasets and may allow efficient lookup of data based on genomic coordinates, cluster identifiers, chain identifiers, edge or segment identifiers, and group identifiers.
[0329] The GAMI may, for example, comprise a set of boundary flags. If a flag is set to one, it indicates that the access units are bounded by the corresponding parameter. Specifically, pos bound signals bounding by pseudo-linear genomic positions; cluster lD bound signals bounding by cluster identifiers; chain lD bound signals bounding by chain identifiers; edge seg ID bound signals bounding by edge or segment identifiers; and group ID bound signals bounding by group identifiers. The introduction of boundary flags may provide a compact and flexible mechanism to describe the conditions under which each access unit can be retrieved. This may allow efficient random access to genomic data based on different indexing dimensions, such as positions, clusters, or chains, without requiring a full sequential scan of the dataset.
[0330] For each sequence in the dataset, and for each access unit class, indexing information is provided unless the class corresponds to unaligned data (CLASS U). For each access unit, the index stores the byte offset of the AU within the bitstream. When pos bound is active, the index additionally specifies the minimum and maximum genomic positions covered by the first alignments of the access unit. If the dataset header signals the presence of multiple alignments, extended minimum and maximum positions are also recorded for all alignments.
[0331] When cluster lD bound, chain lD bound, edge seg ID bound, or group ID bound are active, the corresponding minimum and maximum identifier values are included in the index to delimit the content of each access unit with respect to the chosen boundary parameter. ThePhilips Docket: 2025PF00078explicit storage of minimum and maximum identifier values for clusters, chains, edges, segments, or groups may improve scalability. Large-scale datasets may thus be partitioned into well-defined regions, enabling parallelized search and query execution across distributed systems
[0332] Where the block header is absent, the GAMI further provides offsets for the individual blocks within each access unit, with one offset recorded per descriptor contained in the access unit. This enables direct access to descriptor-specific information without decoding the entire access unit. By including extended genomic position ranges for multiple alignments, the GAMI may enable more precise queries in cases where reads map to multiple loci. This may ensure that applications such as variant calling and haplotype phasing can retrieve all relevant alignments efficiently.
[0333] In addition, the GAMI in some example implementations may provide indexing of unaligned access units. For each such unit, the byte offset is recorded, and if the dataset signals the presence of signatures, the number of signatures is given together with their values. If variable signature lengths are allowed, the length of each signature is explicitly included. The recording of descriptor- and attribute-specific block offsets may provide fine-grained access to individual data elements. This may avoid unnecessary decoding of unrelated descriptors, thereby reducing computational load and improving query performance in downstream genomic analysis pipelines.
[0334] To ensure compliance with bitstream alignment rules, padding bits (nesting zero bit) are added until byte alignment is achieved. Finally, in the absence of a block header, the index specifies the offsets of all descriptor and attribute blocks contained in the access unit.Subclause 6.5.1.3 Graph Reference Master Index
[0335] According to some examples, the genomic data structure is compliant to an extended MPEG-G standard comprising an additional subclause for the proposed Graph Reference Master Index structure.Table 5: Proposed Graph Reference Master IndexPhilips Docket: 2025PF00078<<Philips Docket: 2025PF00078<Philips Docket: 2025PF00078<< <Philips Docket: 2025PF00078&&<<Philips Docket: 2025PF00078<<<Philips Docket: 2025PF00078<<
[0336] According to some examples, the genomic data structure is compliant with an extended MPEG-G standard that comprises an additional subclause specifying a Graph Reference Master Index (GRMI) structure. The GRMI provides, according to examples, indexing information for access units (AUs) of graph reference datasets, in particular for edges and segments, and enables efficient retrieval of data based on multiple boundary parameters.Philips Docket: 2025PF00078
[0337] According to some examples, the GRMI includes a set of flags that indicate whether access units are bounded by specific identifiers. When the ref_pos_bound flag is set, each access unit of edges or segments is bounded by a range of pseudo-linear genomic positions on the reference sequence. When the cluster lD bound, chain lD bound, edge seg ID bound or group ID bound flags are set, the respective access units are bounded by ranges of cluster identifiers, chain identifiers, edge or segment identifiers, or group identifiers.
[0338] Thereby, the GRMI may enable fine-grained random access to graph reference data by indexing access units with multiple boundary parameters. This may allow efficient queries based on genomic positions, cluster identifiers, chains, edges, segments, or groups, avoiding the need for sequential decoding.
[0339] According to some examples, for each sequence, indexing information is provided for access units of type GR EDG TYPE AU or GR SEG TYPE AU. For each such access unit, the index may contain minimum and maximum genomic positions, cluster IDs, chain IDs, edge or segment IDs, or group IDs, depending on which boundary flags are active. This may ensure that the genomic scope of each access unit is explicitly defined. By explicitly defining minimum and maximum identifier values for each access unit, the GRMI may ensure precise delimitation of genomic scope, improving both query accuracy and computational efficiency. This may be particularly beneficial in large-scale graph genomes with millions of edges and nodes.
[0340] According to examples, the GRMI further provides indexing of access units associated with annotation groups. For each class identifier (did), when the class corresponds to annotation access units (GR ANN TYPE AU), indexing is organized according to the number of annotation groups. Within each annotation group, the access units can be further organized by sequence identifiers. For each such access unit, the GRMI specifies, according to examples, the number of blocks, and for each block the corresponding identifier ranges are signaled. Examples include link identifiers for GR LNK TYPE AU, group identifiers for GR GRP TYPE AU, chain identifiers for GR CHN TYPE AU, subgraph cluster identifiers for GR SGR TYPE AU, cluster identifiers for GR CLS TYPE AU, and boundary identifiers for annotation units.
[0341] For annotation access units, the GRMI may additionally specify the number of boundary parameters (num bounds) that apply. Each boundary parameter indicates the type of graph reference data structure used as a boundary (e.g. edges, segments, groups) and provides minimumPhilips Docket: 2025PF00078and maximum identifier values for that structure. This may allow annotations to be flexibly linked to specific graph elements.
[0342] The ability to link annotations to graph elements through flexible boundary parameters may support rich semantic annotation of graph genomes. This may enable downstream applications, such as disease association studies or functional genomics analyses, to directly query relevant annotated graph regions
[0343] According to examples, for each class and annotation group, the GRMI also defines the number of descriptors and attributes contained in the corresponding access units. The index specifies the byte offset of each access unit, as well as the byte offsets of all descriptor and attribute blocks. This may enable direct access to individual blocks without the need to decode the entire dataset. The explicit signaling of descriptors, attributes, and block offsets within the index may ensure interoperability across implementations and may allow direct access to descriptor-specific data. This may reduce decoding overhead, accelerates downstream analyses, and supports scalable parallel processing
[0344] To ensure conformance with MPEG-G serialization rules, the GRMI according to some examples mandates that padding bits (nesting zero bit) are added until byte alignment is achieved. This preserves compatibility with existing MPEG-G decoders.
[0345] All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and / or ordinary meanings of the defined terms.
[0346] Aspects of the present disclosure may be implemented as an apparatus, system, method, or computer program or computer program product, embodied in hardware, software (e.g., firmware, resident software, micro-code), or any combination thereof, generally referred to as a “circuit,” “module,” or “system.”
[0347] The disclosure may be embodied as a computer program product, in particular embodied in one or more computer-readable media. The computer program product is comprising program instructions, also referred to as computer executable code or computer program. A computer-readable storage medium as used herein encompasses any tangible storage medium which mayPhilips Docket: 2025PF00078store the program instructions. The computer-readable storage medium may be referred to as a computer-readable non-transitory storage medium.
[0348] Examples of computer-readable storage media include, but are not limited to: a computer memory like a magnetic hard disk drive, a solid state hard disk, flash memory, a USB thumb drive, like a Random Access Memory (RAM) or Read Only Memory (ROM), an optical disk (e.g. CD, DVD), a magneto-optical disk, and the register file of a processing unit.
[0349] A computer program product may include a computer-readable signal medium, which itself may embody the program instructions. The computer readable signal medium may include a propagated data signal with the program instructions embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that can communicate, propagate, or transport program instructions for use by or in connection with an instruction execution apparatus.
[0350] A processor or processing unit as used herein encompasses any electronic component which is able to execute the program instructions. This includes, for example, a CPU, GPU, microcontroller, or any processor core. It may comprise a single processor or multiple processors / cores, which can be located within the same computer component or distributed across multiple computer components in a networked system. Each computer component may comprise one or more of the electronic components.
[0351] The term apparatus should be interpreted to possibly refer to a single computer component or a collection or network of computer components.
[0352] Program instructions may comprise machine executable instructions or a computer program which when executed by a processing unit of the apparatus cause or enable the apparatus to perform an aspect of the present disclosure. Program instructions may be provided in any combination of one or more programming languages, including an object-oriented programming language and a conventional procedural programming language. Program instructions may be compiled into machine executable instructions or may be in a pre-compiled form and be used in conjunction with an interpreter which generates the machine executable instructions on the fly.Philips Docket: 2025PF00078
[0353] Aspects of the present disclosure are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to the disclosure. It will be understood that each block or a portion of the blocks of the flowchart, illustrations, and / or block diagrams, can be implemented by computer program products when applicable. It is further understood that, when not mutually exclusive, combinations of blocks in different flowcharts, illustrations, and / or block diagrams may be combined.
[0354] The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”
[0355] The phrase “and / or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and / or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and / or” clause, whether related or unrelated to those elements specifically identified.
[0356] As used herein in the specification and in the claims, “or” should be understood to have the same meaning as “and / or” as defined above. For example, when separating items in a list, “or” or “and / or” shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly indicated to the contrary, such as “only one of’ or “exactly one of,” or, when used in the claims, “consisting of,” will refer to the inclusion of exactly one element of a number or list of elements. In general, the term “or” as used herein shall only be interpreted as indicating exclusive alternatives (i.e. “one or the other but not both”) when preceded by terms of exclusivity, such as “either,” “one of,” “only one of,” or “exactly one of.”
[0357] As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the listPhilips Docket: 2025PF00078of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified.
[0358] It should also be understood that, unless clearly indicated to the contrary, in any methods claimed herein that include more than one step or act, the order of the steps or acts of the method is not necessarily limited to the order in which the steps or acts of the method are recited.
[0359] In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of’ and “consisting essentially of’ shall be closed or semi-closed transitional phrases, respectively.
[0360] While several examples have been described and illustrated herein, those of ordinary skill in the art will readily envision a variety of other means and / or structures for performing the function and / or obtaining the results and / or one or more of the advantages described herein, and each of such variations and / or modifications is deemed to be within the scope of the examples described herein. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and / or configurations will depend upon the specific application or applications for which the teachings disclosed herein is / are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific examples described herein. It is, therefore, to be understood that the foregoing examples are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, examples disclosed herein may be practiced otherwise than as specifically described and claimed. The examples of the present disclosure are directed to each individual feature, system, article, material, kit, and / or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and / or methods, if such features, systems, articles, materials, kits, and / or methods are not mutually inconsistent, is included within the scope of the present disclosure. Features described in connection with a method or method step are, according to examples, implemented as features of a respective computer system and data structure and vice versa. The features of the method and computer system andPhilips Docket: 2025PF00078computer program clauses described below can be combined with any example of the method, computer system, computer program and data structure described above.
[0361] Certain embodiments may be implemented in systems that are compliant with one or more compression standards, such as the MPEG-G family of standards. However, the disclosed embodiments are not limited to any particular standard and may also be applied to nonstandardized systems.Philips Docket: 2025PF00078List of Reference NumeralsGenomic data structureDataset groupDataset.1 first descriptor.2 second descriptor.3 third descriptorMIT or GAMIGraph Reference Master Index (GRMI)-310 StepsGraph reference genomeCluster 1Cluster nPartition 1 (example partition)Group 0 (linear reference genome)Group 1 (edges of first sample)Group 2 (edges of second sample)Group 3 (edges of third sample)Group 4 (edges of fourth sample)Computer system / Data processing systemSystem busProcessorMemoryUser interfaceCommunications interfaceStorageOperating systemGenomic data structure stored in storageDecoderEncoderGraph-based reference genomePhilips Docket: 2025PF00078-718 EdgesGraph reference genomeGraph reference genomeGraph reference genomeGraph reference genomeGraph reference genome
Claims
1. Philips Docket: 2025PF00078ClaimsWhat is claimed is:
1. A computer- implemented method for representing genomic data in a compressed, searchable format, the method comprising:receiving (202) a definition of a graph reference genome (400) comprising edges representing genomic variants;identifying (204) graph partitions (406), a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters (402, 404) of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; encoding (206) the graph reference genome on a per-partition basis to generate compressed representations of the graph partitions;generating (206) at least one graph reference master index, GRMI (112), the GRMI comprising index entries representing the graph partitions, the compressed representations being individually identifiable via the GRMI, the index entries being identifiable by a search key being or comprising the one or more criteria; storing (210) the compressed representations and the at least one GRMI in a genomic data structure (100); andstoring (212) the genomic data structure in a memory (630).
2. The method of claim 1, wherein the genomic data structure comprises a plurality of access units, wherein the data of each of one or more of the graph partitions is stored inPhilips Docket: 2025PF00078one or more of the access units, and wherein an access unit is the smallest independently decodable element comprised in the genomic data structure that needs to be decoded to reconstruct a genomic record, wherein each access unit comprises one or more blocks, each representing a compressed set of values, wherein the at least one GRMI supports random access to the access units based on a provided search key, wherein in particular each of the partitions is stored in one of the access units or a group of two or more of the access units.
3. The method of claim 2,wherein generating the GRMI comprises storing the GRMI entries in association with respective one or more sets of boundary parameter values, wherein a boundary parameter value set delimits the content of the partition to which it is assigned and enables searching the GRMI via the search key, the boundary parameters being selected from the group comprising:a sequence identifier;genomic coordinate boundaries, comprising a minimum and a maximum reference genome position of the partition that define the lowest and highest genomic coordinates of edges in the partition, the coordinates optionally being pseudo-linear coordinates;cluster boundaries, comprising a minimum and a maximum cluster identifier that define the range of cluster identifiers covered by the partition;edge boundaries, comprising a minimum and a maximum edge identifier that define the identifier range of the edges in the partition, the range optionally corresponding to edges belonging to a version or a sample;group boundaries, comprising a minimum and a maximum group identifier that define the range of identifiers of groups to which the edges in the partition belong; chain boundaries, comprising a minimum and a maximum chain identifier that define the range of identifiers of chains to which the edges in the partition belong; andPhilips Docket: 2025PF000784. subgraph boundaries, comprising a minimum and a maximum subgraph identifier that define the range of identifiers of subgraphs of the graph reference genome to which the edges in the partition belong. The method of any one of the previous claims, wherein the genomic data structure comprises at least one first dataset having a dataset type indicating that the at least one first dataset comprises a graph reference genome, wherein the at least one first dataset comprises the GRMI,and wherein optionally the genomic data structure comprises at least one second dataset having dataset type being indicative of unaligned or aligned reads or being indicative of graph aligned data, wherein the at least one second dataset comprises a master index table, MIT, or a graph alignment master index, GAMI, instead of the GRMI, the MIT being a coordinate-based index for reads aligned to a linear reference.
5. The method of any one of the previous claims, further comprising:computing pseudo-linear positions of points on the edges of the graph reference genome;wherein the GRMI is generated such that the index entries are addressable by a search key being a genomic coordinate or coordinate range.
6. The method of any one of the previous claims, wherein the edges of the graph reference genome respectively have assigned numerical edge identifiers, wherein the edge identifier ranges of different edge groups are non-overlapping, the method further comprising:creating a newer version of the graph reference genome by creating additional edges that are connected to the existing edges of the graph reference genome;creating new edge identifiers for the additional edges such that the edge identifiers of the additional edges have a higher numerical value than the edge identifiers of the existing graph reference genome; andupdating the GRMI to enable addressing also the additional edges via the search key.Philips Docket: 2025PF000787. The method of any one of the previous claims,wherein the GRMI comprises a minimum and a maximum edge identifier value for each graph partition, the minimum and maximum edge identifier values being indicative of the smallest and highest edge identifier values of all edges comprised in this graph partition, thereby bounding the edges belonging to one or more versions of the graph reference genome; and / orwherein the GRMI comprises a minimum and a maximum group identifier value for each graph partition, the minimum and maximum group identifier values being indicative of the smallest and highest group identifier values of all edges comprised in this graph partition, and implicitly being indicative of the smallest and highest edge identifier values of all edges comprised in the groups in the graph partition, thereby bounding the edges belonging to one or more versions of the graph reference genome.
8. The method of any one of the previous claims 2-7,wherein the partition-wise encoding comprises encoding data associated with elements of the graph reference genome in a set of one or more of the access units; wherein the set of access units belong to two or more different types of access units; wherein the encoding of the data associated with elements of the graph reference genome comprises, for each of the access unit types:■ setting a flag to indicate whether access units of that type are grouped by sequence identifier of sequences of the graph reference genome belonging to said partition;■ and optionally, if the flag is set, for each sequence identifier of sequences comprised in the partition, storing the number of access units used for storing data associated with the sequence having said sequence identifier;and wherein in particular the set of access units comprise one or more access units of a graph reference annotations access unit type, GR_ANN access unit type, wherein GR_ANN access units are data containers in the graph reference genome configured to selectively store annotations assigned to elements of the graph reference genome.Philips Docket: 2025PF000789. The method of any one of the preceding claims 2-8, wherein the access units to which random access is supported by the at least one GRMI belong to two or more different access unit types, wherein the GRMI further comprises:for each of the one or more access unit types, one parameter indicating the number of boundary conditions applicable to each of one or more access units of the access unit type, the one or more access units being used for storing a respective one of the partitions; and / orfor each of the one or more access unit types, one or more parameters indicating the type of graph reference genome element, in particular MPEG-G edge or MPEG-G segment, whose identifiers are used for defining the partition boundaries.
10. A computer- implemented method for searching genomic data, the method comprising:receiving (302) a genomic data structure (100) comprising:■ partition-wise compressed data of a graph reference genome (400), the graph reference genome comprising edges representing genomic variants, the partitionwise compression being based on graph partitions, a graph partition being a subset of the edges sharing one or more criteria, the criteria being selected from a group comprising: a sequence identifier, a genomic coordinate range, an edge identifier range, a cluster identifier range, a chain identifier range, a subgraph identifier range, and a group identifier range, the cluster identifier range being indicative of clusters (402, 404) of edges grouped together based on topological proximity, the group identifier range being indicative of sources from which one or more of the edges were derived, the chain identifier range being indicative of chains from which one or more of the edges were derived, a chain being an ordered sequence of connected edges within the graph reference genome that are traversed consecutively, the subgraph identifier range being indicative of subgraphs from which one or more of the edges were derived; and■ at least one graph reference master index, GRMI (112), the GRMI being a searchable index for the graph partitions, the GRMI comprising index entries representing the graph partitions, the index entries being addressable by a searchPhilips Docket: 2025PF00078key being or comprising the one or more criteria;receiving (304) a search key;searching (306) the GRMI using the received search key for identifying one or more graph partitions comprising edges whose index entries match the search key; reconstructing (308) a de-compressed representation of those parts of the graph reference genome which are encoded in the identified one or more graph partitions (406) while keeping the other graph partitions in compressed state; andstoring (310) the reconstructed part of the graph reference genome in a memory (630).
11. The method of claim 10, wherein the genomic data structure comprises a plurality of access units, wherein the data of each of one or more of the graph partitions is stored in one or more of the access units, and wherein an access unit is the smallest independently decodable element of the genomic data structure that needs to be decoded to reconstruct a genomic record, each access unit comprising one or more blocks representing a compressed set of values, and wherein the GRMI supports random access to the access units based on the received search key.
12. The method of any one of the previous claims 10-11, wherein the GRMI entries are stored in association with respective sets of boundary parameters, the boundary parameters delimiting the content of the partition and serving as keys in the GRMI, wherein the method further comprises:decoding the set of boundary parameters of the graph partitions, and wherein the searching comprises matching the search key against the decoded sets of boundary parameters.
13. The method of any one of the previous claims 10-12,wherein the search key is a sequence identifier and a genomic coordinate or coordinate range;wherein the at least one GRMI comprises entries with a sequence identifier andPhilips Docket: 2025PF00078genomic coordinate boundaries, the genomic coordinate boundaries comprising a minimum and a maximum reference genome position of the partition that define the lowest and highest genomic coordinates of edges in the partition, the coordinates optionally being pseudo-linear coordinates;wherein performing the searching comprises matching the search key against the genomic coordinate boundaries to identify the one or more graph partitions; and wherein the method optionally further comprises: using software that is configured to visualize and / or analyze genomic data based on a linear reference genome to visualize and / or analyze genomic data comprised in or aligned with the reconstructed partitions of the graph reference genome based on the pseudo-linear coordinates.
14. The method of any one of the previous claims 10-13,wherein the edges of the graph reference genome respectively have assigned numerical edge identifiers;wherein the edge identifier ranges of different edge groups are non-overlapping; wherein the graph reference genome comprises a subset of initially present edges and at least one further subset of edges which were added to the graph reference genome later, wherein the edge identifiers of the later added edges have a higher numerical value than the edge identifiers of the initially present edges; andwherein the reconstruction of the de-compressed representation of the parts of the graph reference genome comprises:wherein the receiving of the search key comprises analyzing the search key for identifying a maximum edge identifier, and wherein the part of the graph reference genome is reconstructed such that all partitions comprising edges with an edge identifier being equal to or smaller than the identified maximum edge identifier are reconstructed, thereby reconstructing a version of the graph whose largest edge identifier is identical to or smaller than the identified maximum edge identifier; or wherein the receiving of the search key comprises analyzing the search key for identifying one or more edge identifiers to be matched, and wherein only partitionsPhilips Docket: 2025PF00078comprising those edges of the graph reference genome matching the identified one or more identifiers are reconstructed, and wherein partitions comprising the other edges of the graph reference genome which do not match the identified edge identifiers are kept in compressed state.
15. A computer program comprising instructions which enable a processor to carry out the method of any one of the previous claims.