WO2018152143A1 - Procédé et appareil pour la représentation compacte de données bioinformatiques au moyen de plusieurs descripteurs génomiques - Google Patents

Procédé et appareil pour la représentation compacte de données bioinformatiques au moyen de plusieurs descripteurs génomiques Download PDF

Info

Publication number
WO2018152143A1
WO2018152143A1 PCT/US2018/018092 US2018018092W WO2018152143A1 WO 2018152143 A1 WO2018152143 A1 WO 2018152143A1 US 2018018092 W US2018018092 W US 2018018092W WO 2018152143 A1 WO2018152143 A1 WO 2018152143A1
Authority
WO
WIPO (PCT)
Prior art keywords
reads
class
descriptors
data
genomic
Prior art date
Application number
PCT/US2018/018092
Other languages
English (en)
Inventor
Mohamed Khoso BALUCH
Claudio ALBERTI
Giorgio Zoia
Daniele RENZI
Original Assignee
Genomsys Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US2017/017842 external-priority patent/WO2018071055A1/fr
Priority to JP2019542715A priority Critical patent/JP7362481B2/ja
Priority to BR112019016236A priority patent/BR112019016236A2/pt
Priority to AU2018221458A priority patent/AU2018221458B2/en
Priority to KR1020197026877A priority patent/KR20190113971A/ko
Priority to NZ757185A priority patent/NZ757185B2/en
Priority to CN201880012026.4A priority patent/CN110663022B/zh
Priority to SG11201907418YA priority patent/SG11201907418YA/en
Priority to CA3052824A priority patent/CA3052824A1/fr
Priority to EA201991908A priority patent/EA201991908A1/ru
Priority to US16/485,670 priority patent/US20200051665A1/en
Priority to PE2019001668A priority patent/PE20200227A1/es
Priority to EP18753700.6A priority patent/EP3583500A4/fr
Priority to MX2019009680A priority patent/MX2019009680A/es
Priority to PCT/US2018/018092 priority patent/WO2018152143A1/fr
Application filed by Genomsys Sa filed Critical Genomsys Sa
Publication of WO2018152143A1 publication Critical patent/WO2018152143A1/fr
Priority to IL26865119A priority patent/IL268651A/en
Priority to PH12019501879A priority patent/PH12019501879A1/en
Priority to ZA2019/05921A priority patent/ZA201905921B/en
Priority to CONC2019/0009920A priority patent/CO2019009920A2/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/10Ontologies; Annotations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B99/00Subject matter not provided for in other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Definitions

  • This disclosure provides a novel method of representation of genome sequencing data which reduces the utilized storage space and improves access performance by providing new functionality that are not available with known prior art methods of representation.
  • An appropriate representation of genome sequencing data is fundamental to enable efficient genomic analysis applications such as genome variants calling and all other analysis performed with various purposes by processing the sequencing data and metadata.
  • the result of compression is usually a single blob of binary data.
  • the information in such monolithic form results quite difficult to archive, transfer and elaborate particularly when like in the case of high throughput sequencing the volume of data are extremely large.
  • the BAM format is characterized by poor compression performance due to the focus on compression of the inefficient and redundant SAM format rather than on extracting the actual genomic information conveyed by SAM files and due to the adoption of general purpose text compression algorithms such as gzip rather than exploiting the specific nature of each data source (the genomic data itself).
  • CRAM provides more efficient compression for the adoption of differential encoding with respect to a reference (it partially exploits the data source redundancy), but it still lacks features such as incremental updates, support for streaming and selective access to specific classes of compressed data.
  • CRAM relies on the concept of the CRAM record. Each CRAM record represents a single mapped or unmapped reads by coding all the elements necessary to reconstruct it.
  • CRAM does not support data indexing and random access to data subsets sharing specific features.
  • Data indexing is out of the scope of the specification (see section 12 of CRAM specification v 3.0) and it is implemented as a separate file.
  • the approach of the invention described in this document employs a data indexing method that is integrated with the encoding process and indexes are embedded in the encoded (i.e. compressed) bit stream.
  • CRAM is built by core data blocks that can contain any type of mapped reads (perfectly matching reads, reads with substitutions only, reads with insertions or deletions (also referred to as "indels")).
  • mapped reads perfectly matching reads, reads with substitutions only, reads with insertions or deletions (also referred to as "indels")).
  • Indels reads with insertions or deletions
  • CRAM is based on the concept of encapsulating each read into a "CRAM record”. This implies the need to inspect each complete "record” when reads characterized by specific biological features (e.g. reads with substitutions, but without "indels", or perfectly mapped reads) are searched.
  • each record field is associated to a specific flag and each flag must always have the same meaning as there is no notion of context since each CRAM record can contain any different type of data.
  • This coding mechanism introduces redundant information and prevents the usage of efficient context based entropy coding.
  • the approach of the disclosed invention uses a single alphabet and encoding for substitutions, insertions and deletions. This makes the encoding and decoding process simpler and produces a lower entropy source model which coding yields bitstreams characterized by high compression performance.
  • the present invention aims at compressing genomic sequences by classifying and partitioning sequencing data so that the redundant information to be coded is minimized and features such as selective access and support for incremental updates are directly enabled in the compressed domain.
  • One of the aspects of the presented approach is the definition of classes of data and metadata structured in different blocks and encoded separately.
  • the more relevant improvements of such approach with respect to existing methods consist in: 1 . the increase of compression performance due to the reduction of the information source entropy constituted by providing an efficient source model for each class of data or metadata;
  • Figure 1 shows how the position of the mapped reads pairs are encoded in the "pos" block as difference from the absolute position of the first mapped read.
  • Figure 2 shows how two reads in a pair may originate from the two DNA strands.
  • Figure 3 shows how the reverse complement of read 2 is encoded if strand 1 is used as reference.
  • Figure 4 shows the four possible combinations of reads composing a reads pair and the respective coding in the "rcomp" block.
  • Figure 5 shows how to calculate the pairing distance in case of constant reads length for three read pairs.
  • Figure 6 show how the pairing errors encoded in the "pair" block enable the decoder to reconstruct the correct read pairing using the encoded "MPPPD”.
  • Figure 7 shows the encoding of a pairing distance when a read is mapped on a difference reference than its mate. In this case additional descriptors are added to the pairing distance. One is a signaling flag, the second is a reference identifier and then the pairing distance.
  • Figure 8 shows the encoding of "n type” mismatches in a "nmis” block.
  • Figure 9 shows a mapped read pair which presents substitutions with respect to a reference sequence.
  • Figure 10 shows how to calculate the positions of substitutions either as absolute or differential values.
  • Figure 1 1 shows how to calculate the symbols encoding substitutions types when no lUPAC codes are used.
  • the symbols represent the distance - in a circular substitution vector - between the molecule present in the read and the one present on the reference at that position.
  • Figure 12 shows how to encode the substitutions into the "snpt" block.
  • Figure 13 shows how to calculate substitution codes when lUPAC ambiguity codes are used.
  • Figure 14 shows how the "snpt" block is encoded when lUPAC codes are used.
  • Figure 15 shows how for reads of class I the substitution vector used is the same as for class M with the addition of special codes for insertions of the symbols A, C, G, T, N.
  • Figure 16 shows some examples of encoding of mismatches and indels in case of lUPAC ambiguity codes.
  • the substitution vector is much longer in this case and therefore the possible calculated symbols are more than in the case of five symbols.
  • Figure 17 shows a different source model for mismatches and indels where each block contains the position of the mismatches or inserts of a single type. In this case no symbols are encoded for the mismatch or indel type.
  • Figure 18 shows an example of mismatches and indels encoding.
  • a 0 is encoded in the corresponding block.
  • the 0 acts as reads separator and terminator in each block.
  • Figure 19 shows how a modification in the reference sequence can transform M reads in P reads. This operation can reduce the information entropy of the data structure especially in case of high coverage data.
  • Figure 20 shows a genomic encoder 2010 according to one embodiment of this invention.
  • Figure 21 shows a genomic decoder 218 according to one embodiment of this invention.
  • Figure 22 shows how an "internal" reference can be constructed by clustering reads and assembling the segments taken from each cluster.
  • Figure 23 shows how a strategy of constructing a reference consists in storing the most recent reads once a specific sorting (e.g. lexicographic order) has been applied to the reads.
  • a specific sorting e.g. lexicographic order
  • Figure 24 shows how a read belonging to the class of "unmapped" reads (Class U) can be coded using six descriptors stored or carried in the corresponding blocks.
  • Figure 25 shows how an alternative coding of reads belonging to Class U where a signed pos descriptor is used to code the mapping position of a read on the constructed reference.
  • Figure 26 shows how reference transformations can be applied to remove mismatches from reads.
  • reference transformations may generate new mismatches or change the type of mismatches found when referring to the reference before the transformation has been applied.
  • Figure 27 shows how reference transformations can change the class reads belong to when all or a subset of mismatches are removed (i.e. the read belonging to class M before transformation is assigned to Class P after the transformation of the reference has been applied).
  • Figure 28 shows how half mapped read pairs (class HM) can be used to fill unknown regions of a reference sequence by assembling longer contigs with unmapped reads.
  • Figure 29 shows how encoders of data of class N, M and I are configured with vectors of thresholds and generate separate subclasses of N, M and I data classes.
  • Figure 30 shows how all classes of data can use the same transformed reference for re- encoding or a different transformation can be used for each class N, M and I, or any combination thereof.
  • Figure 31 shows the structure of a Genomic Dataset Header.
  • Figure 32 shows the generic structure of a Master Index Table where each row contains genomic intervals of the several classes of data P, N, M, I, U, HM and further pointers to Metadata and annotations.
  • the columns refer to specific positions on the reference sequences related to the encoded genomic data.
  • Figure 33 shows an example of one row of the MIT containing genomic intervals related to reads of Class P. Genomic regions related to different reference sequences are separated by a special flag ('S' in the example).
  • Figure 34 shows the generic structure of the Local Index Table (LIT) and how it is used to store pointers to the physical location of the encoded genomic information in the stored or transmitted data.
  • LIT Local Index Table
  • Figure 35 shows an example of LIT used to access Access Units no. 7 and 8 in the block payload.
  • Figure 36 shows the functional relationship among the several rows of the MIT and the LIT contained in the genomic blocks headers.
  • Figure 37 shows how an Access Unit is composed by several blocks of genomic data carried by different genomic streams containing data belonging to different classes. Each block is further composed by data packets used as data transmission units.
  • Figure 38 shows how Access Units are composed by a header and multiplexed blocks belonging to one or more blocks of homogeneous data. Each block can be composed by one or more packets containing the actual descriptors of the genomic information.
  • Figure 39 shows Multiple alignments without splicing.
  • the left-most read has N alignments.
  • N is the first value of mmap to be decoded and signals the number of alignments of the first read.
  • the following N values of the mmap descriptor are decoded and are used to calculate P which is the number of alignments of the second read.
  • Figure 40 shows how the pos, pair and mmap descriptors are used to encode multiple alignments without splices.
  • the left-most read has N alignments.
  • Figure 41 shows multiple alignments with splices.
  • Figure 42 shows the use of the pos, pair, mmap and msar descriptors to represent multiple alignments with splices.
  • a method for encoding genome sequence data comprising reads of sequences of nucleotides, said method comprising the steps of:
  • encoding said classified aligned reads as a multiplicity of blocks of descriptors comprises selecting said descriptors according to said classes of aligned reads,
  • the coding method further comprises further classifying said reads that do not satisfy said specified matching rules into a class of unmapped reads
  • the coding method further comprises identifying genomic reads without any mismatch in the reference sequence as first "Class P"
  • the coding method further comprises identifying genomic reads as a second "Class N" when mismatches are only found in the positions where the sequencing machine was not able to call any "base” and the number of mismatches in each read does not exceed a given threshold.
  • the coding method further comprises identifying genomic reads as a third "Class M” when mismatches are found in the positions where the sequencing machine was not able to call any "base”, named “n type” mismatches, and/or it called a different "base” than the reference sequence, named “s type” mismatches, and the number of mismatches does not exceed given thresholds for the number of mismatches of "n type", of "s type” and a threshold obtained from a given function (f(n,s)) calculated on the number of "n type” and "s type” mismatches.
  • the coding method further comprises identifying genomic reads as a fourth "Class I” when they can possibly have the same type of mismatches of "Class M", and in addition at least one mismatch of type: "insertion” ("i type”) "deletion” (“d type”) soft clips ("c type”), and wherein the number of mismatches for each type does not exceed the corresponding given threshold and a threshold provided by a given function (w(n,s,i,d,c)) calculated on the number of "n type", "s type", "i type", "d type” and "c type” mismatches.
  • the coding method further comprises identifying genomic reads as a fifth "Class U" as comprising all reads that do not find any classification in the Classes P, N, M, I, as previously defined.
  • the coding method further comprises that the reads of the genomic sequence to be encoded are paired.
  • the coding method further comprises that said classifying further comprises identifying genomic reads as a sixth "Class HM" as comprising all reads pairs where one read belong to Class P, N, M or I and the other read belong to "Class U".
  • the coding method further comprises the steps of identifying if the two mate reads are classified in the same class (each of: P, N, M, I, U), then assigning the pair to the same identified class, Identifying if the two mate reads are classified in different classes, and in case none of them belongs to the "Class U", then assigning the pair of reads to the class with the highest priority defined according to the following expression:
  • each class of reads N, M, I of reads N, M, I is further partitioned into two or more subclasses (296, 297, 298) according to a vector of thresholds (292, 293, 294) defined respectively for each class N, M and I, by the number of "n type” mismatches (292), the function f(n,s) (293) and the function w(n,s,i,d,c) (294). identifying if the two mate reads are classified in the same subclass, then assigning the pair to the same sub-class
  • N has the lowest priority and I has the highest priority
  • the information on the mapping position of each read is encoded by means of a pos descriptor block.
  • the information on the strandedness (i.e. the DNA strand the read was sequences from) of each read is encoded by means of a rcomp descriptor block.
  • pairing information of paired-end reads is encoded by means of a pair descriptor block.
  • the additional alignment information such as if the read is mapped in proper pair, it fails platform/vendor quality checks, it is a PCR or optical duplicate or it is a supplementary alignment is encoded by means of a flags descriptor block.
  • the information on unknown bases is encoded by means of a nmis descriptor block.
  • the information on the position of substitutions is encoded by means of a snpp descriptor block.
  • the information on the type of substitutions is encoded by means of a specific snpt descriptor block.
  • the information on the position of mismatches of type substitutions, insertions or deletions is encoded by means of a indp descriptor block.
  • the information on the type of mismatches such as substitutions, insertions or deletions is encoded by means of a indt descriptor block.
  • the information on clipped bases of a mapped read is encoded by means of a indc descriptor block.
  • the information on unmapped reads is encoded by means of a ureads descriptor block.
  • the information on the type of reference sequence used for encoding is encoded by means of a rtype descriptor block.
  • information on multiple alignments of the mapped reads is encoded by means of a mmap descriptor block.
  • the information on spliced alignments and multiple alignments of the same read is encoded by means of a msar descriptor and a mmap descriptor block.
  • the information on read alignment scores is encoded by means of a mscore descriptor block.
  • the information on the groups reads belong to is encoded by means of a specific rgroup descriptor block.
  • the coding method further comprises that said blocks of descriptors comprise a master index table, containing one section for each Class and sub-class of aligned reads, said section comprising the mapping positions on said one or more reference sequences of the first read of each Access Units of each Class or sub-class of data; jointly coding said master index table and said access unit data.
  • the coding method further comprises that said blocks of descriptors further comprise information related to the type of reference used (pre-existing or constructed) and the segments of the read that do not match on the reference sequence.
  • the coding method further comprises that said reference sequences are first transformed into different reference sequences by applying substitutions, insertions, deletions and clipping, then the encoding of said classified aligned reads as a multiplicity of blocks of descriptors refers to the transformed reference sequences.
  • the coding method further comprises that the same transformation is applied to the reference sequences for all classes of data.
  • the coding method further comprises that different transformations are applied to the reference sequences per each class of data.
  • the coding method further comprises that the reference sequences transformations are encoded as blocks of descriptors and structured with header information thereby creating successive Access Units.
  • the coding method further comprises that the encoding of said classified aligned reads and the related reference sequences transformations as multiplicity of blocks of descriptors comprises the step of associating a specific source model and a specific entropy coder to each descriptor block.
  • said entropy coder is one of a context adaptive arithmetic coder, a variable length coder or a golomb coder.
  • the present invention further provides a method for decoding encoded genomic data comprising the steps of:
  • the decoding method further comprises the decoding of unmapped genomic reads.
  • the decoding method further comprises the decoding of classified genomic reads.
  • the decoding method further comprises decoding a master index table containing one section for each class of reads and the associated relevant mapping positions.
  • the decoding method further comprises decoding information related to the type of reference used: pre-existing, transformed or constructed.
  • the decoding method further comprises decoding information related to one or more transformations to be applied to the pre-existing reference sequences.
  • the decoding method further comprises genomic reads that are paired.
  • the decoding method further comprises the case wherein said genomic data are entropy decoded.
  • the present invention further provides a genomic encoder (2010) for the compression of genome sequence data 209, said genome sequence data 209 comprising reads of sequences of nucleotides, said genomic encoder (2010) comprising:
  • an aligner unit (201 ), configured to align said reads to one or more reference sequences thereby creating aligned reads
  • a constructed-reference generator unit (202), configured to produce constructed reference sequences
  • a data classification unit configured to classify said aligned reads according to specified matching rules with the one or more pre-existing reference sequences or constructed reference sequences thereby creating classes of aligned reads (208);
  • genomic encoder further comprises
  • a reference sequence transformation unit (2019) configured to transform the pre-existing references and data classes (208) into transformed data classes (2016).
  • genomic encoder further comprises a
  • genomic encoder contains encoders of data classes N, M and I configured with vectors of thresholds generating sub-classes of data classes N, M and I.
  • genomic encoder further comprises the feature that reference transformation unit (2019) applies the same reference transformation (300) for all classes and sub-classes of data.
  • genomic encoder further comprises the feature that the reference transformation decoder (2019) applies different reference transformations (301 , 302, 303) for the different classes and sub-classes of data.
  • genomic encoder further comprises the features suitable for executing all the aspects of the previously mentioned coding methods.
  • the present invention further provides a genomic decoder (218) for the decompression of a compressed genomic stream (21 1 ) said genomic decoder (218) comprising:
  • a demultiplexer (210) for demultiplexing compressed genomic data and metadata
  • parsing means (212-214) configured to parse said compressed genomic stream into genomic blocks of descriptors (215),
  • one or more block decoders configured to decode the genomic blocks into classified reads of sequences of nucleotides (21 1 1 ),
  • genomic data classes decoders (219) configured to selectively decode said classified reads of sequences of nucleotides on one or more reference sequences so as to produce uncompressed reads of sequences of nucleotides.
  • genomic decoder further comprises a reference transformation decoder (21 13) configured to decode reference transformation descriptors (21 12) and produce a transformed reference (21 14) to be used by genomic data class decoders (219).
  • genomic decoder further comprises that the one or more reference sequences are stored in the compressed genome stream (21 1 ).
  • genomic decoder further comprises that the one or more reference sequences are provided to the decoder via an out of band mechanism.
  • genomic decoder further comprises that the one or more reference sequences are built at the decoder.
  • the genomic decoder further comprises that the one or more reference sequences are transformed at the decoder by a reference transformation decoder (21 13).
  • the present invention further provides a computer-readable medium comprising instructions that when executed cause at least one processor to perform all the aspects of the previously mentioned coding methods.
  • the present invention further provides a computer-readable medium comprising instructions that when executed cause at least one processor to perform all the aspects of the previously mentioned decoding methods.
  • the present invention further provides a support data storing genomic encoded according perform all the aspects of the previously mentioned coding methods.
  • genomic or proteomic sequences referred to in this invention include, for example, and not as a limitation, nucleotide sequences, Deoxyribonucleic acid (DNA) sequences, Ribonucleic acid (RNA), and amino acid sequences.
  • DNA Deoxyribonucleic acid
  • RNA Ribonucleic acid
  • amino acid sequences amino acid sequences.
  • Genome sequencing information is generated by High Throughput Sequencing (HTS) machines in the form of sequences of nucleotides (a. k. a. "bases”) represented by strings of letters from a defined vocabulary.
  • the smallest vocabulary is represented by five symbols: ⁇ A, C, G, T, N ⁇ representing the 4 types of nucleotides present in DNA namely Adenine, Cytosine, Guanine, and Thymine.
  • RNA Thymine is replaced by Uracil (U).
  • U indicates that the sequencing machine was not able to call any base and so the real nature of the position is undetermined.
  • the alphabet used for the symbols is (A, C, G, T, U, W, S, M, K, R, Y, B, D, H, V, N or -).
  • sequence reads can be between a few dozens to several thousand nucleotides long. Some technologies produce sequence reads in “pairs” where one read is from one DNA strand and the second is from the other strand. In genome sequencing the term “coverage” is used to express the level of redundancy of the sequence data with respect to a "reference sequence”. For example, to reach a coverage of 30x on a human genome (3.2 billion bases long) a sequencing machine shall produce a total of 30 x 3.2 billion bases so that in average each position in the reference is "covered” 30 times. Throughout this disclosure, a reference sequence is any sequence on which the nucleotides sequences produced by sequencing machines are aligned/mapped.
  • sequence could actually be a "reference genome", a sequence assembled by scientists as a representative example of a species' set of genes.
  • GRCh37 the Genome Reference Consortium human genome (build 37) is derived from thirteen anonymous volunteers from Buffalo, New York.
  • a reference sequence could also consist of a synthetic sequence conceived and constructed to merely improve the compressibility of the reads in view of their further processing. This is described in more details in section "Descriptors of Class U and construction of an "internal" references for unmapped reads of "Class U” and "Class HM”" and depicted in figure 22 and 23.
  • Sequencing devices can introduce errors in the sequence reads such as:
  • substitution error a symbol (i.e. representing a different nucleic acid) to represent the nucleic acid actually present in the sequenced sample; this is usually called "substitution error"
  • deletion error (denoted as mismatch of "d type”);
  • Coverage is used in literature to quantify the extent to which a reference genome or part thereof can be covered by the available sequence reads. Coverage is said to be: partial (less than 1 X) when some parts of the reference genome are not mapped by any available sequence read; single (1X) when all nucleotides of the reference genome are mapped by one and only one symbol present in the sequence reads;
  • This invention aims at defining a genomic information representation format in which the relevant information is efficiently accessible and transportable and the weight of the redundant information is reduced.
  • Sequence reads are classified and partitioned into data classes according to the results of the alignment with respect to reference sequences. Such classification and partitioning enables the selective access to encoded data according to criteria related to the alignment results and to the matching accuracy.
  • the classified sequence reads and the associated metadata are represented by homogeneous blocks of descriptors to obtain distinct information sources characterized by a low information entropy.
  • sequence reads generated by sequencing machines are classified by the disclosed invention into six different "classes” according to the matching results of the alignment with respect to one or more "pre-existing" reference sequences.
  • a region in the reference sequence is found to match the sequence read with a type and a number of mismatches determined only by the number of positions in which the sequencing machine generating the read was not able to call any base (or nucleotide).
  • Such type of mismatches are denoted by an "N", the letter used to indicate an undefined nucleotide base. In this document this type of mismatch are referred to as "n type” mismatch.
  • Such sequences belong to "Class N” reads. Once the read is classified to belong to "Class N” it is useful to limit the degree of matching inaccuracy to a given upper bound and set a boundary between what is considered a valid matching and what it is not. Therefore, the reads assigned to Class N are also constrained by setting a threshold (MAXN) that defines the maximum number of undefined bases (i.e. bases called as "N”) that a read can contain.
  • MAXN a threshold
  • Such classification implicitly defines the required minimum matching accuracy (or maximum degree of mismatch) that all reads belonging to Class N share when referred to the corresponding reference sequence, which constitutes an useful criterion for applying selective data searches to the compressed data.
  • a region in the reference sequence is found to match the sequence read with types and number of mismatches determined by the number of positions in which the sequencing machine generating the read was not able to call any nucleotide base, if present (i.e. "n type" mismatches), plus the number of mismatches in which a different base, than the one present in the reference, has been called.
  • Such type of mismatch denoted as “substitution” is also called Single Nucleotide Variation (SNV) or Single Nucleotide Polymorphism (SNP).
  • SNV Single Nucleotide Variation
  • SNP Single Nucleotide Polymorphism
  • S type Single Nucleotide Polymorphism
  • the sequence read is then referenced to as “M mismatching reads” and assigned to "Class M”. Like in the case of "Class N”, also for all reads belonging to "Class M” it is useful to limit the degree of matching inaccuracy to a given upper bound, and set a boundary between what is considered a valid matching and what it is not.
  • the reads assigned to Class M are also constrained by defining a set of thresholds, one for the number "n” of mismatches of "n type” (MAXN) if present, and another for the number of substitutions "s" (MAXS).
  • a third constraint is a threshold defined by any function of both numbers "n” and "s", f(n,s). Such third constraint enables to generate classes with an upper bound of matching inaccuracy according to any meaningful selective access criterion. For instance, and not as a limitation, f(n,s) can be (n+s)1/2 or (n+s) or any linear or non-linear expression that sets a boundary to the maximum matching inaccuracy level that is admitted for a read belonging to "Class M".
  • Such boundary constitutes a very useful criterion for applying the desired selective data searches to the compressed data when analyzing sequence reads for various purposes because it makes possible to set a further boundary to any possible combination of the number of "n type” mismatches and "s type” mismatches (substitutions) beyond the simple threshold applied to the one type or to the other.
  • a fourth class is constituted by sequencing reads presenting at least one mismatch of any type among "insertion”, “deletion” (a.k.a. indels) and “clipped", plus, if present, any mismatches type belonging to class N or M. Such sequences are referred to as “I mismatching reads” and assigned to “Class I”. Insertions are constituted by an additional sequence of one or more nucleotides not present in the reference, but present in the read sequence. In this document this type of mismatch is referred to as “i type” mismatch. In literature when the inserted sequence is at the edges of the sequence it is also referred to as "soft clipped" (i.e.
  • nucleotides are not matching the reference but are kept in the aligned reads contrarily to "hard clipped" nucleotides which are discarded).
  • this type of mismatch is referred to as "c type” mismatch.
  • c type mismatch Keeping or discarding nucleotides is a decisions taken by the aligner stage and not by the classifier of reads disclosed in this invention which receives and processes the reads as they are determined by the sequencing machine or by the following alignment stage. Deletion are "holes" (missing nucleotides) in the read with respect to the reference.
  • this type of mismatch is referred to as "d type” mismatch.
  • w(n,s,d,i,c) can be (n+s+d+i+c)1/5 or (n+s+d+i+c) or any linear or non-linear expression that sets a boundary to the maximum matching inaccuracy level that is admitted for a read belonging to "Class I".
  • boundary constitutes a very useful criterion for applying the desired selective data searches to the compressed data when analyzing sequence reads for various purposes because it enables to set a further boundary to any possible combination of the number of mismatches admissible in "Class I" reads beyond the simple threshold applied to each type of admissible mismatch.
  • a fifth class includes all reads that do not find any mapping considered valid (i.e not satisfying the set of matching rules defining an upper bound to the maximum matching inaccuracy as specified in Table 1 ) for each data class when referring to the reference sequence. Such sequences are said to be "Unmapped” when referring to the reference sequences and are classified as belonging to the "Class U”.
  • the classification specified in the previous section concerns single sequence reads.
  • sequencing technologies that generates read in pairs (i.e. Illumina Inc.) in which two reads are known to be separated by an unknown sequence of variable length
  • a read that is coupled with another is said to be its "mate”. If both paired reads belong to the same class the assignment to a class of the entire pair is obvious: the entire pair is assigned to the same class for any class (i.e. P, N, M, I, U).
  • the two reads belong to a different class, but none of them belongs to the "Class U"
  • the entire pair is assigned to the class with the highest priority defined according to the following expression:
  • the table below summarizes the matching rules applied to reads in order to define the class of data each read belongs to.
  • the rules are defined in the first five columns of the table in terms of presence or absence of type of mismatches (n, s, d, i and c type mismatches).
  • the sixth column provide rules in terms of maximum threshold for each mismatch type and any function f(n,s) and w(n,s,d,i,c) of the possible mismatch types.
  • n MAXN or U s > MAXS or
  • i, c must be present (i.e. d>0 or
  • Table 1 Type of mismatches and set of constrains that each sequence reads must satisfy to be classified in the data classes defined in this invention disclosure. Matching rules partition of sequence read data Classes N, M and I into subclasses with different degrees of matching accuracy
  • the data classes of type N, M and I as defined in the previous sections can be further decomposed into an arbitrary number of distinct sub-classes with different degrees of matching accuracy. Such option is an important technical advantage in providing a finer granularity and as consequence a much more efficient selective access to each data class.
  • Sub-Class Ni Sub- Class Nk it is necessary to define a vector with the corresponding components MAXNi, MAXN2, MAXIMA), MAXN(k), with the condition that MAXN1 ⁇ MAXN 2 ⁇ ...
  • a data classification unit 291 contains Class P, N, M, I, U, HM encoder and encoders for annotations and metadata.
  • Class N encoder is configured with a vector of thresholds, MAXN1 to MAXNk 292 which generates k subclasses of N data (296).
  • N has the lowest priority and I has the highest priority.
  • the mismatches found for the reads classified in the classes N, M and I can be used to create "transformed" references to be used to compress more efficiently the read representation.
  • Reads classified as belonging to the Classes N, M or I can be coded with respect to the "transformed" reference sequence RSi according to the occurrence of the actual mismatches with the "transformed" reference.
  • Figure 19 shows an example on how reads containing mismatches (belonging to Class M) with respect to reference sequence 1 (RSi) can be transformed into perfectly matching reads with respect to the reference sequence 2 (RS2) obtained from RSi by modifying the bases corresponding to the mismatch positions. They remain classified and they are coded together the other reads in the same data class access unit, but the coding is done using only the descriptors and descriptor values needed for a Class P read. This transformation can be denoted as:
  • a read may contain A instead of G while all other reads contain C instead of G), but mismatches remain in the same position.
  • Different data classes and subsets of data of each data class may refer to the same "transformed" reference sequences or to reference sequences obtained by applying different transformations to the same pre-existing reference sequence.
  • Figure 27 further shows an example of how reads can change the type of coding from a data class to another by means of the appropriate set of descriptors (e.g. using the descriptors of a Class P to code a read from Class M) after a reference transformation is applied and the read is represented using the "transformed" reference.
  • the definition of the set of descriptors used for each class of data is provided in the following sections.
  • further processing consists in defining a set of distinct descriptors which represent the remaining information enabling the reconstruction of the read sequence when represented as being mapped on a given reference sequence.
  • the data structure of these descriptors requires the storage of global parameters and metadata to be used by the decoding engine.
  • These data are structured in a Genomic Dataset Header described in the table below.
  • a dataset is defined as the ensemble of coding elements needed to reconstruct the genomic information related to a single genomic sequencing run and all the following analysis. If the same genomic sample is sequenced twice in two distinct runs, the obtained data will be encoded in two distinct datasets. element
  • Dataset type Integer The type of data encoded in the dataset (e.g. aligned, not aligned)
  • Access Unit access to Access Units.
  • Label List Byte array This is a list of Labels, each
  • Sub-part of the main header indicating one represented as a
  • reference sequence ID and class ID a three dimensional vector addressing the coordinates of
  • a sequence read i.e. a DNA segment
  • a given reference sequence can be fully expressed by:
  • descriptor indc identifies those parts of the reads (typically the edges) that do not match, with a specified set of matching accuracy constraints, with the "internal" references.
  • Descriptor ureads is used to encode verbatim the reads that cannot be mapped on any available reference being it a pre-existing (i.e. "external” like an actual reference genome) or an "internal" reference sequence.
  • Table 2 Defined descriptors blocks per class of data.
  • Reads belonging to class P are characterized and can be perfectly reconstructed by only a position, a reverse complement information and an offset between mates in case they have been obtained by a sequencing technology yielding mated pairs, some flags and a read length.
  • the next section further details how these descriptors are defined for classes P, N, M and I while for class U they are described in a following section
  • Class HM is applied to read pairs only and it is a special case for which one read belongs to class P, N, M or I and the other to class U.
  • Position descriptor
  • mapping position of the first encoded read is stored as absolute value on the reference sequence. All the other position descriptors assume a value expressing the difference with respect to the previous position.
  • Such modeling of the information source defined by the sequence of read position descriptors is in general characterized by a reduced entropy particularly for sequencing processes generating high coverage results.
  • figure 1 shows how after describing the starting position of the first alignment as position "10000" on the reference sequence, the position of the second read starting at position 10180 is described as "180". With high coverages (> 50x) most of the descriptors of the position vector present very high occurrences of low values such as 0 and 1 and other small integers.
  • Figure 1 shows how the positions of three read pairs are described in a pos Block.
  • Each read of the read pairs produced by sequencing technologies can be originated from either genome strands of the sequenced organic sample. However, only one of the two strands is used as reference sequence.
  • Figure 2 shows how in a reads pair one read (read 1 ) can be originated from one strand and the other (read 2) can be originated from the other strand.
  • read 2 can be encoded as reverse complement of the corresponding fragment on strand 1. This is shown in figure 3.
  • the pairing descriptor is stored in the pair block.
  • Such block stores descriptors encoding the information needed to reconstruct the originating reads pairs when the employed sequencing technology produces reads by pairs.
  • the vast majority of sequencing data is generated by using a technology generating paired reads, it is not the case of all technologies. This is the reason for which the presence of this block is not necessary to reconstruct all sequencing data information if the sequencing technology of the genomic data considered does not generate paired reads information.
  • mate pair read associated to another read in a read pair (e.g. Read 2 is the mate pair of Read 1 in the previous example)
  • pairing distance number of nucleotide positions on the reference sequence which separate one position in the first read (pairing anchor, e.g. last nucleotide of first read) from one position of the second read (e.g. the first nucleotide of the second read)
  • MPPD most probable pairing distance
  • position pairing distance the PPD is a way to express a pairing distance in terms of the number of reads separating one read from its respective mate present in a specific position descriptor block.
  • most probable position pairing distance is the most probable number of reads separating one read from its mate pair present in a specific position descriptor block.
  • position pairing error is defined as the difference between the MPPD or the MPPPD and the actual position of the mate.
  • pairing anchor position of first read last nucleotide in a pair used as reference to calculate the distance of the mate pair in terms of number of nucleotide positions or number of read positions.
  • Figure 5 shows how the pairing distance among read pairs is calculated.
  • the pair descriptor block is the vector of pairing errors calculated as number of reads to be skipped to reach the mate pair of the first read of a pair with respect to the defined decoding pairing distance.
  • Figure 6 shows an example of how pairing errors are calculated, both as absolute value and as differential vector (characterized by lower entropy for high coverages).
  • the pairing information of reads belonging to classes N, M, P and I are encoded in different block as depicted in figures 8 (class N), figures 10, 12 and 14 (class M) and figures 15 and 16 (class I).
  • mapping sequence reads on a reference sequence it is not uncommon to have the first read in a pair mapped on one reference sequence (e.g. chromosome 1 ) and the second on a different reference sequence (e.g. chromosome 4).
  • the pairing information described above has to be integrated by additional information related to the reference sequence used to map one of the reads. This is achieved by coding:
  • the third element contains the mapping information on the reference identified at point 2 and expressed as offset with respect to the last encoded position.
  • Figure 7 provides an example of this scenario.
  • a second descriptor provides a reference ID as listed in the main header (in this case 4).
  • the third element contains the mapping information on the concerned reference (170).
  • Class N includes all reads in which only "n type" mismatches are present, at the place of an A, C, G or T base a N is found as called base. All other bases of the read perfectly match the reference sequence.
  • substitutions are defined as the presence, in a mapped read, of a different nucleotide base with respect to the one that is present in the reference sequence at the same position.
  • Figure 9 shows examples of substitutions in a mapped read pair. Each substitution is encoded as "position” (snpp block) and "type” (snpt block). Depending on the statistical occurrence of substitutions, insertion or deletion, different source models of the associated descriptors can be defined and the generated symbols coded in the associated block.
  • Source model 1 Substitutions as Positions and Types
  • a substitution position is calculated like the values of the nmis block, i.e.
  • Figure 10 shows how substitutions (where, at a given mapping position, a symbol in a read is different from the symbol in the reference sequence) are coded as
  • mismatches are coded by an index (moving from right to left) from the actual symbol present in the reference to the corresponding substitution symbol present in the read ⁇ A, C, G, T, N, Z ⁇ .
  • the mismatch index will be denoted as "4".
  • the decoding process reads the encoded descriptor, the nucleotide at the given position on the reference and moves from left to right to retrieve the decoded symbol.
  • a "2" received for a position where a G is present in the reference will be decoded as "N”.
  • Figure 1 1 shows all the possible substitutions and the respective encoding symbols.
  • different and context adaptive probability models can be assigned to each substitution index according to the statistical properties of each substitution type for each data class to minimize the entropy of the descriptors.
  • Figure 12 provides an example of encoding of substitutions types in the snpt block.
  • mismatches and deletions are coded by an indexes (moving from right to left) from the actual symbol present in the reference to the corresponding substitution symbol present in the read: ⁇ A, C, G, T, N, Z ⁇ .
  • the mismatch index will be "4".
  • the coded symbol will be "5".
  • the decoding process reads the coded descriptor, the nucleotide at the given position on the reference and moves from left to right to retrieve the decoded symbol. E.g. a "3" received for a position where a G is present in the reference will be decoded as "Z".
  • Inserts are coded as 6, 7, 8, 9, 10, respectively for inserted A, C, G, T, N.
  • Figure 15 shows an example of how to encode substitutions, inserts and deletions in a reads pair of class I.
  • the insertion codes need to have different values, namely 16, 17, 18, 19, 20 in case the substitution vector has 16 elements.
  • the mechanism is illustrated in Figure 16.
  • Source model 2 one block per substitution type and indels
  • a different coding model from the one described in the previous section can be developed for substitutions and indels resulting into a source with lower entropy.
  • Such coding model is an alternative to the techniques described above for mismatches only and for mismatches and indels.
  • one data block is defined for each possible substitution symbol (5 without lUPAC codes, 16 with lUPAC codes), plus one block for deletions and 4 more blocks for insertions.
  • substitution symbol 5 without lUPAC codes, 16 with lUPAC codes
  • block for deletions 4 more blocks for insertions.
  • Figure 17 shows how each block contains the position of the mismatches or inserts of a single type. If no mismatches or inserts for that type is present in the encoded read pair, a 0 is encoded in the corresponding block.
  • the header of each Access Units contains a flag signaling the first block to be decoded.
  • the first element to be decoded is position 2 in the C block.
  • a 0 is added to the corresponding blocks.
  • the decoding pointer for each block points to a value of 0, the decoding process moves to the next read pair.
  • Each data class introduced above may require the encoding of additional information on the nature of the encoded reads.
  • This information may be related for example to the sequencing experiment (e.g. indicating a probability of duplication of one read) or can express some characteristic of the read mapping (e.g. first or second in pair).
  • this information is encoded in a separate block for each data class.
  • the main advantage of such approach is the possibility to selectively access this information only in case of need and only in the required reference sequence region.
  • Other examples of the use of such flags are:
  • each cluster can be uniquely identified by its signature as shown in figure 22.
  • the information necessary to reconstruct the read after compression is coded using descriptors that can be of the following types:
  • mismatch position snpp block
  • type snpt block
  • Those parts of the reads (typically the edges identified by pair) that do not match with the internal reference (or do so, but with a number of mismatches above a defined threshold) are encoded in the indc block.
  • a padding operation can be performed to the edges of the part of the internal reference used in order to reduce the entropy of the mismatches encoded in the indc block, as shown in figure 24.
  • the most appropriate padding strategy can be chosen by the encoder according to the statistical properties of the genomic data being processed. Possible padding strategies include:
  • Constant padding pattern chosen according to its frequency in the currently encoded data.
  • Variable padding pattern according to the statistical properties of the current context defined in terms of the latest N encoded reads
  • Figure 24 provides an example of such coding procedure.
  • Figure 25 shows an alternative encoding of unmapped reads on the internal reference where pos + pair descriptors are replaced by a signed pos.
  • pos would express the distance - in terms of positions on the reference sequence - of the left most nucleotide position of read n with respect of the position of the left most nucleotide of read n-1.
  • This coding approach can be extended to support N start positions per read so that reads can be split over two or more reference positions. This can be particularly useful to encode reads generated by those sequencing technology (e.g. from Pacific Bioscience) producing very long reads (50K+ bases) which usually present repeated patterns generated by loops in the sequencing methodology. The same approach can be used as well to encode chimeric sequence reads defined as reads that align to two distinct portions of the genome with little or no overlap.
  • the mscore descriptor provides a score per alignment. In the context of this invention it is used to represent mapping/alignment score per read generated by genomic sequence reads aligners.
  • the score is expressed using an exponent and fractional part.
  • the number of bits used to represent the exponent and the fractional part are transmitted as configuration parameters. As an example, but not as a limitation, Table 2 shows how this is specified in IEEE RFC 754 for an 1 1 -bits exponent and a 52-bits fractional part.
  • the score of each alignment can be represented by:
  • Alignment scores can be expressed as 64-bit double precision floating point values
  • the base (radix) to be used for the calculation of scores is 10, therefore:
  • rgroup is a label associated to each encoded read and enables a decoding apparatus to partition the decoded reads in groups after decoding.
  • this invention defines a global flag spliced_reads_flag to be set to 1 .
  • the mmap descriptor is used to signal on how many positions the read or the left-most read of a pair has been aligned.
  • a Genomic Record containing multiple alignments is associated with one multi-byte mmap descriptor.
  • the first two bytes of a mmap descriptor represent an unsigned integer N which refers to the read as a single segment (if no splices are present in the encoded dataset) or instead to all the segments into which the read has been spliced for the several possible alignments (if splices are present in the dataset).
  • the value of N says how many values of the pos descriptor are coded for the template in this record.
  • N is followed by one or more unsigned integers M, as described below.
  • the rcomp descriptor described in this invention is used to specify the strandedness of each read alignment using the syntax specified in this invention. Scores of multiple alignments
  • one mscore as specified in this invention is assigned to each alignment.
  • spliced_reads_flag is unset.
  • the mmap descriptor is composed of a 16-bit unsigned integer N followed by one or more 8-bit unsigned integers M, with / ' assuming values from 1 to the number of complete first (here, the left-most) read alignments.
  • N the number of complete first (here, the left-most) read alignments.
  • Mi the number of complete first (here, the left-most) read alignments.
  • Mi the number of segments are used to align the second read (in this case, without splices, this is equal to the number of alignments), and then how many values of the pair descriptor are coded for that alignment of the first read.
  • N 1
  • Mi 2
  • N 2 If two alternative alignments are detected for the left-most read but only one for the rightmost, N will be 2, Mi will be 1 and M2 will be 0.
  • One reserved value of the pair descriptor can be present to signal alignments belonging to other AUs ranges. If present it is always the first pair descriptor for the current record
  • the msar descriptor enables representation of splices length and strandedness.
  • the decoder After having decoded the mmap and the msar descriptors, the decoder knows how many reads or read pairs have been encoded to represent the multiple mappings and how many segments are composing each read or read pair mapping. This is shown in Figure 41 and Figure 42.
  • the left-most read has Ni alignments with N splices (Ni ⁇ N).
  • N represents the number of splices present in all alignments of the left-most read and it is encoded as first value of the mmap descriptor.
  • P represents the number of splices of the right-most read and is calculated using the N values following the first value of the mmap descriptor.
  • Ni and N2 represent the number of alignments of the first and second read and are calculated using the N + P values of the msar descriptor.
  • o Mo is the number of Mi with value 0
  • o NP has to be incremented by 1 in case one special pair descriptor indicates the presence of alignments in other AUs. Alignment score
  • the mscore descriptor allows signaling the mapping score of an alignment. In single-end sequencing it will have Ni values per template; in paired-end sequencing it will have a value for each alignment of the entire template (number of different alignments of the first read possibly + 5 the number of further second read alignments, i.e. when M, - 1 > 0).
  • Number of scores MAX(Ni , N 2 ) + M 0
  • more than one score value can be associated to each alignment.
  • the number of alignments is signaled by a configuration parameter as_depth.
  • the optional pairing descriptor is used when alignments are present on different reference sequences than the one currently encoded
  • Table 4 shows the determination of the number of descriptors needed to represent multiple alignments in one Genomic Record in case of multiple alignments with splices.
  • N pos descriptors are used read (pair) 0 0
  • Table 4 Descriptors used to represent multiple alignments and associated scores.
  • a pair descriptor shall be used to represent the absolute read positions when there is for example a chimeric alignment with the mate on another chromosome.
  • the pair descriptor shall be used to signal the reference and the position of the next record containing further alignments for the same template.
  • the last record e.g. the0 third if alternative mappings are coded in 3 different AUs shall contain the reference and position of the first record.
  • a reserved value is used for the pair descriptor.
  • the reserved value is followed by the reference sequence identifier5 and the position of the left-most alignment among all those contained in the next AU (i.e. the first decoded value of the pos descriptor for that record).
  • msar descriptor shall be used to represent how secondary alignments map on the reference sequence in case they contain indels and/or soft clips. If msar is represented by the special symbol " * " for a secondary alignment, the decoder will reconstruct the secondary alignment from5 the primary alignment and the secondary alignment mapping position.
  • the msar (Multiple Segments Alignment Record) descriptor supports spliced reads and alternative secondary alignments that contain indels or soft clips.
  • 0 msar is intended to convey information on:
  • E-CIGAR extended CIGAR
  • Increment pointer-to- n bases are deleted in n- nD
  • the "coding algorithm” has to be intended as the association of a specific "source model” of the descriptor block with a specific "entropy coder".
  • the specific "source model” can be specified and selected to obtain the most efficient coding of the data in terms of minimization of the source entropy.
  • the selection of the entropy coder can be driven by coding efficiency considerations and/or probability distribution features and associated implementation issues.
  • Each selection of a specific "coding algorithm”, also referred to as “coding mode” can be applied to an entire "descriptor block” associated to a data class or sub-class for the entire data set, or different “coding modes” can be applied for each portion of descriptors partitioned into Access Units.
  • Each "source model” associated to a coding mode is characterized by:
  • each source i.e.. the set of descriptors used to represent a class of data such as reads position, reads pairing information, mismatches with respect to a reference sequence as defined in Table 2).
  • sequence data into the defined data classes and sub-classes permits the implementation of efficient coding modes exploiting the lower information source entropy characterizing by modelling the sequences of descriptors by single separate data sources (e.g. distance, position, etc.).
  • Another advantage of the invention is the possibility to access only the subset of type of data of interest.
  • one of the most important application in genomics consists in finding the differences of a genomic sample with respect to a reference (SNV) or a population (SNP).
  • SNV genomic sample with respect to a reference
  • SNP population
  • Today such type of analysis requires the processing of the complete sequence reads whereas by adopting the data representation disclosed by the invention the mismatches are already isolated into one to three data classes only (depending on the interest in considering also "n type” and "i type” mismatches).
  • a further advantage is the possibility of performing efficient transcoding from data and metadata compressed with reference to a specific "external" reference sequence to another different “external” reference sequence when new reference sequences are published or when re- mapping is performed on the already mapped data (e.g. using a different mapping algorithm) obtaining new alignments.
  • FIG 20 shows an encoding apparatus 207 according to the principles of this invention.
  • the encoding apparatus 207 receives as input a raw sequence data 209, for example produced by a genome sequencing apparatus 200.
  • Genome sequencing apparatus 200 are known in the art, like the lllumina HiSeq 2500 or the Thermo-Fisher Ion Torrent devices.
  • the raw sequence data 209 is fed to an aligner unit 201 , which prepares the sequences for encoding by aligning the reads to a reference sequence 2020.
  • a dedicated module 202 can be used to generate a reference sequence from the available reads by using different strategies as described in this document in section "Construction of internal references for unmapped reads of Class U" and "Class HM".
  • reads can be mapped on the obtained longer sequence.
  • the aligned sequences are then classified by data classification module 204.
  • a further step of reference transformation is then applied on the reference in order to reduce the entropy of the data generated by the data classification unit 204. This implies processing the external reference 2020 into a reference transformation unit 2019 which produces transformed data classes 2018 and reference transformation descriptors 2021 .
  • the transformed data classes 2018 are then fed to blocks encoders 205-207 together with the reference transformation descriptors 2021 .
  • the genomic blocks 201 1 are then fed to arithmetic encoders 2012-2014 which encode the blocks according to the statistical properties of the data or metadata carried by the block. The result is a genomic stream 2015.
  • Figure 21 shows a decoding apparatus 218 according to the principles of this disclosure.
  • a decoding apparatus 218 receives a multiplexed genomic bitstream 21 10 from a network or a storage element.
  • the multiplexed genomic bitstream 21 10 is fed to a demultiplexer 210, to produce separate streams 21 1 which are then fed to entropy decoders 212-214, to produce genomic blocks 215 and reference transformation descriptors 21 12.
  • the extracted genomic blocks are fed to block decoders 216-217 to further decode the blocks into classes of data and the reference transformation descriptors are fed to a reference transformation unit 21 13.
  • Class decoders 219 further process the genomic descriptors 21 1 1 and the transformed reference 21 14, and merge the results to produce uncompressed reads of sequences, which can then be further stored in the formats known in the art, for instance a text file or zip compressed file, or FASTQ or SAM/BAM files.
  • Class decoders 219 are able to reconstruct the original genomic sequences by leveraging the information on the original reference sequences carried by one or more genomic streams and the reference transformation descriptors 21 12 carried in the encoded bitstream. In case the reference sequences are not transported by the genomic streams they must be available at the decoding side and accessible by the class decoders.
  • the inventive techniques herewith disclosed may be implemented in hardware, software, firmware or any combination thereof. When implemented in software, these may be stored on a computer medium and executed by a hardware processing unit.
  • the hardware processing unit may comprise one or more processors, digital signal processors, general purpose microprocessors, application specific integrated circuits or other discrete logic circuitry.
  • the techniques of this disclosure may be implemented in a variety of devices or apparatuses, including mobile phones, desktop computers, servers, tablets and similar devices.
  • MIT Master Index Table
  • This is a multi-dimensional array containing the loci at which specific reads map on the associated reference sequences.
  • the values contained in the MIT are the mapping positions of the first read in each pos block so that non-sequential access to each Access Unit is supported.
  • the MIT contains one section per each class of data (P, N, M, I, U and HM) and per each reference sequence.
  • the MIT is contained in the Genomic Dataset Header of the encoded data.
  • Figure 31 shows the structure of the Genomic Dataset Header
  • figure 32 shows a generic visual representation of the MIT
  • figure 33 shows an example of MIT for the class P of encoded reads.
  • the values contained in the MIT depicted in figure 33 are used to directly access the region of interest (and the corresponding AU) in the compressed domain.
  • a decoding application would skip to the second reference in the MIT and would look for the two values k1 and k2 so that k1 ⁇ 150,000 and k2 > 250,000.
  • k1 and k2 are 2 indexes read from the MIT. In the example of figure 33 this would result in the 3 rd and 4 th positions of the second vector of the MIT.
  • the MIT can be uses as an index of additional metadata and/or annotations added to the genomic data during its life cycle.
  • Each genomic data block is prefixed with a data structure referred to as local header.
  • the local header contains a unique identifier of the block, a vector of Access Units counters per each reference sequence, a Local Index Table (LIT) and optionally some block specific metadata.
  • the LIT is a vector of pointers to the physical position of the data belonging to each Access Unit in the block payload.
  • Figure 34 depicts the generic block header and payload where the LIT is used to access specific regions of the encoded data in a non-sequential way.
  • the decoding application in order to access region 150,000 to 250,000 of reads aligned on the reference sequence no. 2, the decoding application retrieved positions 3 and 4 from the MIT. These values shall be used by the decoding process to access the 3 rd and 4 th elements of the corresponding section of the LIT.
  • the Total Access Units counters contained in the block header are used to skip the LIT indexes related to AUs related to reference 1 (5 in the example).
  • the indexes containing the physical positions of the requested AUs in the encoded stream are therefore calculated as:
  • the blocks of data retrieved using the indexing mechanism called Local Index Table, are part of the Access Units requested.
  • Figure 36 shows how the blocks contained in the MIT table correspond to blocks of the LIT per each class or sub-class of data.
  • Figure 37 shows how the data blocks retrieved using the MIT and the LIT compose one or more Access Units as defined in the following section.
  • the LIT can be integrated as a substructure of the MIT.
  • the advantage of such approach is the speed of access to the indexed data in case of sequential parsing of the compressed file. If the LIT is integrated in the MIT in the file header, a decoding device would need to parse only a small portion of data to retrieve the requested compressed information in case of selective access.
  • Another advantage is evident, to a person skilled in the art, in case of streaming on a network, when the indexing information contained in the MIT and LIT would be delivered among the first data blocks therefore enabling the receiving device to perform operations such as sorting and selective access before the entire data transfer is completed.
  • Access Units The genomic data classified in data classes and structured in compressed or uncompressed blocks are organized into different Access Units.
  • Genomic Access Units are defined as sections of genome data (in a compressed or uncompressed form) that reconstructs nucleotide sequences and/or the relevant metadata, and/or sequence of DNA/RNA (e.g. the virtual reference) and/or annotation data generated by a genome sequencing machine and/or a genomic processing device or analysis application.
  • An example of Access Unit is provided in figure 37.
  • An Access Unit is a block of data that can be decoded either independently from other Access Units by using only globally available data (e.g. decoder configuration) or by using information contained in other Access Units.
  • Access Units are differentiated by:
  • Access units of any type can be further classified into different "categories”.
  • Access units of type 0 do not need to refer to any information coming from other Access Units to be accessed or decoded and accessed.
  • the entire information carried by the data or data sets they contain can be independently read and processed by a decoding device or processing application.
  • Access units of type 1 contain data that refer to data carried by Access Units of type 0.
  • Reading or decoding and processing the data contained in Access Units of type 1 requires having access to one or more Access Units of type 0.
  • Access unit of type 1 encode genomic data related to sequence reads of "Class P"
  • Access Units of type 2 contain data that refer to data carried by Access Units of type 0.
  • Reading or decoding and processing the data contained in Access Units of type 2 requires having access to one or more Access Units of type 0.
  • Access unit of type 2 encode genomic data related to sequence reads of "Class N"
  • Access Units of type 3 contain data that refer to data carried by Access Units of type 0.
  • Reading or decoding and processing the data contained in Access Units of type 3 requires having access to one or more Access Units of type 0.
  • Access unit of type 3 encode genomic data related to sequence reads of "Class M"
  • Access Units of type 4 contain data that refer to data carried by Access Units of type 0. Reading or decoding and processing the data contained in Access Units of type 4 requires having access to one or more Access Units of type 0.
  • Access unit of type 4 encode genomic data related to sequence reads of "Class I"
  • Access Units of type 5 contain reads that cannot be mapped on any available reference sequence ("Class U") and are encoded used an internally constructed reference sequence. Access Units of type 5 contain data that refer to data carried by Access Units of type 0. Reading or decoding and processing the data contained in Access Units of type 5 requires having access to one or more Access Units of type 0.
  • Access Units of type 6 contain read pairs where one read can belong to any of the four classes P, N, M, I and the other cannot be mapped on any available reference sequence ("Class HM"). Access Units of type 6 contain data that refer to data carried by Access Units of type 0. Reading or decoding and processing the data contained in Access Units of type 6 requires having access to one or more Access Units of type 0.
  • Access Units of type 7 contain metadata (e.g. quality scores) and/or annotation data associated to the data or data sets contained in the access unit of type 1. Access Units of type 7 may be classified and labelled in different blocks.
  • Access Units of type 8 contain data or data sets classified as annotation data. Access Units of type 8 may be classified and labelled in blocks.
  • Access Units of additional types can extend the structure and mechanisms described here.
  • the results of genomic variant calling, structural and functional analysis can be encoded in Access Units of new types.
  • the data organization in Access Units described herein does not prevent any type of data to be encapsulated in Access Units being the mechanism completely transparent with respect to the nature of encoded data.
  • Access Units of type 0 are ordered (e.g. numbered), but they do not need to be stored and/or transmitted in an ordered manner (technical advantage: parallel processing/parallel streaming, multiplexing)
  • Access Units of type 1 , 2, 3, 4, 5 and 6 do not need to be ordered and do not need to be stored and/or transmitted in an ordered manner (technical advantage: parallel processing / parallel streaming).
  • Figure 37 shows how Access Units are composed by a header and one or more blocks of homogeneous data.
  • Each block can be composed by one or more blocks.
  • Each block contains several packets and the packets are a structured sequence of the descriptors introduced above to represent e.g. reads positions, pairing information, reverse complement information, mismatches positions and types etc.
  • Each Access unit can have a different number of packets in each block, but within an Access Unit all blocks have the same number of packets.
  • Each data packet can be identified by the combination of 3 identifiers X Y Z where:
  • ⁇ Y identifies the block it belongs to (i.e. the data type it encapsulates)
  • Z is an identifier expressing the packet order with respect to other packets in the same block
  • Figure 38 shows an example of Access Units and packets labelling where AU_T_N is an access unit of type T with identifier N which may or may not imply a notion of order according to the Access Unit Type. Identifiers are used to uniquely associate Access Units of one type with those of other types required to completely decode the carried genomic data.
  • Access Units of any type can be further classified and labelled in different "categories" according to different sequencing processes. For example, but not as a limitation, classification and labelling can take place when

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Analytical Chemistry (AREA)
  • Data Mining & Analysis (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Genetics & Genomics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)

Abstract

La présente invention concerne un procédé et un appareil destinés à la compression de données de séquences génomiques produites par des machines de séquençage du génome. Des lectures de séquences sont codées en les alignant par rapport à des séquences de référence préexistantes ou construites, le processus de codage étant composé d'une classification des lectures en classes de données suivie par le codage de chaque classe en termes d'une multiplicité de blocs de descripteurs. Des modèles de sources spécifiques et des codeurs d'entropie sont utilisés pour chaque classe de données dans laquelle les données sont divisées, et chaque bloc de descripteurs associé.
PCT/US2018/018092 2016-10-11 2018-02-14 Procédé et appareil pour la représentation compacte de données bioinformatiques au moyen de plusieurs descripteurs génomiques WO2018152143A1 (fr)

Priority Applications (18)

Application Number Priority Date Filing Date Title
EA201991908A EA201991908A1 (ru) 2017-02-14 2018-02-14 Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов
PCT/US2018/018092 WO2018152143A1 (fr) 2017-02-14 2018-02-14 Procédé et appareil pour la représentation compacte de données bioinformatiques au moyen de plusieurs descripteurs génomiques
AU2018221458A AU2018221458B2 (en) 2017-02-14 2018-02-14 Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
KR1020197026877A KR20190113971A (ko) 2017-02-14 2018-02-14 다중 게놈 디스크립터를 이용한 생명정보학 데이터의 압축 표현 방법 및 장치
NZ757185A NZ757185B2 (en) 2017-02-14 2018-02-14 Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
CN201880012026.4A CN110663022B (zh) 2016-10-11 2018-02-14 使用基因组描述符紧凑表示生物信息学数据的方法和设备
SG11201907418YA SG11201907418YA (en) 2017-02-14 2018-02-14 Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
PE2019001668A PE20200227A1 (es) 2016-10-11 2018-02-14 Metodo y aparato para la presentacion compacta de datos de bioinformatica mediante el uso de multiples descriptores genomicos
US16/485,670 US20200051665A1 (en) 2016-10-11 2018-02-14 Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
JP2019542715A JP7362481B2 (ja) 2016-10-11 2018-02-14 ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体
CA3052824A CA3052824A1 (fr) 2017-02-14 2018-02-14 Procede et appareil pour la representation compacte de donnees bioinformatiques au moyen de plusieurs descripteurs genomiques
EP18753700.6A EP3583500A4 (fr) 2017-02-14 2018-02-14 Procédé et appareil pour la représentation compacte de données bioinformatiques au moyen de plusieurs descripteurs génomiques
MX2019009680A MX2019009680A (es) 2017-02-14 2018-02-14 Metodo y aparato para la representacion compacta de datos de bioinformatica mediante el uso de multiples descriptores genomicos.
BR112019016236A BR112019016236A2 (pt) 2016-10-11 2018-02-14 método e aparelho para a representação compacta de dados de bioinformática usando descritores genômicos múltiplos referência cruzada a pedidos relacionados
IL26865119A IL268651A (en) 2017-02-14 2019-08-12 Method and facility for compressed presentation of bioinformatics data by using multiple genome descriptors
PH12019501879A PH12019501879A1 (en) 2016-10-11 2019-08-13 Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
ZA2019/05921A ZA201905921B (en) 2017-02-14 2019-09-09 Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
CONC2019/0009920A CO2019009920A2 (es) 2016-10-11 2019-09-12 Método y aparato para la representación compacta de datos de bioinformática mediante el uso de múltiples descriptores genómicos

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
PCT/US2017/017842 WO2018071055A1 (fr) 2016-10-11 2017-02-14 Procédé et appareil pour la représentation compacte de données bioinformatiques
USPCT/US2017/017842 2017-02-14
PCT/US2017/041591 WO2018071080A2 (fr) 2016-10-11 2017-07-11 Procédé et systèmes pour la représentation et le traitement de données bio-informatiques à l'aide de séquences de référence
USPCT/US2017/041591 2017-07-11
PCT/US2018/018092 WO2018152143A1 (fr) 2017-02-14 2018-02-14 Procédé et appareil pour la représentation compacte de données bioinformatiques au moyen de plusieurs descripteurs génomiques

Publications (1)

Publication Number Publication Date
WO2018152143A1 true WO2018152143A1 (fr) 2018-08-23

Family

ID=68609803

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/018092 WO2018152143A1 (fr) 2016-10-11 2018-02-14 Procédé et appareil pour la représentation compacte de données bioinformatiques au moyen de plusieurs descripteurs génomiques

Country Status (10)

Country Link
EP (1) EP3583500A4 (fr)
KR (1) KR20190113971A (fr)
AU (1) AU2018221458B2 (fr)
CA (1) CA3052824A1 (fr)
EA (1) EA201991908A1 (fr)
IL (1) IL268651A (fr)
MX (1) MX2019009680A (fr)
SG (1) SG11201907418YA (fr)
WO (1) WO2018152143A1 (fr)
ZA (1) ZA201905921B (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189830A (zh) * 2019-05-24 2019-08-30 杭州火树科技有限公司 基于机器学习的电子病历词库训练方法
EP3896698A1 (fr) 2020-04-15 2021-10-20 Genomsys SA Procédé et système pour la compression efficace des données en mpeg-g

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102497634B1 (ko) * 2020-12-21 2023-02-08 부산대학교 산학협력단 문자 빈도 기반 서열 재정렬을 통한 fastq 데이터 압축 방법 및 장치

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020159625A1 (en) * 2001-04-02 2002-10-31 Cytoprint, Inc. Method and apparatus for discovering, identifying and comparing biological activity mechanisms
US20090055425A1 (en) * 2007-08-24 2009-02-26 General Electric Company Sequence identification and analysis
US7698067B2 (en) * 2002-02-12 2010-04-13 International Business Machines Corporation Sequence pattern descriptors for transmembrane structural details
US20130204851A1 (en) * 2011-12-05 2013-08-08 Samsung Electronics Co., Ltd. Method and apparatus for compressing and decompressing genetic information obtained by using next generation sequencing (ngs)
US20140371109A1 (en) * 2013-01-17 2014-12-18 Edico Genome, Corp. Bioinformatics Systems, Apparatuses, and Methods Executed on an Integrated Circuit Processing Platform
US20150227686A1 (en) * 2014-02-12 2015-08-13 International Business Machines Corporation Lossless compression of dna sequences
US20160259886A1 (en) * 2013-07-05 2016-09-08 Academy Of Mathematics And System Science, Chinese Academy Of Sciences Method and system of mapping sequencing reads

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020159625A1 (en) * 2001-04-02 2002-10-31 Cytoprint, Inc. Method and apparatus for discovering, identifying and comparing biological activity mechanisms
US7698067B2 (en) * 2002-02-12 2010-04-13 International Business Machines Corporation Sequence pattern descriptors for transmembrane structural details
US20090055425A1 (en) * 2007-08-24 2009-02-26 General Electric Company Sequence identification and analysis
US20130204851A1 (en) * 2011-12-05 2013-08-08 Samsung Electronics Co., Ltd. Method and apparatus for compressing and decompressing genetic information obtained by using next generation sequencing (ngs)
US20140371109A1 (en) * 2013-01-17 2014-12-18 Edico Genome, Corp. Bioinformatics Systems, Apparatuses, and Methods Executed on an Integrated Circuit Processing Platform
US20160259886A1 (en) * 2013-07-05 2016-09-08 Academy Of Mathematics And System Science, Chinese Academy Of Sciences Method and system of mapping sequencing reads
US20150227686A1 (en) * 2014-02-12 2015-08-13 International Business Machines Corporation Lossless compression of dna sequences

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3583500A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189830A (zh) * 2019-05-24 2019-08-30 杭州火树科技有限公司 基于机器学习的电子病历词库训练方法
CN110189830B (zh) * 2019-05-24 2021-06-08 杭州火树科技有限公司 基于机器学习的电子病历词库训练方法
EP3896698A1 (fr) 2020-04-15 2021-10-20 Genomsys SA Procédé et système pour la compression efficace des données en mpeg-g
WO2021209216A1 (fr) 2020-04-15 2021-10-21 Genomsys Sa Procédé et système pour la compression de données efficace en mpeg-g

Also Published As

Publication number Publication date
SG11201907418YA (en) 2019-09-27
AU2018221458A1 (en) 2019-10-03
KR20190113971A (ko) 2019-10-08
AU2018221458B2 (en) 2022-12-08
EP3583500A4 (fr) 2020-12-16
MX2019009680A (es) 2019-10-09
ZA201905921B (en) 2021-05-26
EA201991908A1 (ru) 2020-01-21
IL268651A (en) 2019-10-31
CA3052824A1 (fr) 2018-08-23
EP3583500A1 (fr) 2019-12-25
NZ757185A (en) 2021-05-28

Similar Documents

Publication Publication Date Title
US20200051665A1 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
EP4075438B1 (fr) Structures de données efficaces pour la représentation d'informations bioinformatiques
AU2018221458B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
CA3052773A1 (fr) Procede et systemes pour la compression efficace de lectures de sequence genomique
JP7362481B2 (ja) ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体
WO2018068828A9 (fr) Procédé et système destinés à la mémorisation et à l'accès de données bioinformatiques
EP3526711B1 (fr) Procédé et appareil destinés à une représentation compacte de données bioinformatiques
JP7324145B2 (ja) ゲノムシーケンスリードの効率的圧縮のための方法及びシステム
CN110663022B (zh) 使用基因组描述符紧凑表示生物信息学数据的方法和设备
NZ757185B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
EA043338B1 (ru) Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов
EA040022B1 (ru) Способ и устройство для компактного представления данных биоинформатики
NZ753247B2 (en) Efficient data structures for bioinformatics information representation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18753700

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3052824

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2019542715

Country of ref document: JP

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019016236

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20197026877

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018753700

Country of ref document: EP

Effective date: 20190916

ENP Entry into the national phase

Ref document number: 2018221458

Country of ref document: AU

Date of ref document: 20180214

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112019016236

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20190806