EA040022B1 - METHOD AND DEVICE FOR COMPACT REPRESENTATION OF BIOINFORMATICS DATA - Google Patents

METHOD AND DEVICE FOR COMPACT REPRESENTATION OF BIOINFORMATICS DATA Download PDF

Info

Publication number
EA040022B1
EA040022B1 EA201990935 EA040022B1 EA 040022 B1 EA040022 B1 EA 040022B1 EA 201990935 EA201990935 EA 201990935 EA 040022 B1 EA040022 B1 EA 040022B1
Authority
EA
Eurasian Patent Office
Prior art keywords
reads
class
genomic
mismatch
read
Prior art date
Application number
EA201990935
Other languages
Russian (ru)
Inventor
Джорджио Зойя
Даниэле Рензи
Original Assignee
Дженомсис Са
Filing date
Publication date
Application filed by Дженомсис Са filed Critical Дженомсис Са
Publication of EA040022B1 publication Critical patent/EA040022B1/en

Links

Description

Изобретение обеспечивает новый способ представления данных секвенирования генома, который уменьшает используемый объем памяти и улучшает производительность доступа, предоставляя новые функциональные возможности, которые недоступны с известными из уровня техники способами представления.The invention provides a new way to represent genome sequencing data that reduces memory usage and improves access performance by providing new functionality that is not available with prior art presentation methods.

Уровень техникиState of the art

Надлежащее представление данных секвенирования генома имеет основополагающее значение для обеспечения эффективных приложений для геномного анализа, таких как определение вариантов генома и любой другой анализ, выполняемый с различными целями путем обработки данных и метаданных секвенирования.Proper representation of genome sequencing data is fundamental to enable efficient applications for genomic analysis, such as the identification of genome variants and any other analysis performed for various purposes by processing sequencing data and metadata.

Секвенирование генома человека стало доступным благодаря появлению высокопроизводительных технологий секвенирования с низкой стоимостью. Такая возможность открывает новые перспективы в нескольких областях: от диагностики и лечения рака до выявления генетических заболеваний, от наблюдения за патогенами для выявления антител до создания новых вакцин, лекарств и персонализации индивидуального лечения.Human genome sequencing has become accessible due to the advent of high-throughput, low-cost sequencing technologies. This capability opens up new vistas in several areas, from cancer diagnosis and treatment to detection of genetic diseases, from pathogen surveillance to detect antibodies, to the development of new vaccines, drugs and personalization of individualized treatment.

Больницы, поставщики услуги геномного анализа, специалисты по биоинформатике и крупные центры хранения биологических данных ищут недорогие, быстрые, надежные и взаимосвязанные решения для обработки геномной информации, которые позволили бы расширить масштабы геномной медицины до мирового масштаба. Поскольку одним из узких мест в процессе секвенирования стало хранение данных, все интенсивнее исследуются способы представления данных секвенирования генома в сжатой форме.Hospitals, genome analysis service providers, bioinformaticians, and large biological data warehouses are looking for low-cost, fast, reliable, and interconnected genomic information processing solutions to scale up genomic medicine to the global scale. Since data storage has become one of the bottlenecks in the sequencing process, ways of presenting genome sequencing data in a compressed form are being increasingly explored.

Наиболее часто используемые представления информации о геноме на основе данных секвенирования основаны на форматах FASTQ и SAM. Задача состоит в том, чтобы сжать традиционно используемые форматы файлов (соответственно FASTQ и SAM для невыровненных и выровненных данных). Такие файлы состоят из простых текстовых символов и сжимаются, как упоминалось выше, с использованием подходов общего назначения, таких как схемы LZ (от имен Lempel и Ziv, авторов, опубликовавших первые версии) (хорошо известные zip, gzip и т.д.). С использованием компрессоров общего назначения, таких как gzip, результатом сжатия обычно является один блоб-объект бинарных данных. Информацию в такой монолитной форме очень трудно архивировать, передавать и обрабатывать, особенно когда, как в случае высокопроизводительного секвенирования, объем данных чрезвычайно велик. Формат ВАМ характеризуется низкой производительностью сжатия из-за того, что он сосредоточен на сжатии неэффективного и избыточного формата SAM, а не на извлечении фактической геномной информации, передаваемой файлами SAM, и из-за применения алгоритмов сжатия текста общего назначения, таких как gzip, вместо того, чтобы использовать специфическую природу каждого источника данных (самих геномных данных).The most commonly used representations of genome information based on sequencing data are based on the FASTQ and SAM formats. The challenge is to compress traditionally used file formats (respectively FASTQ and SAM for unaligned and aligned data). Such files consist of plain text characters and are compressed, as mentioned above, using general purpose approaches such as LZ schemes (named after Lempel and Ziv, the authors who published the first versions) (well known zip, gzip, etc.). With general purpose compressors such as gzip, the result of compression is usually a single blob of binary data. Information in such a monolithic form is very difficult to archive, transfer and process, especially when, as in the case of high-throughput sequencing, the amount of data is extremely large. The BAM format suffers from poor compression performance due to its focus on compressing the inefficient and redundant SAM format rather than extracting the actual genomic information carried by SAM files, and due to the use of general purpose text compression algorithms such as gzip instead of in order to exploit the specific nature of each data source (the genomic data itself).

CRAM - более сложный подход к сжатию геномных данных, который меньше используется, но более эффективен, чем ВАМ. CRAM обеспечивает более эффективное сжатие для применения дифференциального кодирования по отношению к существующему референсу (он частично использует избыточность источника данных), но ему все еще не хватает таких функций, как инкрементные обновления, поддержка потоковой передачи и выборочный доступ к определенным классам сжатых данных. Эти подходы дают неудовлетворительные коэффициенты сжатия и структуры данных, в которых трудно ориентироваться и манипулировать ими после сжатия. Последующий анализ может быть очень медленным из-за необходимости обработки больших и жестких структур данных даже для выполнения простой операции или для доступа к выбранным областям набора геномных данных. CRAM опирается на концепцию записи CRAM. Каждая запись CRAM кодирует одно картированное или некартированный рид, кодируя все элементы, необходимые для его восстановления.CRAM is a more sophisticated approach to genomic data compression that is less used but more efficient than BAM. CRAM provides more efficient compression to apply differential encoding to the existing reference (it partially exploits data source redundancy), but it still lacks features such as incremental updates, streaming support, and selective access to certain classes of compressed data. These approaches produce unsatisfactory compression ratios and data structures that are difficult to navigate and manipulate after compression. Subsequent analysis can be very slow due to the need to process large and rigid data structures even to perform a simple operation or to access selected regions of a genomic data set. CRAM relies on the concept of CRAM recording. Each CRAM entry encodes one mapped or unmapped read, encoding all the elements needed to reconstruct it.

CRAM имеет следующие недостатки.CRAM has the following disadvantages.

1) Для CRAM индексация данных выходит за рамки спецификации (см. раздел 12 спецификации CRAM v 3.0) и реализована в виде отдельного файла. В подходе изобретения, описанного в этом документе, напротив, применяется метод индексации данных, который интегрирован с процессом кодирования, и индексы внедрены в кодированный поток битов.1) For CRAM, data indexing is outside the scope of the specification (see section 12 of the CRAM v 3.0 specification) and is implemented as a separate file. In contrast, the approach of the invention described in this document employs a data indexing technique that is integrated with the encoding process and the indices are embedded in the encoded bitstream.

2) В CRAM все основные блоки данных могут содержать любой тип картированных ридов (идеально совпадающих ридов, ридов только с заменами, ридов с инсерциями или делециями (также называемых инделами)). Не существует понятия классификации и группировки ридов в классах по результату картирования относительно референсной последовательности.2) In CRAM, all basic data blocks can contain any type of mapped reads (perfect match reads, substitution-only reads, insertion or deletion reads (also called indels)). There is no concept of classification and grouping of reads in classes according to the result of mapping relative to the reference sequence.

3) В изобретении нет понятия записи, инкапсулирующей каждый рид, потому что данные, необходимые для восстановления каждого риды, распределены по множеству контейнеров данных, называемых слоями. Это обеспечивает более эффективный доступ к набору ридов с определенными биологическими характеристиками (например, ридов с заменами, но без инделов или идеально картированных ридов) без необходимости декодирования каждого (блока) рида (дидов) для проверки его признаков.3) In the invention, there is no concept of a record encapsulating each read, because the data needed to restore each read is distributed over many data containers called layers. This provides more efficient access to a set of reads with specific biological characteristics (eg, reads with substitutions but no indels, or perfectly mapped reads) without having to decode each (block) of the read(s) to check for its features.

4) В записи CRAM каждый тип данных обозначается определенным флагом. В настоящем изобретении нет понятия флага, обозначающего данные, потому что это по сути определяется слоем, к которому принадлежат данные. Это подразумевает значительно уменьшенное количество используемых сим-4) In a CRAM record, each data type is identified by a specific flag. In the present invention, there is no concept of a flag denoting data, because this is essentially determined by the layer to which the data belongs. This implies a significantly reduced number of symbols used.

- 1 040022 волов и, как следствие, уменьшение энтропии источника информации, что приводит к более эффективному сжатию. Это связано с тем фактом, что использование разных слоев позволяет кодеру повторно использовать один и тот же символ в каждом слое с разными значениями. В CRAM каждый флаг должен всегда иметь одно и то же значение, поскольку отсутствует понятие контекстов, и каждая запись CRAM может содержать данные любого типа.- 1 040022 oxen and, as a result, a decrease in the entropy of the information source, which leads to more efficient compression. This is due to the fact that using different layers allows the encoder to reuse the same symbol in each layer with different values. In CRAM, each flag must always have the same value, because there is no concept of contexts, and each CRAM entry can contain data of any type.

5) В заменах CRAM инсерции и делеции выражаются в соответствии с различными синтаксисами, тогда как в предлагаемом подходе используется один алфавит и кодирование для замен, инсерций и делеций. Это упрощает процесс кодирования и декодирования и создает модель источника с более низкой энтропией, кодирование которой дает битовые потоки с высокой степенью сжатия.5) In CRAM substitutions, insertions and deletions are expressed according to different syntaxes, while the proposed approach uses the same alphabet and coding for substitutions, insertions and deletions. This simplifies the process of encoding and decoding and creates a lower entropy source model whose encoding yields highly compressed bitstreams.

Изобретение направлено на сжатие геномных последовательностей за счет организации и разбивки данных таким образом, чтобы свести к минимуму избыточную информацию, подлежащую кодированию, и реализовать такие функции, как выборочный доступ и поддержка инкрементных обновлений. Одним из аспектов представленного подхода является определение классов данных и метаданных, которые должны кодироваться отдельно и которые должны быть структурированы в разных слоях. Наиболее важные улучшения этого подхода относительно существующих методов заключаются в следующем:The invention is directed to compressing genomic sequences by organizing and partitioning data in such a way as to minimize redundant information to be encoded and to implement features such as selective access and support for incremental updates. One aspect of the presented approach is the definition of data and metadata classes that should be encoded separately and that should be structured in different layers. The most important improvements of this approach over existing methods are as follows:

1) увеличение эффективности сжатия из-за уменьшения энтропии источника информации, созданной путем предоставления эффективной модели для каждого класса данных или метаданных;1) an increase in compression efficiency due to a decrease in the entropy of the information source created by providing an efficient model for each class of data or metadata;

2) возможность выполнения выборочного доступа к порциям сжатых данных и метаданных для дальнейшей обработки;2) the ability to perform selective access to portions of compressed data and metadata for further processing;

3) возможность инкрементного (без необходимости перекодирования) обновления закодированных данных и метаданных новыми данными и/или метаданными о последовательности и/или новыми результатами анализа.3) the ability to incrementally (without the need for recoding) update the encoded data and metadata with new data and/or sequence metadata and/or new analysis results.

Краткое описание чертежейBrief description of the drawings

На фиг. 1 - показано, что положение пар картированных ридов кодируется в слое pos как разница с абсолютным положением первого картированного рида;In FIG. 1 shows that the position of pairs of mapped reads is encoded in the pos layer as the difference with the absolute position of the first mapped read;

фиг. 2 - два рида в паре могут происходить из двух цепей ДНК;fig. 2 - two reads in a pair can come from two strands of DNA;

фиг. 3 - обратный комплемент рида 2 будет закодирован таким образом, если в качестве референса используется цепь 1;fig. 3 - the reverse complement of read 2 will be encoded in this way if strand 1 is used as a reference;

фиг. 4 - четыре возможных комбинации ридов, составляющих пару ридов и соответствующую кодировку в слое rcomp;fig. 4 - four possible combinations of reads that make up a pair of reads and the corresponding encoding in the rcomp layer;

фиг. 5 - схема расчета расстояния спаривания при постоянной длине ридов для трех пар ридов;fig. 5 - scheme for calculating the mating distance at a constant length of reads for three pairs of reads;

фиг. 6 - ошибки спаривания, закодированные в слое pair, позволяют декодеру восстановить правильное спаривание ридов с использованием закодированного MPPPD;fig. 6 - pairing errors encoded in the pair layer allow the decoder to recover the correct pairing of reads using the encoded MPPPD;

фиг. 7 - кодирование расстояния спаривания, когда рид картируется на другом референсе, чем его партнер по паре. В этом случае к расстоянию спаривания добавляются дополнительные дескрипторы. Один - это сигнальный флаг, второй - идентификатор референса, а затем расстояние спаривания;fig. 7 - coding of mating distance when a reed is mapped on a different reference than its partner in a pair. In this case, additional descriptors are added to the pairing distance. One is the signal flag, the second is the reference ID, and then the mating distance;

фиг. 8 - кодирование N-несовпадений в слое nmis;fig. 8 - coding of N-mismatches in the nmis layer;

фиг. 9 - картированная пара ридов, которая представляет замены относительно референсной последовательности;fig. 9 is a mapped pair of reads that represents substitutions relative to the reference sequence;

фиг. 10 - расчет положений замен как в абсолютных, так и в дифференциальных значениях;fig. 10 - calculation of the positions of replacements both in absolute and differential values;

фиг. 11 - расчет символов, кодирующих типы замен, когда коды IUPAC не используются. Символы представляют расстояние - в круговом векторе замен - между молекулой, присутствующей в риде, и молекулой, присутствующей на референсе в этом положении;fig. 11 - calculation of characters encoding substitution types when IUPAC codes are not used. Symbols represent the distance - in a circular substitution vector - between a molecule present in the read and a molecule present in the reference at that position;

фиг. 12 - кодирование замен в слое snpt;fig. 12 - coding of substitutions in the snpt layer;

фиг. 13 - расчет кодов замен с использованием кодов неоднозначности IUPAC;fig. 13 - calculation of substitution codes using IUPAC ambiguity codes;

фиг. 14 - кодирование слоя snpt с использованием кодов IUPAC;fig. 14 - snpt layer coding using IUPAC codes;

фиг. 15 - для ридов класса I используемый вектор замен такой же, как для класса М с добавлением специальных кодов для инсерций символов А, С, G, Т, N;fig. 15 - 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 symbols A, C, G, T, N;

фиг. 16 - некоторые примеры кодирования несовпадений и инделов в случае использования кодов неоднозначности IUPAC. Вектор замен в этом случае намного длиннее, и поэтому возможных рассчитанных символов больше, чем в случае пяти символов;fig. 16 are some examples of mismatch and indel coding when using IUPAC ambiguity codes. The substitution vector in this case is much longer, and therefore there are more possible calculated characters than in the case of five characters;

фиг. 17 - другая модель источника для несовпадений и инделов, где каждый слой содержит положение несовпадений или инсерций одного типа. В этом случае символы для типа несовпадения или индела не кодируются;fig. 17 is another source model for mismatches and indels, where each layer contains the position of mismatches or insertions of the same type. In this case, the characters for the mismatch or indel type are not encoded;

фиг. 18 - пример кодирования несовпадений и инделов. Если для рида нет несовпадений или инделов данного типа, в соответствующем слое кодируется значение 0. Символ 0 действует как разделитель и терминатор ридов в каждом слое;fig. 18 is an example of mismatch and indel coding. If there are no mismatches or indels of that type for a read, the value 0 is encoded in the corresponding layer. The character 0 acts as the delimiter and terminator of the reads in each layer;

фиг. 19 - модификация в референсной последовательности может преобразовать М-рида в Р-рида. Эта операция может уменьшить информационную энтропию структуры данных, особенно в случае высокого перекрывания;fig. 19 - Modification in the reference sequence can convert M-read to R-read. This operation can reduce the informational entropy of the data structure, especially in the case of high overlap;

фиг. 20 - геномный кодер 2010 согласно одному варианту реализации этого изобретения;fig. 20 is a genomic encoder 2010 according to one embodiment of this invention;

фиг. 21 - геномный декодер 218 согласно одному варианту реализации этого изобретения.fig. 21 is a genomic decoder 218 according to one embodiment of this invention.

- 2 040022- 2 040022

Краткое описаниеShort description

Изобретение, в частности, относится к следующим объектам.The invention relates in particular to the following objects.

1) Реализуемый на компьютере способ сжатия данных геномной последовательности, где указанные данные геномной последовательности содержат риды последовательностей нуклеотидов, включающий следующие этапы:1) A computer-implemented method for compressing genomic sequence data, wherein said genomic sequence data contains reads of nucleotide sequences, comprising the following steps:

выравнивание указанных ридов с одной или более референсными последовательностями с получением, таким образом, выровненных ридов, классификация указанных выровненных ридов в различные классы, включающие по меньшей мере первый класс: если указанные выровненные риды совпадают с указанными одной или более референсными последовательностями без каких-либо ошибок;aligning said reads with one or more reference sequences, thereby obtaining aligned reads, classifying said aligned reads into different classes, including at least the first class: if said aligned reads match said one or more reference sequences without any errors ;

второй класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из числа положений, в которых секвенатор не смог определить ни одного основания;second class: if the specified aligned reads match an area in the specified one or more reference sequences with a mismatch count consisting of the number of positions where the sequencer could not determine any base;

третий класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из положений, в которых секвенатор не смог определить ни одного основания, и присутствия инсерций, или делеций, или обрезанных нуклеотидов;third class: if said aligned reads match a region in said one or more reference sequences with a number of mismatches consisting of positions where the sequencer could not detect any bases and the presence of insertions or deletions or truncated nucleotides;

четвертый класс: если указанные выровненные риды не находят какого-либо достоверного картирования на указанной одной или более референсных последовательностях в соответствии с указанными ограничениями выравнивания с получением таким образом классов выровненных ридов; и кодирование указанных классифицированных и выровненных ридов в виде множества слоев синтаксических элементов, содержащих дескрипторы, причем для указанного первого класса указанные дескрипторы включают по меньшей мере начальное положение в референсной последовательности, флаг, сигнализирующий о том, что рид должен рассматриваться как обратный комплемент к референсу, расстояние до партнера пары в случае спаренных ридов, значение длины в случае, когда технология секвенирования дает риды переменной длины; для указанного второго класса дескрипторы включают по меньшей мере дескрипторы первого класса и положение несовпадения для каждого несовпадения; для указанного третьего класса дескрипторы включают дескрипторы указанного второго класса и положение несовпадения и тип несовпадения для каждого несовпадения; для указанного четвертого класса дескрипторы включают дескрипторы указанного первого класса и тип несовпадения для каждого несовпадения, где указанное кодирование указанных классифицированных выровненных ридов в виде множества слоев синтаксических элементов включает выбор указанных синтаксических элементов, содержащих указанные дескрипторы, в соответствии с указанными классами выровненных ридов, причем кодирование указанных классифицированных выровненных ридов в виде множества слоев синтаксических элементов осуществляется с применением конкретного энтропийного кодера 2012-2014.fourth class: if said aligned reads do not find any valid mapping on said one or more reference sequences according to said alignment constraints, thus obtaining aligned read classes; and encoding said classified and aligned reads as a plurality of layers of syntactic elements containing descriptors, wherein for said first class, said descriptors include at least an initial position in the reference sequence, a flag signaling that the read should be considered as an inverse complement to the reference, distance to the partner of the pair in the case of paired reads, length value in the case when the sequencing technology produces reads of variable length; for said second class, the descriptors include at least the first class descriptors and a mismatch position for each mismatch; for said third class, the descriptors include the descriptors of said second class and the mismatch position and mismatch type for each mismatch; for the specified fourth class, the descriptors include the descriptors of the specified first class and the mismatch type for each mismatch, where the specified encoding of the specified classified aligned reads as a plurality of layers of syntax elements includes the selection of the specified syntax elements containing the specified descriptors, in accordance with the specified classes of aligned reads, and the encoding of the specified classified aligned reads in the form of a plurality of layers of syntactic elements is carried out using a specific entropy encoder 2012-2014.

2) Способ по п.1, характеризующийся тем, что слои синтаксических элементов дополнительно содержат положение варианта относительно референсной последовательности, тип варианта, положение делеции относительно референсной последовательности, положение одного или более символов, отсутствующих в референсной последовательности, но присутствующих в выровненных ридах, тип инсерции в данном положении.2) The method according to claim 1, characterized in that the layers of syntax elements additionally contain the position of the variant relative to the reference sequence, the type of the variant, the position of the deletion relative to the reference sequence, the position of one or more characters that are absent in the reference sequence but are present in aligned reads, the type inserts in this position.

3) Способ по п.1, характеризующийся тем, что указанный энтропийный кодер является контекстноадаптивным арифметическим кодером.3) The method of claim 1, wherein said entropy encoder is a context-adaptive arithmetic encoder.

4) Способ распаковки геномного потока, сжатого способом по п.1, причем указанный способ включает следующие этапы:4) A method for decompressing a genomic stream compressed by the method of claim 1, said method comprising the following steps:

синтаксический анализ и декодирование 212-214 сжатого геномного потока в геномные слои синтаксических элементов 215, декодирование указанных геномных слоев в классы данных 216-217, разворачивание указанных геномных слоев в классифицированные риды последовательностей нуклеотидов, выборочное декодирование с помощью декодеров 219 классов указанных классифицированных ридов последовательностей нуклеотидов и объединение результатов на одной или более референсных последовательностях с получением несжатых ридов последовательностей нуклеотидов.parsing and decoding 212-214 of the compressed genomic stream into genomic layers of syntactic elements 215, decoding said genomic layers into data classes 216-217, unfolding said genomic layers into classified nucleotide sequence reads, selective decoding using decoders 219 classes of said classified nucleotide sequence reads and combining the results on one or more reference sequences to obtain uncompressed reads of nucleotide sequences.

5) Геномный кодер 2010 для сжатия данных геномной последовательности 209, причем указанные данные геномной последовательности 209 содержат риды последовательностей нуклеотидов, причем указанный геномный кодер 2010 содержит модуль выравнивания 201, сконфигурированный для выравнивания указанных ридов с одной или более референсными последовательностями с получением, таким образом, выровненных ридов, модуль классификации данных 204, сконфигурированный для классификации указанных выровненных ридов в различные классы, включающие по меньшей мере первый класс: если указанные выровненные риды совпадают с указанными одной или более референсными последовательностями без каких-либо ошибок;5) A genomic encoder 2010 for compressing genomic sequence data 209, said genomic sequence data 209 comprising reads of nucleotide sequences, said genomic encoder 2010 comprising an alignment module 201 configured to align said reads with one or more reference sequences, thereby obtaining aligned reads, a data classification module 204 configured to classify said aligned reads into different classes, including at least the first class: if said aligned reads match said one or more reference sequences without any errors;

второй класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из числа положений, в кото- 3 040022 рых секвенатор не смог определить ни одного основания;second class: if the specified aligned reads match the region in the specified one or more reference sequences with the number of mismatches consisting of the number of positions in which the sequencer could not determine any base;

третий класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из положений, в которых секвенатор не смог определить ни одного основания, и присутствия инсерций, или делеций, или обрезанных нуклеотидов;third class: if said aligned reads match a region in said one or more reference sequences with a number of mismatches consisting of positions where the sequencer could not detect any bases and the presence of insertions or deletions or truncated nucleotides;

четвертый класс: если указанные выровненные риды не находят какого-либо достоверного картирования на указанной одной или более референсных последовательностях в соответствии с указанными ограничениями выравнивания с получением, таким образом, классов выровненных ридов;fourth class: if said aligned reads do not find any valid mapping on said one or more reference sequences according to said alignment constraints, thus obtaining aligned read classes;

один или более кодирующих слои модулей 205-207, сконфигурированных для кодирования указанных классифицированных выровненных ридов в виде слоев синтаксических элементов, содержащих дискрипторы, путем выбора указанных синтаксических элементов в соответствии с указанными классами выровненных ридов, где для указанного первого класса указанные дескрипторы включают по меньшей мере начальное положение в референсной последовательности, флаг, сигнализирующий о том, что рид должен рассматриваться как обратный комплемент к референсу, расстояние до партнера пары в случае спаренных ридов, значение длины в случае, когда технология секвенирования дает риды переменной длины; для указанного второго класса дескрипторы включают по меньшей мере дескрипторы первого класса и положение несовпадения для каждого несовпадения; для указанного третьего класса дескрипторы включают дескрипторы указанного второго класса и положение несовпадения и тип несовпадения для каждого несовпадения; для указанного четвертого класса дескрипторы включают дескрипторы указанного первого класса и тип несовпадения для каждого несовпадения, энтропийный кодер 2012-2014 для энтропийного кодирования указанных слоев синтаксических элементов.one or more layer-encoding modules 205-207 configured to encode said classified aligned reads as syntax element layers containing descriptors by selecting said syntax elements according to said aligned read classes, where for said first class, said descriptors include at least initial position in the reference sequence, a flag indicating that the read should be considered as an inverse complement to the reference, the distance to the partner of the pair in the case of paired reads, the length value in the case when the sequencing technology produces reads of variable length; for said second class, the descriptors include at least the first class descriptors and a mismatch position for each mismatch; for said third class, the descriptors include the descriptors of said second class and the mismatch position and mismatch type for each mismatch; for the specified fourth class, the descriptors include the descriptors of the specified first class and the type of mismatch for each mismatch, entropy encoder 2012-2014 for entropy coding of the specified layers of syntactic elements.

6) Геномный декодер 218 для распаковки геномного потока 211, сжатого геномным кодером по п.6, причем указанный геномный декодер 218 содержит средства синтаксического анализа и декодирования 210, 212-214, сконфигурированные для синтаксического анализа указанного сжатого геномного потока в геномные слои синтаксических элементов 215, один или более декодеров слоев 216-217, сконфигурированных для декодирования геномных слоев в классы данных, и дополнительно сконфигурированный для обработки указанных геномных слоев в классифицированные риды последовательностей нуклеотидов 2111, декодеры классов геномных данных 213, сконфигурированные для выборочного декодирования указанных классифицированных ридов последовательностей нуклеотидов и объединения результата по одной или нескольким референсным последовательностям с получением несжатых ридов последовательностей нуклеотидов.6) A genomic decoder 218 for decompressing a genomic stream 211 compressed by the genomic encoder of claim 6, said genomic decoder 218 comprising parsing and decoding means 210, 212-214 configured to parse said compressed genomic stream into genomic layers of syntax elements 215 , one or more layer decoders 216-217 configured to decode genomic layers into data classes, and further configured to process said genomic layers into classified nucleotide sequence reads 2111, genomic data class decoders 213 configured to selectively decode said classified nucleotide sequence reads, and combining the result for one or more reference sequences to obtain uncompressed reads of nucleotide sequences.

7) Геномный декодер по п.6, характеризующийся тем, что одна или более референсных последовательностей хранятся в сжатом потоке генома 211.7) Genomic decoder according to claim 6, characterized in that one or more reference sequences are stored in the compressed genome stream 211.

8) Геномный декодер по п.6, характеризующийся тем, что одна или более референсных последовательностей подаются в декодер по внеполосному механизму.8) The genomic decoder according to claim 6, characterized in that one or more reference sequences are fed into the decoder by an out-of-band mechanism.

9) Геномный декодер по п.6, характеризующийся тем, что одна или более референсных последовательностей строятся в указанном декодере.9) Genomic decoder according to claim 6, characterized in that one or more reference sequences are built in the specified decoder.

10) Машиночитаемый носитель, содержащий инструкции, которые при их выполнении приводят к осуществлению по меньшей мере одним процессором способа по любому из пп.1-4.10) A computer-readable medium containing instructions that, when executed, cause at least one processor to perform the method of any one of claims 1-4.

Признаки независимых пунктов формулы изобретения, приведенные ниже и выше, решают проблему существующих решений предшествующего уровня техники, обеспечивая способ классификации последовательностей генома и способ сжатия с использованием указанной классификации. В одном аспекте предложен способ классификации данных геномной последовательности, генерируемых секвенатором, причем указанные данные геномной последовательности содержат последовательности оснований нуклеотидов, причем указанная классификация выполняется в соответствии с референсной последовательностью, причем указанный способ включает следующие этапы:The features of the independent claims below and above solve the problem of the existing prior art solutions by providing a method for classifying genome sequences and a method for compressing using said classification. In one aspect, a method is provided for classifying genomic sequence data generated by a sequencer, said genomic sequence data comprising nucleotide base sequences, said classification being performed according to a reference sequence, said method comprising the following steps:

идентификация последовательностей класса Р, содержащих совпадающие (matching) области в референсной последовательности без несовпадений; идентификация последовательностей класса N, содержащих совпадающие области в референсной последовательности, с рядом несовпадений, представленных положениями, в которых секвенатор не смог определить никакое основание; идентификация последовательностей класса М, содержащих совпадающие области в референсной последовательности, с рядом несовпадений, представленных положениями, в которых секвенатор не смог определить никакое основание или определил основание, отличное от основания в референсной последовательности; идентификация последовательностей класса I, содержащих несовпадения класса М плюс присутствие инсерций или делеций;identifying class P sequences containing matching (matching) regions in the reference sequence without mismatches; identifying class N sequences containing matching regions in the reference sequence, with a number of mismatches represented by positions in which the sequencer could not determine any base; identifying sequences of class M containing matching regions in the reference sequence, with a number of mismatches represented by positions in which the sequencer could not determine any base or determined a base different from the base in the reference sequence; identifying class I sequences containing class M mismatches plus the presence of insertions or deletions;

идентификация последовательностей класса U, содержащих все риды, которые не находят действительного (валидного) картирования в референсной последовательности.identification of class U sequences containing all reads that do not find a valid mapping in the reference sequence.

В другом аспекте предложен способ сжатия данных геномной последовательности, генерируемых секвенатором, причем указанные данные геномной последовательности содержат последовательностиIn another aspect, a method is provided for compressing genomic sequence data generated by a sequencer, said genomic sequence data comprising the sequences

- 4 040022 нуклеотидов, причем указанный способ включает следующие этапы:- 4 040022 nucleotides, and this method includes the following steps:

выравнивание указанных ридов по референсной последовательности с получением выровненных ридов;aligning said reads with a reference sequence to obtain aligned reads;

классификация указанных выровненных ридов в соответствии с множеством (multiplicity) степеней совпадения с референсной последовательностью, тем самым создавая классы выровненных ридов;classifying said aligned reads according to a multiplicity of degrees of matching with the reference sequence, thereby creating aligned read classes;

кодирование указанных выровненных ридов в виде слоев синтаксических элементов;encoding said aligned reads as layers of syntactic elements;

причем указанные элементы синтаксиса выбирают в соответствии с указанными классами выровненных ридов.and the specified syntax elements are selected in accordance with the specified classes of aligned reads.

В другом аспекте предложен способ распаковки сжатого геномного потока, причем указанный способ включает следующие этапы:In another aspect, a method is provided for decompressing a compressed genomic stream, said method comprising the following steps:

синтаксический анализ указанного сжатого геномного потока в геномные слои синтаксических элементов, разворачивание указанных геномных слоев в классифицированные риды последовательностей нуклеотидов, выборочное декодирование указанных классифицированных ридов последовательностей нуклеотидов на основании одной или более референсных последовательностей с получением несжатых ридов последовательностей нуклеотидов.parsing said compressed genomic stream into genomic layers of syntactic elements, unfolding said genomic layers into classified nucleotide sequence reads, selectively decoding said classified nucleotide sequence reads based on one or more reference sequences to obtain uncompressed nucleotide sequence reads.

Еще один аспект - геномный кодер 2010 для сжатия данных геномной последовательности 209, причем указанные данные геномной последовательности 209 содержат риды последовательностей нуклеотидов, причем указанный геномный кодер 2010 содержит модуль выравнивания 201, сконфигурированный для выравнивания указанных ридов с одной или более референсными последовательностями с получением, таким образом, выровненных ридов, модуль классификации данных 204, сконфигурированный для классификации указанных выровненных ридов в соответствии со степенями точности совпадения совпадения с одной или более референсными последовательностями с получением, таким образом, классов выровненных ридов;In yet another aspect, a genomic encoder 2010 for compressing genomic sequence data 209, said genomic sequence data 209 comprising reads of nucleotide sequences, said genomic encoder 2010 comprising an alignment module 201 configured to align said reads with one or more reference sequences to obtain such thus, aligned reads, a data classification module 204 configured to classify said aligned reads according to degrees of accuracy of matching with one or more reference sequences, thereby obtaining aligned read classes;

один или более кодирующих слои модулей 205-207, сконфигурированных для кодирования указанных классифицированных выровненных ридов в виде слоев синтаксических элементов путем выбора указанных синтаксических элементов в соответствии с указанными классами выровненных ридов.one or more layer encoding modules 205-207 configured to encode said classified aligned reads as layers of syntax elements by selecting said syntax elements according to said aligned read classes.

В другом аспекте, геномный декодер 218 для распаковки сжатого геномного потока 211, причем указанный геномный декодер 218 содержит:In another aspect, a genomic decoder 218 for decompressing a compressed genomic stream 211, said genomic decoder 218 comprising:

средства синтаксического анализа (парсинга) 210, 212-214, сконфигурированные для анализа указанного сжатого геномного потока в геномные слои синтаксических элементов 215, один или более декодеров слоев 216-217, сконфигурированных для декодирования геномных слоев в классифицированные риды последовательностей нуклеотидов 2111, декодеры классов геномных данных 213, сконфигурированные для выборочного декодирования указанных классифицированных ридов последовательностей нуклеотидов по одной или более референсным последовательностям с получением несжатых ридов последовательностей нуклеотидов.parsers 210, 212-214 configured to parse said compressed genomic stream into genomic layers of syntactic elements 215, one or more layer decoders 216-217 configured to decode genomic layers into classified nucleotide sequence reads 2111, genomic class decoders data 213 configured to selectively decode said classified nucleotide sequence reads at one or more reference sequences to produce uncompressed nucleotide sequence reads.

Подробное описаниеDetailed description

Геномные или протеомные последовательности, упоминаемые в данном изобретении, включают, например, помимо прочего, нуклеотидные последовательности, последовательности дезоксирибонуклеиновой кислоты (ДНК), рибонуклеиновой кислоты (РНК) и аминокислотные последовательности. Хотя описание в данном документе является довольно подробным в отношении геномной информации в форме нуклеотидной последовательности, следует понимать, что эти способы и системы для хранения могут быть реализованы также для других геномных или протеомных последовательностей, хотя и с незначительными вариациями, как будет понятно специалисту в данной области.Genomic or proteomic sequences referred to in this invention include, for example, but not limited to, nucleotide sequences, deoxyribonucleic acid (DNA), ribonucleic acid (RNA), and amino acid sequences. Although the description in this document is quite detailed with respect to genomic information in the form of a nucleotide sequence, it should be understood that these storage methods and systems can be implemented for other genomic or proteomic sequences as well, albeit with minor variations, as will be understood by one skilled in the art. areas.

Информация секвенирования генома генерируется высокопроизводительными секвенаторами (HTS) в виде последовательностей нуклеотидов (оснований), представленных строками букв из определенного словаря. Наименьший словарь представлен пятью символами: {А, С, G, T, N}, представляющими 4 типа нуклеотидов, присутствующих в ДНК, а именно аденин, цитозин, гуанин и тимин. В РНК тимин заменен на урацил (U). N указывает, что секвенатор не смог идентифицировать какое-либо основание, и поэтому реальная природа этого положения не определена. В случае, если секвенатор работает с кодами неоднозначности IUPAC, алфавит, используемый для символов представляет собой (А, С, G, T, U, W, S, М, K, R, Y, В, D, Н, V, N или -).Genome sequencing information is generated by high-throughput sequencers (HTS) in the form of nucleotide (base) sequences, represented by strings of letters from a specific dictionary. The smallest vocabulary is represented by five characters: {A, C, G, T, N} representing the 4 types of nucleotides present in DNA, namely adenine, cytosine, guanine and thymine. In RNA, thymine is replaced by uracil (U). N indicates that the sequencer was unable to identify any base, and therefore the actual nature of this provision is undetermined. In case the sequencer works with IUPAC disambiguation codes, the alphabet used for characters is (A, C, G, T, U, W, S, M, K, R, Y, B, D, H, V, N or -).

Нуклеотидные последовательности, получаемые секвенаторами, называются ридами. Последовательность рида может составлять от нескольких десятков до нескольких тысяч нуклеотидов. Некоторые технологии выдают последовательность ридов в парах, где один рид происходит из одной цепи ДНК, а второй - из другой цепи. При секвенировании генома термин перекрывание используется для выражения уровня избыточности данных последовательности относительно референсной последовательности. Например, чтобы достичь 30-кратного перекрывания человеческого генома (длиной 3,2 млрд. оснований), секвенатор должен произвести в общей сложности 30x3,2 млрд оснований, чтобы в среднем каждое положение в референсе было перекрыто 30 раз.Nucleotide sequences obtained by sequencers are called reads. The read sequence can be from several tens to several thousand nucleotides. Some technologies produce a sequence of reads in pairs, where one read comes from one strand of DNA, and the second from another strand. In genome sequencing, the term overlap is used to express the level of redundancy of sequence data relative to a reference sequence. For example, to achieve 30-fold overlap of the human genome (3.2 billion bases long), the sequencer must produce a total of 30x3.2 billion bases, so that on average each position in the reference is overlapped 30 times.

Во всем этом описании референсная последовательность представляет собой любую последова- 5 040022 тельность, относительно которой выравниваются/картируются нуклеотидные последовательности, полученные с помощью секвенаторов. Одним из примеров последовательности может быть референсный геном, последовательность, собранная учеными в качестве репрезентативного примера набора генов какого-либо биологического вида. Например, GRC37, геном человека Genome Reference Consortium (сборка 37), получен от тринадцати анонимных добровольцев из Буффало, шт. Нью-Йорк. Однако референсная последовательность может также состоять из синтетической последовательности, сконструированной просто для улучшения сжимаемости ридов с учетом их дальнейшей обработки.Throughout this specification, a reference sequence is any sequence against which nucleotide sequences generated by sequencers are aligned/mapped. One example of a sequence would be a reference genome, a sequence compiled by scientists as a representative example of a set of genes in a species. For example, GRC37, the human genome of the Genome Reference Consortium (assembly 37), was obtained from thirteen anonymous volunteers from Buffalo, pc. NY. However, the reference sequence may also consist of a synthetic sequence designed simply to improve the compressibility of the reads in view of their further processing.

Устройства секвенирования могут вносить ошибки в последовательность ридов, такие какSequencing devices can introduce errors into the read sequence, such as

1) использование неправильного символа (т.е. представляющего другую нуклеиновую кислоту) для представления нуклеиновой кислоты, фактически присутствующей в секвенированном образце; обычно это называется ошибка замены (несовпадение);1) using the wrong symbol (i.e., representing a different nucleic acid) to represent the nucleic acid actually present in the sequenced sample; this is usually called a replacement error (mismatch);

2) инсерция в одном риде последовательности дополнительных символов, которые не относятся к какой-либо фактически присутствующей нуклеиновой кислоте; обычно это называется ошибка инсерции;2) insertion in one read of a sequence of additional characters that do not refer to any nucleic acid actually present; this is usually called an insertion error;

3) делеция из одного рида последовательности символов, представляющих нуклеиновые кислоты, которые фактически присутствуют в секвенированном образце; обычно это называется ошибка делеции;3) deletion from one read of a sequence of characters representing nucleic acids that are actually present in the sequenced sample; this is usually called a deletion error;

4) рекомбинация одного или более фрагментов в один фрагмент, который не отражает реальность исходной последовательности.4) recombination of one or more fragments into one fragment that does not reflect the reality of the original sequence.

Термин перекрывание используется в литературе для количественной оценки степени, в которой референсный геном или его часть могут быть перекрыты доступными ридами последовательности. Перекрывание называется ча стичным (менее чем 1-кратным), когда некоторые части референсного генома не картированы ни одним доступным ридом последовательности;The term overlap is used in the literature to quantify the extent to which a reference genome, or part of it, can be overlapped by available sequence reads. An overlap is called partial (less than 1-fold) when some parts of the reference genome are not mapped by any available sequence read;

од нократным (1х) когда все нуклеотиды референсного генома картированы одним и только одним символом, присутствующим в риде последовательности;once (1x) when all nucleotides of the reference genome are mapped with one and only one character present in the sequence read;

многократным (2х, 3х, Nx) когда каждый нуклеотид референсного генома картирован несколько раз.multiple (2x, 3x, Nx) when each nucleotide of the reference genome is mapped several times.

Настоящее изобретение направлено на разработку формата представления геномной информации, в котором соответствующая информация является эффективно доступной и переносимой, а вес избыточной информации уменьшен.The present invention is directed to the development of a genomic information presentation format in which relevant information is efficiently accessible and portable, and the weight of redundant information is reduced.

Основными аспектами раскрытого изобретения являются следующие.The main aspects of the disclosed invention are as follows.

1) Классификация ридов последовательности по разным классам по результатам выравнивания относительно референсных последовательностей с целью обеспечения избирательного доступа к кодированным данным в соответствии с критериями, относящимися к результатам выравнивания и точности совпадения.1) Classification of sequence reads into different classes based on alignment results relative to reference sequences in order to provide selective access to encoded data according to criteria related to alignment results and match accuracy.

2) Разложение последовательности рида данных и метаданных на однородные слои с целью получения отдельных источников информации с уменьшенной информационной энтропией.2) Decomposition of a sequence of data reads and metadata into homogeneous layers in order to obtain separate sources of information with reduced information entropy.

3) Возможность моделирования каждого отдельного источника с отдельной моделью источника, адаптированной к каждой статистической характеристике, включая возможность изменения модели источника в каждом классе ридов и слое для каждого доступного блока данных (блоков доступа). Принятие подходящих контекстно-адаптивных вероятностных моделей и соответствующих энтропийных кодеров в соответствии со статистическими свойствами каждой модели источника.3) The ability to model each individual source with a separate source model adapted to each statistical characteristic, including the ability to change the source model in each class of reads and layer for each available data block (access blocks). Adopt appropriate context-adaptive probability models and appropriate entropy encoders according to the statistical properties of each source model.

4) Определение соответствий и зависимостей между слоями для обеспечения избирательного доступа к данным без необходимости декодировать все слои, если не вся информация необходима.4) Definition of correspondences and dependencies between layers to provide selective access to data without the need to decode all layers if not all information is needed.

5) Кодирование каждого класса данных последовательности и ассоциированных слоев метаданных на основании референсной последовательности, которые могут быть модифицированы таким образом, чтобы уменьшить энтропию классов данных и источников информации о слоях. После первого кодирования на основе референсной последовательности обнаруженные несовпадения могут использоваться для адаптации/модификации референсной последовательности с целью дальнейшего уменьшения общей энтропии информации. Этот процесс, который может выполняться итеративно до тех пор, пока уменьшение информационной энтропии является значимым.5) Encoding of each sequence data class and associated metadata layers based on a reference sequence, which can be modified to reduce the entropy of data classes and layer information sources. After the first encoding based on the reference sequence, the detected mismatches can be used to adapt/modify the reference sequence in order to further reduce the overall information entropy. This is a process that can be performed iteratively as long as the reduction in information entropy is significant.

Далее каждый из вышеупомянутых аспектов будет описан дополнительно.Next, each of the above aspects will be described further.

Главный заголовок файла.The main header of the file.

Классификация ридов последовательности.Classification of sequence reads.

В соответствии с результатами выравнивания по одной или более референсным последовательностям сгенерированные секвенаторами прочитанные значения классифицируют в соответствии с раскрытым изобретением на пять различных классов.According to the results of alignment to one or more reference sequences, the read values generated by the sequencers are classified in accordance with the disclosed invention into five different classes.

При выравнивании последовательности ДНК нуклеотидов относительно референсной последовательности возможны пять результатов.When aligning a DNA nucleotide sequence with respect to a reference sequence, five outcomes are possible.

1) Обнаружено, что область в референсной последовательности совпадает с ридом последователь-1) A region in a reference sequence is found to match a read of the sequence

- 6 040022 ности без каких-либо ошибок (идеальное картирование). Такая последовательность нуклеотидов будет называться идеально совпадающий рид или обозначаться как класс Р.- 6 040022 without any errors (perfect mapping). Such a sequence of nucleotides will be called a perfect match read or denoted as class P.

2) Обнаружено, что область в референсной последовательности совпадает с ридом последовательности с несколькими (множеством) несовпадениями, состоящими из ряда положений, в которых секвенатор не смог определить ни одного основания (или нуклеотида). Такие несовпадения обозначаются буквой N. Такие последовательности будут обозначаться как несовпадающие N-риды или класс N.2) A region in the reference sequence is found to match a sequence read with multiple (multiple) mismatches consisting of a number of positions where the sequencer could not detect a single base (or nucleotide). Such mismatches are denoted by the letter N. Such sequences will be denoted as mismatched N-reads or class N.

3) Обнаружено, что область в референсной последовательности совпадает с ридом последовательности с несколькими несовпадениями, состоящими из ряда положений, в которых секвенатор не смог определить ни одного основания (или нуклеотида), ИЛИ было определено другое основание, отличное от указанного в референсном геноме. Такой тип несовпадения называется однонуклеотидной вариацией (SNV) или однонуклеотидным полиморфизмом (SNP). Такие последовательности будут обозначаться как несовпадающие М-риды или Класс М.3) A region in the reference sequence is found to match a read of the sequence with several mismatches consisting of a number of positions where the sequencer could not detect any base (or nucleotide), OR another base other than that specified in the reference genome was detected. This type of mismatch is called single nucleotide variation (SNV) or single nucleotide polymorphism (SNP). Such sequences will be referred to as mismatched M-reads or Class M.

4) Четвертый класс состоит из ридов, представляющих тип несовпадений, который включает в себя несовпадение класса М плюс присутствие инсерции или делеции (также называемых инделы). Инсерции представлены последовательностью из одного или более нуклеотидов, отсутствующих в референсе, но присутствующих в последовательности рида. В литературе, когда инсертированная последовательность находится на краях последовательности, ее называют мягко обрезанной (то есть нуклеотиды не соответствуют референсу, но сохраняются в выровненных ридах в противоположность жестко обрезанным нуклеотидам, которые отбрасываются). Делеции - это дыры (недостающие нуклеотиды) в выровненном риде относительно референса. Такие последовательности будут называться несовпадающими I-ридами или класс I.4) The fourth class consists of reads representing a type of mismatch, which includes a class M mismatch plus the presence of an insertion or deletion (also called indels). Insertions are represented by a sequence of one or more nucleotides not present in the reference but present in the read sequence. In the literature, when an inserted sequence is at the edges of a sequence, it is said to be soft-truncated (i.e., nucleotides do not match the reference, but are retained in aligned reads as opposed to hard-truncated nucleotides, which are discarded). Deletions are holes (missing nucleotides) in an aligned read with respect to the reference. Such sequences will be called mismatched I-reads or class I.

5) Пятый класс включает в себя все риды, которые не находят какого-либо достоверного картирования на референсной последовательности в соответствии с указанными ограничениями выравнивания. Такие последовательности называются некартированными и относятся к классу U.5) The fifth class includes all reads that do not find any valid mapping on the reference sequence according to the specified alignment constraints. Such sequences are called unmapped and belong to the class U.

Оставшиеся некартированные риды относительно референсной последовательности могут быть собраны в одну последовательность с использованием алгоритмов сборки de-novo. После создания вновь собранной референсной последовательности некартированные риды можно дополнительно картировать относительно нее и классифицировать в один из 4 классов Р, N, М и I.The remaining unmapped reads relative to the reference sequence can be assembled into one sequence using de-novo assembly algorithms. After creating a newly assembled reference sequence, non-mapped reads can be further mapped relative to it and classified into one of 4 classes P, N, M and I.

Разложение информации, необходимой для представления ридов последовательности, в слои дескрипторов.Decomposition of the information needed to represent sequence reads into layers of descriptors.

После того как классификация рида завершена с определением классов, дальнейшая обработка состоит в определении набора различных синтаксических элементов, представляющих оставшуюся информацию, позволяющую реконструировать последовательность ридов ДНК, когда она представлена в качестве картированной на данной референсной последовательности. Структура данных этих синтаксических элементов требует хранения глобальных параметров и метаданных, которые будут использоваться механизмом декодирования. Эти данные структурированы в главном заголовке, описанном в таблице ниже.After the classification of the read is completed with the definition of classes, further processing consists in determining a set of various syntactic elements representing the remaining information, allowing the DNA read sequence to be reconstructed when it is presented as mapped to this reference sequence. The data structure of these syntax elements requires the storage of global parameters and metadata to be used by the decoding engine. This data is structured in the main header described in the table below.

- 7 040022- 7 040022

Таблица 1. Структура главного заголовкаTable 1. Structure of the main heading

Элемент Element Тип Type Описание Description Уникальный идентификатор Unique identificator Байтовый массив Byte array Уникальный идентификатор для закодированного контента Unique identifier for encoded content Версия Version Байтовый массив Byte array Основная + вспомогательная версия алгоритма кодирования Main + auxiliary encoding algorithm version Размер заголовка Header Size Целое число Integer Размер в байтах всего закодированного содержимого Size in bytes of all encoded content Длина ридов Read length Целое число Integer Размер рида при постоянной длине рида. Специальное значение (например, 0) зарезервировано для переменной длины рида The size of the read at a constant length of the read. A special value (e.g. 0) is reserved for variable read length Количество референсных последовательностей Number of reference sequences Целое число Integer Количество использованных референсных последовательностей Number of reference sequences used Счетчики блоков доступа Access block counters Байтовый массив (например, целые числа) Byte array (like integers) Общее количество закодированных блоков доступа на каждую референсную последовательность Total number of encoded access blocks per reference sequence Идентификаторы референсных последовательностей Reference IDs sequences Байтовый массив Byte array Уникальные идентификаторы для референсных последовательностей Unique identifiers for reference sequences Главная индексная таблица Выравнивание положений первого рида в каждом блоке (блок доступа). То есть меньшее положение первого рида референсного генома на каждый блок из 4 классов Main index table Position Alignment the first read in each block (access block). That is, the smaller position of the first read of the reference genome for each block of 4 classes Байтовый массив (например, целые числа) Byte array (like integers) Это многомерный массив, поддерживающий произвольный доступ к блокам доступа This is a multi-dimensional array that supports random access to access blocks 1 на класс pos (4) на референс 1 per pos class (4) per reference

Сегмент ДНК, относящийся к данной референсной последовательности, может быть полностью выражен следующими параметрами:The DNA segment related to a given reference sequence can be fully expressed by the following parameters:

начальное положение в референсной последовательности (pos);starting position in the reference sequence (pos);

флаг, сигнализирующий о том, что рид должен рассматриваться как обратный комплемент к референсу (гсошр);a flag indicating that the read should be treated as a backcomplement to the reference (rsomp);

расстояние до партнера пары в случае спаренных ридов (pair);distance to the partner of the pair in case of paired reads (pair);

значение длины рида в случае, когда технология секвенирования дает переменную длину (1еп). В случае постоянной длины рида длина рида, ассоциированная с каждым ридом, очевидно, может быть опущена и может быть сохранена в главном заголовке файла;the value of the read length in the case when the sequencing technology gives a variable length (len). In the case of a constant read length, the read length associated with each read can obviously be omitted and can be stored in the main header of the file;

для каждого несовпадения положение несовпадения (nmis для класса N, snpp для класса М и indp для класса I), тип несовпадения (отсутствует в классе N, snpt в классе М, indt в классе I);for each mismatch, the position of the mismatch (nmis for class N, snpp for class M, and indp for class I), type of mismatch (none in class N, snpt in class M, indt in class I);

флаги (296), указывающие специфические характеристики рида последовательности, такие как шаблон, имеющий множество сегментов в секвенировании;flags (296) indicating specific characteristics of the sequence read, such as a template having multiple segments in sequencing;

каждый сегмент правильно выровнен согласно выравнивателю;each segment is correctly aligned according to the aligner;

некартированный сегмент;unmapped segment;

следующий сегмент в шаблоне не картирован;the next segment in the template is not mapped;

-8040022 сигнализация первого или последнего сегмента;-8040022 first or last segment signaling;

неудача контроля качества;failure of quality control;

ПЦР или оптический дубликат;PCR or optical duplicate;

вторичное выравнивание;secondary alignment;

дополнительное выравнивание;additional alignment;

необязательная строка мягко обрезанных нуклеотидов (indc в классе I).an optional string of softly truncated nucleotides (indc in class I).

Эта классификация создает группы дескрипторов (синтаксических элементов), которые можно использовать для однозначного представления ридов геномной последовательности. В таблице ниже приведены синтаксические элементы, необходимые для каждого класса выровненных ридов.This classification creates groups of descriptors (syntax elements) that can be used to uniquely represent genomic sequence reads. The table below lists the syntax elements required for each aligned read class.

Таблица 2. Определение слоев для каждого класса данныхTable 2. Definition of layers for each data class

Р Ν ΜI pos X X XX pair X X XX rcomp X X XXP Ν ΜI pos X X XX pair X X XX rcomp X X XX

Flags X X XX (флаги) rlen X X XX nmisX snppX snptX indpX indtX indcXFlags X X XX (flags) rlen X X XX nmisX snppX snptX indpX indtX indcX

Риды, принадлежащие к классу Р, характеризуются и могут быть полностью восстановлены только по положению, информации об обратном комплементе и смещении между членами пар в случае, если они были получены с помощью технологии секвенирования с получением пар, по некоторым флагам и длине рида.Reads belonging to class P are characterized and can only be fully reconstructed by position, reverse complement and offset information between pair members if they were obtained using paired sequencing technology, by some flags and by the length of the read.

В следующем разделе подробно описано, как определяются эти дескрипторы.The next section details how these descriptors are defined.

Слой дескрипторов положения.Position descriptor layer.

В слое положения (pos) только положения картирования первого закодированного рида хранится в заголовке AU как абсолютное положение в референсном геноме. Все остальные дескрипторы положения принимают значение, выражающее разницу относительно предыдущего положения. Такое моделирование источника информации, определяемое последовательностью положений рида, в целом характеризуется пониженной энтропией, особенно для процессов секвенирования, дающих результаты с высоким перекрыванием.In the position (pos) layer, only the mapping position of the first encoded read is stored in the AU header as an absolute position in the reference genome. All other position descriptors take on a value expressing the difference from the previous position. This modeling of the source of information, determined by the sequence of read positions, is generally characterized by reduced entropy, especially for sequencing processes that give results with high overlap.

Например, на фиг. 1 показано, как после описания начального положения первого выравнивания в виде положение 10000 в референсной последовательности положение второго рида, начинающегося в положении 10180, описывается как 180. При высоких значениях перекрывания (> 50х) большинство дескрипторов вектора положения будет иметь очень высокую встречаемость низких значений, таких как 0 и 1, и других маленьких целых чисел. На фиг. 9 показано, как положения трех пар рида описываются в слое pos.For example, in FIG. 1 shows how, after describing the start position of the first alignment as position 10000 in the reference sequence, the position of the second read starting at position 10180 is described as 180. At high overlap values (>50x), most position vector descriptors will have a very high occurrence of low values, such as 0 and 1, and other small integers. In FIG. Figure 9 shows how the positions of three read pairs are described in the pos layer.

Слой дескриптора обратного комплемента.The reverse complement descriptor layer.

Каждый рид пары ридов, полученных с помощью технологий секвенирования, может происходить из любой цепи генома секвенированного органического образца. Однако только одна из двух цепей используется в качестве референсной последовательности.Each read of a pair of reads obtained using sequencing technologies can originate from any strand of the genome of the sequenced organic sample. However, only one of the two strands is used as a reference sequence.

На фиг. 2 показано, как в паре ридов один рид (рид 1) может происходить из одной нити, а другой (рид 2) - из другой.In FIG. Figure 2 shows how, in a pair of reads, one read (read 1) can come from one thread, and the other (read 2) from the other.

Когда в качестве референсной последовательности используется цепь 1, рид 2 может быть закодирован как обратный комплемент соответствующего фрагмента на цепи 1. Это показано на фиг. 3.When strand 1 is used as the reference sequence, reid 2 can be encoded as the reverse complement of the corresponding fragment on strand 1. This is shown in FIG. 3.

- 9 040022- 9 040022

В случае сцепленных ридов возможны четыре комбинации пар прямого и обратного комплемента.In the case of linked reads, four combinations of direct and reverse complement pairs are possible.

Это показано на фиг. 4. Слой rcomp кодирует эти четыре возможных комбинации.This is shown in FIG. 4. The rcomp layer encodes these four possible combinations.

Такое же кодирование используется для информации по обратному комплементу для рида, принадлежащего классам Р, N, М, I. Чтобы обеспечить расширенный выборочный доступ к данным, информация по обратному комплементу для рида, принадлежащего к этим четырем классам, кодируется в разных слоях, как показано в табл. 2.The same coding is used for reverse complement information for a read belonging to classes P, N, M, I. To provide enhanced selective access to data, the reverse complement information for a read belonging to these four classes is encoded in different layers, as shown. in table. 2.

Слой дескриптора информации о спаривании.Mating information descriptor layer.

Дескриптор спаривания хранится в слое pair. Такой слой хранит дескрипторы, кодирующие информацию, необходимую для восстановления исходных пар ридов, когда используемая технология секвенирования генерирует риды по парам. Хотя на момент раскрытия изобретения подавляющее большинство данных секвенирования генерируется с использованием технологии создания парных ридов, это относится не ко всем технологиям. По этой причине присутствие этого слоя не является необходимым для восстановления всей информации данных секвенирования, если технология секвенирования рассматриваемых геномных данных не генерирует информацию по парным ридам.The pairing descriptor is stored in the pair layer. Such a layer stores descriptors that encode the information needed to reconstruct the original pairs of reads when the sequencing technology used generates reads by pairs. While at the time of this disclosure, the vast majority of sequencing data is generated using paired read technology, this is not the case for all technologies. For this reason, the presence of this layer is not necessary to recover all information from the sequencing data if the sequencing technology of the genomic data in question does not generate pairwise read information.

Определения.Definitions.

Партнёр по паре: рид, связанный с другим ридом в паре ридов (например, рид 2 - это пара рида 1 в предыдущем примере).Pair partner: A read that is related to another read in a pair of reads (for example, read 2 is the pair of read 1 in the previous example).

Расстояние спаривания: количество положений нуклеотидов в референсной последовательности, которые отделяют одно положение в первом риде (якорь спаривания, например, последний нуклеотид первого рида) от одного положения второго рида (например, первый нуклеотид второго рида).Pairing Distance: The number of nucleotide positions in the reference sequence that separate one position in the first read (pairing anchor, eg the last nucleotide of the first read) from one position in the second read (eg the first nucleotide of the second read).

Наиболее вероятное расстояние спаривания (MPPD): наиболее вероятное расстояние спаривания, выраженное в количестве положений нуклеотидов.Most Probable Pairing Distance (MPPD): The most probable pairing distance, expressed as the number of nucleotide positions.

Расстояние спаривания в положениях (PPD): PPD - это способ выразить расстояние спаривания в числе ридов, отделяющих один рид от соответствующей пары, присутствующий в слое дескриптора конкретного положения.Pairing Distance in Positions (PPD): PPD is a way of expressing the pairing distance in terms of the number of reads separating one read from the corresponding pair present in a specific position descriptor layer.

Наиболее вероятное расстояние спаривания в положениях (MPPPD): наиболее вероятное число ридов, отделяющих один рид от его пары, присутствующей в слое дескриптора конкретного положения.Most Probable Position Pairing Distance (MPPPD): The most likely number of reads separating one read from its pair present in the specific position descriptor layer.

Ошибка положений спаривания (РРЕ): определяется как разница между MPPD или MPPPD и фактическим положением партнёра по паре.Mating position error (PPE): is defined as the difference between the MPPD or MPPPD and the actual position of the partner in the pair.

Якорь спаривания: положения последнего нуклеотида первого рида в паре, используемое в качестве референса для вычисления расстояния пары сопряженных элементов, выраженного в числе положении нуклеотидов или числе прочитанных положений.Pairing anchor: the positions of the last nucleotide of the first read in a pair, used as a reference to calculate the distance of a pair of conjugated elements, expressed as the number of nucleotide positions or the number of positions read.

На фиг. 5 показано, как рассчитывается расстояние спаривания между парами ридов.In FIG. Figure 5 shows how the mating distance between pairs of reads is calculated.

Слой дескрипторов пары - это вектор ошибок спаривания, рассчитанный как число ридов, которые необходимо пропустить, чтобы достичь партнёра по паре первого рида пары с учетом заданного расстояния декодирования спаривания.The descriptor layer of a pair is a pairing error vector calculated as the number of reads that must be skipped to reach the pair partner of the pair's first read, given a given pairing decoding distance.

На фиг. 6 показан пример того, как рассчитываются ошибки спаривания, как в виде абсолютной величины, так и в виде дифференциального вектора (характеризуется меньшей энтропией для высоких значений перекрывания).In FIG. 6 shows an example of how the pairing errors are calculated, both as an absolute value and as a differential vector (characterized by lower entropy for high overlap values).

Для информации о спаривании ридов, принадлежащих классам N, М, Р и I, используются одинаковые дескрипторы. Чтобы реализовать выборочный доступ к различным классам данных, информация о спаривании для ридов, принадлежащих четырем классам, кодируется в другом слое, как изображено на фигуре.For information about the mating of reads belonging to classes N, M, P and I, the same descriptors are used. In order to implement selective access to different data classes, the pairing information for the reads belonging to the four classes is encoded in another layer, as shown in the figure.

Информация о спаривании в случае ридов, картированных по разным референсам.Mating information in case of reads mapped by different references.

В процессе картирования рида последовательности на референсной последовательности нередко бывает, что первый рид в паре картируется на одном референсе (например, хромосоме 1), а второй - на другом референсе (например, хромосоме 4). В этом случае описанная выше информация о спаривании должна быть объединена с дополнительной информацией, относящейся к референсной последовательности, используемой для картирования одного из ридов. Это достигается путем кодирования следующих параметров:In the process of mapping a sequence read to a reference sequence, it is not uncommon for the first read in a pair to be mapped to one reference (eg, chromosome 1) and the second read to a different reference (eg, chromosome 4). In this case, the mating information described above should be combined with additional information related to the reference sequence used to map one of the reads. This is achieved by encoding the following parameters:

1) зарезервированное значение (флаг), указывающее, что пара картируется на двух разных последовательностях (разные значения указывают, картированы ли рид 1 или рид 2 на последовательности, которая в данный момент не кодирована);1) a reserved value (flag) indicating that the pair is mapped on two different sequences (different values indicate whether read 1 or read 2 is mapped to a sequence that is not currently encoded);

2) уникальный референсный идентификатор, ссылающийся на идентификаторы референса, закодированные в структуре главного заголовка, как описано в табл. 1;2) a unique reference identifier referring to the reference identifiers encoded in the main header structure, as described in Table 1. 1;

3) третий элемент, содержащий информацию о картировании на референсе, идентифицированном в точке 2, и выраженный как смещение относительно последнего закодированного положения.3) a third element containing mapping information on the reference identified at point 2 and expressed as an offset from the last encoded position.

На фиг. 7 приведен пример этого сценария.In FIG. 7 shows an example of this scenario.

На фиг. 7, поскольку рид 4 не картируется в кодированной в данный момент референсной последовательности, геномный кодер передает эту информацию, создавая дополнительные дескрипторы в слое pair. В примере, показанном ниже, рид 4 пары 2 картируется на референсе № 4, в то время как закодированный в данный момент референс - № 1. Эта информация кодируется с использованием 3 компонентов:In FIG. 7, since read 4 does not map to the currently encoded reference sequence, the genomic encoder conveys this information by creating additional descriptors in the pair layer. In the example below, read 4 of pair 2 is mapped to reference #4 while the currently encoded reference is #1. This information is encoded using 3 components:

- 10 040022- 10 040022

1) Одно специальное зарезервированное значение кодируется как расстояние спаривания (в этом случае - Oxffffff)1) One special reserved value is encoded as the pairing distance (in this case 0xffffff)

2) Второй дескриптор содержит идентификатор референса, как указано в главном заголовке (в этом случае - 4)2) The second descriptor contains the reference id as specified in the main header (in this case - 4)

3) Третий элемент содержит информацию о картировании в соответствующем референсе (170).3) The third element contains mapping information in the corresponding reference (170).

Дескрипторы несовпадений для ридов класса N.Mismatch descriptors for class N reads.

Класс N включает все риды, в которых на месте определения оснований А, С, G или Т присутствуют только несовпадения, представленные N. Все остальные основания рида идеально соответствуют референсной последовательности.Class N includes all reads in which only the mismatches represented by N are present at the location of the definition of bases A, C, G or T. All other bases of the read perfectly match the reference sequence.

На фиг. 8 показано, как положения несовпадений N в риде 1 кодируются следующим образом:In FIG. Figure 8 shows how the positions of the N mismatches in read 1 are encoded as follows:

абсолютное положение в риде 1; или дифференциальное положение относительно предыдущего N в том же риде.absolute position in read 1; or a differential position relative to the previous N in the same read.

Положения несовпадений N в риде 2 кодируются следующим образом:The positions of the N mismatches in read 2 are coded as follows:

абсолютное положение в риде 2 + длина рида 1 ИЛИ;absolute position in read 2 + length of read 1 OR;

дифференциальное положение относительно предыдущего N.differential position relative to the previous N.

В слое nmis кодирование каждой пары ридов завершается специальным символом-разделителем.In the nmis layer, the encoding of each pair of reads ends with a special delimiter character.

На фиг. 8 показано, как N''-несовпадения (где в данном положении картирования N присутствует в риде вместо фактического основания в референсной последовательности) кодируется только как положение несовпадения:In FIG. 8 shows how an N''-mismatch (where at a given mapping position N is present in the read instead of the actual base in the reference sequence) is encoded as a mismatch position only:

1) относительно начала рида; или1) relative to the beginning of the read; or

2) относительно предыдущего несовпадения (дифференциальное кодирование).2) relative to the previous mismatch (differential coding).

Дескрипторы, кодирующие замены (несовпадения или SNP), инсерции и делеции.Descriptors encoding substitutions (mismatches or SNPs), insertions and deletions.

Замена определяется как присутствие в картированном риде нуклеотидного основания, отличного от того, которое присутствует в референсной последовательности в том же положении.A substitution is defined as the presence in the mapped read of a nucleotide base other than that present in the reference sequence at the same position.

На фиг. 9 показаны примеры замен в картированной паре ридов. Каждая замена кодируется как положение (слой snpp) и тип (слой snpt). В зависимости от статистической встречаемости замен, инсерций или делеций, могут быть различаться заданные модели источника ассоциированных дескрипторов и сгенерированные символы, закодированные в ассоциированном слое.In FIG. Figure 9 shows examples of substitutions in a mapped pair of reads. Each replacement is encoded as a position (snpp layer) and a type (snpt layer). Depending on the statistical occurrence of substitutions, insertions or deletions, the given source models of the associated descriptors and the generated symbols encoded in the associated layer may differ.

Модель источника 1: замены как положения и типы.Source model 1: replacements as positions and types.

Дескрипторы положений замен.Substitution position descriptors.

Положения замены вычисляется так же, как значения слоя nmis, т.е.The replacement positions are calculated in the same way as the nmis layer values, i.e.

в риде 1 замены закодированы как абсолютное положение в риде 1; или как дифференциальное положение относительно предыдущей замены в том же риде.in read 1, replacements are encoded as an absolute position in read 1; or as a differential position relative to a previous replacement in the same read.

В риде 2 замены закодированы как абсолютное положение в риде 2 + длина рида 1; или как дифференциальное положение относительно предыдущей заменыIn read 2, the replacements are encoded as absolute position in read 2 + length of read 1; or as a differential position relative to the previous replacement

На фиг. 10 показано, как замены (где в данном положении картирования символ в риде отличается от символа в референсной последовательности) кодируются как:In FIG. 10 shows how substitutions (where, at a given mapping position, the character in the read differs from the character in the reference sequence) are encoded as:

1) положение несовпадения относительно начала рида; или относительно предыдущего несовпадения (дифференциальное кодирование),1) the position of the mismatch relative to the beginning of the read; or relative to the previous mismatch (differential encoding),

2) тип несовпадения, представленный в виде кода, рассчитанного, как описано на фиг. 10.2) the type of mismatch represented as a code calculated as described in FIG. 10.

В слое snpp кодирование каждой пары ридов завершается специальным символом-разделителем. Дескрипторы типов замены.In the snpp layer, the encoding of each pair of reads ends with a special delimiter character. Replacement type descriptors.

Для класса М (и I, как описано в следующих разделах), несовпадения кодируются индексом (с перемещением справа налево) от фактического символа, присутствующего в референсе, до соответствующего символа замены, присутствующей в риде {А, С, G, T, N, Z}. Например, если выровненный рид показывает С вместо Т, который присутствует в том же положении в референсе, индекс несовпадения будет обозначен как 4. Процесс декодирования считывает закодированный синтаксический элемент, нуклеотид в заданном положении на референсе и перемещается слева направо, возвращая декодированный символ. Например, 2, полученное для положения, где в референсе присутствует G, будет декодировано как N. На фиг. 11 показаны все возможные замены и соответствующие символы кодирования. Очевидно, чтобы минимизировать энтропию дескрипторов, каждому индексу замены могут быть присвоены разные и контекстно-адаптивные вероятностные модели согласно статистическим свойствам каждого типа замены для каждого класса данных.For class M (and I, as described in the following sections), mismatches are coded by an index (moving from right to left) from the actual character present in the reference to the corresponding replacement character present in the read {A, C, G, T, N, Z}. For example, if an aligned read shows a C instead of a T that is present at the same position in the reference, the mismatch index will be indicated as 4. The decoding process reads the encoded syntax element, the nucleotide at the given position on the reference, and moves from left to right, returning the decoded character. For example, a 2 obtained for a position where G is present in the reference would be decoded as N. In FIG. 11 shows all possible substitutions and corresponding coding symbols. Obviously, to minimize descriptor entropy, each replacement index can be assigned different and context-adaptive probability models according to the statistical properties of each replacement type for each data class.

В случае применения кодов неоднозначности IUPAC механизм замены оказывается в точности таким же, однако вектор замены расширяется следующим образом: S = {А, С, G, T, N, Z, M, R, W, S, Y, K, V, Н, D, В}.In the case of IUPAC ambiguity codes, the replacement mechanism is exactly the same, but the replacement vector is expanded as follows: S = {A, C, G, T, N, Z, M, R, W, S, Y, K, V, H, D, B}.

На фиг. 12 приведен пример кодирования типов замен в слое snpt.In FIG. 12 shows an example of encoding replacement types in the snpt layer.

Некоторые примеры кодирования замен, когда применяются коды неоднозначности IUPAC, пред- 11 040022 ставлены на фиг. 13. Еще один пример индексов замен представлен на фиг. 14.Some examples of substitution coding when IUPAC disambiguation codes are used are shown in FIG. 13. Another example of substitution indices is shown in FIG. 14.

Кодирование инсерций делеций.Deletion insertion coding.

Для класса I, несовпадения и делеций кодируются с помощью (с перемещением при кодировании справа налево) замены с фактического символа, присутствующего в референсе, на соответствующий символ замены, присутствующий в риде: {А, С, G, T, N, Z}. Например, если выровненный рид показывает С вместо Т, присутствующего в том же положении в референсе, индекс несовпадения будет равен 4. В случае, если рид показывает делецию, где в референсе присутствует А, кодированный символ будет 5. Процесс декодирования считывает закодированный синтаксический элемент, нуклеотид в заданном положении на референсе и перемещается слева направо, возвращая декодированный символ. Например, 3, полученное для положения, где в референсе присутствует G, будет декодировано как Z. Инсерции кодируются как 6, 7, 8, 9,10 соответственно для вставленных А, С, G, Т, N.For class I, mismatches and deletions are encoded by (with moving from right to left encoding) a replacement from the actual character present in the reference to the corresponding replacement character present in the read: {A, C, G, T, N, Z}. For example, if an aligned read shows a C instead of a T present in the same position in the reference, the mismatch index will be 4. In the event that the read shows a deletion where an A is present in the reference, the encoded character will be 5. The decoding process reads the encoded syntax element, nucleotide at a given position on the reference and moves from left to right, returning the decoded symbol. For example, a 3 obtained for a position where G is present in the reference will be decoded as Z. Insertions are encoded as 6, 7, 8, 9,10 respectively for inserted A, C, G, T, N.

На фиг. 15 показан пример того, как кодировать замены, инсерции и делеции в паре ридов класса I. Для поддержки всего набора кодов неоднозначности IUPAC вектор замен S = {А, С, G, T, N, Z} должен быть заменен на S = {А, С, G, T, N, Z, M, R, W, S, Y, K, V, Н, D, В}, как описано в предыдущем абзаце для несовпадений. В этом случае коды инсерции должны иметь разные значения, а именно 16, 17, 18, 19, 20, если вектор замен имеет 16 элементов. Этот механизм показан на фиг. 16.In FIG. Figure 15 shows an example of how to encode substitutions, insertions and deletions in a class I read pair. , C, G, T, N, Z, M, R, W, S, Y, K, V, H, D, B} as described in the previous paragraph for mismatches. In this case, the insertion codes must have different values, namely 16, 17, 18, 19, 20, if the replacement vector has 16 elements. This mechanism is shown in Fig. 16.

Модель источника 2: один слой для каждого типа замен и инделов.Source model 2: one layer for each type of substitutions and indels.

Для некоторых статистических данных может быть разработана модель кодирования для замен и инделов, отличная от описанной в предыдущем разделе, приводящая к источнику с меньшей энтропией. Такая модель кодирования является альтернативой методикам, описанным выше, только для несовпадений, а также для несовпадений и инделов.For some statistics, an encoding model for substitutions and indels can be developed that is different from that described in the previous section, resulting in a source with lower entropy. This coding model is an alternative to the techniques described above for mismatches only, and also for mismatches and indels.

В этом случае для каждого возможного символа замены определяется один слой данных (5 без кодов IUPAC, 16 - с кодами IUPAC), плюс один слой для делеций и еще 4 слоя для инсерций. Для простоты объяснения, но не в качестве ограничения применения модели, нижеследующее описание будет сосредоточено на случае, когда коды IUPAC не поддерживаются.In this case, for each possible replacement character, one data layer is defined (5 without IUPAC codes, 16 with IUPAC codes), plus one layer for deletions and 4 more layers for insertions. For ease of explanation, and not as a limitation on the application of the model, the following description will focus on the case where IUPAC codes are not supported.

На фиг. 17 показано, как каждый слой содержит положение несовпадений или инсерций одного типа. Если в кодированной паре ридов нет несовпадений или инсерций для этого типа, в соответствующем слое кодируется 0. Чтобы дать возможность декодеру запустить процесс декодирования для слоев, описанных в этом разделе, заголовок каждого блока доступа содержит флаг, сигнализирующий о первом слое, подлежащем декодированию. В примере на фиг. 18 первый декодируемый элемент - это положение 2 в слое С. Когда в паре ридов нет несовпадений или индексов инделов данного типа, к соответствующим слоям добавляется 0. На стороне декодирования, когда указатель декодирования для каждого слоя указывает на значение 0, процесс декодирования переходит к следующей паре ридов.In FIG. 17 shows how each layer contains the position of mismatches or insertions of the same type. If there are no mismatches or insertions for that type in an encoded pair of reads, a 0 is encoded in the corresponding layer. To enable the decoder to start the decoding process for the layers described in this section, the header of each access block contains a flag signaling the first layer to be decoded. In the example in FIG. 18, the first decodable element is position 2 in layer C. When there are no mismatches or indel indices of this type in a pair of reads, 0 is added to the corresponding layers. On the decoding side, when the decoding pointer for each layer points to 0, the decoding process proceeds to the next a couple of reads.

Кодирование дополнительных сигнальных флагов.Coding of additional signal flags.

Каждый класс данных, представленный выше (Р, М, N, I), может потребовать кодирования дополнительной информации о характере закодированных ридов. Эта информация может быть связана, например, с экспериментом по секвенированию (например, указанием вероятности дублирования одного рида) или может выражать некоторую характеристику картирования рида (например, первого или второго в паре). В контексте этого изобретения эта информация кодируется в отдельном слое для каждого класса данных. Основным преимуществом такого подхода является возможность выборочного доступа к этой информации только в случае необходимости и только в требуемой области референсной последовательности. Другими примерами использования таких флагов являются спаренный рид;Each data class presented above (P, M, N, I) may require encoding additional information about the nature of the encoded reads. This information may be associated, for example, with a sequencing experiment (eg, an indication of the probability of duplication of one read) or may express some characteristic of the mapping of the read (eg, the first or second in a pair). In the context of this invention, this information is encoded in a separate layer for each data class. The main advantage of this approach is the ability to selectively access this information only when necessary and only in the required area of the reference sequence. Other examples of the use of such flags are paired read;

рид, картированный в правильной паре;reed mapped in the right pair;

рид или партнер по паре некартированы;rider or partner is not charted;

рид или партнер по паре из обратной цепи;read or partner in a reverse chain pair;

первое/второе в паре;first / second in a pair;

не первичное выравнивание;not primary alignment;

рид не проходит проверку качества платформы/поставщика;read does not pass platform/provider quality checks;

рид представляет собой ПЦР- или оптический дубликат;the read is a PCR or optical duplicate;

дополнительное выравнивание.additional alignment.

Адаптация референсных последовательностей.Adaptation of reference sequences.

Несовпадения, закодированные для классов N, М и I, можно использовать для создания модифицированных референсов, которые будут использоваться для перекодирования ридов в слое N, М или I (относительно первой референсной последовательности, R0) в качестве р-ридов относительно адаптированного генома R1. Например, если мы обозначим через r_inAM i-e рид класса М, содержащее несовпадения относительно референсного генома n, то после адаптации мы можем получить r_inAM=r_(i(n+1))AP сMismatches coded for classes N, M, and I can be used to generate modified references that will be used to recode reads in the N, M, or I layer (relative to the first reference sequence, R0) as p-reads relative to the adapted R1 genome. For example, if we denote by r_in A M ie the class M read containing mismatches relative to the reference genome n, then after adaptation we can get r_in A M=r_(i(n+1)) A P with

A(Refn)=Refn+1, где А - преобразование из референсной последовательности n в референсную последовательность n+1.A(Refn)=Refn+1, where A is the conversion from reference sequence n to reference sequence n+1.

На фиг. 19 показано, как риды, содержащие несовпадения (М-риды) относительно референсной по- 12 040022 следовательности 1 (RS1), могут быть преобразованы в идеально совпадающие риды (Р-риды) относительно референсной последовательности 2 (RS2), полученной из RS1 путем модификации несовпадающих положений. Это преобразование может быть выражено какIn FIG. 19 shows how reads containing mismatches (M-reads) relative to reference sequence 1 (RS1) can be converted into perfectly matched reads (P-reads) relative to reference sequence 2 (RS2) obtained from RS1 by modification mismatched positions. This transformation can be expressed as

RS2 = A(RS1)RS2 = A(RS1)

Если для выражения преобразования А, выполненного от RS1 к RS2, требуется меньше битов выражения несовпадений, присутствующих в М-ридах, этот метод кодирования приводит к меньшей информационной энтропии и, следовательно, лучшему сжатию.If the conversion expression A performed from RS1 to RS2 requires fewer mismatch expression bits present in M-reads, this encoding method results in less information entropy and hence better compression.

Модели источника, энтропийные кодеры и режимы кодирования.Source models, entropy encoders and coding modes.

Для каждого слоя структуры геномных данных, раскрытой в этом изобретении, могут быть приняты различные алгоритмы кодирования в соответствии с конкретными характеристиками данных или метаданных, переносимых слоем, и его статистическими свойствами. Алгоритм кодирования следует понимать как ассоциацию конкретной модели источника дескриптора с конкретным энтропийным кодером. Конкретная модель источника может быть определена и выбрана для получения наиболее эффективного кодирования данных с точки зрения минимизации энтропии источника. Выбор энтропийного кодера может быть обусловлен соображениями эффективности кодирования и/или особенностями распределения вероятностей и ассоциированными проблемами реализации. Каждый выбор конкретного алгоритма кодирования будет называться режимом кодирования, применяемым ко всему слою.For each layer of the genomic data structure disclosed in this invention, different coding algorithms can be adopted according to the specific characteristics of the data or metadata carried by the layer and its statistical properties. An encoding algorithm should be understood as the association of a particular descriptor source model with a particular entropy encoder. A particular source model can be defined and selected to obtain the most efficient data encoding in terms of minimizing source entropy. The choice of entropy encoder may be driven by coding efficiency considerations and/or by features of the probability distribution and associated implementation issues. Each choice of a particular encoding algorithm will be referred to as an encoding mode applied to the entire layer.

Каждая модель, ассоциированная с каким-то режимом кодирования, характеризуется определением синтаксических элементов, генерируемых каждым источником (например, положения ридов, информация о спаривании ридов, несовпадения относительно референсной последовательности и т.д.);Each model associated with an encoding mode is characterized by a definition of the syntax elements generated by each source (eg, read positions, read pairing information, mismatches relative to a reference sequence, etc.);

определением ассоциированной вероятностной модели;defining an associated probabilistic model;

определением ассоциированного энтропийного кодера.defining an associated entropy encoder.

Другие преимущества.Other benefits.

Эта классификация позволяет реализовать эффективные режимы кодирования, использующие меньшую энтропию источника информации, характеризующиеся моделированием последовательностей синтаксических элементов отдельными независимыми источниками данных (например, расстояние, положение и т.д.). Другим преимуществом изобретения является возможность доступа только к подмножеству типов данных, представляющих интерес. Например, одно из наиболее важных приложений в геномике состоит в поиске различий геномного образца относительно референса (SNV) или популяции (SNP). Сегодня такой тип анализа требует обработки ридов полной последовательности, тогда как при принятии представления данных, раскрытого изобретением, несовпадения уже выделены всего в одинтри класса данных (в зависимости от заинтересованности в рассмотрении N-кодов и инделов).This classification makes it possible to implement efficient coding modes that use a lower entropy of the information source, characterized by the modeling of sequences of syntactic elements by separate independent data sources (for example, distance, position, etc.). Another advantage of the invention is the ability to access only a subset of the data types of interest. For example, one of the most important applications in genomics is to find differences in a genomic sample relative to a reference (SNV) or population (SNP). Today, this type of analysis requires the processing of full sequence reads, whereas when accepting the data representation disclosed by the invention, mismatches are already allocated to only one or three data classes (depending on the interest in considering N-codes and indels).

Еще одним преимуществом является возможность выполнения эффективного транскодирования из данных и метаданных, сжатых со ссылкой на специфическую референсную последовательность, в другую референсную последовательность, когда публикуется новая референсная последовательность или когда выполняется повторное картирование для картированных ранее данных (например, используя другой алгоритм картирования).Another advantage is the ability to perform efficient transcoding from data and metadata compressed with reference to a specific reference sequence to a different reference sequence when a new reference sequence is published or when re-mapping is performed on previously mapped data (eg, using a different mapping algorithm).

На фиг. 20 показано устройство кодирования 207 в соответствии с принципами этого изобретения. Устройство кодирования 207 принимает в качестве входных данных необработанные данные последовательности 209, например созданные устройством секвенирования генома 200. Устройство кодирования 207 принимает в качестве входных данных необработанные данные последовательности 209, например созданные устройством секвенирования генома 200. Устройство секвенирования генома 200 известно в данной области техники, например устройства Illumina HiSeq 2500 или Thermo-Fisher Ion Torrent. Необработанные данные последовательностей 209 поступают в модуль выравнивания 201, который подготавливает последовательности для кодирования путем выравнивания ридов с референсной последовательностью. В качестве альтернативы может использоваться сборщик de-novo 202 для создания референсной последовательности из доступных ридов путем поиска перекрывающихся префиксов или суффиксов, так что из ридов могут быть собраны более длинные сегменты (называемые контигами). После обработки сборщиком de-novo 202 рида можно картировать на полученной более длинной последовательности. Выровненные последовательности затем классифицируются модулем классификации данных 204. Затем классы данных 208 подаются в кодеры слоев 205-207. Геномные слои 2011 затем подаются в арифметические кодеры 2012-2014, которые кодируют слои в соответствии со статистическими свойствами данных или метаданных, содержащихся в этом слое. В результате получают геномный поток 2015.In FIG. 20 shows an encoder 207 in accordance with the principles of this invention. Encoder 207 takes as input raw sequence data 209, such as those generated by genome sequencing machine 200. Encoder 207 takes as input raw sequence data 209, such as generated by genome sequencing machine 200. Genome sequencing machine 200 is known in the art, such as Illumina HiSeq 2500 or Thermo-Fisher Ion Torrent devices. The raw sequence data 209 is passed to an alignment module 201 which prepares the sequences for encoding by aligning the reads with the reference sequence. Alternatively, the de-novo assembler 202 can be used to generate a reference sequence from the available reads by looking for overlapping prefixes or suffixes so that longer segments (called contigs) can be assembled from the reads. After being processed by the de-novo 202 assembler, the reads can be mapped onto the resulting longer sequence. The aligned sequences are then classified by data classification module 204. The data classes 208 are then fed to layer encoders 205-207. The genomic layers 2011 are then fed into arithmetic encoders 2012-2014, which encode the layers according to the statistical properties of the data or metadata contained in that layer. As a result, the genomic stream 2015 is obtained.

На фиг. 21 показано устройство декодирования 218 в соответствии с принципами этого изобретения. Устройство декодирования 218 принимает мультиплексированный геномный битовый поток 2110 из сети или элемента хранения. Мультиплексированный геномный битовый поток 2110 подается в демультиплексор 210 для создания отдельных потоков 211, которые затем подаются в энтропийные декодеры 212-214, для получения геномных слоев 215. Извлеченные геномные слои подаются в декодеры слоев 216-217 для дальнейшего декодирования слоев в классы данных. Декодеры классов 219 дополнительно обрабатывают дескрипторы генома и объединяют результаты для получения несжатых ридов последовательностей, которые затем могут быть дополнительно сохранены в форматах, известных в данной облас- 13 040022 ти техники, например, в текстовом файле или сжатом zip-файле, или файлах FASTQ или SAM/BAM.In FIG. 21 shows a decoding device 218 in accordance with the principles of this invention. The decoder 218 receives the multiplexed genomic bitstream 2110 from the network or storage element. The multiplexed genomic bit stream 2110 is fed to a demultiplexer 210 to create separate streams 211, which are then fed to entropy decoders 212-214 to obtain genomic layers 215. The extracted genomic layers are fed to layer decoders 216-217 for further decoding of the layers into data classes. Class 219 decoders further process the genome descriptors and combine the results to produce uncompressed sequence reads, which can then be further stored in formats known in the art, such as a text file or a compressed zip file, or FASTQ files or SAM/BAM.

Декодеры классов 219 способны восстанавливать исходные геномные последовательности, используя информацию об исходных референсных последовательностях, переносимых одним или более геномными потоками. В случае, если референсные последовательности не транспортируются геномными потоками, они должны быть доступны на стороне декодирования и доступны декодерам классов.Class 219 decoders are capable of reconstructing original genomic sequences using information about the original reference sequences carried by one or more genomic streams. If reference sequences are not transported by genomic streams, they should be available on the decoding side and available to class decoders.

Раскрытые в настоящем документе способы изобретения могут быть реализованы в виде аппаратного обеспечения, программного обеспечения, прошивки или любой их комбинации. При реализации в программном обеспечении они могут храниться на компьютерном носителе и реализоваться аппаратным процессором. Аппаратный процессор может содержать один или более процессоров, процессоров цифровых сигналов, микропроцессоров общего назначения, специализированных интегральных схем или других дискретных логических схем.The methods of the invention disclosed herein may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, they may be stored on a computer medium and executed by a hardware processor. A hardware processor may comprise one or more processors, digital signal processors, general purpose microprocessors, application specific integrated circuits, or other discrete logic circuits.

Способы согласно настоящему изобретению могут быть реализованы в различных устройствах или приборах, включая мобильные телефоны, настольные компьютеры, серверы, планшеты и тому подобное.The methods of the present invention may be implemented in a variety of devices or devices, including mobile phones, desktop computers, servers, tablets, and the like.

Claims (10)

ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Реализуемый на компьютере способ сжатия данных геномной последовательности, где указанные данные геномной последовательности содержат риды последовательностей нуклеотидов, включающий следующие этапы:1. A computer-implemented method for compressing genomic sequence data, wherein said genomic sequence data contains reads of nucleotide sequences, comprising the following steps: выравнивание указанных ридов с одной или более референсными последовательностями с получением, таким образом, выровненных ридов, классификация указанных выровненных ридов в различные классы, включающие по меньшей мере первый класс: если указанные выровненные риды совпадают с указанными одной или более референсными последовательностями без каких-либо ошибок;aligning said reads with one or more reference sequences, thereby obtaining aligned reads, classifying said aligned reads into different classes, including at least the first class: if said aligned reads match said one or more reference sequences without any errors ; второй класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из числа положений, в которых секвенатор не смог определить ни одного основания;second class: if the specified aligned reads match an area in the specified one or more reference sequences with a mismatch count consisting of the number of positions where the sequencer could not determine any base; третий класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из положений, в которых секвенатор не смог определить ни одного основания, и присутствия инсерций, или делеций, или обрезанных нуклеотидов;third class: if said aligned reads match a region in said one or more reference sequences with a number of mismatches consisting of positions where the sequencer could not detect any bases and the presence of insertions or deletions or truncated nucleotides; четвертый класс: если указанные выровненные риды не находят какого-либо достоверного картирования на указанной одной или более референсных последовательностях в соответствии с указанными ограничениями выравнивания с получением таким образом классов выровненных ридов; и кодирование указанных классифицированных и выровненных ридов в виде множества слоев синтаксических элементов, содержащих дескрипторы, причем для указанного первого класса указанные дескрипторы включают по меньшей мере начальное положение в референсной последовательности, флаг, сигнализирующий о том, что рид должен рассматриваться как обратный комплемент к референсу, расстояние до партнера пары в случае спаренных ридов, значение длины в случае, когда технология секвенирования дает риды переменной длины; для указанного второго класса дескрипторы включают по меньшей мере дескрипторы первого класса и положение несовпадения для каждого несовпадения; для указанного третьего класса дескрипторы включают дескрипторы указанного второго класса и положение несовпадения и тип несовпадения для каждого несовпадения; для указанного четвертого класса дескрипторы включают дескрипторы указанного первого класса и тип несовпадения для каждого несовпадения, где указанное кодирование указанных классифицированных выровненных ридов в виде множества слоев синтаксических элементов включает выбор указанных синтаксических элементов, содержащих указанные дескрипторы, в соответствии с указанными классами выровненных ридов, причем кодирование указанных классифицированных выровненных ридов в виде множества слоев синтаксических элементов осуществляется с применением конкретного энтропийного кодера 2012-2014.fourth class: if said aligned reads do not find any valid mapping on said one or more reference sequences according to said alignment constraints, thus obtaining aligned read classes; and encoding said classified and aligned reads as a plurality of layers of syntactic elements containing descriptors, wherein for said first class, said descriptors include at least an initial position in the reference sequence, a flag signaling that the read should be considered as an inverse complement to the reference, distance to the partner of the pair in the case of paired reads, length value in the case when the sequencing technology produces reads of variable length; for said second class, the descriptors include at least the first class descriptors and a mismatch position for each mismatch; for said third class, the descriptors include the descriptors of said second class and the mismatch position and mismatch type for each mismatch; for the specified fourth class, the descriptors include the descriptors of the specified first class and the mismatch type for each mismatch, where the specified encoding of the specified classified aligned reads as a plurality of layers of syntax elements includes the selection of the specified syntax elements containing the specified descriptors, in accordance with the specified classes of aligned reads, and the encoding of the specified classified aligned reads in the form of a plurality of layers of syntactic elements is carried out using a specific entropy encoder 2012-2014. 2. Способ по п.1, характеризующийся тем, что слои синтаксических элементов дополнительно содержат положение варианта относительно референсной последовательности, тип варианта, положение делеции относительно референсной последовательности, положение одного или более символов, отсутствующих в референсной последовательности, но присутствующих в выровненных ридах, тип инсерции в данном положении.2. The method according to claim 1, characterized in that the layers of syntax elements additionally contain the position of the variant relative to the reference sequence, the type of the variant, the position of the deletion relative to the reference sequence, the position of one or more characters that are absent in the reference sequence but are present in aligned reads, the type inserts in this position. 3. Способ по п.1, характеризующийся тем, что указанный энтропийный кодер является контекстноадаптивным арифметическим кодером.3. The method of claim 1, wherein said entropy encoder is a context-adaptive arithmetic encoder. 4. Способ распаковки геномного потока, сжатого способом по п.1, причем указанный способ включает следующие этапы:4. A method for decompressing a genomic stream compressed by the method of claim 1, said method comprising the following steps: синтаксический анализ и декодирование 212-214 сжатого геномного потока в геномные слои синтаксических элементов 215, декодирование указанных геномных слоев в классы данных 216-217, разворачивание указанных геномных слоев в классифицированные риды последовательностей нук- 14 040022 леотидов, выборочное декодирование с помощью декодеров 219 классов указанных классифицированных ридов последовательностей нуклеотидов и объединение результатов на одной или более референсных последовательностях с получением несжатых ридов последовательностей нуклеотидов.parsing and decoding 212-214 of the compressed genomic stream into genomic layers of syntactic elements 215, decoding said genomic layers into data classes 216-217, unfolding said genomic layers into classified nucleotide sequence reads 14 040022 leotides, selective decoding using decoders 219 of classes of said classified reads of nucleotide sequences; and combining the results on one or more reference sequences to obtain uncompressed reads of nucleotide sequences. 5. Геномный кодер 2010 для сжатия данных геномной последовательности 209, причем указанные данные геномной последовательности 209 содержат риды последовательностей нуклеотидов, причем указанный геномный кодер 2010 содержит модуль выравнивания 201, сконфигурированный для выравнивания указанных ридов с одной или более референсными последовательностями с получением, таким образом, выровненных ридов, модуль классификации данных 204, сконфигурированный для классификации указанных выровненных ридов в различные классы, включающие по меньшей мере первый класс: если указанные выровненные риды совпадают с указанными одной или более референсными последовательностями без каких-либо ошибок;5. Genomic encoder 2010 for compressing genomic sequence data 209, said genomic sequence data 209 comprising reads of nucleotide sequences, said genomic encoder 2010 comprising an alignment module 201 configured to align said reads with one or more reference sequences, thereby obtaining aligned reads, a data classification module 204 configured to classify said aligned reads into different classes, including at least the first class: if said aligned reads match said one or more reference sequences without any errors; второй класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из числа положений, в которых секвенатор не смог определить ни одного основания;second class: if the specified aligned reads match an area in the specified one or more reference sequences with a mismatch count consisting of the number of positions where the sequencer could not determine any base; третий класс: если указанные выровненные риды совпадают с областью в указанной одной или более референсных последовательностях с числом несовпадений, состоящим из положений, в которых секвенатор не смог определить ни одного основания, и присутствия инсерций, или делеций, или обрезанных нуклеотидов;third class: if said aligned reads match a region in said one or more reference sequences with a number of mismatches consisting of positions where the sequencer could not detect any bases and the presence of insertions or deletions or truncated nucleotides; четвертый класс: если указанные выровненные риды не находят какого-либо достоверного картирования на указанной одной или более референсных последовательностях в соответствии с указанными ограничениями выравнивания с получением, таким образом, классов выровненных ридов;fourth class: if said aligned reads do not find any valid mapping on said one or more reference sequences according to said alignment constraints, thus obtaining aligned read classes; один или более кодирующих слои модулей 205-207, сконфигурированных для кодирования указанных классифицированных выровненных ридов в виде слоев синтаксических элементов, содержащих дискрипторы, путем выбора указанных синтаксических элементов в соответствии с указанными классами выровненных ридов, где для указанного первого класса указанные дескрипторы включают по меньшей мере начальное положение в референсной последовательности, флаг, сигнализирующий о том, что рид должен рассматриваться как обратный комплемент к референсу, расстояние до партнера пары в случае спаренных ридов, значение длины в случае, когда технология секвенирования дает риды переменной длины; для указанного второго класса дескрипторы включают по меньшей мере дескрипторы первого класса и положение несовпадения для каждого несовпадения; для указанного третьего класса дескрипторы включают дескрипторы указанного второго класса и положение несовпадения и тип несовпадения для каждого несовпадения; для указанного четвертого класса дескрипторы включают дескрипторы указанного первого класса и тип несовпадения для каждого несовпадения, энтропийный кодер 2012-2014 для энтропийного кодирования указанных слоев синтаксических элементов.one or more layer-encoding modules 205-207 configured to encode said classified aligned reads as syntax element layers containing descriptors by selecting said syntax elements according to said aligned read classes, where for said first class, said descriptors include at least initial position in the reference sequence, a flag indicating that the read should be considered as an inverse complement to the reference, the distance to the partner of the pair in the case of paired reads, the length value in the case when the sequencing technology produces reads of variable length; for said second class, the descriptors include at least the first class descriptors and a mismatch position for each mismatch; for said third class, the descriptors include the descriptors of said second class and the mismatch position and mismatch type for each mismatch; for the specified fourth class, the descriptors include the descriptors of the specified first class and the type of mismatch for each mismatch, entropy encoder 2012-2014 for entropy coding of the specified layers of syntactic elements. 6. Геномный декодер 218 для распаковки геномного потока 211, сжатого геномным кодером по п.6, причем указанный геномный декодер 218 содержит средства синтаксического анализа и декодирования 210, 212-214, сконфигурированные для синтаксического анализа указанного сжатого геномного потока в геномные слои синтаксических элементов 215, один или более декодеров слоев 216-217, сконфигурированных для декодирования геномных слоев в классы данных, и дополнительно сконфигурированный для обработки указанных геномных слоев в классифицированные риды последовательностей нуклеотидов 2111, декодеры классов геномных данных 213, сконфигурированные для выборочного декодирования указанных классифицированных ридов последовательностей нуклеотидов и объединения результата по одной или нескольким референсным последовательностям с получением несжатых ридов последовательностей нуклеотидов.6. A genomic decoder 218 for decompressing a genomic stream 211 compressed by the genomic encoder of claim 6, said genomic decoder 218 comprising parsing and decoding means 210, 212-214 configured to parse said compressed genomic stream into genomic layers of syntax elements 215 , one or more layer decoders 216-217 configured to decode genomic layers into data classes, and further configured to process said genomic layers into classified nucleotide sequence reads 2111, genomic data class decoders 213 configured to selectively decode said classified nucleotide sequence reads, and combining the result for one or more reference sequences to obtain uncompressed reads of nucleotide sequences. 7. Геномный декодер по п.6, характеризующийся тем, что одна или более референсных последовательностей хранятся в сжатом потоке генома 211.7. Genomic decoder according to claim 6, characterized in that one or more reference sequences are stored in the compressed genome stream 211. 8. Геномный декодер по п.6, характеризующийся тем, что одна или более референсных последовательностей подаются в декодер по внеполосному механизму.8. Genomic decoder according to claim 6, characterized in that one or more reference sequences are fed into the decoder by an out-of-band mechanism. 9. Геномный декодер по п.6, характеризующийся тем, что одна или более референсных последовательностей строятся в указанном декодере.9. Genomic decoder according to claim 6, characterized in that one or more reference sequences are built in the specified decoder. 10. Машиночитаемый носитель, содержащий инструкции, которые при их выполнении приводят к осуществлению по меньшей мере одним процессором способа по любому из пп.1-4.10. A computer-readable medium containing instructions that, when executed, cause at least one processor to perform the method of any one of claims 1-4.
EA201990935 2016-10-11 METHOD AND DEVICE FOR COMPACT REPRESENTATION OF BIOINFORMATICS DATA EA040022B1 (en)

Publications (1)

Publication Number Publication Date
EA040022B1 true EA040022B1 (en) 2022-04-11

Family

ID=

Similar Documents

Publication Publication Date Title
US20200051665A1 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
CA3039688C (en) Efficient data structures for bioinformatics information representation
US11386979B2 (en) Method and system for storing and accessing bioinformatics data
CA3052773A1 (en) Method and systems for the efficient compression of genomic sequence reads
AU2018221458B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
JP7362481B2 (en) A method for encoding genome sequence data, a method for decoding encoded genome data, a genome encoder for encoding genome sequence data, a genome decoder for decoding genome data, and a computer-readable recording medium
EP3526711B1 (en) Method and apparatus for compact representation of bioinformatics data
US20200051668A1 (en) Method and system for the transmission of bioinformatics data
JP7324145B2 (en) Methods and systems for efficient compaction of genomic sequence reads
EA040022B1 (en) METHOD AND DEVICE FOR COMPACT REPRESENTATION OF BIOINFORMATICS DATA
CN110663022B (en) Method and apparatus for compact representation of bioinformatic data using genomic descriptors
NZ757185B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
EA043338B1 (en) METHOD AND DEVICE FOR COMPACT REPRESENTATION OF BIOINFORMATION DATA USING SEVERAL GENOMIC DESCRIPTORS