BR112019016232A2 - método e sistemas para a compressão eficiente de leituras de sequencia genômica - Google Patents

método e sistemas para a compressão eficiente de leituras de sequencia genômica Download PDF

Info

Publication number
BR112019016232A2
BR112019016232A2 BR112019016232A BR112019016232A BR112019016232A2 BR 112019016232 A2 BR112019016232 A2 BR 112019016232A2 BR 112019016232 A BR112019016232 A BR 112019016232A BR 112019016232 A BR112019016232 A BR 112019016232A BR 112019016232 A2 BR112019016232 A2 BR 112019016232A2
Authority
BR
Brazil
Prior art keywords
readings
signal
descriptor
reading
fact
Prior art date
Application number
BR112019016232A
Other languages
English (en)
Inventor
Alberti Claudio
Khoso Baluch Mohamed
Original Assignee
Genomsys Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/EP2016/074301 external-priority patent/WO2018068828A1/en
Priority claimed from PCT/EP2016/074307 external-priority patent/WO2018068829A1/en
Priority claimed from PCT/EP2016/074311 external-priority patent/WO2018068830A1/en
Priority claimed from PCT/EP2016/074297 external-priority patent/WO2018068827A1/en
Priority claimed from PCT/US2017/041579 external-priority patent/WO2018071078A1/en
Application filed by Genomsys Sa filed Critical Genomsys Sa
Priority claimed from PCT/US2017/066863 external-priority patent/WO2018151788A1/en
Publication of BR112019016232A2 publication Critical patent/BR112019016232A2/pt

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/10Ploidy or copy number detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/20Sequence assembly
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/10Signal processing, e.g. from mass spectrometry [MS] or from PCR
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/10Ontologies; Annotations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/40Encryption of genetic data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B99/00Subject matter not provided for in other groups of this subclass
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Epidemiology (AREA)
  • Evolutionary Computation (AREA)
  • Public Health (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Labeling Devices (AREA)
  • Television Signal Processing For Recording (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)

Abstract

são revelados um método e um aparelho para a compressão de dados de sequência do genoma produzidos por máquinas de sequenciamento de genoma. as leituras de sequência são codificadas alinhando-as com relação a sequências de referência pré-existentes ou construídas, o processo de codificação é composto de uma classificação das leituras em classes de dados seguida pela codificação de cada classe em termos de uma multiplicidade de descritores genômicos. os descritores genômicos do mesmo tipo são organizados em blocos que são comprimidos aplicando sucessivas etapas de transformação, binarização e codificação de entropia. modelos específicos de fontes e codificadores de entropia são usados para cada classe de dados e para cada descritor associado.

Description

MÉTODO E SISTEMAS PARA A COMPRESSÃO EFICIENTE DE LEITURAS DE SEQUENCIA GENÔMICA
REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS [001] Este pedido reivindica a prioridade e o benefício dos pedidos de patente PCT / US2017 / 041579, depositado em 11 de julho de 2017, e PCT / US17 / 17842 depositado em 14 de fevereiro de 2017.
CAMPO TÉCNICO DA INVENÇÃO [002] Esta invenção proporciona um novo método de representação de dados de sequenciamento do genoma que reduz o espaço de armazenamento utilizado e melhora o desempenho de acesso, proporcionando nova funcionalidade que não é disponível com métodos conhecidos de representação do estado da técnica. ANTECEDENTES DA INVENÇÃO [003] Uma representação apropriada dos dados de sequenciamento do genoma é fundamental para permitir aplicações de análise genômica eficientes, como a chamada de variantes do genoma e todas as outras análises realizadas com vários objetivos, envolvendo o processamento de dados de sequenciamento e de metadados.
[004] O sequenciamento do genoma humano tornou-se acessível pelo surgimento de tecnologias de sequenciamento de baixo custo e alta produtividade. Tal oportunidade abre novas perspectivas em diversos campos, desde o diagnóstico e tratamento do câncer até a identificação de doenças genéticas, desde a vigilância de patógenos para a identificação de anticorpos até a criação de novas vacinas, medicamentos e a personalização de tratamentos feitos sob medida.
[005] Hospitais, fornecedores de análises genômicas, bioinformática e grandes centros de armazenamento de dados biológicos estão à procura de soluções de processamento de informações genômicas acessíveis, rápidas, confiáveis e interconectadas que possam permitir o dimensionamento da medicina genômica em escala mundial. Como um dos gargalos no processo de sequenciamento tornou-se armazenamento de dados, métodos para representar dados de
Petição 870190075597, de 06/08/2019, pág. 44/478
2/85 sequenciamento do genoma em uma forma compactada são cada vez mais investigados.
[006] As representações de informação de genoma mais utilizadas nos dados de sequenciamento são baseadas nos formatos FASTQ e SAM. O objetivo é compactar os formatos de arquivo usados tradicionalmente (respectivamente FASTQ e SAM para dados não alinhados e alinhados). Tais arquivos são constituídos por caracteres de texto simples e são compactados, como mencionado acima, usando abordagens de propósito geral, tais como esquemas LZ (de Lempel e Ziv, os autores que publicaram as primeiras versões) (o conhecido zip, gzip etc). Quando compressores de uso geral, como o gzip, são usados, o resultado da compactação é geralmente um único blob de dados binários. A informação em tal forma monolítica resulta bastante difícil arquivar, transferir e elaborar particularmente quando, como no caso de sequenciamento de alto rendimento, o volume de dados é extremamente grande. O formato BAM é caracterizado por baixo desempenho de compactação devido ao foco na compactação do formato SAM ineficiente e redundante, em vez de extrair as informações genômicas reais transmitidas pelos arquivos SAM e devido à adoção de algoritmos de compressão de texto de uso geral, como gzip explorando a natureza específica de cada fonte de dados (os próprios dados genômicos).
[007] Uma abordagem mais sofisticada à compactação de dados genômicos que é menos usada, mas mais eficiente que a BAM, é a CRAM. O CRAM fornece compactação mais eficiente para a adoção de codificação diferencial em relação a uma referência (explora parcialmente a redundância da fonte de dados), mas ainda não possui recursos como atualizações incrementais, suporte para streaming e acesso seletivo a classes específicas de dados compactados.
[008] Essas abordagens geram baixas taxas de compactação e estruturas de dados que são difíceis de navegar e manipular quando compactadas. A análise a jusante pode ser muito lenta devido à necessidade de lidar com estruturas de dados grandes e rígidas, mesmo para executar operações simples ou para acessar regiões selecionadas do conjunto de dados genômicos. O CRAM conta
Petição 870190075597, de 06/08/2019, pág. 45/478
3/85 com o conceito do registro CRAM. Cada registro CRAM representa uma única leitura mapeada ou não mapeada, codificando todos os elementos necessários para reconstruí-la.
[009] O CRAM apresenta as seguintes desvantagens e limitações que são resolvidas e removidas pela invenção descrita nesta invenção:
[010] 1. O CRAM não suporta indexação de dados e acesso aleatório a subconjuntos de dados que compartilham recursos específicos. A indexação de dados está fora do escopo da especificação (consulte a seção 12 da especificação CRAM v 3.0) e ela é implementada como um arquivo separado. Inversamente, a abordagem da invenção descrita nesta invenção emprega um método de indexação de dados que é integrado com o processo de codificação e os índices são incorporados no fluxo de bits codificado (isto é, comprimido).
[011] 2. O CRAM é construído por blocos de dados centrais que podem conter qualquer tipo de leitura mapeada (leituras perfeitamente correspondentes, leituras somente com substituições, leituras com inserções ou exclusões (também chamadas de “indels”)). Não há noção de classificação de dados e agrupamento de leituras em classes de acordo com o resultado do mapeamento em relação a uma sequência de referência. Isso significa que todos os dados precisam ser inspecionados, mesmo que apenas leituras com recursos específicos sejam pesquisadas. Tal limitação é resolvida pela invenção, classificando e particionando dados em classes antes da codificação.
[012] 3. O CRAM é baseado no conceito de encapsular cada um lido em um “registro CRAM”. Isto implica a necessidade de inspecionar cada “registro” completa quando a leitura é caracterizada por características biológicas específicas (por exemplo, leituras com substituições, mas sem “indels”, ou leituras perfeitamente mapeadas) são pesquisados.
[013] Inversamente, na presente invenção existe a noção de classes de dados codificadas separadamente em blocos de informação separados e não há noção de registro encapsulando cada leitura. Isso permite um acesso mais eficiente ao conjunto de leituras com características biológicas específicas (por exemplo,
Petição 870190075597, de 06/08/2019, pág. 46/478
4/85 leituras com substituições, mas sem indels ou leituras perfeitamente mapeadas) sem a necessidade de decodificar cada (bloco) leitura (s) para inspecionar seus recursos.
[014] 4. Em um registro CRAM, cada campo de registro é associado a um sinalizador específico e cada sinalizador deve sempre ter o mesmo significado, pois não há noção de contexto, pois cada registro CRAM pode conter qualquer tipo diferente de dados. Esse mecanismo de codificação introduz informações redundantes e impede o uso de codificação de entropia baseada em contexto eficiente.
[015] Em vez disso, na presente invenção, não há noção de denotação de bandeira porque esta é intrinsecamente definida pelo “bloco” de informação ao qual os dados pertencem. Isto implica um número largamente reduzido de símbolos a serem utilizados e uma consequente redução da entropia da fonte de informação que resulta numa compressão mais eficiente. Essa melhoria é possível porque o uso de diferentes “blocos” permite ao codificador reutilizar o mesmo símbolo em cada bloco com diferentes significados de acordo com o contexto. No CRAM, cada sinalizador deve sempre ter o mesmo significado, pois não há noção de contexto e cada registro CRAM pode conter qualquer tipo de dado.
[016] 5. Nas substituições de CRAM, inserções e exclusões são representadas usando diferentes elementos de sintaxe, opção que aumenta o tamanho do alfabeto da fonte de informação e produz uma entropia de origem mais alta. Por outro lado, a abordagem da invenção divulgada usa um único alfabeto e codifica para substituições, inserções e deleções. Isso torna o processo de codificação e decodificação mais simples e produz um modelo de fonte de entropia mais baixa, cuja codificação gera fluxos de bits caracterizados por um alto desempenho de compactação.
[017] A presente invenção tem por objetivo compactar sequências genômicas através da classificação e particionamento de dados de sequenciamento de modo que a informação redundante a ser codificada seja minimizada e recursos como
Petição 870190075597, de 06/08/2019, pág. 47/478
5/85 acesso seletivo e suporte para atualizações incrementais sejam ativados diretamente no domínio compactado.
[018] Um dos aspectos da abordagem apresentada é a definição de classes de dados e metadados estruturados em diferentes blocos e codificados separadamente. As melhorias mais relevantes dessa abordagem em relação aos métodos existentes consistem em:
1. aumento do desempenho de compressão devido à redução da entropia fonte de informação constituída pelo fornecimento de um modelo de fonte eficiente para cada classe de dados ou metadados;
2. possibilidade de realizar acessos seletivos a partes dos dados compactados e metadados para qualquer outra finalidade de processamento diretamente no domínio compactado;
3. possibilidade de incrementalmente (ou seja, sem a necessidade de decodificação e recodificação) atualiza dados compactados e metadados com novos dados de sequenciamento e/ou metadados e/ou novos resultados de análise associados a conjuntos específicos de leituras de sequenciamento. BREVE DESCRIÇÃO DOS DESENHOS [019] A Figura 1 mostra a definição de read 1 e read 2 em um par lido e a definição do nucleotídeo mais à esquerda e à direita em uma leitura mapeada.
[020] A Figura 2 mostra como uma Unidade de Acesso encapsula descritores comprimidos representando leituras de sequência mapeadas em um intervalo contíguo da sequência de referência. As informações de cabeçalho são anexadas aos descritores compactados para permitir a análise de dados.
[021] A Figura 3 mostra como uma Unidade de Acesso do tipo P é composta por um cabeçalho e a multiplexação de blocos de descritores representando as posições de mapeamento de leituras (pos), a informação de complemento reverso (rcomp), a informação de pareamento em caso de leituras finais em pares (pair), o comprimento das leituras no caso de comprimento de leituras variáveis (rlen) e sinalizadores de mapeamento (flags). É usado para codificar leituras da classe P.
Petição 870190075597, de 06/08/2019, pág. 48/478
6/85 [022] A Figura 4 mostra o cálculo do descritor pos de um par de leituras mapeadas onde o par de leituras n é mapeado na posição Pn e o par de leituras n + 1 é mapeado na posição Pm.
[023] A Figura 5 mostra como calcular a posição de mapeamento absoluto de uma base em uma sequência de referência.
[024] A Figura 6 mostra o uso do descritor rcomp para leituras finais em pares. [025] A Figura 7 mostra um exemplo de como calcular posições erradas em um par de leitura.
[026] A Figura 8 mostra como o comprimento do registro genômico e a distância de pareamento são calculados.
[027] A Figura 9 mostra vários alinhamentos sem emenda. A leitura mais à esquerda tem N alinhamentos. N é o primeiro valor do mmap a ser decodificado e sinaliza o número de alinhamentos da primeira leitura. Os seguintes valores N do descritor mmap são decodificados e são usados para calcular P, que é o número de alinhamentos da segunda leitura.
[028] A Figura 10 mostra como os descritores pos, pair e mmap são usados para codificar vários alinhamentos sem emendas. A leitura mais à esquerda tem N alinhamentos.
[029] A Figura 11 mostra vários alinhamentos com emendas.
[030] A Figura 12 mostra vários alinhamentos com emendas. Uso dos descritores pos, pair, mmap e msar para representar alinhamentos múltiplos com emendas.
[031] A Figura 13 representa um aparelho codificador compreendendo as etapas de alinhar sequências genômicas em relação a um genoma de referência, gerando descritores representando as sequências genômicas em relação ao genoma de referência, comprimindo cada bloco de descritores com um codificador de entropia dedicado.
[032] A Figura 14 mostra o processo de decodificação de um fluxo de bits comprimido compreendendo as etapas de desmultiplexagem do fluxo de bits de entrada para extrair os descritores codificados de entropia, decodificação de
Petição 870190075597, de 06/08/2019, pág. 49/478
7/85 entropia de cada tipo de descritores, decodificação de sequências de sequências alinhadas utilizando o genoma de referência.
[033] A Figura 15 mostra como os codificadores de dados das classes N, M e I são configurados com vetores de limites e geram subclasses separadas das classes de dados N, M e I.
[034] A Figura 16 mostra como pares de leitura meio mapeados (classe HM) podem ser usados para preencher regiões desconhecidas de uma sequência de referência, montando contigs mais longos com leituras não mapeadas.
[035] A Figura 17 mostra como as transformações de referência podem ser aplicadas para remover incompatibilidades de leituras. Em alguns casos, as transformações de referência podem gerar novas incompatibilidades ou alterar o tipo de incompatibilidades encontradas ao se referir à referência antes que a transformação tenha sido aplicada.
[036] A Figura 18 mostra como as transformações de referência podem alterar as leituras das classes quando todas ou um subconjunto de incompatibilidades são removidas (isto é, a leitura pertencente à classe M antes da transformação ser atribuída à Classe P após a transformação da referência ter sido aplicada).
[037] A Figura 19 mostra como todas as classes de dados podem usar a mesma referência transformada para recodificação ou uma transformação diferente pode ser usada para cada classe N, M e I, ou qualquer combinação delas.
SUMÁRIO DA INVENÇÃO [038] As características das reivindicações abaixo resolvem o problema das soluções do estado da técnica proporcionando um modo para codificar os dados da sequência do genoma, compreendendo os ditos dados da sequência do genoma leituras de sequências de nucleotídeos, o referido método compreendendo as etapas de:
alinhar as referidas leituras a uma ou mais sequências de referência, criando assim leituras alinhadas,
Petição 870190075597, de 06/08/2019, pág. 50/478
8/85 classificar as referidas leituras alinhadas de acordo com regras de correspondência especificadas com a dita uma ou mais sequências de referência, criando desse modo classes de leituras alinhadas, codificar as leituras alinhadas classificadas como uma multiplicidade de blocos de elementos de sintaxe, estruturar os ditos blocos de elementos do cabeçalho com informações de cabeçalho, criando sucessivas Unidades de Acesso, em que a referida codificação compreende ainda descritores genômicos de codificação de binarização e entropia.
[039] Num outro aspecto do método de codificação, os referidos descritores genômicos de codificação de binarização e entropia são tais que a codificação de binarização e de entropia é diferente para os diferentes descritores.
[040] Em outro aspecto do método de codificação, os ditos descritores compreendem:
pos para sinalizar a posição de mapeamento de uma leitura em uma sequência de referência, rcomp para sinalizar a cadeia de DNA ou RNA, as leituras foram mapeadas em sinalizadores de mapeamento para permitir que o alinhador especificasse ainda mais o resultado do processo de mapeamento.
[041] Num outro aspecto, o método de codificação compreende ainda a codificação dos seguintes descritores:
mmpos para sinalização da posição das incompatibilidades nas leituras alinhadas em relação às sequências de referência, mmtype para sinalizar os tipos de incompatibilidade em relação às sequências de referência nas posições associadas.
[042] Num outro aspecto, o método de codificação compreende ainda a codificação do descritor clips para sinalização de nucleotideos cortados suaves ou duros.
Petição 870190075597, de 06/08/2019, pág. 51/478
9/85 [043] Num outro aspecto, o método de codificação compreende ainda a codificação do descritor de ramificação para sinalizar o comprimento de cada sequência de leitura codificada.
[044] Num outro aspecto, o método de codificação compreende ainda a codificação dos seguintes descritores:
mmap para sinalizar as múltiplas posições de mapeamento associadas a um único par de leitura ou leitura pelo procedimento de mapeamento, msar para sinalizar a identificação da existência de leituras emendadas (isto é, leituras que quando divididas em blocos encontram posições de mapeamento com graus mais altos de exatidão de correspondência do que quando são mapeadas como leitura contígua simples mapeada em uma única posição em uma sequência de referência).
[045] Num outro aspecto, o método de codificação compreende ainda a codificação do descritor mscore para assinalar uma pontuação de mapeamento / alinhamento por leitura gerada por alinhadores de leitura de sequências genômicas.
[046] Num outro aspecto, o método de codificação compreende ainda a codificação do descritor de pares para sinalizar, no caso de leituras finais emparelhadas, como as leituras são emparelhadas.
[047] Num outro aspecto, o método de codificação compreende ainda a codificação do descritor de leitura para leituras de sinais que não puderam ser alinhadas em qualquer posição da sequência de referência.
[048] Num outro aspecto, o método de codificação compreende ainda a codificação do descritor rtype utilizado para assinalar o subconjunto de descritores utilizados para codificar leituras de sequências que não podem ser mapeadas em qualquer posição da sequência de referência com graus especificados de precisão de correspondência.
[049] Num outro aspecto, o método de codificação compreende ainda a codificação do descritor rgroup para assinalar a que grupo de leitura a leitura pertence.
Petição 870190075597, de 06/08/2019, pág. 52/478
10/85 [050] Num outro aspecto, o método de codificação compreende ainda a codificação dos seguintes descritores:
rftp para sinalizar a posição das incompatibilidades entre um contig e uma sequência de referência. Posições de incompatibilidades são terminadas por um caractere terminador especial, rftt para sinalizar o tipo de incompatibilidade entre um contig e uma sequência de referência.
[051] Em outro aspecto do método de codificação, o descritor pos é binarizado usando um código unário truncado duplo ou um código unário truncado duplo, o dito descritor rcomp é binarizado usando um código unário truncado, os descritores de flags de mapeamento mencionados são binarizados usando codificação binária.
[052] Em outro aspecto do método de codificação, o referido descritor mmpos para sinalização da posição das discordâncias nas leituras alinhadas em relação às sequências de referência é binarizado usando um código unário truncado de unidade dividida, o dito descritor mmtype para sinalizar os tipos de desemparelhamentos em relação às sequências de referência nas posições associadas é binarizado usando um código unário truncado.
[053] Num outro aspecto do método de codificação, o referido descritor clips para sinalização de nucleotideos cortados suaves ou duros é binarizado utilizando uma concatenação de Golomb Exponencial Truncado Assinado, Unário Truncado, Golomb Exponencial Assinado e Códigos Binários.
[054] Num outro aspecto do método de codificação, o referido descritor de rlen que sinaliza o comprimento de cada leitura de sequência codificada é binarizado utilizando um código unário Truncado por Unidade Dividida.
[055] Em outro aspecto do método de codificação:
o dito descritor mmap para sinalizar as posições de mapeamento múltiplo que estão associadas a um único par de leitura ou leitura pelo procedimento de
Petição 870190075597, de 06/08/2019, pág. 53/478
11/85 mapeamento é binarizado usando um código unário truncado dividido em unidade, o dito descritor ms para sinalizar a identificação da existência de leituras emendadas é binarizado usando um código de Golomb Exponencial Assinado. [056] Num outro aspecto do método de codificação, o referido descritor mscore assinala uma pontuação de mapeamento / alinhamento por leitura, gerada por leituras de sequência genômica, sendo os alinhadores binarizados utilizando um código unário truncado, [057] Num outro aspecto do método de codificação, o referido descritor de pares para sinalizar, no caso de leituras finais emparelhadas, como as leituras são emparelhadas, é binarizado utilizando uma concatenação de Codificação Binária e código Unário Truncado Unitário Dividido.
[058] Num outro aspecto do método de codificação, o referido descritor de leituras de sinal que não pode ser alinhado em qualquer posição da sequência de referência é binarizado utilizando um código Unário Truncado.
[059] Num outro aspecto do método de codificação, o referido descritor rtype utilizado para assinalar o subconjunto de descritores utilizados para codificar leituras de sequências que não podem ser mapeadas em qualquer posição da sequência de referência com graus especificados de precisão de correspondência é binarizado utilizando um código Unary Truncado.
[060] Num outro aspecto do método de codificação, o referido descritor rgroup assinala a que grupo de leitura a leitura pertence é binarizado utilizando um código Unary Truncado.
[061] Em outro aspecto do método de codificação:
o dito descritor rftp para sinalizar a posição de desemparelhamentos entre um contig e uma sequência de referência é binarizado usando uma concatenação de código unário truncado por divisão e codificação binária, o dito descritor rftt para sinalizar o tipo de discordâncias entre um contig e uma sequência de referência é binarizado usando uma concatenação de código binário e código unário truncado.
Petição 870190075597, de 06/08/2019, pág. 54/478
12/85 [062] Num outro aspecto do método de codificação, os parâmetros de configuração para a codificação dos referidos descritores estão contidos num cabeçalho de sintaxe.
[063] Em outro aspecto do método de codificação, os ditos parâmetros de configuração são atualizados pela criação de cabeçalhos de sintaxe atualizados a serem adicionados ao arquivo genômico codificado.
[064] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem um tipo de conjunto de dados para sinalizar o tipo de dados codificados em Unidades de Acesso referentes a estes parâmetros de codificação.
[065] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um comprimento de leituras para sinalizar o comprimento em nucleotídeos de leituras de sequências no caso de comprimentos de leituras constantes.
[066] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um parâmetro de profundidade de valores de qualidade para sinalizar o número de Valores de Qualidade associados a cada nucleotídeo codificado.
[067] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda uma profundidade de pontuação de alinhamento para sinalizar o número de pontuações de alinhamentos associados a cada alinhamento codificado.
[068] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um tamanho de terminador para sinalizar o tamanho em bytes do símbolo de terminador utilizado para o descritor de mmpos.
[069] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um valor de terminador para sinalizar o valor do símbolo de terminador utilizado para o descritor de mmpos.
[070] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda o número de classes para sinalizar o número
Petição 870190075597, de 06/08/2019, pág. 55/478
13/85 de classes de dados codificadas em todas as Unidades de Acesso referentes aos referidos parâmetros de configuração.
[071] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda identificadores de classe para sinalizar os identificadores associados à classe de dados definida nesta invenção (P, N, Μ, I, HM, U).
[072] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda o número de descritores para sinalizar o número total de descritores contidos em Unidades de Acesso referentes aos referidos parâmetros de configuração.
[073] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda identificadores de modo de codificação para sinalizar os modos de codificação definidos nesta invenção.
[074] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um número de grupos de parâmetro para sinalizar o número de valores diferentes do descritor rgroup presente em todas as Unidades de Acesso, referindo-se aos parâmetros de codificação atuais.
[075] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um ou mais parâmetros de nome de grupo para sinalizar um ou mais identificadores de grupo de leitura.
[076] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um sinalizador de alinhamentos múltiplos para sinalizar a presença de alinhamentos múltiplos na Unidade de Acesso.
[077] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um sinalizador de leituras processadas para sinalizar a presença de leituras emendadas na unidade de acesso. Quando definido como 0, não há leituras emendadas.
[078] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um sinalizador de base de assinatura múltipla
Petição 870190075597, de 06/08/2019, pág. 56/478
14/85 para sinalizar a utilização de múltiplas assinaturas numa Unidade de Acesso contendo leituras de sequências não mapeadas (Classe U).
[079] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um tamanho de assinatura para sinalizar o tamanho em bits de cada inteiro representando uma assinatura codificada.
[080] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda parâmetros de expoente da pontuação para sinalizar o número de bits utilizados para codificar a parte do expoente da pontuação de alinhamentos múltiplos codificada no descritor mscore.
[081] Num outro aspecto do método de codificação, os referidos parâmetros de configuração compreendem ainda um parâmetro fracionário de pontuação para sinalizar o número de bits utilizados para codificar a parte fracionária da pontuação de alinhamentos múltiplos codificada no descritor mscore.
[082] A presente invenção proporciona ainda um método para decodificar dados genômicos codificados, os dados da sequência do genoma, compreendendo leituras de sequências de nucleotídeos, o referido método compreendendo as etapas de:
analisar Unidades de Acesso contendo os ditos dados genômicos codificados para extrair vários blocos de descritores genômicos empregando informações de cabeçalho, decodificar a multiplicidade de blocos, em que a dita decodificação da multiplicidade de blocos compreende descritores genômicos de decodificação e de-binarização para extrair leituras alinhadas de acordo com regras de correspondência específicas que definem a sua classificação em relação a uma ou mais sequências de referência.
[083] Em outro aspecto do método de decodificação, os ditos descritores compreendem:
um descritor pos para sinalizar a posição de mapeamento de uma leitura em uma sequência de referência,
Petição 870190075597, de 06/08/2019, pág. 57/478
15/85 um descritor rcomp para sinalizar a cadeia de DNA ou RNA, as leituras sendo mapeadas em flags de mapeamento para permitir que o alinhador especifique ainda mais o resultado do processo de mapeamento.
[084] Num outro aspecto, o método de decodificação compreende ainda a decodificação dos seguintes descritores:
mmpos para sinalização da posição das incompatibilidades nas leituras alinhadas em relação às sequências de referência, mmtype para sinalizar os tipos de incompatibilidade em relação às sequências de referência nas posições associadas.
[085] Num outro aspecto, o método de decodificação compreende ainda a decodificação do descritor clips para sinalização de nucleotideos cortados suaves ou duros.
[086] Num outro aspecto, o método de decodificação compreende ainda a decodificação do descritor de rile para sinalizar o comprimento de cada leitura de sequência codificada.
[087] Num outro aspecto, o método de decodificação compreende ainda a decodificação dos seguintes descritores:
mmap para sinalizar as múltiplas posições de mapeamento associadas a um único par de leitura ou leitura pelo procedimento de mapeamento, msar para sinalizar a identificação da existência de leituras emendadas (isto é, leituras que quando divididas em blocos encontram posições de mapeamento com graus mais altos de exatidão de correspondência do que quando são mapeadas como leitura contígua simples mapeada em uma única posição em uma sequência de referência).
[088] Num outro aspecto, o método de decodificação compreende ainda a decodificação do descritor mscore para assinalar uma pontuação de mapeamento / alinhamento por leitura gerada por alinhadores de leitura de sequências genômicas.
Petição 870190075597, de 06/08/2019, pág. 58/478
16/85 [089] Num outro aspecto, o método de decodificação compreende ainda a decodificação do descritor de pares para sinalizar, no caso de leituras finais emparelhadas, como as leituras são emparelhadas.
[090] Num outro aspecto, o método de decodificação compreende ainda a decodificação do descritor de leitura para leituras de sinal que não puderam ser alinhadas em qualquer posição da sequência de referência.
[091] Num outro aspecto, o método de decodificação compreende ainda a decodificação do descritor rtype utilizado para assinalar o subconjunto de descritores utilizados para codificar leituras de sequências que não podem ser mapeadas em qualquer posição da sequência de referência com graus especificados de precisão de correspondência.
[092] Num outro aspecto, o método de decodificação compreende ainda a decodificação do descritor rgroup para assinalar a que grupo de leitura a leitura pertence.
[093] Num outro aspecto, o método de decodificação compreende ainda a decodificação dos seguintes descritores:
rftp para sinalizar a posição das incompatibilidades entre um contig e uma sequência de referência. Posições de incompatibilidades são terminadas por um caractere terminador especial.
rftt para sinalizar o tipo de incompatibilidade entre um contig e uma sequência de referência.
[094] Num outro aspecto do método de decodificação, os parâmetros de configuração para a decodificação dos referidos descritores são extraídos de um cabeçalho de sintaxe.
[095] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem um tipo de conjunto de dados para sinalizar o tipo de dados codificados em Unidades de Acesso referentes a estes parâmetros de codificação.
[096] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um comprimento de leituras para sinalizar o
Petição 870190075597, de 06/08/2019, pág. 59/478
17/85 comprimento em nucleotídeos de leituras de sequências no caso de comprimentos de leituras constantes.
[097] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um parâmetro de profundidade de valores de qualidade para sinalizar o número de Valores de Qualidade associados a cada nucleotídeo codificado.
[098] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda uma profundidade de pontuação de alinhamento para sinalizar o número de pontuações de alinhamentos associados a cada alinhamento codificado.
[099] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um tamanho de terminador para sinalizar o tamanho em bytes do símbolo de terminador utilizado para o descritor de mmpos.
[100] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um valor de terminador para sinalizar o valor do símbolo de terminador utilizado para o descritor de mmpos.
[101] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda o número de classes para sinalizar o número de classes de dados codificadas em todas as Unidades de Acesso referentes aos referidos parâmetros de configuração.
[102] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda identificadores de classe para sinalizar os identificadores associados à classe de dados definida nesta invenção (P, N, Μ, I, HM, U).
[103] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda o número de descritores para sinalizar o número total de descritores contidos em Unidades de Acesso referentes aos referidos parâmetros de configuração.
Petição 870190075597, de 06/08/2019, pág. 60/478
18/85 [104] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda identificadores de modo de codificação para sinalizar os modos de codificação definidos nesta invenção.
[105] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um número de parâmetros de grupos para sinalizar o número de valores diferentes do descritor rgroup presente em todas as unidades de acesso que se referem aos parâmetros de codificação atuais.
[106] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um ou mais parâmetros de nome de grupo para sinalizar um ou mais identificadores de grupo de leitura.
[107] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um sinalizador de alinhamentos múltiplos para sinalizar a presença de alinhamentos múltiplos na Unidade de Acesso.
[108] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um sinalizador de leituras processadas para sinalizar a presença de leituras processadas na unidade de acesso. Quando definido como 0, não há leituras emendadas.
[109] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um sinalizador de base de assinatura múltipla para sinalizar o uso de múltiplas assinaturas numa Unidade de Acesso contendo leituras de sequências não mapeadas (Classe U).
[110] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um tamanho de assinatura para sinalizar o tamanho em bits de cada inteiro representando uma assinatura codificada.
[111] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda parâmetros de expoente da pontuação para sinalizar o número de bits utilizados para codificar a parte do expoente da pontuação de alinhamentos múltiplos codificada no descritor mscore.
[112] Num outro aspecto do método de decodificação, os referidos parâmetros de configuração compreendem ainda um parâmetro fracionário de pontuação para
Petição 870190075597, de 06/08/2019, pág. 61/478
19/85 sinalizar o número de bits utilizados para codificar a parte fracionária da pontuação de alinhamentos múltiplos codificada no descritor mscore.
[113] A presente invenção proporciona ainda um aparelho de codificação compreendendo meios de codificação para implementar todos os aspectos dos métodos de codificação anteriormente mencionados.
[114] A presente invenção proporciona ainda um aparelho de decodificação para implementar todos os aspectos dos métodos de decodificação anteriormente mencionados.
[115] A presente invenção fornece ainda um formato de arquivo compreendendo os descritores genômicos previamente definidos.
[116] A presente invenção proporciona ainda um meio legível por computador compreendendo instruções que, quando executadas, fazem com que pelo menos um processador execute todos os aspectos dos métodos de codificação mencionados anteriormente.
[117] A presente invenção proporciona ainda um meio legível por computador compreendendo instruções que, quando executadas, fazem com que pelo menos um processador realize todos os aspectos dos métodos de decodificação anteriormente mencionados.
[118] A presente invenção proporciona ainda dados de suporte que armazenam codificação genômica de acordo com o desempenho de todos os aspectos dos métodos de codificação anteriormente mencionados.
DESCRIÇÃO DETALHADA DA INVENÇÃO [119] As sequências genômicas ou proteômicas referidas na presente invenção incluem, por exemplo, e não como limitação, sequências nucleotídicas, sequências de ácido desoxirnbonucleico (DNA), ácido ribonucleico (RNA) e sequências de aminoácidos. Embora a descrição aqui seja em detalhes consideráveis com relação à informação genômica na forma de uma sequência de nucleotídeos, será entendido que os métodos e sistemas para compressão podem ser implementados também para outras sequências genômicas ou
Petição 870190075597, de 06/08/2019, pág. 62/478
20/85 proteômicas, embora com algumas variações, como será entendido por um técnico no assunto.
[120] A informação de sequenciamento do genoma é gerada por máquinas de High Throughput Sequencing (HTS) na forma de sequências de nucleotideos (i.e. bases) representadas por sequências de letras de um vocabulário definido. O menor vocabulário é representado por cinco símbolos: {A, C, G, T, N} representando os 4 tipos de nucleotideos presentes no DNA: adenina, citosina, guanina e timina. Em RNA timina é substituída por uracila (II). N indica que a máquina de sequenciamento não foi capaz de chamar qualquer base e, portanto, a natureza real da posição é indeterminada. Caso os códigos de ambiguidade da IUPAC sejam adotados pela máquina sequenciadora, o alfabeto usado para os símbolos é (A, C, G, T, U, W, S, Μ, K, R, Y, B, D, Η, V , N ou -).
[121] As sequências de nucleotideos produzidas por máquinas de sequenciamento são chamadas de leituras. As leituras de sequência podem ter entre algumas dezenas e milhares de nucleotideos de comprimento. Algumas tecnologias produzem leituras sequenciais em “pares”, onde uma leitura é de uma cadeia de DNA e a segunda é da outra. Uma leitura associada a outra leitura em um processo de sequenciamento produzindo pares é dita como sua companheira.
[122] O processo de organizar leituras de sequência para identificar regiões de similaridade com segmentos de um genoma de referência de acordo com um conjunto de regras de correspondência é chamado de “alinhamento” ou “mapeamento”.
[123] Ao longo desta invenção, uma sequência de referência é uma sequência de nucleotideos associada a um sistema de coordenadas de números inteiros monodimensional, para o qual cada coordenada de número inteiro está associada a um único nucleotídeo. Os valores das coordenadas podem ser iguais ou maiores que zero. Este sistema de coordenadas no contexto deste invento é baseado em zero (isto é, o primeiro nucleotídeo tem a coordenada 0 e diz-se que está na posição 0) e aumenta linearmente da esquerda para a direita. Uma sequência de referência é qualquer sequência na qual as sequências de
Petição 870190075597, de 06/08/2019, pág. 63/478
21/85 nucleotídeos produzidas pelas máquinas de sequenciação são alinhadas / mapeadas. Um exemplo de sequência podería ser, na verdade, um “ genoma de referência ” , uma sequência reunida por cientistas como um exemplo representativo do conjunto de genes de uma espécie. Por exemplo, GRCh37, o genoma humano do Consórcio de Referência do Genoma (build 37) é derivado de treze voluntários anônimos de Buffalo, Nova York. No entanto, uma sequência de referência também pode consistir numa sequência sintética concebida e construída para apenas melhorar a compressibilidade das leituras tendo em vista o seu processamento posterior.
[124] Um elemento comum de abordagens eficientes à compressão de leituras de sequência genômica é a exploração da correlação de dados de sequência em relação a uma sequência de referência. Mesmo que o perfil somático da população humana seja extremamente diversificado, a porção real do número de nucleotídeos que difere de pessoa para pessoa é de apenas 0,1% do número total de nucleotídeos que compõem um genoma inteiro. Portanto, a informação genômica específica que caracteriza cada indivíduo é muito limitada em relação a toda a informação transportada por um genoma inteiro. Quando um genoma de referência preexistente estiver disponível, seja para o sequenciamento anterior ou como uma referência de consenso “média” publicada, a maneira mais comum, a partir de hoje, de codificar a informação é identificar e codificar apenas as diferenças em relação ao genoma de referência.
[125] Para fazer isso com leituras de sequência bruta, geralmente expressas na forma de arquivos de dados FASTQ, uma etapa preliminar de pré-processamento do mapeamento em um genoma de referência. No caso de um genoma de referência apropriado não estiver disponível, ou se a polarização introduzida pelo uso de uma referência específica não é desejável, a construção de uma nova sequência de referência por meio de montagem da leitura de sequência em mãos em sequências mais longas chamadas contigs, é um alternativa possível.
[126] Quando a sequência de mapeamento é lida em uma sequência de referência, a referida sequência de referência é usada como eixo de um sistema
Petição 870190075597, de 06/08/2019, pág. 64/478
22/85 de coordenadas monodimensional no qual a posição mais à esquerda é designada como 0. Para cada sequência lida, mapeada para uma sequência de referência, o nucleotídeo mapeado na posição sequência de referência identificada pelo menor número de coordenada é normalmente referido como o nucleotídeo “mais à esquerda”, ao passo que as sequências de nucleotídeos mapeadas na posição sequência de referência identificada pelo maior número de coordenada é referido como o nucleotídeo “mais à direita”. Isto está ilustrado na Figura 1. Ao longo desta invenção, um nucleotídeo é também referido como uma base.
Quando uma leitura de sequência é mapeada para uma sequência de referência, a coordenada da base mapeada mais à esquerda é representada como representando a posição de mapeamento da leitura na sequência de referência.
[127] Uma base presente na leitura alinhada e não presente na sequência de referência (também conhecida como inserção) e bases preservadas pelo processo de alinhamento mas não mapeadas na sequência de referência (também conhecidas como clips suaves) não possuem posições de mapeamento.
[128] Quando uma leitura de sequência não pode ser mapeada para qualquer posição mapeada das sequências de referência usadas de acordo com as regras de correspondência especificadas, diz-se que ela não está mapeada.
[129] O processo de construir sequências genômicas mais longas procurando regiões sobrepostas entre as leituras de sequência é chamado de arranjo (assembly).
[130] Uma sequência genômica mais longa construída para montar leituras mais curtas é chamada de contig (ver https://en.wikipedia.org/wiki/Contig).
[131] As leituras de sequência que falham ao construir qualquer contig durante um processo de montagem são consideradas desalinhadas.
[132] Um genoma de referência é composto por uma ou mais sequências de referência e é montado por cientistas como um exemplo representativo do conjunto de genes de uma espécie. Por exemplo, GRCh37, o genoma humano do Consórcio de Referência do Genoma (build 37) é derivado de treze voluntários
Petição 870190075597, de 06/08/2019, pág. 65/478
23/85 anônimos de Buffalo, Nova York. No entanto, uma sequência de referência também pode consistir numa sequência sintética concebida e meramente construída para melhorar a compressibilidade das leituras tendo em vista o seu processamento posterior.
[133] Nesta invenção, a leitura que compõe um par de leitura com um mapeamento de base na menor coordenada em uma sequência de referência é referida como Read 1, enquanto sua correspondência é referida como Read 2.
[134] A distância, expressa como o número de nucleotídeos (ou bases), separando duas leituras geradas como um par, por uma máquina de sequenciamento usando a tecnologia atual de sequenciamento de última geração, é desconhecida e é determinada pelo mapeamento de ambas as leituras que compõem o par minimizando funções de correspondência apropriadas) a uma sequência de referência.
[135] Ao longo desta invenção, um registro genômico é uma estrutura de dados que codifica uma leitura de sequência única ou uma leitura de sequência emparelhada opcionalmente associada a informações de alinhamento, identificador de leitura e valores de qualidade.
[136] Ao longo desta invenção, um n de acesso da unidade (UA) é definido como uma estrutura de dados lógica contendo uma representação codificada de informação genômica ou metadados relacionados para facilitar o acesso de fluxo de bits e manipulação. É a menor organização de dados que pode ser decodificada por um dispositivo de decodificação implementando a invenção descrita nesta invenção.
[137] De acordo com o tipo de informação codificada, uma UA pode ser decodificada independentemente de qualquer outra UA ou usando informações contidas em outras UAs.
[138] As UAs podem ser classificadas em uma multiplicidade de tipos de acordo com a natureza dos dados da sequência codificada. Uma Unidade de Acesso contém uma sequência de referência, ou uma parte dela, ou leituras codificadas ou pares de leitura pertencentes a uma única classe de dados. Qualquer UA único
Petição 870190075597, de 06/08/2019, pág. 66/478
24/85 não pode conter dois ou mais tipos de dados de sequência. Por exemplo, uma Unidade de Acesso pode conter todo o cromossomo 1 do GRCh37, o genoma humano do Consórcio de Referência do Genoma (build 37). Outra Unidade de Acesso pode conter a representação codificada de nucleotideos do cromossomo 1 do GRCh37 que estão localizados entre as coordenadas 50 ' 000 e 150 ' 000. Outra Unidade de Acesso pode conter apenas leituras ou pares de leituras que mapeiam perfeitamente a sequência de referência sem qualquer incompatibilidade. Outra Unidade de Acesso pode conter leituras ou pares de leitura que contêm apenas “N” símbolos como incompatibilidades em relação à sequência de referência. Outra Unidade de Acesso pode conter leituras ou pares de leitura que contenham qualquer tipo de substituição (por exemplo, uma base presente no par de leitura ou leitura é diferente da base na posição de mapeamento correspondente na sequência de referência). Outra unidade de acesso pode conter leituras ou pares de leitura que contêm incompatibilidades, inserções, exclusões e bases cortadas flexíveis. Outra unidade de acesso pode conter apenas pares de leitura ou leitura que não mapeiam na sequência de referência. Outra Unidade de Acesso pode conter apenas pares de leitura nos quais uma leitura é mapeada e a outra não é mapeada na sequência de referência. Outro tipo de Unidade de Acesso pode conter apenas segmentos codificados de um genoma de referência composto por uma ou mais sequências de referência (por exemplo, cromossomos).
[139] A característica essencial de uma Unidade de Acesso é que ela contém em formato compactado todos os elementos necessários para reconstruir as informações genômicas (sequências de leitura ou leitura de pares, sequências de referência), informações de alinhamento associadas e metadados de leituras ou pares de leituras que representa. Em outras palavras, para reconstruir completamente as leituras, pares de leitura ou sequência de referência e informações associadas transportadas por uma Unidade de Acesso, é necessário apenas recuperar a própria Unidade de Acesso e, quando aplicável, as Unidades de Acesso contendo a sequência de referência a que se referem.
Petição 870190075597, de 06/08/2019, pág. 67/478
25/85 [140] Em cada Unidade de Acesso, os descritores listados na próxima seção representando os pares de leitura ou leitura codificados são agregados em blocos de dados separados - um por tipo - para explorar suas propriedades estatísticas homogêneas para obter codificação de entropia de alto desempenho.
[141] Cada Unidade de Acesso contém o subconjunto compactado de descritores representando leituras de sequência ou pares de leitura pertencentes à mesma classe mapeada para uma região genômica em uma sequência de referência. Essa região genômica na sequência de referência é definida por uma coordenada de início (ou posição inicial) e uma coordenada final (ou posição final).
[142] Um exemplo de Unidade de Acesso é ilustrado na Figura 2 e na Figura 3. As Unidades de Acesso são compostas por blocos de descritores genômicos codificados (descritos na próxima seção). Para permitir o transporte através de uma rede, os blocos são decompostos em pacotes. Ao compactar leituras de sequência genômica, cada Unidade de Acesso contém um descritor compactado que representa leituras de sequência mapeadas para um intervalo genômico na sequência de referência ou leituras de sequência não mapeadas. As Unidades de Acesso podem ser usadas para transportar genomas de referência ou suas partes. Uma sequência de referência pode ser codificada como uma única sequência longa de nucleotídeos ou dividida em sequências mais curtas codificadas como leituras de sequência genômica não mapeadas.
[143] No contexto desta invenção, as seguintes definições se aplicam:
posição inicial da unidade de acesso: posição de registro genômico mais à esquerda entre todos os registros genômicos contidos na unidade de acesso.
posição final da unidade de acesso: posição base mais à direita entre todas as bases mapeadas de todos os registros genômicos contidos na unidade de acesso.
faixa de unidade de acesso: a faixa genômica compreendida entre a posição inicial da unidade de acesso e a posição do registro genômico mais à direita entre todos os registros genômicos contidos na unidade de acesso.
Petição 870190075597, de 06/08/2019, pág. 68/478
26/85 tamanho da unidade de acesso: número de registros genômicos contidos em uma unidade de acesso.
região coberta da unidade de acesso: faixa genômica compreendida entre a posição inicial da Unidade de Acesso e a posição final da Unidade de Acesso.
[144] No contexto desta invenção, uma ou mais unidades de acesso são organizadas em uma estrutura denominada conjunto de dados genômicos. Um conjunto de dados genômico é uma unidade de compactação que contém cabeçalhos e unidades de acesso.
[145] O conjunto de unidades de acesso que compõem o conjunto de dados genômico constitui a carga útil do conjunto de dados genômico.
[146] Uma coleção de um ou mais conjuntos de dados genômicos é chamada de conjunto de dados de grupo.
[147] No contexto desta invenção, os descritores genômicos são elementos de sintaxe que representam parte da informação (e também elementos de uma estrutura de sintaxe de um formato de arquivo e/ou fluxo de bits) necessários para reconstruir (isto é, decodificar) sequências de referência codificadas, leituras de sequência e informações de mapeamento associadas. Os descritores genômicos divulgados nesta invenção estão listados na Tabela 4.
[148] De acordo com o método divulgado nesta invenção , as sequências de referência ou sua parte, leituras de sequência e a informação de alinhamento associada são codificadas usando um subconjunto dos descritores listados acima que são então codificados por entropia usando uma multiplicidade de codificadores de entropia de acordo com cada descritor específico propriedades estatísticas. Blocos de descritores comprimidos com propriedades estatísticas homogêneas são estruturados em Unidades de Acesso que representam a menor representação codificada de uma ou mais sequências genômicas que podem ser manipuladas por um dispositivo implementando a invenção descrita nesta invenção.
[149] Os descritores genômicos são organizados em blocos e fluxos, conforme definido abaixo.
Petição 870190075597, de 06/08/2019, pág. 69/478
27/85 [150] Um bloco é definido como uma unidade de dados composta por um cabeçalho e uma carga, que é composta por partes de descritores compactados do mesmo tipo.
[151] Um fluxo de descritor é definido como uma sequência de blocos de descritores codificados usados para decodificar um descritor de uma classe de dados específica.
[152] Os dispositivos de sequenciamento podem introduzir erros nas leituras de sequência, como:
1. a decisão de pular uma chamada de base devido à falta de confiança em chamar qualquer base específica. Isso é chamado de base desconhecida e rotulado como N (denotado como incompatibilidade de tipo n);
2. o uso de um símbolo errado (ou seja, representando um ácido nucleico diferente) para representar o ácido nucleico realmente presente na amostra sequenciada; isso é geralmente chamado de “erro de substituição” (denotado como incompatibilidade de “tipo s”);
3. a inserção em uma sequência de símbolos adicionais que não se referem a nenhum ácido nucleico realmente presente; isso é geralmente chamado de “erro de inserção” (denotado como incompatibilidade de “tipo i”);
4. a deleção de uma sequência lida de símbolos que representam ácidos nucleicos que estão realmente presentes na amostra sequenciada; isso geralmente é chamado de erro de exclusão (denotado como incompatibilidade de tipo d);
5. a recombinação de um ou mais fragmentos em um único fragmento que não reflete a realidade da sequência de origem; isso geralmente resulta na decisão dos alinhadores de recortar bases (denotadas como incompatibilidade de “tipo c”).
[153] No sequenciamento do genoma, o termo “cobertura” é usado para expressar o nível de redundância dos dados da sequência em relação a uma “sequência de referência”. A cobertura média dos dados de sequenciamento do genoma alinhados é o número médio de tempo em que cada base em cada
Petição 870190075597, de 06/08/2019, pág. 70/478
28/85 posição do genoma de referência está presente nos dados alinhados. Por exemplo, para alcançar uma cobertura de 30x em um genoma humano (3,2 bilhões de bases), uma máquina de sequenciamento deverá produzir um total de 30 x 3,2 bilhões de bases para que, em média, cada posição na referência seja “coberta” 30 vezes.
[154] A cobertura é dita como:
- parcial (menor que 1X) quando algumas partes do genoma de referência não são mapeadas por qualquer sequência disponível lida;
- simples (1X) quando todos os nucleotideos do genoma de referência são mapeados por um e apenas um símbolo presente nas leituras da sequência;
- múltipla (2X, 3X, NX) quando cada nucleotídeo do genoma de referência é mapeado várias vezes.
[155] Esta invenção visa definir um formato de representação de informação genômica no qual a informação relevante é eficientemente acessível e transportável e o peso da informação redundante é reduzido.
[156] Os principais aspectos inovadores da invenção divulgada são os seguintes.
1. As leituras de sequência são classificadas e particionadas em classes de dados de acordo com os resultados do alinhamento em relação às sequências de referência. Essa classificação e particionamento permitem o acesso seletivo aos dados codificados de acordo com os critérios relacionados aos resultados do alinhamento e à precisão da correspondência.
2. A sequência de leitura classificada e os metadados associados são representados por descritores genômicos organizados em blocos com propriedades estatísticas homogêneas, possibilitando a definição de fontes de informação distintas caracterizadas por uma baixa entropia de informação.
3. A possibilidade de modelar cada fonte de informação separada com modelo de fonte distinto adaptado às características estatísticas de cada classe e a possibilidade de alterar o modelo de origem dentro de cada classe de leituras e dentro de cada bloco descritor para unidades de acesso acessíveis separadamente (Unidades de Acesso). A adoção dos modelos adequados de
Petição 870190075597, de 06/08/2019, pág. 71/478
29/85 probabilidade de transformação, binarização e contexto adaptativo e codificadores de entropia associados de acordo com as propriedades estatísticas de cada modelo de fonte.
4. A definição de correspondências e dependências entre os blocos de descritores para permitir o acesso seletivo aos dados de sequenciamento e metadados associados sem a necessidade de decodificar todos os blocos de descritores, se não todas as informações, é necessária.
5. A codificação de cada uma das classes de dados de sequência e blocos de metadados associados com respeito à sequências de referência “preexistente” (também denotada como “externo”) ou no que diz respeito a sequências de referência “transformadas” obtidas pela aplicação de transformações apropriadas de sequências de referência “pré-existente” de modo a reduzir a entropia dos descritores que bloqueia as fontes de informação. Os referidos descritores representam as leituras particionadas nas diferentes classes de dados. Seguindo qualquer codificação de leituras utilizando os descritores correspondentes com referência a uma sequências de referência “pré-existente” ou sequências de referência “transformada” “pré-existente”, a ocorrência dos vários os emparelhamentos errados podem ser utilizadas para definir as transformações adequadas para as sequências de referência para encontrar uma representação codificada final com baixa entropia e obter maior eficiência de compactação.
6. A construção de uma ou mais sequências de referência (também referidos como sequências de referência “internas” para distinguir a partir da “préexistente”, também referida aqui como sequências de referência “externas”) utilizado para codificar a classe de leituras que apresentam um grau de precisão correspondentes em relação às sequências de referência pré-existentes que não satisfazem um conjunto de restrições. Tais restrições são definidas com o objetivo de que os custos de codificação de representar, em forma comprimida a classe de leituras alinhados no que diz respeito às sequências de referência “internas” e o custo de representar as sequências de referência “internas”, é menor do que
Petição 870190075597, de 06/08/2019, pág. 72/478
30/85 codifica a classe desalinhada de leitura textualmente, ou utilizando as sequências de referência “externas” sem ou com transformações.
7. A transmissão dos parâmetros de configuração que governam o processo de codificação e decodificação por meio de estruturas de dados incorporadas nos dados genômicos compactados na forma de informações de cabeçalho. Esses parâmetros de configuração podem ser atualizados durante o processo de codificação para melhorar o desempenho da compactação. Essas atualizações são transmitidas no conteúdo compactado na forma de estruturas de dados de configuração atualizadas.
[157] A seguir, cada um dos aspectos acima será descrito em detalhes. Classificação da leitura de sequência de acordo com regras de correspondência [158] As leituras de sequência geradas pelas máquinas de sequenciação são classificadas pela invenção revelada em seis diferentes “classes” de acordo com os resultados correspondentes do alinhamento em relação a um ou mais sequências de referência “pré-existentes”.
[159] Ao alinhar uma sequência de nucleotídeos de DNA em relação a uma sequência de referência, os seguintes casos podem ser identificados:
1. Uma região na sequência de referência é encontrada para coincidir com a sequência de leitura sem qualquer erro (ou seja, mapeamento perfeito). Essa sequência de nucleotídeos é referenciada como “leitura perfeitamente correspondente” ou denotada como “Classe P”.
2. Verifica-se que uma região na sequência de referência coincide com a sequência lida com um tipo e um número de desemparelhamentos determinado apenas pelo número de posições em que a máquina de sequenciação que gera a leitura não foi capaz de classificar como qualquer base (ou nucleotídeo). Esse tipo de incompatibilidade é denotado por um “N” , a letra usada para indicar uma base de nucleotídeos indefinida. Nesta invenção, este tipo de incompatibilidade é referido como um “tipo n” de incompatibilidade. Essas sequências pertencem às leituras de “Classe N”. Uma vez que a leitura é classificada como pertencente à Classe N, é útil limitar o grau de imprecisão de correspondência a um
Petição 870190075597, de 06/08/2019, pág. 73/478
31/85 determinado limite superior e estabelecer um limite entre o que é considerado uma correspondência válida e o que não é. Portanto, as leituras atribuídas à Classe N também são restringidas pela configuração de um limite (MAXN) que define o número máximo de bases indefinidas (isto é, bases chamadas como “N”) que uma leitura pode conter. Essa classificação define implicitamente a precisão mínima correspondente (ou o grau máximo de incompatibilidade) de que todas as leituras pertencentes à participação da Classe N se referem à sequência de referência correspondente, que constitui um critério útil para aplicar pesquisas de dados seletivas aos dados compactados.
3. Constata-se que uma região na sequência de referência corresponde à sequência lida com tipos e número de desemparelhamentos determinados pelo número de posições em que a máquina de sequenciamento que gera a leitura não foi capaz de chamar qualquer base de nucleotídeo, se presente (isto é, “tipo n” de incompatibilidades), mais o número de incompatibilidades em que uma base diferente, do que a presente na referência, foi chamada. Esse tipo de incompatibilidade denotado como “substituição” também é chamado de Variação Nucleotídica Única (SNV) ou Polimorfismo de Nucleotídeo Único (SNP - Single Nucleotide Polymorphism). Nesta invenção, este tipo de incompatibilidade é também referido como “tipo s” de incompatibilidade. A sequência lida é então referenciada como “M leituras não correspondentes” e atribuída à “Classe M”. Como no caso da “Classe N”, também para todas as leituras pertencentes à “Classe M” é útil limitar o grau de imprecisão de correspondência a um determinado limite superior e estabelecer um limite entre o que é considerado uma correspondência válida e o que é não é. Portanto, as leituras atribuídas à Classe M também são restritas definindo um conjunto de limites, um para o número “n” de incompatibilidades de “tipo n” (MAXN) se presente, e outro para o número de substituições “s” (MAXS). Uma terceira restrição é um limite definido por qualquer função dos números “n” e “s”, f (n, s). Essa terceira restrição permite gerar classes com um limite superior de imprecisão de correspondência de acordo com qualquer critério de acesso seletivo significativo. Por exemplo, e não como
Petição 870190075597, de 06/08/2019, pág. 74/478
32/85 limitação, f (n, s) pode ser (n + s) 1/2 ou (n + s) ou qualquer expressão linear ou não linear que defina um limite com o nível máximo de imprecisão correspondente é admitido para uma leitura pertencente à Classe M. Tal limite constitui um critério muito útil para aplicar as buscas de dados selective desejada para os dados comprimidos ao analisar leitura de sequência para vários fins, uma vez que torna possível definir uma nova fronteira de qualquer combinação possível do número de erros de emparelhamento “tipo N” e incompatibilidades “tipo s” (substituições) além do limite simples aplicado a um tipo ou ao outro.
4. Uma quarta classe é constituída por leituras de sequenciamento apresentando pelo menos uma incompatibilidade de qualquer tipo entre “inserção”, “deleção” (i.e. indels ) e “recortada”, mais, se presente, qualquer tipo de incompatibilidade pertencente à classe N ou M são referidas como “leituras incompatíveis” e atribuídas a uma “Classe I”. As inserções são constituídas por uma sequência adicional de um ou mais nucleotídeos não presentes na referência, mas presentes na sequência lida. Nesta invenção, esse tipo de incompatibilidade é chamado de incompatibilidade de tipo i. Na literatura, quando a sequência inserida é nas bordas da sequência que é também referida como “macio cortado” (isto é, os nucleotídeos não são correspondentes a referência mas são mantidas na leitura alinhada ao contrário dos nucleotídeos “duro cortado” que são rejeitados). Nesta invenção deste tipo de incompatibilidade é referido como “tipo c” de incompatibilidade. Manter ou descartar nucleotídeos é uma decisão tomada pelo estágio de alinhamento e não pelo classificador de leituras divulgadas nesta invenção que recebe e processa as leituras conforme elas são determinadas pela máquina de sequenciamento ou pelo estágio de alinhamento a seguir. Deleções são “buracos” (falta de nucleotídeos) na leitura em relação à referência. Nesta invenção, esse tipo de incompatibilidade é chamado de incompatibilidade de “tipo d”. Como no caso das classes “N” e “M”, é possível e apropriado definir um limite para a imprecisão correspondente. A definição do conjunto de restrições para “Classe I” é baseada nos mesmos princípios usados para “Classe M” e é relatada na Tabela 2 nas últimas linhas da
Petição 870190075597, de 06/08/2019, pág. 75/478
33/85 tabela. Além de um limite para cada tipo de incompatibilidade admissível para dados de Classe I, uma restrição adicional é definida por um limite determinado por qualquer função do número de discordâncias “n”, “s”, “d”, “i” e “c” , W (n, s, d, i, c). Tal restrição adicional possibilita gerar classes com um limite superior de imprecisão de correspondência de acordo com qualquer critério de acesso seletivo definido pelo usuário significativo. Por exemplo, e não como limitação, w (n, s, d, i, c) pode ser (n + s + d + i + c) 1/5 ou (n + s + d + i + c) ou qualquer expressão linear ou não linear que defina um limite para o nível máximo de imprecisão correspondente admitido para uma leitura pertencente à “Classe I”. Tal limite constitui um critério muito útil para aplicar as pesquisas de dados seletivos desejados para os dados comprimidos ao analisar leitura de sequência para diversos fins, pois permite definir um novo limite para qualquer combinação possível do número de incompatibilidades admissíveis em leituras de “Classe I” além do limite simples aplicado a cada tipo de divergência admissível.
5. Uma quinta classe inclui todas as leituras que não encontram nenhum mapeamento considerado válido (ou seja, não satisfazendo o conjunto de regras de correspondência que definem um limite superior à máxima imprecisão de correspondência, conforme especificado na Tabela 2) para cada classe de dados ao se referir à sequência de referência. Essas sequências são chamadas de “Não mapeadas” quando se referem às sequências de referência e são classificadas como pertencentes à “Classe U”.
6. No caso de leituras pareadas, uma sexta classe é definida na qual uma leitura do par não pode mapear em qualquer posição do genoma de referência (isto é, pertence à Classe U) e a outra leitura pertence a um dos P, N, M Eu aulas. Essa classe é denominada “Classs HM” de Half-Mapped.
Classificação de pares de leitura de acordo com regras de correspondência [160] A classificação especificada na seção anterior refere-se a leituras de sequência única. No caso de tecnologias de sequenciamento que geram leitura em pares (ou seja, Illumina Inc.) em que duas leituras são conhecidas por serem separadas por uma sequência desconhecida de comprimento variável, é
Petição 870190075597, de 06/08/2019, pág. 76/478
34/85 apropriado considerar a classificação do par inteiro para uma única classe de dados. Uma leitura que é acoplada a outra é dita como sua “companheira”.
[161] Se ambas as leituras pareadas pertencerem à mesma classe, a atribuição a uma classe de todo o par é a seguinte: o par inteiro é atribuído à mesma classe para qualquer classe (por exemplo, P, N, Μ, I, U). No caso em que as duas leituras pertencem a uma classe diferente, mas nenhuma delas pertence à Classe U, o par inteiro é atribuído à classe com a prioridade mais alta definida de acordo com a seguinte expressão:
P < N < Μ < I em que “ Classe P ” tem a prioridade mais baixa e “Classe I” tem a prioridade mais alta.
[162] No caso de apenas uma das leituras pertencer à Classe U e sua correspondência a qualquer uma das Classes P, N, Μ, I, uma sexta classe é definida como Classe HM, que significa Half Mapped.
[163] A definição de tal classe específica de leituras e as regras de atribuição associadas são motivadas pelo fato de que tais dados são usados para tentar determinar lacunas ou regiões desconhecidas de genomas de referência (também conhecidas como regiões pouco conhecidas ou desconhecidas). Essas regiões são reconstruídas por pares de mapeamento nas bordas usando o par lido que pode ser mapeado nas regiões conhecidas. O par não mapeado é então usado para construir os chamados “contigs” da região desconhecida como é mostrado na figura 16. Portanto, fornecer um acesso seletivo somente a esse tipo de pares de leitura reduz enormemente a carga computacional associada permitindo um processamento muito eficiente de tais dados originados por grandes quantidades de conjuntos de dados que, usando as soluções de última geração, precisariam ser totalmente inspecionados.
[164] A tabela abaixo resume as regras de correspondência aplicadas às leituras para definir a classe de dados a que cada leitura pertence. As regras são definidas nas cinco primeiras colunas da tabela em termos de presença ou ausência de tipos de incompatibilidade (diferenças de tipo n, s, d, ie c). A sexta
Petição 870190075597, de 06/08/2019, pág. 77/478
35/85 coluna fornece regras em termos de limite máximo para cada tipo de incompatibilidade e qualquer função f (n, s) e w (n, s, d, i, c) dos possíveis tipos de incompatibilidade.
Tabela 2. Tipo de discordâncias e o conjunto de restrições que cada leitura de sequência deve satisfazer para ser classificado nas classes de dados definidas nesta invenção da invenção.
Numero e tipos de discordância encontrados quando se alinha uma leitura com uma sequencia de referencia Conjunto de restrições de precisão de alinhamento Classe de alinhamento
No. de bases desconhe cidas (“N”) No. de substituicoe s No. de delecoes No. de insercoe s No. de bases clip
0 0 0 0 0 0 P
n > 0 0 0 0 0 n < MAXN N
n > MAXN U
n > 0 s > 0 0 0 0 n < MAXN e s < MAXS e f(n,s) < MAXM M
n > MAXN ou s > MAXS ou f(n,s) > MAXM U
n > 0 s > 0 d>0* i > 0* c > 0* n < MAXN e s < MAXS e d <MAXDe i < MAXI e c < MAXC w(n,s,d,i,c) < MAXTOT 1
*pelo menos ums discordância de tipod, i, c precisa estar presente (i.e. d>0 or i>0 or c>0)
d > 0 i > 0 c > 0 n > MAXN ou s > MAXS ou d > MAXD ou i > MAXI ou c > MAXC w(n,s,d,i,c) > MAXTOT U
Regras de pareamento correspondentes de dados de leitura de sequência Classes Ν, M e I em subclasses com diferentes graus de precisão de correspondência
Petição 870190075597, de 06/08/2019, pág. 78/478
36/85 [165] As classes de dados do tipo N, M e I, conforme definido nas seções anteriores, podem ser ainda mais decompostas em um número arbitrário de subclasses distintas com diferentes graus de precisão de correspondência. Essa opção é uma vantagem técnica importante em fornecer uma granularidade mais fina e, como consequência, um acesso seletivo muito mais eficiente a cada classe de dados. Como um exemplo e não como uma limitação, a partição da classe N para um número k de subclasses (Sub-classes N1 ,... , Sub-classe Nk) que é necessário para definir um vetor com os componentes correspondentes MAXN1 , MAXN2 , , MAXN(k-1) , MAXN(k) , com a condição de que MAXN1 < MAXN2 <
... < MAXN(k-1) < MAXN e atribua cada leitura à subclasse de classificação mais baixa que satisfaça restrições especificadas na Tabela 2 quando avaliadas para cada elemento do vetor. Isto é mostrado na figura 15, onde uma unidade de classificação de dados 1501 contém codificadores e codificadores de Classe P, N, Μ, I, U, HM para anotações e metadados. O codificador de classe N é configurado com um vetor de limites, MAXN1 a MAXNk 1502, que gera k subclasses de N dados (1506).
[166] No caso das classes do tipo M e I, o mesmo princípio é aplicado definindo um vetor com as mesmas propriedades para MAXM e MAXTOT, respectivamente, e usa cada componente do vetor como limite para verificar se as funções f (n, s) e w ( n, s, d, I, c) satisfazem a restrição. Como no caso de subclasses do tipo N, a atribuição é dada à subclasse mais baixa para a qual a restrição é satisfeita. O número de subclasses para cada tipo de classe é independente e qualquer combinação de subdivisões é admissível. Isto é mostrado na figura 15, onde um codificador de Classe H 1503 e um codificador 1504 de Classe I são configurados respectivamente com um vetor de limites MAXM 1 a MAXMj e MAXTOT1 a MAXTOTh. Os dois codificadores geram, respectivamente, subclasses j de dados M (1507) e subclasses h de dados I (1508).
[167] Quando duas leituras de um par são classificadas na mesma subclasse, o par pertence à mesma subclasse.
Petição 870190075597, de 06/08/2019, pág. 79/478
37/85 [168] Quando duas leituras em um par são classificadas em subclasses de classes diferentes, o par pertence à subclasse da classe de prioridade mais alta, de acordo com a seguinte expressão:
N < Μ < I onde N tem a prioridade mais baixa e eu tenho a maior prioridade.
[169] Quando duas leituras pertencem a diferentes subclasses de uma das classes N ou M ou I, o par pertence à subclasse com a maior prioridade, de acordo com as seguintes expressões:
N1 < N2 < ... < Nk
M1 < M2 < ... < Mj < I2 < ... < Ih onde o índice mais alto tem a prioridade mais alta.
Transformações das sequências de referência “externos”.
[170] Os desemparelhamentos encontrados para as leituras classificadas nas classes de n, m e I podem ser utilizados para criar referências “transformadas” a serem usadas para comprimir de forma mais eficiente a representação de leitura.
[171] Leituras classificadas como pertencendo às Classes de N, M ou I (em relação à sequência de referência “pré-existente” (ou seja, “externa”) denotada como RS 0) pode ser codificada com respeito às sequências de referência “transformadas” RS 1 de acordo para a ocorrência dos erros de emparelhamento reais com a referência “transformada”. Por exemplo, se a leitura Min em pertencentes à classe M (denotado como a i ésima leitura da classe M) contendo desemparelhamentos com respeito à sequência de referência RSn , em seguida, depois da “ transformação ” a leitura Min = leitura Pi(n + 1) pode ser obtida com A(Refn) = Refn + 1 onde A é a transformação da sequência de referência RSn para a sequência de referência RSn + 1.
[172] A Figura 19 mostra um exemplo de como as leituras contendo incompatibilidades (pertencentes à Classe M) em relação à sequência de referência 1 (RS1) podem ser transformadas em leituras perfeitamente correspondentes em relação à sequência de referência 2 (RS2) obtida da RS 1
Petição 870190075597, de 06/08/2019, pág. 80/478
38/85 modificando as bases correspondentes às posições de incompatibilidade. Elas permanecem classificadas e são codificadas junto com as outras leituras na mesma unidade de acesso de classe de dados, mas a codificação é feita usando apenas os descritores e os valores do descritor necessários para uma leitura de Classe P. Essa transformação pode ser denotada como:
RS2 = A(RS1) [173] Quando a representação da transformação A que gera RS2 quando aplicada a RS1 mais a representação das leituras versus RS2 corresponde a uma entropia mais baixa que a representação das leituras da classe M versus RS1, é vantajoso transmitir a representação da transformação a e a representação correspondente da leitura versus RS2 porque uma maior compressão da representação de dados é conseguida.
[174] A codificação da transformação A para transmissão no fluxo de bits compactado requer a definição de dois elementos de sintaxe adicionais, conforme definido na tabela abaixo.
Elementos de sintaxe Semântica Comentários
rftp Posição de transformação de referencia Posição da diferença entre a referencia e contig usados para predição
rftt Tipo de transformação de referencia Tipo da diferença entre a referencia e contig usados para predição. A mesma sintaxe descrita para o descritor mmtype definido aqui, mais abaixo.
[175] A Figura 18 mostra um exemplo de como uma transformação de referência é aplicada para reduzir o número de incompatibilidades a serem codificadas nas leituras mapeadas.
[176] Deve-se observar, em alguns casos, que a transformação se aplica à referência:
- Pode introduzir incompatibilidades nas representações das leituras que não estavam presentes ao se referir à referência antes de aplicar a transformação.
Petição 870190075597, de 06/08/2019, pág. 81/478
39/85
- Pode modificar os tipos de incompatibilidade, uma leitura pode conter A em vez de G enquanto todas as outras leituras contêm C em vez de G), mas as incompatibilidades permanecem na mesma posição.
- Diferentes classes de dados e subconjuntos de dados de cada uma das classes de dados podem referir-se às mesmas sequências de referência “transformadas” ou para fazer referência a sequências obtidas através da aplicação de diferentes transformações para a mesma sequência de referência pré-existente.
[177] A Figura 19 mostra ainda um exemplo de como as leituras podem alterar o tipo de codificação de uma classe de dados para outra por meio do conjunto apropriado de descritores (por exemplo, usando os descritores de uma Classe P para codificar uma leitura da Classe M) após uma transformação de referência, é aplicada e a leitura é representada usando a referência “transformada”. Isto ocorre por exemplo quando a transformação muda todas as bases correspondentes às defasagens de uma leitura nas bases, na verdade, presente na leitura, assim, praticamente transformando uma leitura pertencente à classe H (quando se refere à sequência de referência de origem não “transformada”) numa leitura virtual da Classe P (quando se refere à referência “transformada”). A definição do conjunto de descritores usados para cada classe de dados é fornecida nas seções a seguir.
[178] A Figura 19 mostra como as diferentes classes de dados pode utilizar a mesma referência “transformada” R1 = AO (RO) (1900) para re-codificar as leituras, ou diferentes transformações A N (1901), A M (1902) , A I (1903) podem ser aplicadas separadamente a cada classe de dados para produzir diferentes genomas de referência R N , R M , R I.
Cabeçalho do Conjunto de Dados Genômico [179] Quando a classificação de leituras é completada com a definição das Classes, o processamento adicional consiste em definir um conjunto de elementos de sintaxe distintos que representam a informação restante permitindo a reconstrução da sequência lida quando representada como sendo mapeada
Petição 870190075597, de 06/08/2019, pág. 82/478
40/85 numa dada sequência de referência. A estrutura de dados desses elementos de sintaxe requer o armazenamento de parâmetros globais e metadados a serem usados pelo mecanismo de decodificação. Esses dados são estruturados em um Cabeçalho do Conjunto de Dados do Genoma descrito na tabela abaixo. Um conjunto de dados é definido como o conjunto de elementos de codificação necessários para reconstruir as informações genômicas relacionadas a uma única execução de sequenciamento genômico e todas as análises a seguir. Se a mesma amostra genômica for sequenciada duas vezes em duas execuções distintas, os dados obtidos serão codificados em dois conjuntos de dados distintos.
Tabela 3. Cabeçalho do Conjunto de Dados Genômicos.
Elemento Descrição
dataset_header {
dataset_group_ID Indicador do grupo de conjunto de dados contendo o Dataset incluindo este dataset header.
dataset_ID Identificador do conjunto de dados Dataset
major_brand Identificador de marca, indicando a especificação do formato dos dados (compressão) a qual o Dataset obedece
minor_version Versão menor da especificação do formato do numero de dados (compressão) a qual o Dataset obedece
unmapped_indexing_flag flag indicando a presença de Unidades de Acesso de classe U indexadas
byte_offset_size_flag Numero de bits usados para indexar a Unidade de Acesso
non_overlapping_AU_range Se ativo, todas as Unidades de Acesso no Dataset possuem intervalos não colidentes
block_header_flag Se ativo, todos os blocos constituindo o Dataset s’ao precedidos por um cabeçalho de bloco
if (block_header_flag) {
mit_flag Se ativo, a ferramenta de indexação Master Index Table esta presente
cc_mode_flag Se ativo, duas Unidades de Acesso de uma classe não podem ser separadas por meio de uma Unidade de Acesso de classe diferente no dispositivo de armazenamento
block_start_code_prefix_flag Se ativo, todos os cabeçalhos de Unidades de Acesso serão iniciados pelos tres bytes 0x000001
}
Petição 870190075597, de 06/08/2019, pág. 83/478
41/85
else {
ordered_blocks_flag Se ativo, as Unidades de Acesso são ordenadas pelo aumento do valor da posição de mapeamento da primeira leitura codificada em cada Unidade de Acesso
}
seq_count Numero de sequências de referencia usadas neste Dataset
referenceJD Numero de identificação único do genoma de referencia usado no Dataset
for (seq=0;seq<seq count;seq++) {
seq_ID[seq] Identificador de sequencia de referencia
}
for (seq=0;seq<seq count;seq++) {
seq_blocks[seq] Numero de Unidades de Acesso por sequencia de referencia
}
dataset_type 0 = conteúdo não alinhado; 1 = conteúdo alinhado; 2 = referencia
num_classes Numero de classes de dados codificadas no Dataset
for (ci=O;ci<num_classes;ci++) {
clid[ci] ildentifica a classe dos dados carregados pela Unidade de Acesso
num_descriptors[ci] Numero máximo de descritores por classe codificada no Dataset
for (desc_ID=0;desc_ID<num_c escriptors[ci];desc_ID++) {
descriptor ID[ci][desc ID] Identificador de descritor genomico não ambíguo, definido na Tabela 1
}
alphabetJD Identificador de alfabeto utilizado para codificar as assinaturas de dados da Classe U
num_U_clusters Numero de clusters das leituras de Classe U
U_signature_constant_length 1 = comprimento constante; 0 = comprimento variável
U_signature_size Tamanho, em bits, de cada inteiro representando uma assinatura codificada
if (U signature constant length){
U_signature_length Comprimento de clusters de assinaturas de Classe U como números de nucleotídeos
}
num_U_access_units Número total de Unidades de Acesso no Dataset contendo dados codificados de Classe U
multiple_alignment_flag Se ativo, indica a presença de alinhamento múltiplos no
Petição 870190075597, de 06/08/2019, pág. 84/478
42/85
Dataset
multiple_signature_base Número padrão de assinaturas para leituras de Classe U
tflag[O] flag indicando a presença de limite thres para a sequencia de referencia correspondente
thres[O]
for (i=1 ;i<seq_count;i++) {
tflag[i] flag indicando a presença de limite thres para a sequencia de referencia correspondente
if(tflag[i] == 1)
thres[i] Limite indicando a diferença máxima entre unidades de acesso cobertas numa região e a faixa de unidades de acesso
else /* tflag[i] == 0 */
thres[i] = thres[i-1 ] Se tflag não for ativada para a sequencia de referencia, o valor anterior deve ser aplicado
}
}
Descritores Genômicos [180] Uma sequência lida (isto é, um segmento de DNA) referente a uma dada sequência de referência pode ser totalmente expressa opcionalmente usando um subconjunto formado por várias combinações dos seguintes descritores:
Tabela 4. Descritores genômicos e seu significado
ID Nome abreviado Descrição
1 pos Posição mapeada de uma leitura numa sequencia de referencia
2 pair Distancia entre uma leitura e sua companheira
3 rlen Tamanho de uma leitura de sequencia
4 rcomp Cadeia de DNA ou RNA sobre a qual a leitura foi mapeada
5 mmpos Posição de discordâncias (i.e. substituições, deleções e inserções) em leituras alinhadas com respeito a sequências de referencia
6 mmtype Tipos de discordâncias com respeito a sequências de referencia nas posições associadas
7 clips Bases que não puderam ser mapeadas na sequencia de referencia pelo processo de mapeamento e que foram tanto mantidas (bases “suaves clipes”) ou descartadas (bases “duras clipes”)
Petição 870190075597, de 06/08/2019, pág. 85/478
43/85
8 flags flags de mapeamento possibilitando que o alinhador especifique o resultado de mapeamento tal como se a leitura de sequencia fosse um PCR ou duplicata óptica
9 mmap Posições de mapeamento múltiplo que são associadas com uma única leitura ou par de leituras no processo de mapeamento
10 msar Identificação de existência de leituras spliced reads (i.e. leituras que quando cortadas em pedaços tem posições de mapeamento com maiores graus de precisão de mapeamento do que quando são mapeadas como leituras de mapeamento simples conectadas numa única posição numa sequencia de referencia)
11 ureads Representação de leituras de sequencia que não podem ser mapeadas em qualquer posição da sequencia de referencia com graus específicos de precisão de alinhamento,
12 rtype Sinalização do descritor no sub-conjunto de descritores utilizado para codificar as leituras de sequencia que não podem ser mapeadas em qualquer posição da sequencia de referencia com graus específicos de precisão de alinhamento
13 rftp Posição de discordâncias entre um contig e uma sequencia de referencia. As posicoes de discordâncias sao terminadas com um caractere especial terminador.
14 rftt Tipo de discordâncias entre um contig e uma sequencia de referencia.
15 rgroup Etiqueta associada a cada leitura de sequencia comprimida utilizada para criar grupos de leituras que compartilham a mesma etiqueta
16 mscore O score por alinhamento. Utilizado para representar mapeamento/alinhamento por leitura por alinhadores de sequencia genômica.
[181] Para a classe de II, o descritor clips identifica as partes da leitura (tipicamente as bordas) que não correspondem, com um conjunto específico de correspondência restrições de precisão, com as referências “internas”.
[182] O descritor ureads é usado para codificar textualmente a leitura que não pode ser mapeada em qualquer referência disponível sendo que uma sequência
Petição 870190075597, de 06/08/2019, pág. 86/478
44/85 de referência pré-existentes (ou seja, “externa”, como um genoma de referência real) ou uma “interna”.
[183] Essa classificação cria grupos de descritores (elementos de sintaxe) que podem ser usados para representar univocamente leituras de sequência do genoma. A tabela abaixo resume os elementos de sintaxe necessários para cada classe de leituras alinhadas com referências “externas” (ou seja, “pré-existentes” ) ou “internas” (ou seja, “construídas”). O asterisco indica os descritores obrigatórios sempre presentes em todas as leituras codificadas de cada classe.
Tabela 5. Descritores genômicos necessários para representar cada classe de dados.
Descritores Classes de dados
descriptorjd Nome abr. P N M I u HM
1 pos X* X* X* X* X* X*
2 pair X X X X
3 rlen X X X X X X
4 rcomp X* X* X* X* X* X*
5 mmpos X* X* X* X* X
6 mmtype X* X* X
7 clips X* X* X
8 flags X* X* X* X* X* X*
9 mmap X X
10 msar X X
11 ureads X X X*
12 rtype X
13 rftp X X X X X X
14 rftt X X X X X X
15 rgroup X X X X X X
16 mscore X X X X X
[184] As leituras pertencentes à classe P são caracterizadas e podem ser perfeitamente reconstruídas apenas por uma posição, uma informação de complemento reverso e um deslocamento entre pares, caso tenham sido obtidos por uma tecnologia de sequenciamento que produza pares acoplados, alguns sinalizadores e um comprimento de leitura.
Petição 870190075597, de 06/08/2019, pág. 87/478
45/85 [185] A próxima seção detalha como esses descritores é definida para as classes P, N, M e I enquanto que para a classe U eles são descritos em uma seção seguinte.
[186] A classe HM é aplicada somente para leitura de pares e é um caso especial para o qual uma leitura pertence à classe P, N, M ou I e a outra para a classe II.
Descritor pos [186] O descritor pos é usado para calcular a posição de mapeamento absoluto em uma Sequência de Referência da base mapeada mais à esquerda de um Registro Genômico. O valor de cada pos descritor representa a diferença entre as coordenadas, na Sequência de Referência, da base de mapeamento mais à esquerda de um Registro Genômico e a anterior. A Figura 4 mostra um exemplo de cálculo do pos descritor para um par de leitura mapeado.
[187] O primeiro valor do descritor pos em cada bloco codificado é sempre 0, pois não é possível codificação diferencial para o primeiro par de leitura ou leitura mapeado codificado em uma unidade de acesso. A posição absoluta do primeiro par de leitura ou leitura mapeado codificado em uma Unidade de Acesso está contida no Cabeçalho da Unidade de Acesso.
[188] A posição absoluta na Sequência de Referência de base mais à esquerda mapeada do n ésimo registro genômico é portanto calculada como:
pn= p0+ i = Inposi onde pO é o valor de mapeamento recuperado do Access Unit Header para o primeiro Registro Genômico na Unidade de Acesso.
[189] Para calcular a posição absoluta em uma Sequência de Referência de uma base, aplica-se a seguinte fórmula:
p= pstart+ndel- nins+dstart+delta onde
- p é a posição absoluta na Sequência de Referência da base
Petição 870190075597, de 06/08/2019, pág. 88/478
46/85
- p start é a posição de mapeamento do Registro Genômico cobrindo a base
- nins é o número de bases inseridas que precedem a base no mesmo Registro genômico
- ndel é o número de bases deletadas que precedem a base no mesmo Registro Genômico
- dstart é o offset da base no registro genômico da posição de registro genômico
- delta é a distância de emparelhamento (sinalizada) entre duas leituras em um par de leituras. Isso deve ser usado apenas para posições na segunda leitura do Registro genômico.
OBSERVAÇÃO: No caso de leituras finais em pares, ao calcular o deslocamento d iniciar a partir da posição de registro genômico, as duas leituras são consideradas contíguas. A posição das leituras relativas é levada em conta ao adicionar o delta.
[190] Um exemplo de cálculo da posição de mapeamento p para uma base em uma Sequência de Referência é mostrado na figura 5.
Descritor rcomp [191] O descritor rcomp transmite informações sobre o Encadeamento de leituras. Cada bit de um descritor rcomp decodificado é um sinalizador indicando se a leitura está no encadeamento direto (bit definido como 0) ou reverso (bit configurado como 1). A Figura 6 mostra valores e semântica do descritor rcomp para leituras finais em pares. Na figura r1 é lido 1 e r2 é lido 2. De acordo com a posição de mapeamento de cada leitura, o descritor rcomp pode ter quatro valores diferentes.
Tabela 6. Valores e significado do descritor rcomp.
Valor Semântica
Leitura única Leituras em par
rd 0x00 Leitura no sentido da cadeia Ambas leituras no sentido da cadeia (strand 1)
rc2 0x01 Leitura no sentido reverso Primeira leitura no sentido da cadeia,
Petição 870190075597, de 06/08/2019, pág. 89/478
47/85
segunda no sentido reverso
rc3 0x02 reservado Primeira leitura no sentido reverso, segunda no sentido da cadeia
rc4 0x03 reservado Ambas leituras no sentido reverso (strand 2)
0x04 .. Oxff reservado reservado
Descritor flags [192] 0 descritor flags é um conjunto de sinalizadores, conforme descrito na
Tabela 7.
Tabela 7. Semântica para cada bit do descritor flag.
Posição de bit de LSB Semântica
0 Leitura PCR ou duplicata óptica
1 Leitura falha no controle de qualidade de plataforma /vendedor
2 Leitura devidamente mapeada em pares
3 reservado
4 reservado
5 reservado
6 reservado
7 r reservado
mmpos [193] O descritor mmpos representa a posição, dentro de um par lido ou lido, de uma incompatibilidade em relação à sequência de referência. A posição é representada como uma distância da posição da incompatibilidade anterior no registro genômico. A posição da primeira incompatibilidade é representada como a distância da base mapeada mais à esquerda no Registro genômico.
[194] No caso de leituras pareadas, ou em registros gerais que contenham mais de um segmento genômico, os intervalos entre segmentos consecutivos não são considerados no cálculo das distâncias entre os desencontros consecutivos.
[195] Se o par codificado contiver ambos ler 1 e ler 2, as posições de discordâncias na leitura 2 são compensadas pelo comprimento de leitura 1. Por exemplo, no caso de leituras com comprimento constante igual a 100, se a
Petição 870190075597, de 06/08/2019, pág. 90/478
48/85 primeira discordância no par estiver em leia 2 na posição 44, o primeiro descritor mmpos decodificado para este Registro Genômico assume o valor 144.
[196] Se o par descrito estiver faltando, leia 1 (seja porque ele está codificado em outro bloco, ou porque a leitura 2 não está emparelhada), as posições de incompatibilidade não são compensadas pelo comprimento da leitura 1. Por exemplo, no caso de comprimento de leitura fixo 100, a primeira mutação na leitura 2 está na posição 44, mas a leitura 2 é desemparelhada, o primeiro descritor mmpos decodificado para este Registro Genômico assume o valor 44.
[197] Cada descritor mmpos está associado a um descritor de tipo mm que representa o tipo de incompatibilidade que ocorre no par de leitura ou leitura decodificado na posição calculada usando mmpos.
[198] Um exemplo de como calcular posições erradas em um par de leituras é fornecido na figura 7, onde len 1 é o comprimento de readl.
[199] A posição absoluta em uma Sequência de Referência da i ésima incompatibilidade em um Registro Genômico deve ser calculada como mostrado na Tabela 8.
Tabela 8. Como calcular a posição absoluta de incompatibilidades em um registro genômico.
Primeira incompat. i esima incompat. (i > 0)
Leitura única mmabso = p0 + mmpos0 mmabSi = mmabso + mmposj
Leitura em par
Primeira incompat. na leitura 1 mmabso = p0 + mmpos0 if(( £mmp°Si < lent || (£mmposi > lent && £mmP0Si-i < lent)) mmabSi = mmabSj.t + mmposj else mmabSi = mmabSj.t + mmpos, + del- ta
Primeira incompat. na leitura 2 mmabso = p0 + mmpos0 + delta
[200] Na Tabela 8, as seguintes variáveis são definidas:
Petição 870190075597, de 06/08/2019, pág. 91/478
49/85
- mmabs i é a posição absoluta na Sequência de Referência da i ésima incompatibilidade no par de leitura ou leitura
- mmpos i é o i ésimo valor do descritor mmpos no registro genômico
- len 1 é o comprimento da leitura 1 em um par lido
- delta é a distância de pareamento entre leitura 1 e leitura 2 calculada conforme definido para o descritor de par e mostrado na figura 5.
[201] Sequências de descritores mmpos referentes a um Registro Genômico são finalizadas com um valor de terminador reservado que não pode ser interpretado como posição de incompatibilidade.
mmtype [202] O descritor mmtype especifica o tipo de incompatibilidade que ocorre na leitura decodificada na posição calculada usando o descritor mmpos associado.
[203] O descritor mmtype não possui um valor reservado para o terminador, pois cada Registro Genômico conterá o mesmo número de descritores mmtype e mmpos.
[204] A Tabela 9 lista os valores e a semântica correspondente do descritor mmtype de acordo com o alfabeto usado.
Tabela 9. Valores e semântica do descritor mmtype de acordo com o alfabeto usado
Valor Semântica
alphabetjd = 0 alphabetjd = 1 alphabetjd = 2 alphabetjd = 3
0x00 Substituir com ‘A’ Substituir com ‘A’ Substituir com ‘A’ Substituir com ‘A’
0x01 Substituir com ‘C’ Substituir com ‘C’ Substituir com ‘C’ Substituir com ‘C’
0x02 Substituir com ‘G’ Substituir com ‘G’ Substituir com ‘G’ Substituir com ‘G’
0x03 Substituir com T Substituir com T Substituir com ‘U’ Substituir com ‘U’
0x04 Substituir com ‘N’ Substituir com ‘N’ Substituir com ‘N’ Substituir com ‘N’
0x05 Deleção Deleção Deleção Deleção
Petição 870190075597, de 06/08/2019, pág. 92/478
50/85
0x06 Inserir ‘A’ Substituir com ‘R’ Inserir ‘A’ Substituir com ‘R’
0x07 Inserir ‘C’ Substituir com Ύ’ Inserir ‘C’ Substituir com Ύ’
0x08 Inserir ‘G’ Substituir com ‘S’ Inserir ‘G’ Substituir com ‘S’
0x09 Inserir T Substituir com W Inserir ‘U’ Substituir com W
OxOA Inserir ‘Ν’ Substituir com ‘K’ Inserir ‘N’ Substituir com ‘K’
0x0 B N/A Substituir com ‘M’ N/A Substituir com ‘M’
OxOC N/A Substituir com ‘B’ N/A Substituir com ‘B’
0x0 D N/A Substituir com ‘D’ N/A Substituir com ‘D’
0x0 E N/A Substituir com Ή’ N/A Substituir com Ή’
0x0 F N/A Substituir com ‘V’ N/A Substituir com ‘V’
0x10 N/A Substituir com í J N/A Substituir com í i
0x11 N/A Inserir ‘A’ N/A Inserir ‘A’
0x12 N/A Inserir ‘C’ N/A Inserir ‘C’
0x13 N/A Inserir ‘G’ N/A Inserir ‘G’
0x14 N/A Inserir T N/A Inserir T
0x15 N/A Inserir ‘N’ N/A Inserir ‘N’
0x16 N/A Inserir ‘R’ N/A Inserir ‘R’
0x17 N/A Inserir Ύ’ N/A Inserir Ύ’
0x18 N/A Inserir ‘S’ N/A Inserir ‘S’
0x19 N/A Inserir W N/A Inserir W
0x1 A N/A Inserir ‘K’ N/A Inserir ‘K’
0x1 B N/A Inserir ‘M’ N/A Inserir ‘M’
0x1 C N/A Inserir ‘B’ N/A Inserir ‘B’
Petição 870190075597, de 06/08/2019, pág. 93/478
51/85
0x1 D N/A Inserir ‘D’ N/A Inserir ‘D’
0x1 E N/A Inserir Ή’ N/A Inserir Ή’
0x1 F N/A Inserir V N/A Inserir V
0x20 N/A Inserir N/A Inserir
clips [205] 0 descritor clips é usado para representar bases recortadas (também conhecidas como clips suaves ou rígidos) em leituras mapeadas ou pares de leituras. Este descritor codifica clips suaves como sequências de caracteres ASCII com elementos adicionais para identificar a posição das bases recortadas no par de leitura ou leitura. No caso clips rígidos, somente a posição e o número de bases cortadas são codificados. Cada descritor contém um identificador de registro genômico seguido por informações relacionadas à posição de bases recortadas no registro genômico e as bases recortadas reais no caso clips suaves.
[206] A sintaxe e semântica do descritor clips são fornecidas na Tabela 10 e na Tabela 11.
Tabela 10. Campos que compõem o descritor clips.
Tamanho em bytes Semântica Observações
Clips suaves
4 Genomic Record identifier (contador sequencial do registro genomico codificado na Unidade de Acesso atual) Repetidas por 2N vezes por registro genomico, em que N corresponde ao número de segmentos
1 flag indicando a posição de bases clip (0x00 começo da leitura 1, 0x01 = fim da leitura 1, 0x02 = começo da leitura 2, 0x03 = fim da leitura 2)
M Sequencia de bases M codificadas como caracteres ASCII
Petição 870190075597, de 06/08/2019, pág. 94/478
52/85
1 (opcional) Terminador de clips suaves (Oxfe) presente somente se nos mesmos registros genomicos mais de uma sequencia clips suave esta presente Se K e o número de segmentos clip, esta presente somente depois da primeira seção K-1
1 Terminador de registro (Oxff) presente somente depois da K esima seção (ultima)
Clips rígidos
4 Genomic Record identifier (contador sequencial do registro genomico codificado na Unidade de Acesso atual) Repetidas por 2N vezes por registro genomico, em que N corresponde ao número de segmentos
1 flag indicando a posição de bases clip (0x04 começo da leitura 1, 0x05 = fim da leitura 1, 0x06 = começo da leitura 2, 0x07 = fim da leitura 2)
4 number of hard clipped bases
1 (opcional) Terminador de clips (Oxfe) presente somente se nos mesmos registros genomicos mais de uma sequencia clips esta presente Se K e o número de segmentos clip, esta presente somente depois da primeira seção K-1
1 Terminador de registro (Oxff) presente somente depois da K esima seção (ultima)
Tabela 11. Sintaxe do descritor clips.
Figure BR112019016232A2_D0001
Petição 870190075597, de 06/08/2019, pág. 95/478
53/85 soft_clipped_base } while(sclipped_base != Oxff OR sclipped_base != Oxfe) }
else{ hard_clipped_bases }
} while(sclipped_base != Oxff) }
[207] recordjd é um contador de registros genômicos codificados na unidade de acesso atual.
[208] clips_pos representa a posição das próximas bases recortadas no par de leitura ou leitura. Valores para posições têm o seguinte significado:
Valores clips_pos Semântica
0x00 soft clips antes do começo da leitura 1
0x01 soft clips depois do fim da leitura 1
0x02 soft clips antes do começo da leitura 2
0x03 soft clips depois do fim da leitura 2
0x04 hard clips antes do começo da leitura 1
0x05 hard depois do fim da leitura 1
0x06 hard clips antes do começo da leitura 2
0x07 hard clips depois do fim da leitura 2
[209] soft_clipped_base é um dos símbolos do alfabeto identificado por alphabetjd.
[210] hard_clipped_bases representam o número de bases recortadas na posição indicada pelos clips_pos correspondentes;
ureads
Petição 870190075597, de 06/08/2019, pág. 96/478
54/85 [211] 0 descritor ureads representa as leituras da sequência textual como uma sequência de caracteres ASCII pertencentes ao alfabeto atualmente utilizado identificado por alphabetjd.
rlen [212] O descritor de rlen é usado somente no caso de leituras de comprimento variável quando readsjength = 0 no Conjunto de Parâmetros definido nesta invenção.
[213] Um descritor descodificado rlen representa o comprimento da sequência atual lido como número de bases incluindo clips suaves.
par [214] As informações necessárias para reconstruir leituras pareadas são codificadas usando o descritor de pares. As informações de emparelhamento que associam um segmento genômico a outro podem ser expressas de três maneiras:
1. se ambas as leituras forem mapeadas na mesma referência e codificadas no mesmo registro genômico, a distância de pareamento será definida como a distância entre a base mapeada mais à esquerda de Readl e a base mapeada mais à esquerda de Read2. Um exemplo de distância de emparelhamento é mostrado na figura 8.
2. como uma posição de mapeamento absoluto da segunda leitura na mesma sequência de referência que a primeira leitura.
3. como uma posição de mapeamento absoluto da segunda leitura em uma sequência de referência diferente da primeira leitura.
[215] As informações de emparelhamento são codificadas conforme descrito nos pontos 2 e 3 acima, quando os dois primeiros bytes de um descritor de pares decodificados tiverem um dos valores listados na Tabela 12.
[216] A Figura 8 mostra como o Comprimento do Registro Genômico é definido como o número de posições genômicas em uma sequência de referência que separa a base mapeada mais à esquerda da base mapeada mais à direita de um par de leitura ou leitura. No caso de pares de leitura, este é o número da posição genômica na sequência de referência que separa a base mais à esquerda de
Petição 870190075597, de 06/08/2019, pág. 97/478
55/85 leitura 1 da base mais à direita de sua posição de referência 2 quando ambas as leituras são mapeadas na mesma sequência de referência. A “Distância de Emparelhamento” é definida como a diferença entre a posição mais à esquerda de ReacH e a posição mais à esquerda de Read2. A “Distância de Emparelhamento” é representada como um valor inteiro sinalizado do descritor de pares.
[217] Ao alinhar as leituras para uma sequência de referência, a leitura 2 pode ser mapeada para uma posição que seja menor (por exemplo, à esquerda) do que a posição de mapeamento da leitura 1; neste caso, a distância de emparelhamento usada no caso 1 acima será negativa. Isto implica que a informação sobre o encalço de leitura é codificada no sinal do descritor de distância de emparelhamento.
Tabela 12. Valores reservados para os descritores de distância de leitura sinalizando como o par de leitura foi codificado.
Valor Semântica Seguido por
0x7ffd Leitura 2 em par tem a mesma referencia mas codificada separadamente 4 bytes codificando a distância da leitura 2 como valor absoluto na referencia
0x8003 Leitura 1 em par tem a mesma referencia mas codificada separadamente 4 bytes codificando a distância da leitura 1 como valor absoluto na referencia
0x7ffe Leitura 2 tem referencia diferente 2 bytes com identificador de referencia, 4 bytes com posição absoluta da leitura 2
0x8002 Leitura 1 tem referencia diferente 2 bytes com identificador de referencia, 4 bytes com posição absoluta da leitura 1
0x7fff Leitura 1 não pareada N/A
0x8001 Leitura 2 não pareada N/A
0x8000 Leitura não pareada N/A
0x8004 Alinhamento adicional presente em outra 2 bytes com identificador de
Petição 870190075597, de 06/08/2019, pág. 98/478
56/85
sequencia de referencia referencia, 4 bytes com posição absoluta da leitura 1
Distância da leitura [218] A distância das leituras é codificada como um inteiro assinado de 2 bytes, onde:
- o LSB é usado para representar o sinal (se o bit de sinal for 0, o número não for negativo, se o bit de sinal for 1, o número será negativo), e
- os 15 bits restantes são usados para representar o valor absoluto da distância de pareamento.
[219] Essa abordagem permite representar as distâncias de emparelhamento em um intervalo de -32766 a 32766. Caso as leituras sejam separadas por um intervalo maior, a posição absoluta deve ser codificada no descritor de par depois do valor especial 0x7ffd ou 0x8003, conforme definido na Tabela 12 e duas leituras são codificadas em dois registros genômicos separados (ou seja, o par é dividido).
Processo de decodificação para leitura de distância [220] O processo de decodificação da distância de leituras é mostrado abaixo: sign = ReadsDistance & 0x0001;
ReadsDistance = ReadsDistance » 1;
if (sign) ReadsDistance = -ReadsDistance;
mscore [221] O descritor mscore fornece uma pontuação por alinhamento. Ele deve ser usado para representar a pontuação de mapeamento / alinhamento por leitura gerada por alinhadores de sequência genômica.
[222] A pontuação deve ser expressa usando um expoente e uma parte fracionária. O número de bits usados para representar o expoente e a parte fracionária são especificados nos parâmetros de codificação (consulte Conjunto de Parâmetros abaixo). A Tabela 13 mostra como isso é especificado no IEEE RFC 754 para um expoente de 11 bits e uma parte fracionária de 52 bits.
[223] A pontuação de cada alinhamento deve ser representada por:
Petição 870190075597, de 06/08/2019, pág. 99/478
57/85
- Um bit de sinal (S)
-11 bits para o expoente (E)
- 53 bits para a mantissa (M)
Tabela 13. As pontuações de alinhamento são expressas como ponto flutuante de precisão dupla de valores de 64 bits
1 11 52
+-+-------- —+---------------- —+
|S| Esp | Mantissa |
+_+-------- —+---------------- —+
63 62 51 0
[224] Se a base (radix) a ser usada para o cálculo das pontuações for 10, a pontuação é calculada como:
pontuação = -1 sxWExM rgroup [225] O descritor rgroup identifica o grupo de leitura ao qual o Registro genômico pertence. É um inteiro de 8 bits sem sinal com valores indo de 0 a num_grupos_1. A presença de grupos de leitura em uma Unidade de Acesso é sinalizada por num_grupos > 0 no Conjunto de Parâmetros conforme definido no Conjunto de Parâmetros definido abaixo.
msar [226] O descritor msar (Registro de Alinhamento de Segmentos Múltiplos) suporta leituras emendadas e alinhamentos secundários alternativos que contêm indels ou clips suaves.
[227] O msar destina-se a transmitir informações sobre:
- um comprimento de segmento mapeado
- uma contiguidade de mapeamento diferente (isto é, sequência CIGAR) para um alinhamento secundário e/ou leitura dividida [228] O msar can é usado para representar incompatibilidades, inserções, exclusões, encalhes e bases recortadas de alinhamentos secundários de uma leitura alinhada.
Petição 870190075597, de 06/08/2019, pág. 100/478
58/85
Alinhamentos Múltiplos [229] Os seguintes descritores são definidos para o suporte de alinhamentos múltiplos.
mmap [230] O descritor mmap é usado para sinalizar quantas posições a leitura ou a leitura à esquerda de um par foi alinhada. Um registro genômico contendo vários alinhamentos está associado a um descritor mmap de vários bytes. Os dois primeiros bytes de um descritor mmap representam um inteiro não assinado N que se refere à leitura como um único segmento (se spliced_reads_flag = 0, conforme definido nesta invenção) ou, em vez disso, para todos os segmentos nos quais a leitura foi combinada para os vários possíveis alinhamentos (se spliced_reads_flag = 1). O valor de N representa o número de valores do descritor pos que são codificados para o modelo no registro atual. N é seguido por um ou mais inteiros não assinados de 8 bits M i como descrito nesta invenção. Encalhamento de alinhamentos múltiplos [231] No caso de alinhamentos múltiplos, o descritor rcomp definido nesta invenção é usado para especificar o encalhamento de cada alinhamento de leitura usando a mesma sintaxe especificada acima.
Pontuações de alinhamentos múltiplos [232] No caso de alinhamentos múltiplos, um mscore, conforme definido nesta invenção, é atribuído a cada alinhamento.
Alinhamentos múltiplos sem emendas [233] Se não houver emendas na unidade de acesso, spliced_reads_flag não será definido.
[234] No sequenciamento emparelhado, o descritor mmap é composto por um inteiro não assinado de 16 bits N seguido por um ou mais inteiros não assinados de 8 bits Mi, com i assumindo valores de 1 para o número de primeiro completo (aqui, o mais esquerdo) leia os alinhamentos. Para cada primeiro alinhamento de leitura, emendado ou não, Mi é usado para sinalizar quantos segmentos são usados para alinhar a segunda leitura (nesse caso, sem emendas, isso é igual ao
Petição 870190075597, de 06/08/2019, pág. 101/478
59/85 número de alinhamentos) e quantos valores de o descritor de pares é codificado para esse alinhamento da primeira leitura.
[235] Os valores de Mi devem ser usados para calcular P = que indica o número de alinhamentos da segunda leitura.
[236] Um valor especial de Mi (= 0) indica que o i ésimo alinhamento de mais à esquerda ler está emparelhado com um alinhamento de mais à direita ler que já está emparelhado com um k ésimo alinhamento de mais à esquerda ler com k < i (então não há nenhum novo alinhamento detectado, o que é consistente com a equação acima).
[237] Por exemplo, nos casos mais simples:
1. Se houver um único alinhamento para a leitura mais à esquerda e dois alinhamentos alternativos para a extrema direita, N assumirá o valor 1 e M 1 assumirá o valor 2.
2. Se dois alinhamentos alternativos forem detectados para a leitura mais à esquerda, mas apenas um para a direita, N assumirá o valor 2, M 1 assumirá o valor 1 e M 2 assumirá o valor 0.
[238] Quando M i for 0, o valor associado do par será vinculado a um segundo alinhamento de leitura existente; um erro de sintaxe será levantado de outra forma e o alinhamento será considerado quebrado.
[239] Exemplo: se a primeira leitura tiver duas posições de mapeamento e a segunda for somente uma, N é 2, M 1 será 1 e M 2 será 0 como foi dito anteriormente. Se isso for seguido por outro mapeamento secundário alternativo para o modelo inteiro, N assume o valor 3 e M 3 assume o valor 1.
[240] A Figura 9 ilustra o significado de N, P e M i no caso de alinhamentos múltiplos sem emendas e a Figura 10 mostra como os descritores pos, pair e mmap são usados para codificar as informações de alinhamentos múltiplos.
[241] Em relação a 10, aplica-se o seguinte:
- A leitura mais à direita tem P = alinhamentos
- Alguns valores de M i pode ser = 0 quando o i ésimo alinhamento de mais à esquerda da leitura está emparelhado com um alinhamento de mais à direita de
Petição 870190075597, de 06/08/2019, pág. 102/478
60/85 leitura que já está emparelhado com um k ésimo alinhamento de mais à esquerda ler com k < i
- Um valor reservado do descritor de par pode estar presente para sinalizar alinhamentos pertencentes a outros intervalos de AUs. Se presente que é sempre o primeiro descritor par para o registro atual
Alinhamentos múltiplos com emendas [242] Se o conjunto de dados é codificado com leituras emendadas, o descritor msar possibilita a representação do comprimento e encordoamento das uniões, conforme definido nesta invenção.
[243] Depois de decodificar o mmap e os descritores msar, o decodificador sabe quantos pares de leituras ou leitura foram codificados para representar os múltiplos mapeamentos e quantos segmentos estão compondo cada mapeamento de pares de leitura ou leitura. Isso é mostrado na figura 11 e na figura 12.
[244] Com referência à figura 11, aplica-se o seguinte:
- A leitura mais à esquerda tem alinhamentos N1 com emendas N (N 1 < N).
- N representa o número de junções presentes em todos os alinhamentos da leitura mais à esquerda e é codificado como primeiro valor do descritor mmap.
- A leitura mais à direita tem P = splices, onde Mi é o número de uniões da leitura mais à direita que estão associadas em um par com o i ésimo alinhamento da leitura mais à esquerda (1 < i < N 1 ). Em outras palavras, P representa o número de emendas da leitura mais à direita e é calculado usando os N valores após o primeiro valor do descritor mmap.
- N1 e N2 representam o número de alinhamentos da primeira e segunda leitura e são calculados utilizando os valores de n + p do descritor RAEM.
[245] Com referência à figura 12, aplica-se o seguinte:
- A leitura mais à esquerda tem alinhamentos N 1 com emendas N (N1 < N). Se N1 = N e N2 = P não havería emendas.
Petição 870190075597, de 06/08/2019, pág. 103/478
61/85
- A leitura mais à direita tem alinhamentos P = splices tj 1 < j < P e N2 (N2 <P).
- O número de descritores de pares pode ser calculado como NP = Max (N1, P) + MO onde
- MO é o número de Mi com valor 0
- O NP deve ser incrementado em 1 caso um descritor de par especial indique a presença de alinhamentos em outras Alls.
Pontuação de alinhamento [246] O descritor mscore permite sinalizar a pontuação do mapeamento de um alinhamento. No sequenciamento simples, ele terá valores N1 por gabarito; no sequenciamento pareado, terá um valor para cada alinhamento do modelo inteiro (número de alinhamentos diferentes da primeira leitura possivelmente + o número de outros segundos alinhamentos de leitura, isto é, quando Mi -1 > 0).
Número de pontuações = MAX (N 1 , N 2 ) + M 0 onde M 0 representa o número total de M i = 0.
[247] O número de pontuações associadas a cada alinhamento é assinalado pelo parâmetro de codificação as_depth conforme definido nesta invenção. Descritores para alinhamentos múltiplos sem emendas
Tabela 14. Como calcular o número de descritores necessários para representar alinhamentos múltiplos em um Registro Genômico no caso de alinhamentos múltiplos sem emendas.
Semântica mmap mscore Efeito
Leitura com múltiplos mapeamentos (ou pareada), não spliced Leitura única: N Leitura par: N, Mi Onde 1 < i < N Leitura única: valores N Leitura par: valores MAX(N, Z(Mi)) + Σ(Μι = 0) Introdução de separador permitiría ter número arbitrário de scores. Se não, 0 deve ser usado se não estiver presente. Valores floating point, como aqui definidos. Leitura única múltiplos mapeamentos e codificação como seq. de segmentos N consecutivos da classe com maior ID. Descritores N pos usados Leitura par: múltiplos mapeamentos e codificação como seq.de
Petição 870190075597, de 06/08/2019, pág. 104/478
62/85
• segmentos N para a primeira leitura • pareamentos P =Σ(Μ;) para o alinhamento da segunda leitura Descritores N pos são usados Descritores N x P pair são usados com NP = + (no. de = 0) + (opcional) 1 O descritor de pareamento opcional e utilizado quando alinhamentos se encontram em sequências de referencia diferentes que aquela codificada com o descritor N+1 mmap
Leitura (par) mapeada unicamente 0 0
Descritores para alinhamentos múltiplos com emendas [248] A Tabela 15 mostra como calcular o número de descritores necessários para representar alinhamentos múltiplos em um Registro Genômico no caso de vários alinhamentos com emendas.
Tabela 15. Descritores usados para representar vários alinhamentos e pontuações associadas.
Semântica mmap mscore Efeito
Leitura com múltiplos mapeamentos Leitura única: N Leitura par: Leitura única: valores Nt Leitura par: valores Max(Nt, N2) + Z(Mr= 0) Leitura única: a leitura tem múltiplos
Petição 870190075597, de 06/08/2019, pág. 105/478
63/85
(ou pareada), spliced N, Mi onde 1 < i < N Nt e N2 s’ao calculados com o descritor N + P msar P = Valores floating point, como aqui definidos. mapeamentos e codificada como uma seq. de N segmentos consecutivos de mesma classe com ID maior. Descritores N pos usados Leitura par: A leitura par tem mapeamentos múltiplos e codificada como uma seq. de • segmentos N para a primeira leitura • pares P =Σ(Μι) para alinhamento da segunda leitura Descritores N pos usados
Leitura (par) mapeada unicamente 0 0
Alinhamentos múltiplos em diferentes sequências [249] Pode acontecer que o processo de alinhamento encontre mapeamentos alternativos para outra sequência de referência que aquela em que o mapeamento primário está posicionado.
[250] Para pares de leitura que são unicamente alinhados, um descritor de par deve ser usado para representar as posições absolutas de leitura quando há, por exemplo, um alinhamento quimérico com o posicionamento em outro cromossomo. O descritor de par deve ser usado para sinalizar a referência e a posição do próximo registro contendo outros alinhamentos para o mesmo modelo. O último registro (por exemplo, o terceiro caso os mapeamentos alternativos
Petição 870190075597, de 06/08/2019, pág. 106/478
64/85 sejam codificados em três Alls diferentes) deve conter a referência e a posição do primeiro registro.
[251] No caso de um ou mais alinhamentos para a leitura à esquerda em um par estarem presentes em uma sequência de referência diferente daquela relacionada à All atualmente codificada, um valor reservado do descritor de par deve ser usado (não o mesmo que o usado para alinhamentos apresentar para outra referência em caso de alinhamento exclusivo). O valor reservado deve ser seguido pelo identificador da sequência de referência e pela posição do alinhamento à esquerda entre todos os contidos na próxima All (ou seja, o primeiro valor decodificado do pos descritor para aquele registro).
Alinhamentos múltiplos com inserções, deleções, porções não mapeadas [252] Quando um mapeamento secundário alternativo não preserva a contiguidade da região de referência em que a sequência está alinhada, pode ser impossível reconstruir o mapeamento exato gerado pelo alinhador porque a sequência real (e, em seguida, os descritores relacionados a incompatibilidades, como substituições ou indels) é codificado apenas para o alinhamento primário. O descritor msar deve ser usado para representar como os alinhamentos secundários são mapeados na sequência de referência, no caso de conterem indels e/ou clips suaves. Se msar é representado pelo símbolo especial para um alinhamento secundário, o decodificador deve reconstruir o alinhamento secundário a partir do alinhamento primário e a posição do mapeamento de alinhamento secundário.
Dados não tratados [253] As leituras em bruto pertencem apenas à classe II. Eles são codificados como leituras não mapeadas em conjuntos de dados alinhados. Alguns dos descritores definidos para leituras alinhadas a uma referência externa ou interna são usados para codificar leituras não processadas. Isso é motivado pelo fato de que as leituras brutas são codificadas usando sequências de referência construídas a partir dos dados a serem codificados.
descriptorjd Descritor Semântica Comentários
Petição 870190075597, de 06/08/2019, pág. 107/478
65/85
1 pos Ler posição de mapeamento Leitura de posições na referencia que são baseadas em 0 (sinalizadas) codificação delta com respeito a uma leitura anterior
4 rcomp Informação sobre cadeia para leituras num formato N bits
8 flags Usado para cobrir SAM flags e, possivelemente, outros flags Marcador de local para entender o tipo de flags necessários para associação a um formato. SAM flags podem ser um ponto de partida.
5 mmpos Misposicao desalinhada (sem sinalização) codificação delta com respeito a um desalinhado anterior
6 mmtype Tipos de operação: Substituições Deleções Inserções Alfabeto fixo
7 clips Cadeia de nucleotideos com tamanho variável (e.g. clips suaves) Caracteres ASCII + posição no formato
11 ureads Leituras não mapeadas, codificado verbatim Caracteres ASCII
3 rlen Comprimento leitura Inteiro 32-bits
12 rtype Tipo leitura Identifica o sub-tipo de descritores para decodificação da leitura
ureads
Petição 870190075597, de 06/08/2019, pág. 108/478
66/85 [254] 0 descritor de ureads representa as leituras da sequência textual como uma sequência de caracteres ASCII pertencentes ao alfabeto atualmente usado, rtype [255] O descritor rtype é usado para sinalizar o subconjunto de descritores usados para codificar um par de leitura ou leitura não mapeado em um Registro Genômico, conforme mostrado na Tabela 16.
[256] O descritor rtype também permite misturar compressão baseada em referência e sem referência no mesmo Dataset. Neste cenário, rtype = 0 sinaliza os registros codificados com base na referência, enquanto rtype > 0 sinaliza o conjunto de descritores a serem usados para referência com menos compactação (neste caso, os descritores referem-se à referência computada, quando necessário).
Tabela 16. Semântica do descritor rtype.
rtype Tipo de leitura codificada Descrição
Não usado Baseado em ref. alinhada Todo o Dataset codificado usando compressão baseada em ref. por leituras mapeadas
0 Baseado em ref. O Dataset possui tanto leituras (pares) codificadas com quanto compressão sem ref. Descritores para este tipo usam ref. externa ou embarcada de acordo com a classe da AU
> 0 Brutos e alinhados sem ref. 1 = descritores de classe P 2 = descritores de classe N 3= descritores de classe M 4 = descritores de classe I 5 = descritores de classe U
Binarização de descritores [257] Numa forma de realização, a presente invenção utiliza codificação aritmética binária adaptativa ao contexto (CABAC) para a compressão dos
Petição 870190075597, de 06/08/2019, pág. 109/478
67/85 descritores genômicos. O CABAC primeiro converte em uma representação binária todos os símbolos a serem codificados. O processo de binarização converte um símbolo de valor não-binário (por exemplo, uma posição de mapeamento, um comprimento de leitura mapeado ou um tipo de incompatibilidade) em um código binário antes da codificação aritmética.
[258] A seleção de binarizações apropriadas adaptadas às propriedades estatísticas de cada descritor fornece melhores taxas de compressão do que os formatos existentes baseados em compressores de uso geral aplicados em blocos de elementos heterogêneos.
[259] Nas seções a seguir, essas variáveis são definidas:
- symVal: valor não binário do descritor genômico a ser binarizado.
- cLength : representa o número de bits com os quais o valor é binarizado.
- cMax : é o maior valor possível a ser binarizado. Valores maiores serão truncados.
[260] Enquanto as tabelas de binarização a seguir são calculadas para valores fixos dessas variáveis, deve ser apreciado que os princípios atuais não estão limitados a esses valores, e assim outros valores também podem ser usados de acordo com os princípios atuais, mantendo o espírito de os princípios presentes.
[261] Cada algoritmo de binarização usado nesta invenção é identificado por um identificador como mostrado na Tabela 17.
Tabela 17. Tipo de binarizações e respectivos identificadores.
binarizationjd Tipo de binarização
0 Binary Coding (Bl)
1 Truncated Unary (TU)
2 Exponential Golomb (EG)
3 Signed Exponential Golomb (SEG)
4 Truncated Exponential Golomb (TEG)
5 Signed Truncated Exponential Golomb (STEG)
6 Split Unit-wise Truncated Unary (SUTU)
Petição 870190075597, de 06/08/2019, pág. 110/478
68/85
7 Signed Split Unit-wise Truncated Unary (SSUTU)
8 Double Truncated Unary (DTU)
9 Signed Double Truncated Unary (SDTU)
Codificação Binária (BI) [262] Esta é uma representação binária padrão, na qual cada valor numérico é codificado em sua representação binária. A variável cLength - mostrada na Tabela 29 quando binarizationjd = 0 - representa os números de bits com os quais o valor será representado.
Binarização Unária (TU) Truncada [263] Uma sequência binária TU é a concatenação de symVal, seguida de um zero. Se symVal == cMax, o O-bit final é descartado. A Tabela 18 ilustra as cadeias bin da binarização unária truncada com cMax = 3.
Tabela 18. Cadeia bin da binarização unária truncada com cMax == 3.
symVal Cadeia bin
0 0
1 1 0
2 1 1 0
3 1 1 1
binldx 0 1 2
[264] A sintaxe para este processo de binarização, juntamente com a decodificação aritmética, é descrita abaixo.
decode_cabac_TU(ctxTable, ctxldx, cMax) { for (binldx=0; binldx<cMax; binldx++) { binValue if (binValue == 0) break }
return binldx }
binValue é o valor binarizado que pode ser 0 ou 1. Binarização Exponencial de Golomb (EG)
Petição 870190075597, de 06/08/2019, pág. 111/478
69/85 [265] 0 processo de análise para descritores genômicos binarizados usando esta técnica começa com a leitura dos bits começando no local atual no fluxo de bits até e incluindo o primeiro bit não zero, e contando o número de bits iniciais que são iguais a 0.
Esse processo é especificado da seguinte maneira: leadingZeroBits= -1 for( b = 0; !b; leadingZeroBits++ ) b = read_bits( 1 )
A variável symVal é então atribuída da seguinte forma: symVal = 2leadingZeroBlts - 1 + read_bits( leadingZeroBits ) onde a chamada de função read_bits lê um número de bits de um meio de armazenamento igual ao parâmetro passado como entrada. O valor retomado de read_bits ( leadingZeroBits ) é interpretado como uma representação binária de um inteiro não assinado com o bit mais significativo gravado primeiro.
[266] A Tabela 19 ilustra a estrutura do código Exp-Golomb, separando a cadeia de bits em bits prefixo e sufixo. Os bits prefixo são aqueles que são analisados como especificado acima para o cálculo de ZeroBeros principais e são mostrados como 0 ou 1 na coluna da cadeia de bits da Tabela 19. Os bits sufixo são aqueles bits que são analisados no cálculo de symVal e são mostrados como xi na Tabela 19, com i no intervalo de 0 a leadingZeroBits - 1, inclusive. Cada xi é igual a 0 ou 1.
Tabela 19. Representações binárias para valores de symVal de 0 a 62.
Forma de cadeia bin RFaixa de symVal
1 0
0 1 x0 1..2
0 0 1 Xt x0 3..6
0 0 0 1 x2 Xi Xo 7..14
Petição 870190075597, de 06/08/2019, pág. 112/478
70/85
0 0 0 0 1 x3 x2 Xi Xo 15..30
0 0 0 0 0 1 x4 x3 x2 Xi Xo 31..62
[267] A Tabela 20 ilustra as atribuições explícitas de cadeias de bits para valores symVal.
Tabela 20. Sequências de bit Exp-Golomb e symVal em forma explícita.
Sequência de bit symVal
1 0
0 1 0 1
0 1 1 2
0 0 10 0 3
0 0 10 1 4
0 0 110 5
0 0 111 6
0001000 7
0001001 8
0001010 9
[268] Dependendo do descritor genômico, o valor de um elemento de sintaxe binarizado é decodificado usando um dos seguintes métodos:
- O valor do descritor genômico decodificado é igual ao valor symVal correspondente ao descritor binarizado
- O valor do descritor genômico decodificado é calculado pela aplicação da decodificação Exponencial-Golomb de 0 ordens, conforme definido, por exemplo, em https://en.wikipedia.org/wiki/Exponential-Golomb_coding com symVal como entrada.
Binarização Exponencial Significada de Golomb (SEG) [269] De acordo com este método de binarização, o descritor genômico é associado ao symVal ordenando o elemento sintático pelo seu valor absoluto em ordem crescente e representando o valor positivo para um determinado valor absoluto com o symVal inferior.
[270] A Tabela 21 mostra a regra de atribuição.
Petição 870190075597, de 06/08/2019, pág. 113/478
71/85
Tabela 21. Atribuição de elemento de sintaxe a symVal para descritores genômicos codificados por Exp-Golomb assinados.
symVal Valor de elemento de sintaxe
0 0
1 1
2 -1
3 2
4 -2
5 3
6 -3
k (-1)k+1 Ceil( k-2 )
Binarização de Golomb Exponencial Truncado (TEG) [271] Este processo de binarização requer o uso de um parâmetro de entrada adicional tegParam que define como a binarização é calculada.
[272] A saída desse processo é a binarização do TEG do elemento de sintaxe.
[273] Uma cadeia bin do TEG é a concatenação de tipos de binarização 1 (no caso de symVal == 0) ou 2 (no caso de symVal > 0):
- A binarização unária truncada com cMax = tegParam para o valor Min (symVal, tegParam)
- Se symVal! = 0, a binarização exponencial de golomb para o valor Abs (symVal) - tegParam [274] A Tabela 22 ilustra as cadeias de bin da binarização de Golomb Exponencial Truncada com tegParam == 2.
Tabela 22. Cadeia bin da binarização de Golomb Exponencial Truncada com tegParam = 2.
symVal Truncado Unário Golomb Exponencial
0 0 - - - -
1 1 0 - - -
2 1 1 1 - -
Petição 870190075597, de 06/08/2019, pág. 114/478
72/85
3 1 1 0 1 0
4 1 1 0 1 1
binldx 0 1 2 3 4
Binarização Exponencial Truncada Assassinada Golomb (STEG) [275] Este processo de binarização requer o uso de um parâmetro de entrada adicional stegParam.
[276] Uma sequência binária STEG é a concatenação de binarizações 1 (no caso de symVal == 0) ou 2 (para outros casos):
1. A binarização exponencial de golomb truncado para Abs (symVal)
2. Se symVal! = 0, um sinalizador de um bit é igual a 1 (se symVal < 0) ou igual a 0 (se symVal > 0).
[277] A Tabela 23 ilustra as cadeias de bin da binarização de Golomb Exponencial Truncado Assinado com stegParam = 2.
Tabela 23. Sequência binária da binarização de Golomb Exponencial Truncada Assinada com stegParam = 2.
symVal Truncado Golomb Exponencial Flag assinalado
Truncado Unário Golomb Exponencial
-4 1 1 0 1 1 1
-3 1 1 0 1 0 1
-2 1 1 1 - - 1
-1 1 0 - - - 1
0 0 - - - - -
1 1 0 - - - 0
2 1 1 1 - - 0
3 1 1 0 1 0 0
4 1 1 0 1 1 0
binldx 0 1 2 3 4 Max(binldx)+1
Petição 870190075597, de 06/08/2019, pág. 115/478
73/85
Binarização Unária Truncada Unitária (SUTU) em Divisão [278] Este processo de binarização requer o uso de dois parâmetros de entrada splitUnitSize e outputSymSize. outputSymSize deve sempre ser um múltiplo de splitUnitSize.
[279] A cadeia binária de SUTU é uma concatenação de repetidas binarizações de TU, onde cada binarização de TU é aplicada a partes de symVal que são de tamanho splitUnitSize. Em outras palavras, symVal é representado por x sequência binária obtida com a binarização de TU, onde x = outputSymSize / splitUnitSize. O parâmetro cMax para cada cadeia binária é definido como cMax = (1 « splitUnitSize) -1.
[280] A Tabela 24 ilustra as cadeias binárias de binarizações unárias truncadas em unidades divididas com splitUnitSize = 2 e outputSymbSize = 8.
Tabela 24. Cadeia de escaninho da binarização unária truncada com divisão da divisão com splitUnitSize = 2, outputSymSize = 8.
symVal TU Inst 1 TU Inst 2 TU Inst 3 TU Inst. 4
cMax== =3 cMax== =3 cMax== :3 cMax==3
0 0 - - 0 - - 0 - 0 - -
1 1 0 - 0 - - 0 - 0 - -
3 1 1 1 0 - - 0 - 0 - -
15 1 1 1 1 1 1 0 - 0 - -
31 1 1 1 1 1 1 1 0 0 - -
63 1 1 1 1 1 1 1 1 1 0 - -
binldx 0 1 2 3 4 5 6 7 8 9 10 11
[281] A sintaxe do fluxo de bits para este processo de binarização é descrita
abaixo.
Tabela 25. Processo de decodificação de CABAC para binarização de TU.
decode_cabac_SUTU(ctxTable, ctxldx, splitUnitSize, outputSymSize) { output_symb = 0 cMax = (1 <<splitUnitSize) - 1 for (i=0; icoutputSymSize; i+=splitUnitSize) {
Petição 870190075597, de 06/08/2019, pág. 116/478
74/85 tmp = decode_cabac_TU(ctxTable, ctxldx, cMax) ctxldx += cMax output_sym |= (tmp«i) }
return output_sym }
Binarização llnária Truncada Unitária (SSUTU) Signed Split [282] Este processo de binarização requer o uso de dois parâmetros de entrada splitUnitSize e outputSymSize.
[283] A cadeia binária SSUTU é obtida por uma extensão do processo de binarização SUTU com o sinal de symVal codificado como um sinalizador separado.
- A binarização SUTU para o valor Abs (symVal).
- Se symVal! = 0, um sinalizador de um bit é igual a 1 (se symVal < 0) ou igual a 0 (se symVal > 0).
[284] A Tabela 26 ilustra as cadeias binárias da binarização Unária Truncada Unificada de Divisão Significada com splitUnitSize = 2, outputSymbSize = 8.
Tabela 26 Sequência Bin da Binarização Unária Truncada Unificada da Divisão Dividida com splitUnitSize = 2, outputSymSize = 8.
symVal TU Inst. 1 cMax==3 TU Inst. 2 cMax==3 TU Inst. 3 cMax==3 TU Inst. 4 cMax==3 Sinal
-63 1 1 1 1 1 1 1 1 1 0 1
-31 1 1 1 1 1 1 1 0 0 1
-15 1 1 1 1 1 1 0 0 1
-3 1 1 1 0 0 0 1
-1 1 0 - 0 0 0 1
0 0 - - 0 0 0 -
1 1 0 - 0 0 0 0
3 1 1 1 0 0 0 0
15 1 1 1 1 1 1 0 0 0
31 1 1 1 1 1 1 1 0 0 0
63 1 1 1 1 1 1 1 1 1 0 0
binldx 0 1 2 3 4 5 6 7 8 9 10 11 12
[285] A sintaxe deste processo de binarização é descrita abaixo.
Petição 870190075597, de 06/08/2019, pág. 117/478
75/85 decode_cabac_SSUTU(ctxTable, ctxldx, splitUnitSize, outputSymSize) { output_sym = decode_cabac_SUTU(ctxTable, ctxldx, splitUnitSize, outputSymSize) if(output_sym > 0) { ctxldx += ((1 <<splitUnitSize) - 1) * (outputSymSize I splitUnitSize) sign_flag if(sign_flag == 1) output_sym = -output_sym }
return output_sym }
[286] sign_flag representa a decodificação cabac de um bit na variável de contexto identificada por ctxldx.
[287] decode_cabac_SUTU () representa o processo de decodificação do cabac para a binarização do SUTU.
Binarização Unária Truncada Dupla (DTU) [288] Este processo de binarização requer o uso de dois parâmetros de entrada splitUnitSize e outputSymSize.
[289] A cadeia binária DTU é uma concatenação de duas binarizações, ou seja, a binarização da TU e a binarização da SUTU. O parâmetro cMax é usado para a binarização da TU, e os parâmetros splitUnitSize e outputSymSize são usados para a binarização SUTU (onde seu cMax é derivado internamente).
- A primeira instância da binarização de TU para o valor Min (Abs (symVal), cMax).
- Se Abs (symVal) > cMax, a segunda instância da binarização SUTU para o valor Abs (symVal) - cMax.
[290] A Tabela 27 ilustra as cadeias binárias da binarização Unária Truncada Dupla com cMax = 1, splitUnitSize = 2, outputSymSize = 8.
Tabela 27 Cadeia Bin da Binarização Unária Truncada Dupla com cMax = 1, splitUnitSize = 2, outputSymSize = 8.
Petição 870190075597, de 06/08/2019, pág. 118/478
76/85 symVal TU Inst. SUTU Inst.: splitUnitSize = 2, outputUnitSize = 8
cMax=1 TU Inst. 1 cMax=3 TU Inst. 2 cMax=3 TU Inst. 3 cMax=3 TU Inst. cMax=3 4
0 1 0 1 - - - - - - - - -
1 3 I 1 1 1 0 0 - - 0 - 0 -
15 1 1 1 0 1 1 1 0 - 0 -
31 1 1 1 0 1 1 1 1 0 0 -
63 1 1 1 0 1 1 1 1 1 1 0 -
binldx 0 1 2 3 4 5 6 7 8 9 10 11 12
[291] O processo de binarização é descrito abaixo.
decode_cabac_DTU(ctxTable, ctxldx, cMax, splitUnitSize, outputSymSize) { output_sym = 0 if(cMax > 0) { output_sym = decode_cabac_TU(ctxTable, ctxldx, cMax) if(output_sym > cMax) { output_sym += decode_cabac_SUTU(ctxTable, ctxldx+cMax, splitUnitSize, outputSymSize) }
} else output_sym = decode_cabac_SUTU(ctxTable, ctxldx, splitUnitSize, outputSymSize) return output_sym }
[292] decode_cabac_TU () representa o processo de decodificação do cabac para a binarização de TU.
[293] decode_cabac_SUTU () representa o processo de decodificação do cabac para a binarização SUTU.
Binarização Unária Truncada Dupla (SDTU) Assinada [294] Este processo de binarização requer o uso de dois parâmetros de entrada adicionais splitUnitSize e outputSymSize.
Petição 870190075597, de 06/08/2019, pág. 119/478
77/85 [295] A cadeia binária do SDTll é obtida por uma extensão do processo de binarização da DTU com o sinal de symVal codificado como um sinalizador.
- A binarização do DTU para o valor Abs (symVal).
- Se symVal! = 0, um sinalizador de um bit é igual a 1 (se symVal <0) ou igual a 0 (se symVal> 0).
[296] A Tabela 28 ilustra as cadeias de bin da binarização unária truncada dupla com cMax = 1, splitUnitSize = 2, outputSymSize = 8.
Tabela 28 Cadeia Bin da Binarização Unária Truncada Dupla Assinada com cMax = 1, splitUnitSize = 2, outputSymSize = 8.
symVal TU Inst. cMax=1 SUTU Inst.: splitUnitSize = 2, outputUnitSize = 8 Sinal
TU Inst. 1 cMax=3 TU Inst. cMax=3 2 TU Inst. cMax=3 3 TU Inst. 4 cMax=3
-63 1 1 1 0 1 1 1 1 1 1 0 1
-31 1 1 1 0 1 1 1 1 0 0 1
-15 1 1 1 0 1 1 1 0 0 1
-3 1 1 1 0 0 0 0 1
-1 1 - 1
0 0 -
1 1 - 0
3 1 1 1 0 0 0 0 0
15 1 1 1 0 1 1 1 0 0 0
31 1 1 1 0 1 1 1 1 0 0 0
63 1 1 1 0 1 1 1 1 1 1 0 0
binldx 0 1 2 3 4 5 6 7 8 9 10 11 12 13
[297] A sintaxe deste processo de binarização é descrita abaixo.
decode_cabac_SDTU(ctxTable, ctxldx, cMax, splitUnitSize, outputSymSize) { output_sym = decode_cabac_DTU(ctxTable, ctxldx, cMax, splitUnitSize, outputSymSize) if(output_sym > 0) { ctxldx += cMax + ((1 «splitUnitSize) - 1) * (outputSymSize / splitUnitSize) sign_flag if(sign_flag == 1) output_sym = -output_sym
Petição 870190075597, de 06/08/2019, pág. 120/478
78/85 }
return output_sym }
[298] sign_flag representa a decodificação cabac de um bit na variável de contexto identificada por ctxldx.
[299] decode_cabac_DTU () representa a decodificação do cabac com a binarização do DTU.
Parâmetros de binarização [300] Cada algoritmo de binarização introduzido nas seções anteriores requer parâmetros de configuração nas extremidades de codificação e decodificação. Numa forma de realização, os referidos parâmetros de configuração são encapsulados numa estrutura de dados descrita na Tabela 29. Cada algoritmo de binarização é identificado por um identificador, conforme listado na Tabela 17. Tabela 28. Estrutura dos parâmetros de binarização
ID Binarização parâmetros
0 cLength
1 cMax
2 -
3 -
4 tegParam
5 stegParam
6 splitUnitSize, outputSymSize
7 splitUnitSize, outputSymSize
8 cMax, splitUnitSize, outputSymSize
9 cMaxsplitUnitSize, outputSymSize
[301] Na Tabela 29, a seguinte semântica se aplica:
cMax representa o maior valor a ser binarizado. Valores maiores serão truncados.
cLength representa os números de bits com os quais o valor é binarizado.
tegParam representa a variável tegParam definida nesta invenção para a binarização do TEG.
stegParam representa a variável stegParam definida nesta invenção para a binarização STEG.
Petição 870190075597, de 06/08/2019, pág. 121/478 /85 splitllnitSize representa a variável splitllnitSize definida nesta invenção para as binarizações SUTll, SSUTll e DTU.
outputSymSize representa a variável outputSymSize definida nesta invenção para binarizações SUTll, SSUTll DTU e SDTU.
Evidência de vantagem técnica da presente invenção [302] Aplicando a binarização da CABAC indicada aos respectivos descritores genômicos como indicado na Tabela 30, pode ser obtido o desempenho de compressão indicado na Tabela 31. A melhoria no desempenho de compress do modo descrito nesta invenção pode ser apreciada por comparação com os tamanhos de arquivos correspondentes das abordagens BAM e CRAM e um dos melhores compressores na literatura conhecido como DeeZ (ver Numanagic, I., et al “Comparison of high-throughput sequencing data compression tools”, Nature Methods (ISSN: 1548-7091), vol. 13, p. 1005-1008 London: Nature Publishing Group, 2016). Deve ser considerado que o desempenho de compressão de DeeZ, BAM e CRAM é calculado adicionando o tamanho do genoma de referência comprimido utilizado para o alinhamento com os tamanhos dos dados da sequência do genoma comprimido. De acordo com os princípios da presente invenção, o genoma de referência é incorporado no arquivo comprimido. Na prática atual, o referido genoma de referência comprimido é um arquivo FASTA (texto ASCII) comprimido usando compressores de uso geral, como GZIP, LZMA, Bzip2. Na comparação proposta, o genoma de referência hs37d5.fa foi comprimido usando o comando xz Linux com a opção de compactação máxima (9).
Binarização aplicada aos descritores [303] A Tabela 30 mostra a binarização aplicada aos descritores genômicos definidos nesta invenção. Quando uma concatenação de várias binarizações é indicada, as diferentes binarizações são aplicadas aos diferentes elementos que compõem cada descritor como definido nesta invenção.
Tabela 29. Binarizações associadas a cada descritor genômico.
Petição 870190075597, de 06/08/2019, pág. 122/478
80/85
descriptorjd Nome abreviado binarizationjd
1 pos 8 (leituras alinhadas) 9 (leituras brutas)
2 pair 0, 6, 6, 6
3 rlen 6
4 rcomp 1
5 mmpos 0, 6
6 mmtype 0, 0, 1, 1
7 clips 5, 1, 3, 0
8 flags 0
9 mmap 6
10 msar 3
11 ureads 1
12 rtype 1
13 rftp 0, 6
14 rftt 0, 0, 1, 1
15 rgroup 1
16 mscore 1
rftp e rftt
Um exemplo de binarização de rftp e rftt é fornecido nesta seção e ilustrado na figura 10.
[304] Os descritores associados a cinco descasamentos entre um gen contig e um genoma de referência usados para alinhamento são mostrados abaixo:
rftp 5 7 12 13 15
rftt C T T C A
[305] Cada símbolo de nucleotídeo é associado a um código inteiro:
nucleotídeo código
A 0
C 1
G 2
T 3
N 4
[306] Após a transformação, os valores se tomam:
rftp 5 2 5 1 2
rftt 1 3 3 1 0
[307] Os valores binarizados para o rftp são calculados da seguinte forma:
Petição 870190075597, de 06/08/2019, pág. 123/478
81/85
1. 0 valor do terminador pode ser binarizado como 0 ou 1. Aqui, para este exemplo, selecionamos 0.
2. Se terminador = 0, então binarização no. 6 com splitUnitSize = 4, outputSymbolSize = 12 é usado e as seguintes cadeias binárias são associadas aos valores de rftp a 5 =11110 b 2 =110 c 5 =11110 d1=10 e 2 = 110 [308] Os valores binarizados para rftt são calculados da seguinte forma:
1. Conhecendo o nucleotídeo presente no genoma de referência, remova o símbolo correspondente dos possíveis símbolos a serem codificados. Ou seja, para a primeira incompatibilidade do exemplo, se o símbolo correspondente na referência for um 'G', o espaço dos possíveis símbolos a serem codificados é 0, 1, 3, 4.
2. As frequências de símbolos dos tipos de incompatibilidade nos dados a serem codificados são medidas e indexadas de 0 a 3. O índice 0 é afetado pela incompatibilidade mais frequente e o índice 3 é afetado pela incompatibilidade menos freqüente. Neste exemplo, uma indexação podería ser: {0 => 3, 1 => 0, 2 => 4, 3 => 1}
3. No exemplo dado, as cinco incompatibilidades seriam binarizadas usando a binarização TU como:
Símbolo índice binarização TU com cMax = 3
1 3 111
3 0 0
3 0 0
1 3 0
0 1 10
[309] Com a abordagem de binarização mostrada acima, os seguintes resultados de compactação são obtidos:
Petição 870190075597, de 06/08/2019, pág. 124/478
82/85
Tabela 31. Desempenho de compactação em relação a soluções de última geração (tamanhos em bytes).
Compressor BAM CRAM Deez Met. proposto
9827_2#49.bam (ERR317482)Baixa cobertura 4,755,859,110 3,124,448,497 2,592,665,720 2,164,362,407
Genoma ref. hs37d5.fa 707,712,316 707,712,316 707,712,316 N/A*
Total 5,463,571,426 3,832,160,813 3,300,378,036 2,164,362,407
NA12878_S1.ba m - Alta cobertura 117,653,446,18 7 64,565,636,39 1 64,334,196,40 8 47,759,141,38 8
Genoma ref. hs37d5.fa 707,712,316 707,712,316 707,712,316 N/A*
Total 118,361,158,50 3 65,273,348,70 7 65,041,908,72 4 47,759,141,38 8
* nenhuma informação adicional é necessária, uma vez que já está disponível na representação comprimida de acordo com os princípios desta invenção. Parâmetros de codificação [310] Em uma modalidade, os parâmetros necessários para codificar e decodificar cada Unidade de Acesso são encapsulados em uma estrutura de dados denominada Conjunto de Parâmetros, conforme definido na Tabela 32.
Tabela 32. Parâmetros de codificação para descritores genômicos
Nome do parametro Cardinal. Descricao
dataset type 1 Tipo de dado codificado em Unidades de Acesso com referenda a estes parâmetros de codificação.
reads length 1 Tamanho do nudeotídeo de leituras de sequênda em casos de tamanhos de leitura constantes. O valor 0 indica a presença de leituras de tamanho variável (coberto pelo elemento de sintaxe rlen como aqui definido).
QV depth 1 Numero de Quality Values assodados a cada nudeotídeo codificado. 0 significa que nenhum Quality
Petição 870190075597, de 06/08/2019, pág. 125/478
83/85
Values foi codificado.
alignment score depth 1 Numero de alinhamentos de scores associados com cada alinhamento codificado. 0 significa que nenhum score de alinhamento foi codificado.
terminator size 1 Representa o tamanho em bytes menos um (e.g. 0 = 1 byte) do símbolo terminador usado para o descritor mmpos definido em Error! Reference source not found.
terminator value 1 Representa o valor do símbolo terminador usado para o descritor mmpos definido na tabela 1.
number of classes 1 Numero de classes de dados codificados em todas as Unidades de Acesso que se referem a estes parâmetros de codificação.
class ID Numero de classes Identificador associado a uma das classes de dados aqui definidas (P, N, Μ, I, HM, U).
number of descriptors 1 Numero total de descritores contidos nas Unidades de Acesso que se referem a estes parâmetros de configuração
coding mode ID Numero de descritores Um dos modos de codificação aqui definidos
decoder configuration Numero de descritores Estrutura de dados contendo os parâmetros de configuração de decodificador como aqui especificado
number of groups 1 Numero de valores diferentes do descritor rgroup listado na tabela 1 presente em todas as Unidades de Acesso que se referem aos parâmetros de codificação atuais.
group name Numero de grupos Identificador null-terminated string de um grupo de leitura.
multiple alignments flag 1 flag sinalizando a presença de alinhamentos múltiplos na Unidade de Acesso. Quando ajustado em 0 nenhum alinhamento múltiplo esta presente
spliced reads flag 1 flag sinalizando a presença de spliced reads na Unidade de Acesso. Quando ajustado em 0 nenhuma leitura spliced esta presente.
multiple signature base 1 flag sinalizando o uso de assinaturas múltiplas numa Unidade de Acesso contendo leituras de sequências não mapeadas (Classe U).
signature size 1 Tamanho, em bits, de cada inteiro representando uma assinatura codificada.
score exponent 1 Numero de bits usados para codificar a parte exponencial do score de alinhamentos múltiplos codificados no descritor mscore. Como especificado em IEEE RFC 754 este valor pode estar entre 0 e 11. O descritor mscore e definido na tabela 1.
score fractional 1 Numero de bits usados para codificar a parte fracional do score de alinhamentos múltiplos codificados no descritor mscore. Como especificado em IEEE
Petição 870190075597, de 06/08/2019, pág. 126/478
84/85
RFC 754 este valor pode estar entre 0 e 52. O descritor mscore e definido na tabela 1.
contig buffer size 1 Tamanho, em bits, do buffer usado para construir o contig 102 na figura 1.
contig buffer count 1 Numero de leituras usadas para construir o contig 102 na figura 1.
Aparelho de codificação [311] A Figura 13 mostra um aparelho de codificação de acordo com os princípios desta invenção. O aparelho de codificação recebe como entrada um genoma de referência 1302 e sequências genômicas não alinhadas 1300, por exemplo, produzidas por um aparelho de sequenciação do genoma. Os aparelhos de sequenciação de genomas são conhecidos na técnica, como o Illumina HiSeq 2500, os dispositivos Thermo-Fisher Ion Torrent ou o Oxford Nanopore MinlON. Os dados de sequência não alinhada 1300 são introduzidos numa unidade de alinhamento de leituras 1301, que mapeia as sequências num genoma de referência 1302. As sequências genômicas alinhadas 303 são então alimentadas a um compressor de base 1305 que gera descritores genômicos 1306 representando sequências genômicas mapeadas e não mapeadas. Os descritores genômicos 1306 gerados pelo compressor de referência 1305 são primeiro binarizados por várias unidades de binarização 1307 e depois entropia codificada por vários codificadores de entropia 1308. Os descritores genômicos codificados por entropia são então alimentados a um aparelho de multiplexagem 1310 para construir uma ou mais Unidades de Acesso compondo um fluxo de bits comprimido 1311. O fluxo de bits multiplexado contém também estruturas de parâmetros de codificação 1304 construídas por um codificador 1309 de parâmetros de codificação. Cada Unidade de Acesso contém descritores codificados por entropia que representam informações de alinhamento e leituras de sequência pertencentes a uma classe de dados conforme definido nesta invenção.
Aparelho de decodificação [312] A Figura 14 mostra um aparelho de decodificação de acordo com os princípios desta invenção. Uma unidade de desmultiplexagem 1401 recebe um
Petição 870190075597, de 06/08/2019, pág. 127/478
85/85 fluxo de bits multiplexado 1400 de uma rede ou um elemento de armazenamento e extrai a carga útil codificada de entropia das Unidades de Acesso que compõem o referido fluxo de bits. Os decodificadores de entropia 1402 recebem as cargas úteis extraídas e decodificam os diferentes tipos de descritores genômicos em suas representações binárias. As referidas representações binárias são então alimentadas a vários decodificadores binários 1404 que geram descritores genômicos 1405. Um decodificador de parâmetros de codificação 1403 recebe parâmetros de codificação multiplexados com a informação genômica e alimentaos à unidade de decodificação 1406. Os descritores genômicos 1405 representando leituras de sequência genômica são alimentados a uma leitura de sequência a unidade de reconstrução 1406 que reconstrói as sequências genômicas alinhadas 1407 utilizando um genoma de referência disponível 1408.
[313] As técnicas inventivas aqui divulgadas podem ser implementadas em hardware, software, firmware ou qualquer combinação das mesmas. Quando implementadas em software, elas podem ser armazenadas em um meio de computação e executadas por uma unidade de processamento de hardware. A unidade de processamento de hardware pode compreender um ou mais processadores, processadores de sinal digital, microprocessadores de uso geral, circuitos integrados específicos da aplicação ou outros circuitos lógicos discretos.
[314] As técnicas desta invenção podem ser implementadas numa variedade de dispositivos ou aparelhos, incluindo telefones móveis, computadores de uso geral, servidores, tablets e dispositivos semelhantes.

Claims (82)

  1. REIVINDICAÇÕES
    1. Método para codificar dados da sequência do genoma, os ditos dados da sequência do genoma compreendendo leituras de sequências de nucleotídeos, o referido método caracterizado pelo fato de compreender as etapas de:
    alinhar as referidas leituras a uma ou mais sequências de referência, criando assim leituras alinhadas, classificar as referidas leituras alinhadas de acordo com regras de correspondência especificadas com a dita uma ou mais sequências de referência, criando desse modo classes de leituras alinhadas, representadas por descritores genômicos arranjados em blocos de dados homogêneos codificar as leituras alinhadas classificadas como uma multiplicidade de blocos de elementos de sintaxe, estruturar os ditos blocos de elementos do e os referidos descritores com cabeçalho com informações de cabeçalho , criando sucessivas Unidades de Acesso, em que a referida codificação compreende ainda descritores genômicos de codificação de binarização e entropia.
  2. 2. Método, de acordo com a reivindicação 1, caracterizado por os ditos descritores genômicos de codificação de binarização e entropia serem tais que a binarização e a codificação de entropia é diferente para os diferentes descritores.
  3. 3. Método, de acordo com a reivindicação 2, caracterizado por os referidos descritores compreenderem:
    pos para sinalizar a posição de mapeamento de uma leitura em uma sequência de referência, rcomp para sinalizar a cadeia de DNA ou RNA as leituras foram mapeadas em sinalizadores de mapeamento para permitir que o alinhador especifique ainda mais o resultado do processo de mapeamento.
    Petição 870190075597, de 06/08/2019, pág. 11/478
    2/14
  4. 4. Método, de acordo com a reivindicação 3, caracterizado por compreender ainda a codificação dos seguintes descritores:
    mmpos para sinalizar a posição de incompatibilidades em leituras alinhadas em relação às sequências de referência, mmtype para sinalizar os tipos de incompatibilidade em relação às sequências de referência nas posições associadas.
  5. 5. Método, de acordo com a reivindicação 4, caracterizado por compreender adicionalmente codificar o descritor clips para sinalizar nucleotídeos cortados suaves ou duros.
  6. 6. Método, de acordo com a reivindicação 5, caracterizado por compreender adicionalmente codificar o descritor de rlen para sinalizar o comprimento de cada leitura de sequência codificada.
  7. 7. Método, de acordo com a reivindicação 6, caracterizado por compreender ainda a codificação dos seguintes descritores:
    mmap para sinalizar as múltiplas posições de mapeamento associadas a um único par de leitura ou leitura pelo procedimento de mapeamento, msar para sinalizar a identificação da existência de leituras emendadas (isto é, leituras que quando divididas em blocos encontram posições de mapeamento com graus mais altos de exatidão de correspondência do que quando são mapeadas como leitura contígua simples mapeada em uma única posição em uma sequência de referência).
  8. 8. Método, de acordo com a reivindicação 7, caracterizado por compreender ainda a codificação do descritor mscore para assinalar uma pontuação de mapeamento / alinhamento por leitura gerada por alinhadores de leitura de sequências genômicas.
  9. 9. Método, da reivindicação 8, caracterizado por compreender ainda a codificação do descritor de pares para sinalizar, no caso de leituras finais emparelhadas, como as leituras são emparelhadas.
    Petição 870190075597, de 06/08/2019, pág. 12/478
    3/14
  10. 10. Método, de acordo com a reivindicação 9, caracterizado por compreender adicionalmente codificar o descritor ureads para leituras de sinais que não puderam ser alinhadas em qualquer posição da sequência de referência.
  11. 11. Método, de acordo com a reivindicação 10, caracterizado por compreender adicionalmente codificar o descritor rtype usado para sinalizar o subconjunto de descritores usados para codificar leituras de sequência que não podem ser mapeadas em qualquer posição da sequência de referência com graus especificados de precisão de correspondência.
  12. 12. Método, de acordo com a reivindicação 11, caracterizado por compreender adicionalmente codificar o descritor rgroup para sinalizar a qual grupo de leitura pertence a leitura.
  13. 13. Método, de acordo com a reivindicação 12, caracterizado por compreender ainda a codificação dos seguintes descritores:
    rftp para sinalizar a posição das incompatibilidades entre um contig e uma sequência de referência. Posições de incompatibilidades são terminadas por um caractere terminador especial, rftt para sinalizar o tipo de incompatibilidade entre um contig e uma sequência de referência.
  14. 14. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que:
    o descritor pos é binarizado usando um código unário truncado duplo ou um código unário truncado duplo, o dito descritor rcomp é binarizado usando um código unário truncado, os descritores de flags de mapeamento são binarizados usando codificação binária,
  15. 15. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que:
    Petição 870190075597, de 06/08/2019, pág. 13/478
    4/14 o dito descritor mmpos para sinalizar a posição de desemparelhamentos em leituras alinhadas com respeito a sequências de referência é binarizado usando um código unário truncado de unidade dividida, o dito descritor mmtype para sinalizar os tipos de desemparelhamentos em relação às sequências de referência nas posições associadas é binarizado usando um código unário truncado.
  16. 16. Método, de acordo com a reivindicação 5, caracterizado pelo fato de o referido descritor clips para a sinalização de nucleotídeos cortados suaves ou duros ser binarizado utilizando uma concatenação de Golomb Exponencial Truncado Assinado, Unário Truncado, Golomb Exponencial Assinado e Códigos Binários.
  17. 17. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que o referido descritor de rlen que sinaliza o comprimento de cada leitura de sequência codificada é binarizado usando um código unário Truncado por Unidade Dividida.
  18. 18. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que:
    o dito descritor mmap que sinaliza as posições de mapeamento múltiplo que estão associadas a um único par de leitura ou leitura pelo procedimento de mapeamento é binarizado usando um código unário truncado dividido em unidade, o dito descritor ms para sinalizar a identificação da existência de leituras emendadas é binarizado usando um código de Golomb Exponencial Assinado.
  19. 19. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o referido descritor mscore para assinalar uma pontuação de mapeamento / alinhamento por leitura, como gerado por leituras de sequências genômicas, é alinhado por meio de um código unário truncado.
    Petição 870190075597, de 06/08/2019, pág. 14/478
    5/14
  20. 20. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que o referido descritor de pares para sinaliza, no caso de leituras finais emparelhadas, como as leituras são emparelhadas é binarizado utilizando uma concatenação de Codificação Binária e código uniário Truncado unário Uniforme.
  21. 21. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que o dito descritor ureads para leituras de sinais que não puderam ser alinhadas em qualquer posição da sequência de referência é binarizado usando um código Unário Truncado.
  22. 22. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o dito descritor de tipo usado para sinalizar o subconjunto de descritores usados para codificar leituras de sequência que não podem ser mapeadas em qualquer posição da sequência de referência com graus especificados de precisão de correspondência é binarizado usando um código Unário Truncado.
  23. 23. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que o referido descritor rgroup assinala a que grupo de leitura a leitura pertence é binarizada utilizando um código unário truncado.
  24. 24. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que:
    o dito descritor rftp para sinalizar a posição de desemparelhamentos entre um contig e uma sequência de referência é binarizado usando uma concatenação de código unário truncado por divisão e codificação binária, o dito descritor rftt para sinalizar o tipo de discordâncias entre um contig e uma sequência de referência é binarizado usando uma concatenação de código binário e código unário truncado.
  25. 25. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que os ditos descritores são codificados através da inserção de parâmetros de configuração em um cabeçalho de sintaxe.
    Petição 870190075597, de 06/08/2019, pág. 15/478
    6/14
  26. 26. Método, de acordo com a reivindicação 25, caracterizado pelo fato de que os referidos parâmetros de configuração são atualizados criando cabeçalhos de sintaxe atualizados para serem adicionados ao arquivo genômico codificado.
  27. 27. Método, de acordo com a reivindicação 26, caracterizado pelo fato de que os ditos parâmetros de configuração compreendem um tipo de conjunto de dados para sinalizar o tipo de dados codificados em Unidades de Acesso referentes a esses parâmetros de codificação.
  28. 28. Método, de acordo com a reivindicação 27, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um comprimento de leituras para sinalizar o comprimento em nucleotideos de leituras de sequências no caso de comprimentos de leituras constantes.
  29. 29. Método, de acordo com a reivindicação 28, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem adicionalmente um parâmetro de profundidade de valores de qualidade para sinalizar o número de Valores de Qualidade associados a cada nucleotídeo codificado.
  30. 30. Método, de acordo com a reivindicação 29, caracterizado por os referidos parâmetros de configuração compreenderem ainda uma profundidade de pontuação de alinhamento para sinalizar o número de pontuações de alinhamentos associados a cada um dos alinhamentos codificados.
  31. 31. Método, de acordo com a reivindicação 30, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um tamanho de terminador para sinalizar o tamanho em bytes do símbolo de terminador usado para o descritor de mmpos.
  32. 32. Método, de acordo com a reivindicação 31, caracterizado pelo fato de que os ditos parâmetros de configuração compreendem
    Petição 870190075597, de 06/08/2019, pág. 16/478
    7 /14 adicionalmente um valor terminador para sinalizar o valor do símbolo terminador usado para o descritor mmpos.
  33. 33. Método, de acordo com a reivindicação 32, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem adicionalmente o número de classes para sinalizar o número de classes de dados codificadas em todas as Unidades de Acesso referentes aos referidos parâmetros de configuração.
  34. 34. Método, de acordo com a reivindicação 33, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda identificadores de classe para sinalizar os identificadores associados à classe de dados definida como (P, N, Μ, I, HM, U).
  35. 35. Método, de acordo com a reivindicação 34, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem adicionalmente o número de descritores para sinalizar o número total de descritores contidos em Unidades de Acesso referentes aos referidos parâmetros de configuração.
  36. 36. Método, de acordo com a reivindicação 35, caracterizado pelo fato de que os ditos parâmetros de configuração compreendem adicionalmente identificadores de modo de codificação para modos de codificação diferentes.
  37. 37. Método, de acordo com a reivindicação 36, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um número de parâmetros de grupos para sinalizar o número de valores diferentes do descritor rgroup presente em todas as Unidades de Acesso referentes aos parâmetros de codificação atuais.
  38. 38. Método, de acordo com a reivindicação 37, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um ou mais parâmetros de nome de grupo para sinalizar um ou mais identificadores de grupo de leitura.
    Petição 870190075597, de 06/08/2019, pág. 17/478
    8/14
  39. 39. Método, de acordo com a reivindicação 38, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um sinalizador de alinhamentos múltiplos para sinalizar a presença de alinhamentos múltiplos na Unidade de Acesso.
  40. 40. Método, de acordo com a reivindicação 39, caracterizado pelo fato de que os ditos parâmetros de configuração compreendem adicionalmente um sinalizador de leituras processadas para sinalizar a presença de leituras emendadas na Unidade de Acesso.
  41. 41. Método de acordo com a reivindicação 40, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um sinalizador de base de assinatura múltipla para sinalizar o uso de múltiplas assinaturas em uma Unidade de Acesso contendo leituras de sequência não mapeadas (Classe U).
  42. 42. Método, de acordo com a reivindicação 41, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um tamanho de assinatura para sinalizar o tamanho em bits de cada inteiro representando uma assinatura codificada.
  43. 43. Método, de acordo com a reivindicação 42, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem adicionalmente parâmetros de expoente da pontuação para sinalizar o número de bits utilizados para codificar a parte expoente da pontuação de alinhamentos múltiplos codificada no descritor mscore.
  44. 44. Método, de acordo com a reivindicação 43, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um parâmetro de fração de pontuação para sinalizar o número de bits utilizados para codificar a parte fracionária da pontuação de alinhamentos múltiplos codificada no descritor mscore.
  45. 45 Método para decodificar dados genômicos codificados, os referidos dados de sequências genômicas compreendendo leituras de
    Petição 870190075597, de 06/08/2019, pág. 18/478
    9/14 sequências de nucleotídeos, o referido método caracterizado pelo fato de compreender as etapas de:
    analisar Unidades de Acesso contendo os ditos dados genômicos codificados para extrair múltiplos blocos de descritores genômicos empregando informação de cabeçalho, descodificando a dita multiplicidade de blocos, em que a dita decodificação da multiplicidade de blocos compreende descritores genômicos de decodificação e de-binarização arranjados em blocos de dados homogêneos para extrair leituras alinhadas de acordo com regras de correspondência específicas que definem a sua classificação em relação a uma ou mais sequências de referência.
  46. 46. Método, de acordo com a reivindicação 45, caracterizado pelo fato de que os referidos descritores compreendem:
    um descritor pos para sinalizar a posição de mapeamento de uma leitura numa sequência de referência, um descritor rcomp para sinalizar a cadeia de DNA ou RNA, em que as leituras foram mapeadas em sinalizadores de mapeamento para permitir ao alinhador especificar adicionalmente o resultado do processo de mapeamento.
  47. 47. Método, de acordo com a reivindicação 46, caracterizado pelo fato de compreender adicionalmente decodificar os seguintes descritores:
    mmpos para sinalizar a posição de desemparelhamentos em leituras alinhadas com respeito a sequências de referência, tipo mm para sinalizar os tipos de desemparelhamentos com relação a sequências de referência nas posições associadas.
  48. 48. Método, de acordo com a reivindicação 47, caracterizado pelo fato de compreender adicionalmente decodificar o descritor clips para sinalização de nucleotídeos cortados suaves ou duros.
    Petição 870190075597, de 06/08/2019, pág. 19/478
    10/14
  49. 49. Método, de acordo com a reivindicação 48, caracterizado pelo fato de que compreende ainda a decodificação do descritor de rlen para sinalizar o comprimento de cada sequência codificada lida.
  50. 50. Método, de acordo com a reivindicação 49, caracterizado pelo fato de compreender ainda a descodificação dos seguintes descritores:
    mmap para sinalizar as múltiplas posições de mapeamento associadas a um único par de leitura ou leitura pelo procedimento de mapeamento, msar para sinalizar a identificação da existência de leituras emendadas (isto é, leituras que quando divididas em blocos encontram posições de mapeamento com graus mais altos de exatidão de correspondência do que quando são mapeadas como leitura contígua simples mapeada em uma única posição em uma sequência de referência).
  51. 51. Método, de acordo com a reivindicação 50, caracterizado pelo fato de compreender ainda a decodificação do descritor mscore para assinalar uma pontuação de mapeamento / alinhamento por leitura gerada por alinhadores de leitura de sequências genômicas.
  52. 52. Método, de acordo com a reivindicação 51, caracterizado pelo fato de compreender adicionalmente decodificar o descritor de par para sinalizar, no caso de leituras finais em pares, como as leituras são emparelhadas.
  53. 53. Método, de acordo com a reivindicação 51, caracterizado pelo fato de compreender adicionalmente decodificar o descritor ureads para leituras de sinais que não puderam ser alinhadas em qualquer posição da sequência de referência.
  54. 54. Método, de acordo com a reivindicação 53, caracterizado pelo fato de compreender ainda a decodificação do descritor rtype utilizado para assinalar o subconjunto de descritores utilizados para codificar leituras de sequências que não podem ser mapeadas em qualquer
    Petição 870190075597, de 06/08/2019, pág. 20/478
    11/14 posição da sequência de referência com graus especificados de exatidão de alinhamento.
  55. 55. Método, de acordo com a reivindicação 54, caracterizado pelo fato de compreender ainda a decodificação do descritor rgroup para assinalar a que grupo de leitura a leitura pertence.
  56. 56. Método, de acordo com a reivindicação 55, caracterizado pelo fato de compreender ainda a decodificação dos seguintes descritores:
    rftp para sinalizar a posição das incompatibilidades entre um contig e uma sequência de referência. Posições de incompatibilidades são terminadas por um caractere terminador especial, rftt para sinalizar o tipo de incompatibilidade entre um contig e uma sequência de referência.
  57. 57. Método, de acordo com a reivindicação 56, caracterizado pelo fato de que os ditos descritores são decodificados extraindo parâmetros de configuração de um cabeçalho de sintaxe.
  58. 58. Método, de acordo com a reivindicação 57, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem um tipo de conjunto de dados para sinalizar o tipo de dados codificados em Unidades de Acesso referentes a estes parâmetros de codificação.
  59. 59. Método, de acordo com a reivindicação 58, caracterizado pelo fato de que os ditos parâmetros de configuração compreendem adicionalmente um comprimento de leituras para sinalizar o comprimento em nucleotídeos de leituras de sequência no caso de leituras de leitura constantes.
  60. 60. Método, de acordo com a reivindicação 59, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um parâmetro de profundidade de valores de qualidade para sinalizar o número de Valores de Qualidade associados a cada nucleotídeo codificado.
    Petição 870190075597, de 06/08/2019, pág. 21/478
    12/14
  61. 61. Método, de acordo com a reivindicação 60, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda uma profundidade de pontuação de alinhamento para sinalizar o número de pontuações de alinhamentos associados a cada alinhamento codificado.
  62. 62. Método, de acordo com a reivindicação 61, em que os referidos parâmetros de configuração compreendem ainda um tamanho de terminador para sinalizar o tamanho em bytes do símbolo do terminador utilizado para o descritor mmpos.
  63. 63. Método, de acordo com a reivindicação 62, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um valor de terminador para sinalizar o valor do símbolo de terminador utilizado para o descritor de mmpos.
  64. 64. Método, de acordo com a reivindicação 63, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda o número de classes para sinalizar o número de classes de dados codificadas em todas as Unidades de Acesso referentes aos referidos parâmetros de configuração.
  65. 65. Método, de acordo com a reivindicação 64, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda identificadores de classe para sinalizar os identificadores associados a cada classe de dados.
  66. 66. Método, de acordo com a reivindicação 65, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda o número de descritores para sinalizar o número total de descritores contidos em Unidades de Acesso referentes aos referidos parâmetros de configuração.
  67. 67. Método, de acordo com a reivindicação 66, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem
    Petição 870190075597, de 06/08/2019, pág. 22/478
    13/14 adicionalmente identificadores de modo de codificação para sinalização dos modos de codificação definidos.
  68. 68. Método, de acordo com a reivindicação 67, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um número de parâmetros de grupos para sinalizar o número de valores diferentes do descritor rgroup presente em todas as Unidades de Acesso referentes aos parâmetros de codificação atuais.
  69. 69. Método, de acordo com a reivindicação 68, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem adicionalmente um ou mais parâmetros de nome de grupo para sinalizar um ou mais identificadores de grupo de leitura.
  70. 70. Método, de acordo com a reivindicação 69, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um sinalizador de alinhamentos múltiplos para sinalizar a presença de múltiplos alinhamentos na Unidade de Acesso.
  71. 71. Método, de acordo com a reivindicação 70, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um sinalizador de leituras processadas para sinalizar a presença de leituras combinadas na unidade de acesso, quando definido como 0, não há leituras emendadas.
  72. 72. Método de acordo com a reivindicação 71, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um sinalizador de base de assinatura múltipla para sinalizar o uso de múltiplas assinaturas em uma Unidade de Acesso contendo leituras de sequência não mapeadas (Classe U).
  73. 73. Método, de acordo com a reivindicação 72, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um tamanho de assinatura para sinalizar o tamanho em bits de cada inteiro representando uma assinatura codificada.
    Petição 870190075597, de 06/08/2019, pág. 23/478
    14/14
  74. 74. Método, de acordo com a reivindicação 73, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem adicionalmente um parâmetro de expoente de pontuação para sinalizar o número de bits utilizados para codificar a parte expoente da pontuação de alinhamentos múltiplos codificada no descritor mscore.
  75. 75. Método, de acordo com a reivindicação 74, caracterizado pelo fato de que os referidos parâmetros de configuração compreendem ainda um parâmetro fracionado de pontuação para sinalizar o número de bits utilizados para codificar a parte fracionada da pontuação de alinhamentos múltiplos codificada no descritor mscore.
  76. 76. Aparelho de codificação caracterizado pelo fato de compreender os meios de codificação para implementar o método de codificação conforme definido na reivindicação 1.
  77. 77. Aparelho de decodificação caracterizado pelo fato de que compreende os meios de decodificação para implementar o método de decodificação conforme definido na reivindicação 31.
  78. 78. Formato de arquivo caracterizado pelo fato de compreender os descritores genômicos conforme definidos na reivindicação 13.
  79. 79. Programa de computador caracterizado pelo fato de compreender instruções para executar o método de codificação conforme definido na reivindicação 1.
  80. 80. Programa de computador caracterizado pelo fato de compreender instruções para executar o método de decodificação conforme definido na reivindicação 45.
  81. 81. Meios de armazenamento caracterizado pelo fato de ser para armazenar os programas de computador conforme definidos nas reivindicações 79 ou 80.
  82. 82. Meios de armazenamento caracterizado pelo fato de ser para armazenar um arquivo criado com o método de codificação conforme definido na reivindicação 1.
BR112019016232A 2016-10-11 2017-12-15 método e sistemas para a compressão eficiente de leituras de sequencia genômica BR112019016232A2 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
PCT/EP2016/074301 WO2018068828A1 (en) 2016-10-11 2016-10-11 Method and system for storing and accessing bioinformatics data
PCT/EP2016/074307 WO2018068829A1 (en) 2016-10-11 2016-10-11 Method and apparatus for compact representation of bioinformatics data
PCT/EP2016/074311 WO2018068830A1 (en) 2016-10-11 2016-10-11 Method and system for the transmission of bioinformatics data
PCT/EP2016/074297 WO2018068827A1 (en) 2016-10-11 2016-10-11 Efficient data structures for bioinformatics information representation
PCT/US2017/017842 WO2018071055A1 (en) 2016-10-11 2017-02-14 Method and apparatus for the compact representation of bioinformatics data
PCT/US2017/041579 WO2018071078A1 (en) 2016-10-11 2017-07-11 Method and apparatus for the access to bioinformatics data structured in access units
PCT/US2017/066863 WO2018151788A1 (en) 2017-02-14 2017-12-15 Method and systems for the efficient compression of genomic sequence reads

Publications (1)

Publication Number Publication Date
BR112019016232A2 true BR112019016232A2 (pt) 2020-04-07

Family

ID=61905752

Family Applications (7)

Application Number Title Priority Date Filing Date
BR112019007359A BR112019007359A2 (pt) 2016-10-11 2017-02-14 método e sistema para acesso seletivo dos dados bioinformáticos armazenados ou transmitidos
BR112019007357A BR112019007357A2 (pt) 2016-10-11 2017-07-11 método e sistemas para a indexação de dados de bioinformática
BR112019007363A BR112019007363A2 (pt) 2016-10-11 2017-07-11 método e aparelho para o acesso aos dados bioinformáticos estruturados nas unidades de acesso
BR112019007360A BR112019007360A2 (pt) 2016-10-11 2017-07-11 método e sistemas para a representação e processamento de dados de bioinformática utilizando sequências de referência
BR112019016230A BR112019016230A2 (pt) 2016-10-11 2017-12-14 método e sistemas para a reconstrução de sequências de referência genômicas a partir de leituras de sequência genômica comprimidas
BR112019016232A BR112019016232A2 (pt) 2016-10-11 2017-12-15 método e sistemas para a compressão eficiente de leituras de sequencia genômica
BR112019016236A BR112019016236A2 (pt) 2016-10-11 2018-02-14 método e aparelho para a representação compacta de dados de bioinformática usando descritores genômicos múltiplos referência cruzada a pedidos relacionados

Family Applications Before (5)

Application Number Title Priority Date Filing Date
BR112019007359A BR112019007359A2 (pt) 2016-10-11 2017-02-14 método e sistema para acesso seletivo dos dados bioinformáticos armazenados ou transmitidos
BR112019007357A BR112019007357A2 (pt) 2016-10-11 2017-07-11 método e sistemas para a indexação de dados de bioinformática
BR112019007363A BR112019007363A2 (pt) 2016-10-11 2017-07-11 método e aparelho para o acesso aos dados bioinformáticos estruturados nas unidades de acesso
BR112019007360A BR112019007360A2 (pt) 2016-10-11 2017-07-11 método e sistemas para a representação e processamento de dados de bioinformática utilizando sequências de referência
BR112019016230A BR112019016230A2 (pt) 2016-10-11 2017-12-14 método e sistemas para a reconstrução de sequências de referência genômicas a partir de leituras de sequência genômica comprimidas

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR112019016236A BR112019016236A2 (pt) 2016-10-11 2018-02-14 método e aparelho para a representação compacta de dados de bioinformática usando descritores genômicos múltiplos referência cruzada a pedidos relacionados

Country Status (17)

Country Link
US (6) US20200042735A1 (pt)
EP (3) EP3526694A4 (pt)
JP (4) JP2020505702A (pt)
KR (4) KR20190073426A (pt)
CN (6) CN110168651A (pt)
AU (3) AU2017342688A1 (pt)
BR (7) BR112019007359A2 (pt)
CA (3) CA3040138A1 (pt)
CL (6) CL2019000968A1 (pt)
CO (6) CO2019003638A2 (pt)
EA (2) EA201990916A1 (pt)
IL (3) IL265879B2 (pt)
MX (2) MX2019004130A (pt)
PE (7) PE20191058A1 (pt)
PH (6) PH12019550060A1 (pt)
SG (3) SG11201903270RA (pt)
WO (4) WO2018071054A1 (pt)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526598B (en) * 2014-05-29 2018-11-28 Imagination Tech Ltd Allocation of primitives to primitive blocks
US11574287B2 (en) 2017-10-10 2023-02-07 Text IQ, Inc. Automatic document classification
US11030324B2 (en) * 2017-11-30 2021-06-08 Koninklijke Philips N.V. Proactive resistance to re-identification of genomic data
WO2019191083A1 (en) * 2018-03-26 2019-10-03 Colorado State University Research Foundation Apparatuses, systems and methods for generating and tracking molecular digital signatures to ensure authenticity and integrity of synthetic dna molecules
MX2020012672A (es) * 2018-05-31 2021-02-09 Koninklijke Philips Nv Sistema y metodo para interpretacion de alelos usando un genoma de referencia basado en graficos.
CN108753765B (zh) * 2018-06-08 2020-12-08 中国科学院遗传与发育生物学研究所 一种构建超长连续dna序列的基因组组装方法
US20200058379A1 (en) * 2018-08-20 2020-02-20 The Board Of Trustees Of The Leland Stanford Junior University Systems and Methods for Compressing Genetic Sequencing Data and Uses Thereof
GB2585816A (en) * 2018-12-12 2021-01-27 Univ York Proof-of-work for blockchain applications
US20210074381A1 (en) * 2019-09-11 2021-03-11 Enancio Method for the compression of genome sequence data
CN110797087B (zh) * 2019-10-17 2020-11-03 南京医基云医疗数据研究院有限公司 测序序列处理方法及装置、存储介质、电子设备
JP2022553199A (ja) 2019-10-18 2022-12-22 コーニンクレッカ フィリップス エヌ ヴェ 多様な表形式データの効果的な圧縮、表現、および展開のためのシステムおよび方法
CN111243663B (zh) * 2020-02-26 2022-06-07 西安交通大学 一种基于模式增长算法的基因变异检测方法
CN111370070B (zh) * 2020-02-27 2023-10-27 中国科学院计算技术研究所 一种针对大数据基因测序文件的压缩处理方法
US20210295949A1 (en) * 2020-03-17 2021-09-23 Western Digital Technologies, Inc. Devices and methods for locating a sample read in a reference genome
US11837330B2 (en) 2020-03-18 2023-12-05 Western Digital Technologies, Inc. Reference-guided genome sequencing
EP3896698A1 (en) * 2020-04-15 2021-10-20 Genomsys SA Method and system for the efficient data compression in mpeg-g
CN111459208A (zh) * 2020-04-17 2020-07-28 南京铁道职业技术学院 针对地铁供电系统电能的操纵系统及其方法
AU2021342166A1 (en) * 2020-09-14 2023-01-05 Illumina, Inc. Custom data files for personalized medicine
CN112836355B (zh) * 2021-01-14 2023-04-18 西安科技大学 一种预测采煤工作面顶板来压概率的方法
ES2930699A1 (es) * 2021-06-10 2022-12-20 Veritas Intercontinental S L Metodo de analisis genomico en una plataforma bioinformatica
CN113670643B (zh) * 2021-08-30 2023-05-12 四川虹美智能科技有限公司 智能空调测试方法及系统
CN113643761B (zh) * 2021-10-13 2022-01-18 苏州赛美科基因科技有限公司 一种用于解读二代测序结果所需数据的提取方法
US20230187020A1 (en) * 2021-12-15 2023-06-15 Illumina Software, Inc. Systems and methods for iterative and scalable population-scale variant analysis
CN115391284B (zh) * 2022-10-31 2023-02-03 四川大学华西医院 基因数据文件快速识别方法、系统和计算机可读存储介质
CN116541348B (zh) * 2023-03-22 2023-09-26 河北热点科技股份有限公司 数据智能存储方法及终端查询一体机
CN116739646B (zh) * 2023-08-15 2023-11-24 南京易联阳光信息技术股份有限公司 网络交易大数据分析方法及分析系统
CN117153270B (zh) * 2023-10-30 2024-02-02 吉林华瑞基因科技有限公司 一种基因二代测序数据处理方法

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6303297B1 (en) * 1992-07-17 2001-10-16 Incyte Pharmaceuticals, Inc. Database for storage and analysis of full-length sequences
JP3429674B2 (ja) 1998-04-28 2003-07-22 沖電気工業株式会社 多重通信システム
EP1410301A4 (en) * 2000-04-12 2008-01-23 Cleveland Clinic Foundation SYSTEM FOR IDENTIFYING AND ANALYZING GENE EXPRESSION CONTAINING ELEMENTS RICH IN ADENYLATE URIDYLATE (ARE)
FR2820563B1 (fr) * 2001-02-02 2003-05-16 Expway Procede de compression/decompression d'un document structure
US20040153255A1 (en) * 2003-02-03 2004-08-05 Ahn Tae-Jin Apparatus and method for encoding DNA sequence, and computer readable medium
DE10320711A1 (de) * 2003-05-08 2004-12-16 Siemens Ag Verfahren und Anordnung zur Einrichtung und Aktualisierung einer Benutzeroberfläche zum Zugriff auf Informationsseiten in einem Datennetz
WO2005024562A2 (en) * 2003-08-11 2005-03-17 Eloret Corporation System and method for pattern recognition in sequential data
US7805282B2 (en) * 2004-03-30 2010-09-28 New York University Process, software arrangement and computer-accessible medium for obtaining information associated with a haplotype
US8340914B2 (en) * 2004-11-08 2012-12-25 Gatewood Joe M Methods and systems for compressing and comparing genomic data
US20130332133A1 (en) * 2006-05-11 2013-12-12 Ramot At Tel Aviv University Ltd. Classification of Protein Sequences and Uses of Classified Proteins
SE531398C2 (sv) 2007-02-16 2009-03-24 Scalado Ab Generering av en dataström och identifiering av positioner inuti en dataström
KR101369745B1 (ko) * 2007-04-11 2014-03-07 삼성전자주식회사 비동기화된 비트스트림들의 다중화 및 역다중화 방법 및장치
US8832112B2 (en) * 2008-06-17 2014-09-09 International Business Machines Corporation Encoded matrix index
GB2477703A (en) * 2008-11-14 2011-08-10 Real Time Genomics Inc A method and system for analysing data sequences
US20100217532A1 (en) * 2009-02-25 2010-08-26 University Of Delaware Systems and methods for identifying structurally or functionally significant amino acid sequences
DK2494060T3 (en) * 2009-10-30 2016-08-01 Synthetic Genomics Inc Coding of text for nucleic acid sequences
EP2362657B1 (en) * 2010-02-18 2013-04-24 Research In Motion Limited Parallel entropy coding and decoding methods and devices
US20140228223A1 (en) * 2010-05-10 2014-08-14 Andreas Gnirke High throughput paired-end sequencing of large-insert clone libraries
CA2797645C (en) * 2010-05-25 2020-09-22 The Regents Of The University Of California Bambam: parallel comparative analysis of high-throughput sequencing data
JP6420543B2 (ja) * 2011-01-19 2018-11-07 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ゲノムデータ処理方法
US9215162B2 (en) * 2011-03-09 2015-12-15 Annai Systems Inc. Biological data networks and methods therefor
CN103797486A (zh) * 2011-06-06 2014-05-14 皇家飞利浦有限公司 用于组装核酸序列数据的方法
PL2721819T3 (pl) * 2011-06-16 2024-02-19 Ge Video Compression, Llc Kodowanie entropijne obsługujące przełączanie trybów
US8707289B2 (en) * 2011-07-20 2014-04-22 Google Inc. Multiple application versions
CN104081772B (zh) * 2011-10-06 2018-04-10 弗劳恩霍夫应用研究促进协会 熵编码缓冲器配置
EP2776962A4 (en) * 2011-11-07 2015-12-02 Ingenuity Systems Inc METHODS AND SYSTEMS FOR IDENTIFICATION OF CAUSAL GENOMIC VARIANTS
KR101922129B1 (ko) * 2011-12-05 2018-11-26 삼성전자주식회사 차세대 시퀀싱을 이용하여 획득된 유전 정보를 압축 및 압축해제하는 방법 및 장치
KR20190016149A (ko) * 2011-12-08 2019-02-15 파이브3 제노믹스, 엘엘씨 게놈 데이터의 동적 인덱싱 및 시각화를 제공하는 분산 시스템
EP2608096B1 (en) * 2011-12-24 2020-08-05 Tata Consultancy Services Ltd. Compression of genomic data file
US9600625B2 (en) * 2012-04-23 2017-03-21 Bina Technologies, Inc. Systems and methods for processing nucleic acid sequence data
CN103049680B (zh) * 2012-12-29 2016-09-07 深圳先进技术研究院 基因测序数据读取方法及系统
US9679104B2 (en) * 2013-01-17 2017-06-13 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
WO2014145503A2 (en) * 2013-03-15 2014-09-18 Lieber Institute For Brain Development Sequence alignment using divide and conquer maximum oligonucleotide mapping (dcmom), apparatus, system and method related thereto
JP6054790B2 (ja) * 2013-03-28 2016-12-27 三菱スペース・ソフトウエア株式会社 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム
GB2512829B (en) * 2013-04-05 2015-05-27 Canon Kk Method and apparatus for encoding or decoding an image with inter layer motion information prediction according to motion information compression scheme
WO2014186604A1 (en) * 2013-05-15 2014-11-20 Edico Genome Corp. Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform
KR101522087B1 (ko) * 2013-06-19 2015-05-28 삼성에스디에스 주식회사 미스매치를 고려한 염기 서열 정렬 시스템 및 방법
CN103336916B (zh) * 2013-07-05 2016-04-06 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
US20150032711A1 (en) * 2013-07-06 2015-01-29 Victor Kunin Methods for identification of organisms, assigning reads to organisms, and identification of genes in metagenomic sequences
KR101493982B1 (ko) * 2013-09-26 2015-02-23 대한민국 품종인식 코드화 시스템 및 이를 이용한 코드화 방법
CN104699998A (zh) * 2013-12-06 2015-06-10 国际商业机器公司 用于对基因组进行压缩和解压缩的方法和装置
US10902937B2 (en) * 2014-02-12 2021-01-26 International Business Machines Corporation Lossless compression of DNA sequences
US9916313B2 (en) * 2014-02-14 2018-03-13 Sap Se Mapping of extensible datasets to relational database schemas
US9886561B2 (en) * 2014-02-19 2018-02-06 The Regents Of The University Of California Efficient encoding and storage and retrieval of genomic data
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
US20150379195A1 (en) * 2014-06-25 2015-12-31 The Board Of Trustees Of The Leland Stanford Junior University Software haplotying of hla loci
GB2527588B (en) * 2014-06-27 2016-05-18 Gurulogic Microsystems Oy Encoder and decoder
US20160019339A1 (en) * 2014-07-06 2016-01-21 Mercator BioLogic Incorporated Bioinformatics tools, systems and methods for sequence assembly
US10230390B2 (en) * 2014-08-29 2019-03-12 Bonnie Berger Leighton Compressively-accelerated read mapping framework for next-generation sequencing
US10116632B2 (en) * 2014-09-12 2018-10-30 New York University System, method and computer-accessible medium for secure and compressed transmission of genomic data
US20160125130A1 (en) * 2014-11-05 2016-05-05 Agilent Technologies, Inc. Method for assigning target-enriched sequence reads to a genomic location
WO2016202918A1 (en) * 2015-06-16 2016-12-22 Gottfried Wilhelm Leibniz Universität Hannover Method for compressing genomic data
CN105956417A (zh) * 2016-05-04 2016-09-21 西安电子科技大学 云环境下基于编辑距离的相似碱基序列查询方法
CN105975811B (zh) * 2016-05-09 2019-03-15 管仁初 一种智能比对的基因序列分析装置

Also Published As

Publication number Publication date
PE20191056A1 (es) 2019-08-06
JP2020505702A (ja) 2020-02-20
CL2019000972A1 (es) 2019-08-23
AU2017341685A1 (en) 2019-05-02
CO2019003595A2 (es) 2019-08-30
CO2019009920A2 (es) 2020-01-17
EP3526707A4 (en) 2020-06-17
PH12019550059A1 (en) 2019-12-16
SG11201903272XA (en) 2019-05-30
WO2018071080A3 (en) 2018-06-28
PH12019501881A1 (en) 2020-06-29
KR20190062541A (ko) 2019-06-05
CL2019000968A1 (es) 2019-08-23
EP3526694A1 (en) 2019-08-21
PE20191227A1 (es) 2019-09-11
BR112019007360A2 (pt) 2019-07-09
US20190385702A1 (en) 2019-12-19
IL265928A (en) 2019-05-30
PE20191057A1 (es) 2019-08-06
EA201990917A1 (ru) 2019-08-30
JP2020500382A (ja) 2020-01-09
CL2019000973A1 (es) 2019-08-23
CL2019002277A1 (es) 2019-11-22
IL265928B (en) 2020-10-29
EP3526694A4 (en) 2020-08-12
CO2019003639A2 (es) 2020-02-28
BR112019007363A2 (pt) 2019-07-09
JP7079786B2 (ja) 2022-06-02
PH12019550058A1 (en) 2019-12-16
WO2018071079A1 (en) 2018-04-19
US20200051665A1 (en) 2020-02-13
US11404143B2 (en) 2022-08-02
MX2019004128A (es) 2019-08-21
CN110678929B (zh) 2024-04-16
BR112019007357A2 (pt) 2019-07-16
CO2019003842A2 (es) 2019-08-30
CN110603595B (zh) 2023-08-08
CN110603595A (zh) 2019-12-20
PH12019550057A1 (en) 2020-01-20
CL2019002276A1 (es) 2019-11-29
AU2017341684A1 (en) 2019-05-02
PE20200323A1 (es) 2020-02-13
WO2018071055A1 (en) 2018-04-19
AU2017342688A1 (en) 2019-05-02
CA3040147A1 (en) 2018-04-19
JP2019537172A (ja) 2019-12-19
IL265972A (en) 2019-06-30
CN110168651A (zh) 2019-08-23
CA3040145A1 (en) 2018-04-19
WO2018071080A2 (en) 2018-04-19
IL265879B2 (en) 2024-01-01
KR20190073426A (ko) 2019-06-26
CN110114830B (zh) 2023-10-13
EP3526707A2 (en) 2019-08-21
CN110121577B (zh) 2023-09-19
JP2020500383A (ja) 2020-01-09
US20200035328A1 (en) 2020-01-30
IL265879A (en) 2019-06-30
CL2019002275A1 (es) 2019-11-22
US20190214111A1 (en) 2019-07-11
EP3526657A1 (en) 2019-08-21
CO2019009922A2 (es) 2020-01-17
BR112019016236A2 (pt) 2020-04-07
CN110506272A (zh) 2019-11-26
BR112019007359A2 (pt) 2019-07-16
CN110678929A (zh) 2020-01-10
EP3526657A4 (en) 2020-07-01
PE20200226A1 (es) 2020-01-29
CA3040138A1 (en) 2018-04-19
US20200042735A1 (en) 2020-02-06
MX2019004130A (es) 2020-01-30
BR112019016230A2 (pt) 2020-04-07
US20200051667A1 (en) 2020-02-13
CO2019003638A2 (es) 2019-08-30
KR20190069469A (ko) 2019-06-19
SG11201903271UA (en) 2019-05-30
WO2018071054A1 (en) 2018-04-19
EA201990916A1 (ru) 2019-10-31
PE20191058A1 (es) 2019-08-06
SG11201903270RA (en) 2019-05-30
PE20200227A1 (es) 2020-01-29
PH12019550060A1 (en) 2019-12-16
CN110121577A (zh) 2019-08-13
PH12019501879A1 (en) 2020-06-29
CN110114830A (zh) 2019-08-09
KR20190117652A (ko) 2019-10-16
CN110506272B (zh) 2023-08-01
IL265879B1 (en) 2023-09-01

Similar Documents

Publication Publication Date Title
BR112019016232A2 (pt) método e sistemas para a compressão eficiente de leituras de sequencia genômica
AU2017398951A1 (en) Method and systems for the efficient compression of genomic sequence reads
JP7362481B2 (ja) ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体
AU2018221458B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
BR112019007307A2 (pt) método e sistema para armazenar e acessar dados de bioinformática
BR112019007315A2 (pt) método e aparelho para representação compacta de dados de bioinformática
BR112019007313A2 (pt) método e sistema para a transmissão de dados de bioinformática
JP7324145B2 (ja) ゲノムシーケンスリードの効率的圧縮のための方法及びシステム
CN110663022B (zh) 使用基因组描述符紧凑表示生物信息学数据的方法和设备
ES2960009T3 (es) Método y sistemas para la compresión eficiente de lecturas de secuencias genómica
NZ757185B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
EA043338B1 (ru) Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов
EA040022B1 (ru) Способ и устройство для компактного представления данных биоинформатики

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]