RU2818363C1 - Fast detection of gene fusions - Google Patents

Fast detection of gene fusions Download PDF

Info

Publication number
RU2818363C1
RU2818363C1 RU2021125284A RU2021125284A RU2818363C1 RU 2818363 C1 RU2818363 C1 RU 2818363C1 RU 2021125284 A RU2021125284 A RU 2021125284A RU 2021125284 A RU2021125284 A RU 2021125284A RU 2818363 C1 RU2818363 C1 RU 2818363C1
Authority
RU
Russia
Prior art keywords
read
data
potential
fusion
computers
Prior art date
Application number
RU2021125284A
Other languages
Russian (ru)
Inventor
Вирай ДЕШПАНДЕ
Йоханн Феликс Вильгельм ШЛЕЗИНГЕР
Шон ТРУОНГ
Джон Купер РОДДИ
Майкл РЮЛЕ
Северин КАТРУ
Рами МЕХЬО
Original Assignee
Иллюмина, Инк.
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
Application filed by Иллюмина, Инк. filed Critical Иллюмина, Инк.
Application granted granted Critical
Publication of RU2818363C1 publication Critical patent/RU2818363C1/en

Links

Abstract

FIELD: biotechnology.
SUBSTANCE: described is a method of identifying one or more gene fusions in a biological sample. Method includes operations for obtaining first data, which represent a plurality of aligned readings, identifying a plurality of potential merges included in the obtained first data, filtering a plurality of potential fusions to determine a filtered set of potential merges, for each specific potential fusion from the filtered set of fusion candidates: generating input data by one or more computers for input into a machine learning model, which include extracted feature data representing a particular potential fusion, transmission of generated input data as input data to machine learning model, which has been trained to generate output reflecting the probability that the potential fusion is a confirmed gene fusion, and determining whether the particular potential fusion corresponds to the confirmed gene fusion based on the output. Also disclosed is a system for identifying one or more gene fusions in a biological sample, comprising one or more computers and one or more storage devices on which instructions are stored, when executed by one or more computers, one or more computers perform operations involving the described method. In addition, provided is a non-volatile machine-readable medium for identifying one or more gene fusions in a biological sample, on which software containing instructions is stored, made with possibility of execution by one or more computers, due to execution of which one or more computers perform operations, including described method.
EFFECT: fast detection of gene fusions.
13 cl, 4 dwg

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУCROSS REFERENCE TO RELATED APPLICATION

[0001] Данная заявка испрашивает преимущество по предварительной заявке на патент США №62/944,304, поданной 5 декабря 2019 г., которая полностью включена в настоящий документ путем ссылки.[0001] This application claims the benefit of U.S. Provisional Patent Application No. 62/944,304, filed December 5, 2019, which is incorporated herein by reference in its entirety.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯPREREQUISITES FOR CREATION OF THE INVENTION

[0002] Слияния генов можно использовать в качестве онкогенных факторов, которые являются важными диагностическими и терапевтическими мишенями при лечении таких заболеваний, как рак.[0002] Gene fusions can be used as oncogenic drivers, which are important diagnostic and therapeutic targets in the treatment of diseases such as cancer.

ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0003] В соответствии с одним инновационным аспектом настоящего описания приводится реализованный на компьютере способ идентификации одного или более слияний генов в биологическом образце. В одном аспекте способ может включать операции по получению одним или более компьютерами первых данных, которые представляют множество выравненных считываний от блока выравнивания считываний, идентификации одним или более компьютерами множества потенциальных слияний генов, включенных в полученные первые данные, фильтрацию множества потенциальных слияний генов одним или более компьютерами для определения отфильтрованного набора потенциального слияния генов, для каждого конкретного потенциального слияния генов из отфильтрованного набора потенциальных слияний генов: генерирование входных данных одним или более компьютерами для ввода в модель машинного обучения, причем генерирование таких входных данных включает извлечение характерных данных, отличающих конкретное потенциальное слияние генов от данных, которые включают: (i) один или более сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока выравнивания считываний, и (ii) данные, сгенерированные на основании выходной информации блока выравнивания считываний, направляемые одним или более компьютерами сгенерированные входные данные в качестве ввода для модели машинного обучения, причем модель машинного обучения была обучена генерировать выходные данные, отражающие вероятность того, что потенциальное слияние генов представляет собой подтвержденное слияние генов, исходя из результатов применения модели машинного обучения для обработки входных данных, представляющих собой (i) один или более сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока выравнивания считываний, и (ii) данные, сгенерированные на основании выходной информации блока выравнивания считываний, получение одним или более компьютерами выходных данных, сгенерированных моделью машинного обучения после обработки сгенерированных входных данных моделью машинного обучения, и на основании выходных данных определение, является ли конкретное потенциальное слияние генов подтвержденным потенциальным слиянием генов, одним или более компьютерами.[0003] In accordance with one innovative aspect of the present disclosure, a computer-implemented method for identifying one or more gene fusions in a biological sample is provided. In one aspect, a method may include the steps of one or more computers obtaining first data that represents a plurality of aligned reads from a read alignment block, one or more computers identifying a plurality of potential gene fusions included in the obtained first data, filtering the plurality of potential gene fusions by one or more computers to determine a filtered set of potential gene fusions, for each specific potential gene fusion from the filtered set of potential gene fusions: generating input data by one or more computers for input to a machine learning model, wherein generating such input data includes extracting characteristic data that distinguishes the particular potential fusion genes from data that includes: (i) one or more reference sequence segments to which a particular candidate gene fusion has been aligned using a read alignment block, and (ii) data generated from the output of the read alignment block, directed by one or more computers generated input data as input to a machine learning model, wherein the machine learning model has been trained to generate output data representing the probability that a potential gene fusion represents a confirmed gene fusion based on the results of applying the machine learning model to the input data being ( i) one or more reference sequence segments to which the particular candidate gene fusion was aligned using the read alignment block, and (ii) data generated based on the output of the read alignment block, receiving by one or more computers the output generated by the machine learning model after processing the generated input data by a machine learning model, and based on the output, determining whether a particular potential gene fusion is a confirmed candidate gene fusion by one or more computers.

[0004] Другие версии включают соответствующие системы, аппарат и компьютерные программы для выполнения действий из способов, определяемых командами, закодированными на машиночитаемых устройствах хранения.[0004] Other versions include corresponding systems, apparatus, and computer programs for performing actions in a manner specified by instructions encoded on computer-readable storage devices.

[0005] Эти и другие версии могут необязательно включать один или более из приведенных ниже признаков. Например, в некоторых вариантах реализации генерирование входных данных дополнительно включает извлечение характерных данных, которые включают данные аннотации, описывающие аннотации сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока выравнивания считываний. В таких вариантах реализации модель машинного обучения обучена генерировать выходные данные, отражающие вероятность того, что потенциальное слияние генов является подтвержденным потенциальным слиянием генов на основании результатов применения модели машинного обучения для обработки входных данных, представляющих собой: (i) один или более сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока выравнивания считываний, (ii) данные аннотации, описывающие аннотации сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока выравнивания считываний, и (iii) данные, сгенерированные на основании выходной информации блока выравнивания считываний.[0005] These and other versions may optionally include one or more of the following features. For example, in some embodiments, generating the input data further includes retrieving feature data, which includes annotation data describing the annotations of the reference sequence segments to which the particular candidate gene fusion was aligned using the read alignment block. In such embodiments, the machine learning model is trained to generate output that reflects the probability that a candidate gene fusion is a confirmed candidate gene fusion based on the results of applying the machine learning model to the input data being: (i) one or more segments of a reference sequence, to which a particular potential gene fusion was aligned using a read alignment block, (ii) annotation data describing the annotations of reference sequence segments to which a particular potential gene fusion was aligned using a read alignment block, and (iii) data generated from the output of the block read alignment.

[0006] В некоторых вариантах реализации идентификация множества потенциальных слияний генов, содержащихся в полученных первых данных, одним или более компьютерами может включать идентификацию множества выравниваний расщепленных считываний одним или более компьютерами.[0006] In some embodiments, identifying a plurality of potential gene fusions contained in the acquired first data by one or more computers may include identifying a plurality of split read alignments by one or more computers.

[0007] В некоторых вариантах реализации идентификация множества потенциальных слияний генов, содержащихся в полученных первых данных, одним или более компьютерами может включать идентификацию множества выравниваний дискордантных пар считываний одним или более компьютерами.[0007] In some embodiments, identifying a plurality of potential gene fusions contained in the acquired first data by one or more computers may include identifying a plurality of alignments of discordant read pairs by one or more computers.

[0008] В некоторых вариантах реализации блок выравнивания считываний реализуют с использованием набора из одного или более модулей обработки, которые выполнены с возможностью использования аппаратных логических схем, физически организованных с возможностью выполнения операций с использованием аппаратных логических схем, для: (i) приема данных, представляющих первое считывание, (ii) сопоставления данных, представляющих первое считывание, с одним или более участками эталонной последовательности для идентификации одной или более совпадающих позиций эталонной последовательности, (iii) генерирования одной или более оценок выравнивания, соответствующих каждой из совпадающих позиций эталонной последовательности для первого считывания, (iv) выбора одного или более потенциальных выравниваний для первого считывания на основании одной или более оценок выравнивания и (v) вывода данных, представляющих потенциальное выравнивание для первого считывания.[0008] In some embodiments, a read alignment unit is implemented using a set of one or more processing modules that are configured to use hardware logic circuits physically arranged to perform operations using the hardware logic circuitry to: (i) receive data, representing the first read, (ii) matching the data representing the first read to one or more reference sequence regions to identify one or more matching reference sequence positions, (iii) generating one or more alignment estimates corresponding to each of the matching reference sequence positions for the first reading, (iv) selecting one or more candidate alignments for the first read based on the one or more alignment scores, and (v) outputting data representing the candidate alignment for the first read.

[0009] В некоторых вариантах реализации блок выравнивания считываний реализуют с использованием набора из одного или более модулей обработки посредством использования одного или более центральных процессоров (CPU) или одного или более графических процессоров (GPU) для выполнения программных команд, которые инициируют выполнение одним или более CPU или одним или более GPU функций: (i) приема данных, представляющих первое считывание, (ii) сопоставления данных, представляющих первое считывание, с одним или более участками эталонной последовательности для идентификации одной или более совпадающих позиций эталонной последовательности для первого считывания, (iii) генерирования одной или более оценок выравнивания, соответствующих каждой из совпадающих позиций эталонной последовательности для первого считывания, (iv) выбора одного или более потенциальных выравниваний для первого считывания на основании одной или более оценок выравнивания и (v) вывода данных, представляющих потенциальное выравнивание для первого считывания.[0009] In some embodiments, a read alignment unit is implemented using a set of one or more processing modules by using one or more central processing units (CPUs) or one or more graphics processing units (GPUs) to execute software instructions that cause execution of one or more The CPU or one or more GPUs functions to: (i) receive data representing the first read, (ii) compare the data representing the first read to one or more reference sequence locations to identify one or more matching reference sequence positions for the first read, (iii ) generating one or more alignment estimates corresponding to each of the matching positions of the reference sequence for the first read, (iv) selecting one or more potential alignments for the first read based on the one or more alignment estimates, and (v) outputting data representing the potential alignment for the first reading.

[0010] В некоторых вариантах реализации способ может дополнительно включать получение блоком выравнивания считываний множества считываний, которые еще не были выравнены, выравнивание блоком выравнивания считываний первого подмножества из множества считываний и сохранение блоком выравнивания считываний первого подмножества выравненных считываний в запоминающем устройстве. В таких вариантах реализации получение одним или более компьютерами первых данных, которые представляют множество выравненных считываний от блока выравнивания считываний, может включать получение одним или более компьютерами первого подмножества выравненных считываний из запоминающего устройства и выполнение одной или более операций по п. 1, в то время как блок выравнивания считываний проводит выравнивание второго подмножества из множества считываний, которые еще не были выравнены.[0010] In some embodiments, the method may further include the read alignment unit obtaining a plurality of reads that have not yet been aligned, the read alignment unit aligning a first subset of the plurality of reads, and the read alignment unit storing the first subset of the aligned reads in a storage device. In such embodiments, obtaining by one or more computers first data that represents a plurality of aligned reads from a read alignment unit may include obtaining by one or more computers a first subset of aligned reads from a storage device and performing one or more of the operations of claim 1, while how the read alignment unit aligns a second subset of the many reads that have not yet been aligned.

[0011] В некоторых вариантах реализации данные, сгенерированные на основании выходной информации блока выравнивания считываний, могут включать любое одно или более из числа частоты встречаемости вариантов аллелей, числа уникальных выравниваний считываний, охвата считываний транскрипта, показателя MAPQ или данных, указывающих на гомологию между родительскими генами.[0011] In some embodiments, the data generated based on the read alignment block output may include any one or more of variant allele frequency, number of unique read alignments, transcript read coverage, MAPQ score, or data indicating homology between parents genes.

[0012] В некоторых вариантах реализации определение, соответствует ли конкретное потенциальное слияние подтвержденному потенциальному слиянию генов на основании выходных данных, может включать определение, удовлетворяют ли выходные данные предварительно заданному пороговому значению, одним или более компьютерами и определение того, что конкретное потенциальное слияние соответствует подтвержденному потенциальному слиянию генов, на основании определения того, что выходные данные удовлетворяют предварительно заданным пороговым значениям.[0012] In some embodiments, determining whether a particular candidate fusion matches a confirmed candidate gene fusion based on the output may include determining whether the output satisfies a predetermined threshold by one or more computers and determining that the particular candidate fusion matches the confirmed potential gene fusion, based on a determination that the output meets predefined thresholds.

[0013] В некоторых вариантах реализации определение, соответствует ли конкретное потенциальное слияние подтвержденному потенциальному слиянию генов на основании выходных данных, может включать определение, удовлетворяют ли выходные данные предварительно заданному пороговому значению, одним или более компьютерами и определение несоответствия конкретного потенциального слияния подтвержденному потенциальному слиянию генов на основании определения несоответствия выходных данных предварительно заданным пороговым значениям.[0013] In some embodiments, determining whether a particular candidate fusion matches a confirmed candidate gene fusion based on the output may include determining whether the output meets a predetermined threshold by one or more computers and determining whether the particular candidate fusion does not match the confirmed candidate gene fusion based on determining whether the output data does not meet predefined threshold values.

[0014] Эти и другие инновационные аспекты настоящего описания очевидны в свете подробного описания, прилагаемых графических материалов и пунктов формулы изобретения.[0014] These and other innovative aspects of the present specification will be apparent from the detailed description, accompanying drawings, and claims.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF GRAPHIC MATERIALS

[0015] На ФИГ. 1 показана блок-схема примера системы для быстрого обнаружения подтвержденных слияний генов.[0015] In FIG. Figure 1 shows a block diagram of an example system for rapid detection of confirmed gene fusions.

[0016] На ФИГ. 2 показана последовательность операций примера процесса проведения быстрого обнаружения подтвержденных слияний генов.[0016] In FIG. 2 shows the flow of an example process for performing rapid detection of confirmed gene fusions.

[0017] На ФИГ. 3 показана блок-схема другого примера системы для быстрого обнаружения подтвержденных слияний генов.[0017] In FIG. 3 shows a block diagram of another example of a system for rapidly detecting confirmed gene fusions.

[0018] На ФИГ. 4 показана блок-схема системных компонентов, которые можно использовать для реализации системы быстрого обнаружения подтвержденных слияний генов.[0018] In FIG. Figure 4 shows a block diagram of system components that can be used to implement a system for rapid detection of confirmed gene fusions.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

[0019] Настоящее описание относится к системам, способам, устройствам, компьютерным программам или любой их комбинации для быстрого обнаружения слияний генов. Наличие определенных слияний генов может быть важными показателями конкретного заболевания, показателем, который предполагает использование конкретного лекарственного средства при конкретном заболевании, или их комбинации. Например, определенные слияния генов могут быть показателями определенной формы рака, например острых и хронических миелоидных лейкозов, миелодиспластических синдромов (МДС), сарком мягких тканей или их лечения. Настоящее описание позволяет быстро выявить точные слияния генов с помощью модуля фильтрации для снижения числа потенциальных слияний генов (также называемых в настоящем документе «потенциальными слияниями»), с последующей обработкой, чтобы определить, является ли каждое потенциальное слияние подтвержденным слиянием генов. Такой модуль фильтрации позволяет с высокой точностью выбирать потенциальные слияния для последующего анализа и одновременно сокращать вычислительные ресурсы, которые необходимо расходовать для выявления подтвержденных слияний генов, поскольку для дальнейшей обработки можно использовать только отфильтрованное подмножество потенциальных слияний генов, как описано в настоящем документе.[0019] The present description relates to systems, methods, devices, computer programs or any combination thereof for rapid detection of gene fusions. The presence of certain gene fusions may be important indicators of a particular disease, an indicator that suggests the use of a particular drug for a particular disease, or a combination of both. For example, certain gene fusions may be indicative of a particular form of cancer, such as acute and chronic myeloid leukemias, myelodysplastic syndromes (MDS), soft tissue sarcomas, or their treatments. The present disclosure allows for the rapid identification of accurate gene fusions by using a filtering module to reduce the number of potential gene fusions (also referred to herein as “potential fusions”), followed by processing to determine whether each potential fusion is a confirmed gene fusion. This filtering module allows for highly accurate selection of potential fusions for subsequent analysis while reducing the computational resources required to identify confirmed gene fusions, since only a filtered subset of potential gene fusions can be used for further processing, as described herein.

[0020] Сокращенный набор потенциальных слияний генов также обеспечивает другие технологические преимущества. Например, описанные в настоящем документе способы и системы обеспечивают сокращение времени прогона по сравнению со стандартными способами обработки и оценки всех потенциальных слияний генов. Сокращение времени прогона для выполнения операций также напрямую приводит к снижению расходов на ресурсы обработки (например, ресурсы CPU или GPU), использование запоминающего устройства и энергопотребление. Несмотря на то что модуль фильтрации обеспечивает сокращение времени прогона по сравнению с традиционными способами, описанные в настоящем документе способы и системы также в состоянии использовать другие подходы для сокращения времени прогона. Например, в некоторых вариантах реализации можно добиться еще большего сокращения времени прогона за счет использования аппаратно-ускоренного блока выравнивания считываний для картирования, выравнивания и генерирования метаданных, используемых для обработки потенциальных слияний генов.[0020] The reduced set of potential gene fusions also provides other technological advantages. For example, the methods and systems described herein provide reduced runtimes compared to standard methods for processing and evaluating all potential gene fusions. Reducing the runtime to perform operations also directly translates into lower costs in processing resources (such as CPU or GPU resources), storage usage, and power consumption. Although the filtration module provides reduced run time compared to traditional methods, the methods and systems described herein are also capable of using other approaches to reduce run time. For example, in some embodiments, further reductions in run time can be achieved by using a hardware-accelerated read alignment unit to map, align, and generate metadata used to process potential gene fusions.

[0021] На ФИГ. 1 показана блок-схема примера системы 100 для быстрого обнаружения подтвержденных слияний генов. Система 100 может включать секвенатор 110 нуклеиновых кислот, запоминающее устройство 120, блок 130 вторичного анализа, модуль 140 идентификации потенциального слияния, модуль 150 фильтрации потенциальных слияний, модуль 160 генерации набора признаков, модель 170 машинного обучения, модуль 180 определения слияния генов, модуль 190 выходного прикладного программного интерфейса (API) и дисплей 195 вывода. В примере, показанном на ФИГ. 1, каждый из этих компонентов описан как реализуемый в рамках секвенатора 110 нуклеиновых кислот. Вместе с тем настоящее описание не ограничивается такими вариантами осуществления.[0021] In FIG. 1 shows a block diagram of an example system 100 for rapidly detecting confirmed gene fusions. The system 100 may include a nucleic acid sequencer 110, a storage device 120, a secondary analysis unit 130, a potential fusion identification module 140, a potential fusion filtering module 150, a feature set generation module 160, a machine learning model 170, a gene fusion detection module 180, an output module 190 application program interface (API) and output display 195. In the example shown in FIG. 1, each of these components is described as being implemented within the nucleic acid sequencer 110. However, the present description is not limited to such embodiments.

[0022] Вместо этого в некоторых вариантах реализации один или более компонентов, показанных на ФИГ. 1, могут быть реализованы на компьютере вне секвенатора 110 нуклеиновых кислот. Например, в некоторых вариантах реализации модули вторичного анализа могут быть реализованы в рамках секвенатора 110 нуклеиновых кислот и модуля 140 идентификации потенциального слияния, модуля 150 фильтрации потенциальных слияний, модуля 160 генерации набора признаков, модели 170 машинного обучения, модуля 180 определения слияния генов, модуля 190 выходного прикладного программного интерфейса (API), которые могут быть реализованы в одном или более разных компьютерах. В таких вариантах реализации один или более разных компьютеров и секвенатор нуклеиновых кислот могут быть соединены с возможностью связи с использованием одной или более проводных сетей, одной или более беспроводных сетей или их комбинации.[0022] Instead, in some embodiments, one or more of the components shown in FIG. 1 can be implemented on a computer outside of the nucleic acid sequencer 110. For example, in some embodiments, secondary analysis modules may be implemented within a nucleic acid sequencer 110 and a potential fusion identification module 140, a potential fusion filtering module 150, a feature set generation module 160, a machine learning model 170, a gene fusion detection module 180, a module 190 output application programming interface (API), which can be implemented on one or more different computers. In such embodiments, one or more different computers and the nucleic acid sequencer may be communicatively coupled using one or more wired networks, one or more wireless networks, or a combination thereof.

[0023] Для целей данного описания термин «модуль» включает один или более программных компонентов, один или более аппаратных компонентов или любую их комбинацию, которые можно использовать для осуществления функциональных возможностей, относящихся к соответствующему модулю в данном описании. Как правило, приведенный в настоящем документе термин «модуль» использует один или более процессоров для выполнения программных команд для реализации функциональных возможностей модуля, описанного в настоящем документе. Процессор может включать центральный процессор (CPU), графический процессор (GPU) или т.п.[0023] For purposes of this specification, the term “module” includes one or more software components, one or more hardware components, or any combination thereof that can be used to implement functionality related to the corresponding module in this specification. Typically, the term "module" as used herein uses one or more processors to execute software instructions to implement the functionality of the module described herein. The processor may include a central processing unit (CPU), a graphics processing unit (GPU), or the like.

[0024] Аналогичным образом используемый в настоящем документе термин «блок» включает один или более программных компонентов, один или более аппаратных компонентов или любую их комбинацию, которые можно использовать для осуществления функциональных возможностей, относящихся к соответствующему блоку в настоящем описании. Как правило, приведенный в настоящем документе «блок» использует один или более аппаратных компонентов, таких как зашитые цифровые логические элементы или зашитые цифровые логические блоки, организованные в виде модулей обработки, для выполнения операций, которые осуществляют функциональные возможности описанного в настоящем документе блока. Такие зашитые цифровые логические элементы или зашитые цифровые логические схемы могут включать программируемую пользователем матрицу логических элементов (FPGA), интегральную схему прикладного назначения (ASIC) или т.п.[0024] Likewise, as used herein, the term “block” includes one or more software components, one or more hardware components, or any combination thereof that can be used to implement functionality related to the corresponding block herein. Typically, a “block” described herein uses one or more hardware components, such as hardwired digital logic gates or hardwired digital logic blocks, organized as processing modules, to perform operations that implement the functionality of the block described herein. Such hardwired digital gates or hardwired digital logic circuits may include a field programmable gate array (FPGA), an application integrated circuit (ASIC), or the like.

[0025] Секвенатор 110 нуклеиновых кислот (также называемый в настоящем документе секвенатором 110) выполнен с возможностью проведения анализа первичной нуклеотидной последовательности. Выполнение первичного анализа может включать введение в секвенатор 110 биологического образца 105, такого как образец крови, образец ткани, мокрота или образец нуклеиновой кислоты, и генерирование секвенатором 110 выходных данных, таких как одно или более считываний 112, каждое из которых представляет собой порядок нуклеотидов нуклеотидной последовательности полученного биологического образца. В некоторых вариантах реализации секвенирование с помощью секвенатора 110 нуклеиновых кислот можно выполнять в ходе множества циклов считывания, при этом в первом цикле считывания «Read 1» генерируют одно или более первых считываний, представляющих порядок нуклеотидов от первого конца фрагмента нуклеотидной последовательности, и во втором цикле считывания «Read 2» генерируют одно или более вторых считываний соответственно, представляющих порядок нуклеотидов с других концов одного из фрагментов нуклеотидной последовательности. В некоторых вариантах реализации считывания могут представлять собой короткие считывания длиной приблизительно от 80 до 120 нуклеотидов. При этом настоящее описание не ограничивается считываниями с какой-либо конкретным количеством нуклеотидов. Напротив, настоящее описание можно использовать для считывания любого количества нуклеотидов.[0025] Nucleic acid sequencer 110 (also referred to herein as sequencer 110) is configured to perform primary nucleotide sequence analysis. Performing a primary analysis may include introducing a biological sample 105, such as a blood sample, tissue sample, sputum, or nucleic acid sample, into the sequencer 110, and generating an output from the sequencer 110, such as one or more reads 112, each of which represents the nucleotide order of the nucleotide sequence. sequence of the obtained biological sample. In some embodiments, sequencing by the nucleic acid sequencer 110 can be performed over multiple read cycles, with a first "Read 1" cycle generating one or more first reads representing nucleotide order from the first end of the nucleotide sequence fragment, and a second "Read 1" cycle generating "Read 2" reads generate one or more second reads, respectively, representing the order of nucleotides from the other ends of one of the nucleotide sequence fragments. In some embodiments, the reads may be short reads of approximately 80 to 120 nucleotides in length. However, the present description is not limited to reads with any particular number of nucleotides. In contrast, the present disclosure can be used to read any number of nucleotides.

[0026] В некоторых вариантах реализации биологический образец 105 может включать образец ДНК, а секвенатор 110 нуклеиновых кислот может включать секвенатор ДНК. В таких вариантах реализации порядок секвенированных нуклеотидов в считывании, полученном секвенатором нуклеиновых кислот, может включать один или более из гуанина (G), цитозина (С), аденина (А) и тимина (Т) в любой комбинации. В некоторых вариантах реализации секвенатор 110 нуклеиновых кислот можно использовать для получения считываний РНК биологического образца 105. В таких вариантах реализации это может происходить с использованием протоколов RNA-seq. В качестве примера, биологический образец 105 может быть предварительно обработан с применением обратной транскрипции с образованием комплементарной ДНК (кДНК) с помощью фермента обратной транскриптазы. В других вариантах реализации секвенатор 110 нуклеиновых кислот может включать секвенатор РНК, а биологический образец может включать образец РНК. Считывания РНК, полученные с использованием кДНК или с помощью секвенатора РНК, могут состоять из С, G, А и урацила (U). Описанный в настоящем документе пример на ФИГ. 1 приводится со ссылкой на генерирование и анализ считываний РНК. При этом настоящее описание можно использовать для получения и анализа любого типа считываний нуклеотидной последовательностей, включая считывания ДНК или РНК.[0026] In some embodiments, biological sample 105 may include a DNA sample and nucleic acid sequencer 110 may include a DNA sequencer. In such embodiments, the order of sequenced nucleotides in the read produced by the nucleic acid sequencer may include one or more of guanine (G), cytosine (C), adenine (A), and thymine (T) in any combination. In some embodiments, a nucleic acid sequencer 110 may be used to obtain RNA reads from a biological sample 105. In such embodiments, this may occur using RNA-seq protocols. As an example, biological sample 105 may be preprocessed using reverse transcription to form complementary DNA (cDNA) using the enzyme reverse transcriptase. In other embodiments, the nucleic acid sequencer 110 may include an RNA sequencer, and the biological sample may include an RNA sample. RNA reads produced using cDNA or using an RNA sequencer can consist of C, G, A, and uracil (U). The example described herein in FIG. 1 is provided with reference to the generation and analysis of RNA reads. However, the present disclosure can be used to obtain and analyze any type of nucleotide sequence reads, including DNA or RNA reads.

[0027] Секвенатор 110 может включать секвенатор следующего поколения (NGS), который выполнен с возможностью генерирования считываний последовательностей, таких как считывания 112-1, 112-2, 112-n, где «n» представляет собой любое положительное целое число больше 0, для данного образца таким образом, чтобы обеспечивать сверхвысокую производительность, масштабируемость и скорость за счет использования технологии массового параллельного секвенирования. NGS позволяют быстро секвенировать целые геномы, обеспечивают возможность глубокого изучения секвенированных целевых областей, использования секвенирования РНК (RNA-Seq) для обнаружения новых вариантов РНК и сайтов сплайсинга или количественно определять мРНК для анализа генной экспрессии, проводить анализ эпигенетических факторов, таких как метилирование ДНК в масштабах генома и ДНК-белковые взаимодействия, секвенирование образцов опухолей для исследования редких соматических вариантов и субклонов опухоли, а также изучение разнообразия микроорганизмов, например, у людей или в окружающей среде.[0027] Sequencer 110 may include a next generation sequencer (NGS) that is configured to generate sequence reads, such as reads 112-1, 112-2, 112-n, where "n" is any positive integer greater than 0. for a given sample in a manner that provides ultra-high throughput, scalability, and speed through the use of massively parallel sequencing technology. NGS allows the rapid sequencing of entire genomes, the ability to study sequenced target regions in depth, the use of RNA sequencing (RNA-Seq) to discover new RNA variants and splice sites or quantify mRNA for gene expression analysis, and the analysis of epigenetic factors such as DNA methylation in genomic scales and DNA-protein interactions, sequencing tumor samples to investigate rare somatic variants and tumor subclones, and studying microbial diversity, for example in humans or in the environment.

[0028] Секвенатор 110 может секвенировать биологический образец 105 и генерировать соответствующий набор считываний, представленных в виде набора А, С, Т и G. Затем секвенатор может выполнять обратную транскрипцию для построения последовательности кДНК, отражающую соответствующую последовательность РНК. Такие считывания последовательности РНК 112-1, 112-2, 112-n выводят секвенатором 110 и сохраняют в запоминающем устройстве 120. В некоторых вариантах реализации считывания последовательности РНК 112-1, 112-2, 112-n можно сжимать в форме записи данных меньшего объема перед сохранением считываний 112-1, 112-2, 112-n в запоминающем устройстве 120. Доступ к запоминающему устройству 120 можно осуществлять каждым из показанных на ФИГ. 1 компонентов, включая блок 130 вторичного анализа, модуль 140 идентификации потенциального слияния, модуль 150 фильтрации потенциальных слияний, модуль 160 генерации набора признаков, модель 170 машинного обучения, модуль 180 определения слияния генов и модуль 190 выходного API. Несмотря на то что соответствующие модули могут быть показаны как обеспечивающие передачу выходных данных от первого модуля на второй модуль, практическое осуществление такой функции может включать сохранение выходных данных первым модулем в запоминающем устройстве, таком как запоминающее устройство 120, и доступ второго модуля к хранящимся выходным данным в запоминающем устройстве и обработку доступных выходных данных в качестве входных данных для второго модуля.[0028] The sequencer 110 may sequence the biological sample 105 and generate a corresponding set of reads, represented as a set of A, C, T, and G. The sequencer may then perform reverse transcription to construct a cDNA sequence reflecting the corresponding RNA sequence. Such RNA sequence reads 112-1, 112-2, 112-n are output by sequencer 110 and stored in memory 120. In some embodiments, RNA sequence reads 112-1, 112-2, 112-n can be compressed into a smaller data record form volume before storing the reads 112-1, 112-2, 112-n in the storage device 120. The storage device 120 can be accessed by each of those shown in FIG. 1 components, including a secondary analysis block 130, a potential fusion identification module 140, a potential fusion filtering module 150, a feature set generation module 160, a machine learning model 170, a gene fusion detection module 180, and an output API module 190. Although the respective modules may be shown to provide output data from the first module to the second module, the practice of such functionality may involve the first module storing the output data in a storage device, such as memory device 120, and having the second module access the stored output data. in a storage device and processing the available output data as input data to the second module.

[0029] Блок 130 вторичного анализа может получать доступ к считываниям 112-1, 112-2, 112-n, хранящимся в запоминающем устройстве 120, и выполнять одну или более операций вторичного анализа считываний 112-1, 112-2, 112-n. В некоторых вариантах реализации считывания 112-1, 112-2, 112-n могут храниться в запоминающем устройстве 120 в сжатых записях данных. В таких вариантах реализации блок вторичного анализа может выполнять операции распаковки сжатых записей считывания до выполнения операций вторичного анализа записей считывания. Операции вторичного анализа могут включать картирование одного или более считываний с эталонным геномом, выравнивание одного или более считываний с эталонным геномом или обе перечисленные операции. В некоторых вариантах реализации операции вторичного анализа могут также включать операции распознавания вариантов. В дополнение к выполнению операций вторичного анализа блок 130 вторичного анализа также может быть выполнен с возможностью проведения операций сортировки. Операции сортировки могут включать, например, упорядочение считываний, которые были выравнены блоком вторичного анализа, на основании позиций в эталонном геноме, с которым были сопоставлены выравненные считывания.[0029] The secondary analysis unit 130 may access the reads 112-1, 112-2, 112-n stored in the storage device 120 and perform one or more secondary analysis operations on the reads 112-1, 112-2, 112-n . In some embodiments, reads 112-1, 112-2, 112-n may be stored in storage device 120 in compressed data records. In such embodiments, the secondary parsing unit may perform decompression operations on the compressed read records before performing secondary parsing operations on the read records. Secondary analysis operations may include mapping one or more reads to a reference genome, aligning one or more reads to a reference genome, or both. In some embodiments, the secondary analysis operations may also include variant recognition operations. In addition to performing secondary analysis operations, the secondary analysis unit 130 may also be configured to perform sorting operations. The sorting operations may include, for example, ordering the reads that have been aligned by the secondary analysis unit based on the positions in the reference genome to which the aligned reads have been mapped.

[0030] В некоторых вариантах реализации, таких как пример, приведенный на ФИГ. 1, блок 130 вторичного анализа может включать запоминающее устройство 132 и программируемое логическое устройство 134. Программируемое логическое устройство 134 может содержать аппаратные логические схемы, которые могут быть динамически конфигурированы для включения одного или более операционных блоков вторичного анализа, таких как блок 136 выравнивания считываний, и могут быть использованы для выполнения одной или более операций вторичного анализа с использованием аппаратных логических схем. Динамическое конфигурирование программируемого логического устройства 134 для включения операционного блока вторичного анализа, такой как блок 136 выравнивания считываний, может включать, например, передачу одной или более команд на программируемое логическое устройство 134, которые инициируют перевод аппаратных логических элементов программируемого логического устройства 134 программируемым логическим устройством 134 в такую аппаратную цифровую логическую конфигурацию, которая выполнена с возможностью осуществления функциональных возможностей блока 136 выравнивания считываний в аппаратной логике.[0030] In some embodiments, such as the example shown in FIG. 1, the secondary analysis unit 130 may include a memory 132 and a programmable logic device 134. The programmable logic device 134 may include hardware logic circuits that can be dynamically configured to include one or more secondary analysis operational units, such as a read alignment unit 136, and can be used to perform one or more secondary analysis operations using hardware logic circuits. Dynamically configuring the programmable logic device 134 to enable a secondary analysis operation block, such as a read aligner 136, may involve, for example, transmitting one or more commands to the programmable logic device 134 that cause the programmable logic device 134's hardware logic elements to be translated by the programmable logic device 134 into a hardware digital logic configuration that is configured to implement the functionality of the read aligner 136 in the hardware logic.

[0031] Одна или более операций, приводящих к динамической конфигурации программируемого логического устройства 134, могут включать компилируемый код языка описания аппаратных средств, одну или более команд для программируемого логического устройства 134 для его собственной конфигурации на основании компилируемого кода языка описания аппаратных средств или т.п. Такие операции, которые приводят к динамической конфигурации программируемого логического устройства 134, можно генерировать и передавать на программируемое логическое устройство 134 посредством управляющей программы, выполняемой секвенатором 110 или другим компьютером, на котором размещена управляющая программа. В некоторых вариантах реализации управляющая программа может представлять собой программный модуль, команды которого хранятся в запоминающем устройстве, таком как запоминающее устройство 120. Функциональные возможности управляющей программы по генерированию и передаче кода команд языка описания аппаратных средств или других команд для конфигурирования программируемого логического устройства 134 могут быть реализованы посредством выполнения программного модуля управляющей программы с помощью одного или более процессоров, таких как один или более CPU или один или более GPU.[0031] The one or more operations resulting in a dynamic configuration of the programmable logic device 134 may include compiled hardware description language code, one or more instructions to the programmable logic device 134 to configure itself based on the compiled hardware description language code, or the like. P. Such operations, which result in a dynamic configuration of the programmable logic device 134, can be generated and transmitted to the programmable logic device 134 by a control program executed by the sequencer 110 or other computer hosting the control program. In some embodiments, the control program may be a software module whose instructions are stored in a storage device, such as memory device 120. The functionality of the control program to generate and transmit hardware description language instruction code or other instructions for configuring the programmable logic device 134 may be implemented by executing a control program software module using one or more processors, such as one or more CPUs or one or more GPUs.

[0032] Функциональные возможности блока 136 выравнивания считываний могут включать получение одного или более первых считываний, таких как считывания РНК 112-1, 112-2, 112-n, которые хранились в запоминающем устройстве 120 секвенатора 110, картирование полученных первых считываний 112-1, 112-2, 112-n с одной или более позициями эталонной последовательности и последующее выравнивание картированных первых считываний 112-1, 112-2, 112-n с эталонной последовательностью. Таким образом, на стадии картирования можно идентифицировать набор потенциальных позиций эталонной последовательности для каждого конкретного считывания из полученных первых считываний, которые соответствуют конкретному считыванию. Затем на стадии выравнивания можно генерировать оценку каждой потенциальной позиции эталонной последовательности и выбирать конкретную позицию эталонной последовательности с самой высокой оценкой выравнивания в качестве правильного выравнивания для конкретного считывания. Эталонная последовательность может включать организованную последовательность нуклеотидов, соответствующих известному геному.[0032] The functionality of the read alignment block 136 may include retrieving one or more first reads, such as RNA reads 112-1, 112-2, 112-n, that were stored in the memory 120 of the sequencer 110, mapping the resulting first reads 112-1 , 112-2, 112-n with one or more reference sequence positions and then aligning the mapped first reads 112-1, 112-2, 112-n with the reference sequence. Thus, at the mapping stage, it is possible to identify a set of potential reference sequence positions for each specific read from the obtained first reads that correspond to a specific read. The alignment step can then generate a score for each potential reference sequence position and select the specific reference sequence position with the highest alignment score as the correct alignment for a particular read. The reference sequence may include an organized sequence of nucleotides corresponding to a known genome.

[0033] Конфигурация аппаратных логических элементов программируемого логического устройства 134 в ответ на одну или более команд управляющей программы может включать конфигурирование логических элементов, таких как элементы AND, элементы OR, элементы NOR, элементы XOR или любая их комбинация, для выполнения цифровых логических функций блока 136 выравнивания считываний. В альтернативном или дополнительном варианте осуществления конфигурация аппаратных логических элементов может включать динамически конфигурируемые логические блоки, содержащие настраиваемые аппаратные логические блоки для выполнения сложных вычислительных операций, включая сложение, умножение, сопоставление или т.п. Точная конфигурация аппаратных логических элементов, логических блоков или их комбинации определяется командами, получаемыми от управляющей программы. Полученные команды могут включать (или быть выведены из него) компилированный программный код языка описания аппаратных средств (HDL), который был записан субъектом и определяет схему компоновки операционного блока вторичного анализа, которая должна быть запрограммирована в программируемое логическое устройство 134. Программный код HDL может включать программный код, написанный на том или ином языке, таком как язык описания аппаратных средств на быстродействующих интегральных схемах (VHDL), Verilog или т.п. Субъектом может быть один или более людей-пользователей, подготовивших программный код HDL, один или более агентов искусственного интеллекта, генерирующих программный код HDL, или их комбинация.[0033] Configuring the hardware logic gates of programmable logic device 134 in response to one or more control program commands may include configuring logic gates, such as AND gates, OR gates, NOR gates, XOR gates, or any combination thereof, to perform digital logic functions of the block 136 read alignment. In an alternative or additional embodiment, the hardware logic element configuration may include dynamically configurable logic blocks comprising configurable hardware logic blocks to perform complex computational operations, including addition, multiplication, comparison, or the like. The exact configuration of hardware logic elements, logic blocks, or combinations thereof is determined by commands received from the control program. The received instructions may include (or be derived from) compiled hardware description language (HDL) program code that has been written by the subject and specifies a secondary analysis operating unit layout design to be programmed into the programmable logic device 134. The HDL program code may include software code written in a language such as high-speed integrated circuit hardware description language (VHDL), Verilog, or the like. The subject may be one or more human users who generated the HDL code, one or more artificial intelligence agents that generated the HDL code, or a combination of both.

[0034] Программируемое логическое устройство 134 может включать программируемое логическое устройство любого типа. Например, программируемое логическое устройство 134 может включать одну или более программируемых пользователем матриц логических элементов (FPGA), одно или более сложных программируемых логических устройств (CPLD) или одну или более программируемых логических матриц (PLA) или их комбинацию, которые выполнены с возможностью динамического конфигурирования и переконфигурирования управляющей программой по мере необходимости для выполнения конкретной последовательности рабочих операций. Например, в некоторых вариантах реализации может быть желательно использовать программируемое логическое устройство 134 в качестве блока 136 выравнивания считываний, как описано выше. Вместе с тем в других вариантах реализации может быть желательно использовать программируемое логическое устройство 134 для выполнения функций распознавания вариантов или функций поддержки распознавания вариантов, таких как блок скрытой марковской модели (НММ). В других вариантах реализации программируемое логическое устройство 134 также может быть динамически конфигурировано для поддержки общих вычислительных задач, таких как сжатие и распаковка, поскольку аппаратная логика программируемого логического устройства 134 способна выполнять эти задачи и другие указанные выше задачи намного быстрее выполнения тех же задач с использованием программных команд, выполняемых одним или более процессоров 150. В некоторых вариантах реализации программируемое логическое устройство 134 может быть динамически переконфигурировано в процессе прогона для выполнения различных операций.[0034] Programmable logic device 134 may include any type of programmable logic device. For example, programmable logic device 134 may include one or more field programmable gate arrays (FPGAs), one or more complex programmable gate arrays (CPLDs), or one or more programmable gate arrays (PLAs), or a combination thereof, that are dynamically configurable and reconfiguration by the control program as necessary to perform a specific sequence of operating operations. For example, in some implementations it may be desirable to use programmable logic device 134 as read aligner 136, as described above. However, in other embodiments, it may be desirable to use programmable logic device 134 to perform variant recognition functions or variant recognition supporting functions, such as a Hidden Markov Model (HMM) block. In other implementations, the programmable logic device 134 may also be dynamically configured to support common computing tasks such as compression and decompression, since the hardware logic of the programmable logic device 134 is capable of performing these tasks and other tasks noted above much faster than performing the same tasks using software instructions executed by one or more processors 150. In some embodiments, programmable logic device 134 may be dynamically reconfigured during a run to perform various operations.

[0035] В качестве примера в некоторых вариантах реализации программируемое логическое устройство 134 может быть реализовано с использованием FPGA, которая динамически конфигурирована в виде блока распаковки для доступа к данным, представляющим сжатую версию первых считываний 112-1, 112-2, 112-n, хранящихся в запоминающем устройстве 120 или 132. Блок 130 вторичного анализа может использовать блок распаковки для распаковки сжатых данных, представляющих первые считывания 112-1, 112-2, 122-n (например, если считывания, полученные от секвенатора нуклеиновых кислот, были сжаты). Блок распаковки может хранить распакованные считывания в запоминающем устройстве 120 или 132. Затем в таких вариантах реализации FPGA можно динамически переконфигурировать в качестве блока 136 выравнивания считываний и использовать для выполнения картирования и выравнивания распакованных первых считываний 112-1,112-2, 112-n, уже сохраненных в запоминающем устройстве 132 или 120. Затем блок 136 выравнивания считываний может сохранять данные, представляющие картированные и выравненные считывания в запоминающем устройстве 132 или 120. Несмотря на то что такая последовательность операций описана как включающая операции распаковки, картирования и выравнивания, настоящее описание не ограничивается выполнением этих операций или только этими операциями. Напротив, программируемое логическое устройство 134 может быть динамически сконфигурировано для осуществления при необходимости функциональных возможностей любого операционного блока в любом порядке для реализации функциональных возможностей, описанных в настоящем документе.[0035] As an example, in some embodiments, programmable logic device 134 may be implemented using an FPGA that is dynamically configured as a decompressor to access data representing a compressed version of the first reads 112-1, 112-2, 112-n. stored in memory 120 or 132. Secondary analysis unit 130 may use a decompressor to decompress compressed data representing first reads 112-1, 112-2, 122-n (e.g., if reads obtained from a nucleic acid sequencer have been compressed) . The decompression unit may store the decompressed reads in memory 120 or 132. In such embodiments, the FPGA may then be dynamically reconfigured as a read alignment unit 136 and used to perform mapping and alignment of the decompressed first reads 112-1, 112-2, 112-n already stored in memory 132 or 120. Read aligner 136 may then store data representing the mapped and aligned reads in memory 132 or 120. Although such a sequence of operations is described as including decompression, mapping, and alignment operations, the present description is not limited to performing these operations or only these operations. In contrast, programmable logic device 134 may be dynamically configured to implement the functionality of any operating block, as needed, in any order to implement the functionality described herein.

[0036] В примере на ФИГ. 1 описан блок 130 вторичного анализа, который использует аппаратное логическое устройство в форме программируемого логического устройства 134 для осуществления блока 136 выравнивания считываний. Вместе с тем настоящее описание не ограничивается применением программируемых логических устройств для осуществления блока 136 выравнивания считываний. Напротив, другие виды интегральных схем можно использовать для осуществления блока 136 выравнивания считываний в аппаратной цифровой логической схеме блока 130 вторичного анализа. Например, в некоторых вариантах реализации блок 143 вторичного анализа может быть выполнен с возможностью использования одной или более специализированных интегральных схем (ASIC) для реализации функциональных возможностей одного или более операционных блоков вторичного анализа. Несмотря на невозможность перепрограммирования одна или более специализированных интегральных схем (ASIC) могут быть сконструированы с использованием специализированной аппаратной логической схемы одного или более операционных блоков вторичного анализа, таких как блок 136 выравнивания считываний, блок распознавания вариантов, вычислительный блок поддержки распознавания вариантов или т.п., для ускорения и распараллеливания выполнения операций вторичного анализа. В некоторых вариантах реализации использование одной или более ASIC в качестве аппаратных логических схем блока 130 вторичного анализа, которые реализуют функциональные возможности одного или более блоков операций вторичного анализа, может обеспечивать еще более высокую скорость, чем применение программируемого логического устройства, такого как FPGA. Соответственно, специалисту в данной области будет очевидно, что в любом из вариантов осуществления, описанных в настоящем документе, вместо программируемого логического устройства, такого как FPGA, можно использовать ASIC. Для тех вариантов реализации, в которых будут использовать ASIC, необходимо применять специализированную ASIC или специализированные логические группы из одной ASIC для каждого блока операций вторичного анализа, которые должны проводить ASIC. В качестве примера используют одну или более ASIC для выравнивания считывания, одну или более ASIC для распаковки, одну или более ASIC для сжатия или их комбинации. Кроме того, такие же функциональные возможности можно также обеспечивать при использовании специализированных логических групп в одной и той же ASIC.[0036] In the example of FIG. 1, a secondary analysis block 130 is described that uses hardware logic in the form of a programmable logic device 134 to implement a read alignment block 136. However, the present description is not limited to the use of programmable logic devices to implement the read alignment unit 136. In contrast, other types of integrated circuits may be used to implement the read alignment block 136 in the hardware digital logic circuit of the secondary analysis block 130. For example, in some embodiments, the secondary analysis block 143 may be configured to use one or more application specific integrated circuits (ASICs) to implement the functionality of one or more secondary analysis operational blocks. Although not reprogrammable, one or more application specific integrated circuits (ASICs) may be constructed using dedicated hardware logic of one or more secondary analysis operating units, such as a read alignment unit 136, a variant recognition unit, a variant recognition support computational unit, or the like. ., to speed up and parallelize the execution of secondary analysis operations. In some implementations, the use of one or more ASICs as hardware logic circuits of the secondary analysis block 130 that implement the functionality of one or more secondary analysis blocks may provide even higher speed than the use of a programmable logic device such as an FPGA. Accordingly, one skilled in the art will appreciate that in any of the embodiments described herein, an ASIC may be used in place of a programmable logic device such as an FPGA. For implementations that will use ASICs, it is necessary to use a dedicated ASIC or dedicated logical groups of a single ASIC for each block of secondary analysis operations that the ASIC must perform. By way of example, one or more read alignment ASICs, one or more decompression ASICs, one or more compression ASICs, or combinations thereof are used. Additionally, the same functionality can also be provided by using dedicated logic groups in the same ASIC.

[0037] Кроме того, в примерах настоящего описания, представленных со ссылкой на системы 100 и 300 на ФИГ. 1 и 3 соответственно, описаны со ссылкой на использование аппаратной реализации блока 136 выравнивания считываний в программируемом логическом устройстве. Кроме того, выше указано, что одну или более ASIC можно использовать для осуществления модуля выравнивания считываний или других блоков операций вторичного анализа. Вместе с тем настоящее описание не ограничивается использованием аппаратных блоков для реализации таких операций вторичного анализа. Напротив, в некоторых вариантах реализации любая из операций, описанных в настоящем документе, выполняемых программируемым логическим устройством, таких как выравнивание считываний, сжатие или распаковка, также может быть реализована с использованием одного или более программных модулей.[0037] In addition, in the examples of the present description presented with reference to systems 100 and 300 in FIG. 1 and 3, respectively, are described with reference to the use of a hardware implementation of a read alignment unit 136 in a programmable logic device. Additionally, as noted above, one or more ASICs may be used to implement the read alignment module or other secondary analysis blocks. However, the present description is not limited to the use of hardware units for implementing such secondary analysis operations. Conversely, in some embodiments, any of the operations described herein performed by a programmable logic device, such as read alignment, compression, or decompression, may also be implemented using one or more software modules.

[0038] Как показано в примере на ФИГ. 1, реализация системы 100 может начинаться с секвенатора 110 для секвенирования биологического образца 105. Секвенирование биологического образца может включать генерирование секвенатором 110 считанных последовательностей, которые представляют собой данные, отражающие упорядоченные последовательности нуклеотидов, присутствующих в биологическом образце 105. Если система 100 выполнена с возможностью обработки считываний ДНК, считывания, генерируемые секвенатором 110, можно сохранять в запоминающем устройстве 120.[0038] As shown in the example of FIG. 1, an implementation of system 100 may begin with a sequencer 110 to sequence a biological sample 105. Sequencing a biological sample may involve the sequencer 110 generating sequence reads, which are data reflecting the ordered sequences of nucleotides present in the biological sample 105. If the system 100 is configured to process DNA reads, reads generated by sequencer 110 may be stored in memory 120.

[0039] В альтернативном варианте реализации в некоторых вариантах реализации, если система 100 выполнена с возможностью обработки считываний РНК, секвенатор 110 может быть выполнен с возможностью проведения предварительной обработки биологического образца 110 с использованием обратной транскрипции для образования комплементарной ДНК (кДНК) с помощью фермента обратной транскриптазы. В таких вариантах реализации, таких как вариант реализации в примере, представленном на ФИГ. 1, считывания, сгенерированные секвенатором 110, включают считывания РНК 112-1, 112-2, 112-n. В других вариантах реализации секвенатор 110 нуклеиновых кислот может включать секвенатор РНК, а биологический образец может включать образец РНК. Независимо от того, генерируют ли считывания РНК с помощью секвенатора ДНК с использованием кДНК или с помощью секвенатора РНК, каждое из считываний РНК включает последовательность нуклеотидов, состоящую из С, G, А и U. Считывания 112-1, 112-2, 112-n могут храниться в запоминающем устройстве 120 в сжатом или распакованном формате.[0039] Alternatively, in some embodiments, if the system 100 is configured to process RNA reads, the sequencer 110 may be configured to preprocess the biological sample 110 using reverse transcription to generate complementary DNA (cDNA) using a reverse enzyme transcriptase. In such embodiments, such as the example embodiment shown in FIG. 1, the reads generated by the sequencer 110 include RNA reads 112-1, 112-2, 112-n. In other embodiments, the nucleic acid sequencer 110 may include an RNA sequencer, and the biological sample may include an RNA sample. Whether RNA reads are generated by a DNA sequencer using cDNA or by an RNA sequencer, each of the RNA reads includes a nucleotide sequence consisting of C, G, A and U. Reads 112-1, 112-2, 112- n may be stored in storage device 120 in a compressed or decompressed format.

[0040] Реализация системы 100 может быть продолжена с использованием блока 130 вторичного анализа, получающего считывания 112-1, 112-2, 112-n, хранящихся в запоминающем устройстве 120. В некоторых вариантах реализации блоку 130 вторичного анализа можно предоставлять доступ к считываниям 112-1, 112-2, 122-n в запоминающем устройстве 120, и он может сохранять доступные считывания 112-1, 112-2, 112-n в запоминающем устройстве 132 блока 130 вторичного анализа. В других вариантах реализации после того, как управляющая программа регистрирует завершение секвенирования считываний 112-1, 112-2, 112-n и доступность блока 130 вторичного анализа для выполнения операций вторичного анализа, управляющая программа может загружать считывания 112-1, 112-2, 112-n в память 132 блока 130 вторичного анализа.[0040] The implementation of system 100 may continue with secondary analysis unit 130 receiving reads 112-1, 112-2, 112-n stored in storage device 120. In some embodiments, secondary analysis unit 130 may be given access to reads 112 -1, 112-2, 122-n in the memory 120, and it can store the available reads 112-1, 112-2, 112-n in the memory 132 of the secondary analysis unit 130. In other embodiments, after the manager registers the completion of sequencing of reads 112-1, 112-2, 112-n and the availability of secondary analysis unit 130 to perform secondary analysis operations, the manager may load reads 112-1, 112-2, 112-n into memory 132 of the secondary analysis unit 130.

[0041] В случае сжатия считываний 112-1, 112-2, 112-n блок 130 вторичного анализа может динамически конфигурировать программируемое логическое устройство 134 как блок распаковки для доступа к считываниям 112-1, 112-2, 112-n в запоминающем устройстве 132 или 120, распаковки считываний 112-1, 112-2, 112-n, а затем сохранять распакованные считывания 112-1, 112-2, 112-n в запоминающем устройстве 1320 или 120. В некоторых вариантах реализации блок вторичного анализа может динамически изменять конфигурацию программируемого логического устройства и выполнять распаковку в соответствии с командами управляющей программы.[0041] In the case of compression of reads 112-1, 112-2, 112-n, secondary analysis unit 130 may dynamically configure programmable logic device 134 as a decompressor to access reads 112-1, 112-2, 112-n in the storage device 132 or 120, decompress reads 112-1, 112-2, 112-n, and then store the decompressed reads 112-1, 112-2, 112-n in storage device 1320 or 120. In some embodiments, the secondary analysis unit may dynamically change the configuration of a programmable logical device and perform unpacking in accordance with the commands of the control program.

[0042] Если считывания 112-1, 112-2, 122-n не были сжаты, блок 130 вторичного анализа может получать доступ к считываниям из запоминающего устройства 132 или 120 и выполнять операции выравнивания считываний. В некоторых вариантах реализации блок 130 вторичного анализа может принимать от управляющей программы команду, инструктирующую блок 130 вторичного анализа конфигурировать или повторно конфигурировать программируемое логическое устройство 134 так, чтобы включать блок 136 выравнивания считываний, а затем использовать блок 136 выравнивания считываний для проведения выравнивания считываний 112-1, 112-2, 112-n. В альтернативном варианте реализации в других вариантах реализации программируемое логическое устройство может уже быть выполнено с возможностью включения блока 136 выравнивания считываний и использования блока 136 выравнивания считываний для проведения выравнивания считываний 112-1, 112-2, 112-n. В других вариантах реализации блок 130 вторичного анализа может включать ASIC, которая выполнена с возможностью проведения выравнивания считываний, а затем использовать ASIC для проведения выравнивания считываний 112-1, 112-2, 112-n.[0042] If reads 112-1, 112-2, 122-n have not been compressed, secondary analysis unit 130 may access reads from memory 132 or 120 and perform read alignment operations. In some embodiments, the secondary analysis unit 130 may receive a command from the control program instructing the secondary analysis unit 130 to configure or reconfigure the programmable logic device 134 to enable the read alignment unit 136, and then use the read alignment unit 136 to perform alignment of the reads 112- 1, 112-2, 112-n. Alternatively, in other embodiments, the programmable logic device may already be configured to include a read alignment block 136 and use the read alignment block 136 to perform read alignment 112-1, 112-2, 112-n. In other embodiments, the secondary analysis unit 130 may include an ASIC that is configured to perform read alignment and then use the ASIC to perform read alignment 112-1, 112-2, 112-n.

[0043] Блок 130 вторичного анализа может быть выполнен с возможностью проведения операций выравнивания считываний параллельно с анализом слияния генов. Например, блок 140 вторичного анализа может получать первый пакет считываний, сгенерированный секвенатором 110, которые не были выравнены, использовать блок 136 выравнивания считываний для выравнивания первого пакета считываний, использовать модуль сортировки, который может быть реализован в аппаратной конфигурации программируемого логического устройства 136 или может быть реализован в программном обеспечении посредством выполнения программных команд для сортировки выравненных считываний, а затем выводить первый пакет выравненных и отсортированных считываний для хранения в запоминающем устройстве 132, 130. В некоторых вариантах реализации память 132 может функционировать как локальный кэш для блока 132 вторичного анализа, в который загружают данные, подлежащие обработке в блоке выравнивания считываний, после чего выгружают данные, которые выводит блок 136 выравнивания считываний. Поэтому после вывода первого пакета выравненных считываний из блока 136 выравнивания считываний в память 132, первый пакет выравненных считываний может проходить сортировку, а затем загружаться в память 120. Затем модуль 140 идентификации потенциального слияния может получать доступ к первому пакету выравненных и отсортированных считываний из запоминающего устройства 120 и начинать обработку первого пакета выравненных и отсортированных считываний, в то время как блок 130 вторичного анализа выполняет операции выравнивания второго пакета считываний, которые были подготовлены секвенатором 110 и не были выравнены ранее. Такой процесс можно выполнять итеративно, пока система 100 не обработает каждый пакет считываний. Несмотря на то что данный пример описан с использованием выравненных и отсортированных пакетов, настоящее описание не требует, чтобы пакеты выравненных считываний также были отсортированы. Напротив, использование выравненных и отсортированных считываний можно осуществлять в системе 100 или системе 300 для улучшения показателей, например сокращения времени прогона, как это описано ниже.[0043] The secondary analysis unit 130 may be configured to perform read alignment operations in parallel with the gene fusion analysis. For example, secondary analysis unit 140 may receive a first batch of reads generated by sequencer 110 that have not been aligned, use read alignment unit 136 to align the first batch of reads, use a sort module that may be implemented in the hardware configuration of programmable logic device 136, or may implemented in software by executing software instructions to sort the aligned reads and then output the first batch of aligned and sorted reads for storage in memory 132, 130. In some embodiments, memory 132 may function as a local cache for secondary analysis unit 132, into which loading data to be processed in the read alignment unit, and then unloading the data that is output by the read alignment unit 136. Therefore, after the first batch of aligned reads is output from the read alignment unit 136 to memory 132, the first batch of aligned reads may be sorted and then loaded into memory 120. The potential merge identification module 140 may then access the first batch of aligned and sorted reads from the storage device. 120 and begin processing the first batch of aligned and sorted reads while the secondary analysis unit 130 performs alignment operations on the second batch of reads that were prepared by sequencer 110 and were not previously aligned. Such a process can be performed iteratively until the system 100 has processed each batch of reads. Although this example is described using aligned and sorted packets, the present description does not require that the aligned read packets also be sorted. In contrast, the use of aligned and sorted reads can be implemented in system 100 or system 300 to improve performance, such as reducing run time, as described below.

[0044] Модуль 140 идентификации потенциального слияния может получать пакет выравненных и отсортированных считываний, которые были выравнены блоком 136 выравнивания считываний, и определять, содержит ли пакет выравненных и отсортированных считываний один или более потенциальных генов слияния. В некоторых вариантах реализации, если полученный пакет включает выравненные и отсортированные считывания, модуль 140 идентификации потенциального слияния может оценивать отсортированные считывания пакета, причем геномный интервал, соответствующий пакету, перекрывает точку разрыва по меньшей мере одного потенциального слияния. За счет этого может сокращаться число потенциальных слияний, которые требуют дальнейшего анализа. В других вариантах реализации, если полученный пакет включает выравненные считывания, которые не были отсортированы, модуль 140 идентификации потенциального слияния может оценивать каждое из выравненных считываний в пакете, чтобы определить, является ли выравненное считывание потенциальным слиянием. В некоторых вариантах реализации проводимая модулем 140 идентификации потенциального слияния операция определения того, включает ли пакет считываний одно или более потенциальных слияний, предусматривает определение модулем 140 идентификации потенциального слияния, при том что пакет считываний включает одно или более выравниваний расщепленных считываний, одной или более дискордантных пар считываний, одно или более выравниваний с ограниченным клиппированием или их комбинацию.[0044] Potential fusion identification module 140 may receive a batch of aligned and sorted reads that have been aligned by read alignment unit 136 and determine whether the batch of aligned and sorted reads contains one or more potential fusion genes. In some embodiments, if the resulting package includes aligned and sorted reads, the potential fusion identification module 140 may evaluate the sorted reads of the package, wherein the genomic interval corresponding to the package overlaps the breakpoint of at least one potential fusion. This may reduce the number of potential mergers that require further analysis. In other implementations, if a received packet includes aligned reads that have not been sorted, the potential merge identification module 140 may evaluate each of the aligned reads in the packet to determine whether the aligned read is a potential merge. In some embodiments, the operation of determining whether a package of reads includes one or more potential fusions by the potential fusion identification module 140 involves the identification of a potential fusion by the module 140, where the package of reads includes one or more split read alignments, one or more discordant pairs reads, one or more limited-clipping alignments, or a combination thereof.

[0045] В некоторых вариантах реализации модуль 140 идентификации потенциального слияния может быть выполнен с возможностью идентификации выравниваний расщепленных считываний как потенциальных слияний. Модуль 140 идентификации потенциального слияния может идентифицировать выравнивания расщепленных считываний посредством анализа генов эталонной последовательности, с которой проводили выравнивание каждого конкретного считывания в пакете выравненных считываний. Если модуль 140 идентификации потенциального слияния устанавливает соответствие того или иного считывания единичному гену, модуль 140 идентификации потенциального слияния может определять, что такое считывание не является расщепленным. В альтернативном варианте осуществления, если модуль 140 идентификации потенциального слияния определяет, что считывание совпадает с двумя различными генами, то считывание можно считать расщепленным. В таких вариантах реализации расщепленное считывание может быть отнесено к потенциальным слияниям. Считывание можно считать соответствующим двум различным считываниям, если, например, первое подмножество нуклеотидов считывания выравнивают с первым родительским геном эталонного генома, а второе подмножество нуклеотидов считывания выравнивают со вторым родительским геном эталонного генома. В некоторых вариантах реализации первое подмножество нуклеотидов может быть префиксом считывания, а второе подмножество нуклеотидов может быть суффиксом считывания. Если модуль 140 идентификации потенциального слияния выполнен с возможностью идентификации расщепленных считываний, данные идентификации расщепленных считываний, при наличии таковых, могут храниться в запоминающем устройстве 120.[0045] In some embodiments, potential fusion identification module 140 may be configured to identify split read alignments as potential fusions. Potential fusion identification module 140 can identify split read alignments by analyzing the reference sequence genes to which each particular read in the stack of aligned reads was aligned. If the potential fusion identification module 140 identifies a read as a single gene, the potential fusion identification module 140 may determine that the read is not split. In an alternative embodiment, if the potential fusion identification module 140 determines that a read matches two different genes, then the read may be considered split. In such embodiments, split reads may be classified as potential fusions. A read can be considered to correspond to two different reads if, for example, a first subset of read nucleotides is aligned to a first parent gene of a reference genome and a second subset of read nucleotides is aligned to a second parent gene of a reference genome. In some embodiments, the first subset of nucleotides may be a read prefix and the second subset of nucleotides may be a read suffix. If the potential fusion identification module 140 is configured to identify split reads, split read identification data, if any, may be stored in memory 120.

[0046] В некоторых вариантах реализации модуль 140 идентификации потенциального слияния может быть выполнен с возможностью идентификации выравниваний дискордантных пар считываний как потенциальных слияний. Модуль 140 идентификации потенциального слияния может идентифицировать дискордантные пары считываний посредством анализа генов эталонной последовательности, с которой выравнивали каждую конкретную пару считывания в пакете выравненных считываний. Если пару считывания выравнивают с эталонной последовательностью, а ориентация и диапазон выравнивания соответствуют ожидаемой ориентации и диапазону, пара считывания не относится к дискордантным считываниям. В альтернативном варианте осуществления, если пару считывания выравнивают с эталонной последовательностью, а ориентация и диапазон выравнивания соответствуют ожидаемым ориентации и диапазону, пара считывания будет отнесена к дискордантным считываниям. В таких вариантах реализации, если одно считывание в паре соответствует одному родительскому гену, а другое соответствует другому родительскому гену, дискордантное считыванием может быть отнесено к потенциальным слияниям. Если модуль 140 идентификации потенциального слияния выполнен с возможностью идентификации дискордантных считываний, данные идентификации дискордантных считываний, при наличии таковых, могут храниться в запоминающем устройстве 120.[0046] In some embodiments, potential fusion identification module 140 may be configured to identify alignments of discordant read pairs as potential fusions. Potential fusion identification module 140 may identify discordant read pairs by analyzing the genes of the reference sequence to which each particular read pair in the batch of aligned reads was aligned. If a read pair is aligned to a reference sequence and the orientation and range of the alignment matches the expected orientation and range, the read pair is not a discordant read. In an alternative embodiment, if a read pair is aligned to a reference sequence and the orientation and range of the alignment matches the expected orientation and range, the read pair will be classified as discordant reads. In such embodiments, if one read in a pair corresponds to one parent gene and the other corresponds to the other parent gene, the discordant read may be classified as a potential fusion. If the potential merger identification module 140 is configured to identify discordant reads, the discordant read identification data, if any, may be stored in the storage device 120.

[0047] В некоторых вариантах реализации модуль 140 идентификации потенциального слияния может быть выполнен с возможностью идентификации выравниваний с ограниченным клиппированием как потенциальных слияний. Модуль 140 идентификации потенциального слияния может идентифицировать выравнивания с ограниченным клиппированием посредством анализа генов эталонной последовательности, с которой выравнивали каждое конкретное считывание в пакете выравненных считываний. В некоторых вариантах реализации модуль 140 идентификации потенциального слияния может определять, полностью ли выравнивается считывание с единичной позицией в эталонном геноме. Если модуль 140 идентификации потенциального слияния устанавливает полное соответствие выравнивания того или иного считывания с единичной позицией в эталонном геноме, модуль 140 идентификации потенциального слияния может определять, что такое считывание не является расщепленным. В альтернативном варианте осуществления, если модуль 140 идентификации потенциального слияния устанавливает, что лишь участок того или иного считывания выравнивается с эталонным геномом, модуль 140 идентификации потенциального слияния может определять, что такое считывание является расщепленным. Если выравненный участок считывания соответствует одному родительскому гену, а невыравненный участок содержит последовательность, аналогичную другому родительскому гену, считывание ограниченным клиппированием будет отнесено к потенциальным слияниям. Если модуль 140 идентификации потенциального слияния выполнен с возможностью идентификации считываний с ограниченным клиппированием, данные идентификации считываний с ограниченным клиппированием как потенциального слияния, при наличии таковых, могут храниться в запоминающем устройстве 120.[0047] In some embodiments, potential merge identification module 140 may be configured to identify clipping-constrained alignments as potential merges. Potential fusion identification module 140 can identify constrained clipping alignments by analyzing the reference sequence genes to which each particular read in the batch of aligned reads was aligned. In some embodiments, the potential fusion identification module 140 may determine whether a read is fully aligned to a single position in the reference genome. If the potential fusion identification module 140 identifies a complete alignment of a particular read to a single position in the reference genome, the potential fusion identification module 140 may determine that the read is not a split read. In an alternative embodiment, if the potential fusion identification module 140 determines that only a portion of a particular read aligns with the reference genome, the potential fusion identification module 140 may determine that the read is split. If the aligned read region corresponds to one parent gene, and the unaligned region contains sequence similar to the other parent gene, the clipping-constrained read will be classified as a potential fusion. If the potential fusion identification module 140 is configured to identify clipping-constrained reads, data identifying the clipping-constrained reads as candidate fusions, if any, may be stored in memory 120.

[0048] Модуль 150 фильтрации потенциальных слияний может получать данные, описывающие набор потенциальных слияний, идентифицированных модулем 140 идентификации потенциального слияния. В некоторых вариантах реализации модуль фильтрации потенциальных слияний может получать доступ к запоминающему устройству 120 и получать данные, описывающие потенциальные слияния, из запоминающего устройства 120. В других вариантах реализации модуль фильтрации потенциальных слияний может получать данные, описывающие потенциальные слияния, из выходной информации предыдущего модуля, такого как модуль 140 идентификации потенциального слияния. Модуль 150 фильтрации потенциальных слияний может использовать один или более фильтров для фильтрации данных, описывающих набор потенциальных слияний, для идентификации отфильтрованного набора потенциальных слияний генов, который меньше полного набора потенциальных слияний генов. В некоторых вариантах реализации такие фильтры применяют в пределах одной стадии. Например, можно применять каждый из одного или более фильтров, и каждое потенциальное слияние в наборе потенциальных слияний можно оценивать после каждого из одного или более фильтров. Вместе с тем в других вариантах реализации можно использовать многостадийные подходы к фильтрации. В таких вариантах реализации первый набор из одного или более фильтров применяют в отношении исходного набора потенциальных слияний, идентифицированных модулем 140 идентификации потенциального слияния. Затем второй набор одного или более фильтров применяют к первому набору отфильтрованных потенциальных слияний, которые остаются после первой стадии фильтрации. При необходимости, чтобы получать оптимальный отфильтрованный набор потенциальных кандидатов, можно также применять дополнительные стадии фильтрации.[0048] The potential merger filtering module 150 may obtain data describing the set of potential mergers identified by the potential merger identification module 140 . In some embodiments, a potential merger filtering module may access memory 120 and obtain data describing potential mergers from memory 120. In other embodiments, a potential merger filtering module may obtain data describing potential mergers from the output of a previous module. such as potential merger identification module 140. The potential fusion filtering module 150 may use one or more filters to filter data describing the set of potential fusions to identify a filtered set of potential gene fusions that is less than the complete set of potential fusions. In some embodiments, such filters are applied within a single stage. For example, each of one or more filters may be applied, and each candidate merger in a set of candidate mergers may be evaluated after each of the one or more filters. However, in other embodiments, multi-stage filtering approaches may be used. In such embodiments, a first set of one or more filters is applied to the initial set of candidate mergers identified by the potential merger identification module 140 . A second set of one or more filters is then applied to the first set of filtered merge candidates that remain after the first filtering step. If necessary, additional filtering stages can also be applied to obtain the optimal filtered set of potential candidates.

[0049] В некоторых вариантах реализации модуль 150 фильтрации потенциальных слияний может фильтровать набор потенциальных слияний для учета дублирующих потенциальных слияний, которые являются следствием высокой глубины охвата при секвенировании с коротким считыванием. Например, накопление данных в результате 30-кратного секвенирования, может приводить к тому, что модуль 140 идентификации потенциального слияния идентифицирует до 30 потенциальных слияний, которые дублируют друг друга. Модуль 150 фильтрации потенциальных слияний может удалять такие дубликаты потенциальных слияний за счет применения фильтра к параметрам потенциальных слияний для выявления дублирования. Например, модуль 150 фильтрации потенциальных слияний может определять, выравнено ли множество потенциальных слияний с одним и тем же родительским геном, выравнено ли оно с участком эталонного генома, включающим один и тот же или подобный точечный разрыв, или их комбинацию. Если модуль 150 фильтрации потенциальных слияний идентифицирует множество потенциальных слияний, которые выравнены с одним и тем же родительским геном, выравнено с участком эталонного генома, включающим один и тот же или подобный точечный разрыв, или их комбинация, модуль 150 фильтрации потенциальных слияний может определять, являются ли потенциальные слияния дублирующими, и выбирать только одно потенциальное слияние в качестве репрезентативного потенциального слияния. В таких случаях оставшиеся потенциальные слияния, которые были выравнены с одним и тем же родительским геном, выравнены с участком эталонного генома, включающим один и тот же или подобный точечный разрыв, или их комбинацию, можно исключать без дальнейшего последующего анализа. Затем репрезентативное потенциальное слияние можно добавлять к набору фильтрованных потенциальных слияний в запоминающем устройстве, таком как запоминающее устройство 120.[0049] In some embodiments, fusion candidate filtering module 150 may filter the set of fusion candidates to account for redundant fusion candidates that result from high depth of coverage in short read sequencing. For example, the accumulation of data from 30-fold sequencing may result in the potential fusion identification module 140 identifying up to 30 potential fusions that are duplicates of each other. The potential merger filtering module 150 may remove such duplicate potential mergers by applying a filter to the parameters of the potential mergers to identify duplications. For example, potential fusion filtering module 150 may determine whether a plurality of potential fusions are aligned to the same parent gene, whether they are aligned to a region of a reference genome that includes the same or a similar point break, or a combination of both. If the potential fusion filtering module 150 identifies a plurality of potential fusions that are aligned to the same parent gene, aligned to a region of a reference genome that includes the same or a similar point break, or a combination thereof, the potential fusion filtering module 150 may determine whether they are whether the potential mergers are duplicates, and select only one potential merger as a representative potential merger. In such cases, the remaining potential fusions that were aligned to the same parent gene, aligned to a region of the reference genome that included the same or a similar point break, or a combination of both, can be excluded without further downstream analysis. The representative candidate merger can then be added to the set of filtered candidate mergers in a storage device, such as storage device 120.

[0050] В альтернативном или дополнительном варианте осуществления модуль 150 фильтрации потенциальных слияний может фильтровать набор потенциальных слияний на основании одного или более устанавливаемых правилами условий. Например, модуль 150 фильтрации потенциальных слияний может анализировать каждое потенциальное слияние и определять, соответствует ли потенциальное слияние одному или более параметров, удовлетворяющих одному или более устанавливаемых правилами условий, используемым модулями 150 фильтрации. В некоторых вариантах реализации одно или более устанавливаемых правилами условий может включать позицию выравнивания каждого участка потенциального слияния, расстояние перекрывания выравнивания относительно точечного разрыва, охватываемого потенциальным слиянием, ориентацию выравнивания потенциального слияния, качество выравнивания считывания потенциального слияния, дополнительное совмещение положения потенциального слияния или любую их комбинацию.[0050] In an alternative or additional embodiment, merger candidate filtering module 150 may filter a set of merger candidates based on one or more rule-defined conditions. For example, the potential merger filtering module 150 may analyze each potential merger and determine whether the potential merger matches one or more parameters that satisfy one or more rule-defined conditions used by the filtering modules 150. In some embodiments, one or more rule-specified conditions may include the alignment position of each candidate merge region, the overlap distance of the alignment relative to the point gap covered by the potential merge, the orientation of the potential merge alignment, the quality of the read alignment of the potential merge, the additional alignment of the position of the potential merge, or any combination thereof. .

[0051] В качестве примера, модуль 150 фильтрации потенциальных слияний может использовать одно или более из устанавливаемых правил условий для фильтрации потенциальных слияний на основании положения выравнивания. Например, в некоторых вариантах реализации модуль 150 фильтрации потенциальных слияний может быть выполнен с возможностью использования устанавливаемого правилами условия, которое отфильтровывает потенциальные слияния со считыванием, выравненным с эталонной последовательностью так, что охват выравнивания пересекает точечный разрыв слияния на более чем предварительно заданное число нуклеотидов. В некоторых вариантах реализации предварительно заданное число нуклеотидов для такого устанавливаемого правилами условия может составлять 8 нуклеотидов. В альтернативном или дополнительном варианте осуществления модуль 150 фильтрации потенциальных слияний может быть выполнен с возможностью фильтрации потенциальных слияний со считыванием, выравненным с эталонной последовательностью так, что охват выравнивания на эталонной последовательности не достигает предварительно заданного предельного числа нуклеотидов от точечного разрыва слияний. В некоторых вариантах реализации предварительно заданное пороговое число нуклеотидов для такого устанавливаемого правилами условия может составлять 50 нуклеотидов. В альтернативном или дополнительном варианте осуществления модуль 150 фильтрации потенциальных слияний может быть выполнен с возможностью использования устанавливаемого правилами условия, которое отфильтровывает потенциальные слияния со считыванием, выравненным с эталонной последовательностью, так, что выравненные участки считывания в двух точечных разрывах имеют общее по меньшей мере предварительно заданное число нуклеотидов. В некоторых вариантах реализации предварительно заданное число общих нуклеотидов может включать по меньшей мере 8 нуклеотидов.[0051] As an example, potential merge filtering module 150 may use one or more settable condition rules to filter potential merges based on alignment position. For example, in some embodiments, the potential fusion filtering module 150 may be configured to use a rules-based condition that filters out potential fusions with reads aligned to a reference sequence such that the coverage of the alignment crosses the fusion break point by more than a predetermined number of nucleotides. In some embodiments, the predetermined number of nucleotides for such a rule condition may be 8 nucleotides. In an alternative or additional embodiment, the potential fusion filtering module 150 may be configured to filter potential fusions with reads aligned to a reference sequence such that the coverage of the alignment on the reference sequence does not reach a predetermined limit of nucleotides from the fusion break point. In some embodiments, the predetermined threshold number of nucleotides for such a rule-driven condition may be 50 nucleotides. In an alternative or additional embodiment, the potential fusion filtering module 150 may be configured to use a rule-based condition that filters out potential fusions with reads aligned to a reference sequence such that the aligned reads at two point breaks share at least a predetermined number of nucleotides. In some embodiments, the predetermined number of total nucleotides may include at least 8 nucleotides.

[0052] В качестве другого примера, модуль 150 фильтрации потенциальных слияний может использовать одно или более из устанавливаемых правилами условий для фильтрации потенциальных слияний на основании ориентации. В некоторых вариантах реализации, например, модуль 150 фильтрации потенциальных слияний может быть выполнен с возможностью применения устанавливаемого правилами условия, которое отфильтровывает потенциальные слияния с ориентацией выравнивания, указывающей на обращение нуклеотидной последовательности по меньшей мере одного из родительских генов в транскрипте слияния.[0052] As another example, potential merge filtering module 150 may use one or more rule-based conditions to filter potential merges based on orientation. In some embodiments, for example, the potential fusion filtering module 150 may be configured to apply a rules condition that filters out potential fusions with an alignment orientation indicating a reversal of the nucleotide sequence of at least one of the parent genes in the fusion transcript.

[0053] В качестве другого примера, модуль 150 фильтрации потенциальных слияний можно использовать одно или более устанавливаемых правилами условий для фильтрации потенциальных слияний на основании качества картирования. Например, в некоторых вариантах реализации модуль 150 фильтрации потенциальных слияний может быть выполнен с возможностью использования устанавливаемого правилами условия, которое отфильтровывает потенциальные слияния с выравненным считыванием с оценкой качества картирования, не удовлетворяющей предварительно заданному пороговому значению.[0053] As another example, potential merger filtering module 150 may use one or more rule-based conditions to filter potential mergers based on mapping quality. For example, in some embodiments, the potential merger filtering module 150 may be configured to use a rule-based condition that filters out potential aligned read mergers with a mapping quality score that does not meet a predefined threshold.

[0054] В качестве другого примера, модуль 150 фильтрации потенциальных слияний может использовать одно или более устанавливаемых правилами условий для фильтрации потенциальных слияний на основании положений дополнительного картирования. В некоторых вариантах реализации, например, модуль 150 фильтрации потенциальных слияний может быть выполнен с возможностью применения устанавливаемого правилами условия, которое отфильтровывает потенциальные слияния на основании определения того, что участок считывания потенциального слияния соответствует множеству положений эталонной последовательности. В некоторых вариантах реализации модуль 150 фильтрации потенциальных слияний может быть выполнен с возможностью исключения положений, аннотированных в качестве гомологичных генов.[0054] As another example, potential merger filtering module 150 may use one or more rule-based conditions to filter potential mergers based on additional mapping provisions. In some embodiments, for example, the potential fusion filtering module 150 may be configured to apply a rule-based condition that filters out potential fusions based on determining that the candidate fusion read region matches a plurality of reference sequence positions. In some embodiments, the potential fusion filtering module 150 may be configured to exclude positions annotated as homologous genes.

[0055] Потенциальные слияния, которые удовлетворяют каждому из одного или более установленных правилами условий, можно добавлять к набору отфильтрованных потенциальных слияний в запоминающем устройстве, таком как запоминающее устройство 120. Потенциальные слияния, которые не удовлетворяют каждому из одного или более установленных правилами условий, могут быть исключены без дальнейшего последующего анализа. В некоторых вариантах реализации установленное правилами условие по результатам фильтрации потенциальных слияний можно применять в качестве фильтра второй стадии после применения на первой стадии фильтра для устранения дублирования. В других вариантах реализации фильтрацию потенциальных слияний на основании установленного правилами условия можно применять в качестве первой стадии фильтрации, а затем в качестве фильтра второй стадии можно применять фильтр удаления дублирования. В других вариантах реализации фильтрацию на основании установленного правилами условия можно применять в качестве одной стадии фильтрации без предварительной фильтрации с удалением дублирования. Фильтрация потенциальных слияний на основании одного или более из таких установленных правилами условий может значительно сокращать число потенциальных слияний, которые должны будут проходить дополнительную последующую обработку.[0055] Potential mergers that satisfy each of the one or more rule-defined conditions may be added to the set of filtered candidate mergers in a storage device, such as storage device 120. Potential mergers that do not satisfy each of the one or more rule-defined conditions may be excluded without further follow-up analysis. In some embodiments, a rule-based condition based on the results of filtering potential mergers may be applied as a second-stage filter after the first-stage deduplication filter has been applied. In other embodiments, filtering potential mergers based on a condition specified by the rules may be applied as a first stage of filtering, and then a deduplication filter may be applied as a second stage filter. In other embodiments, filtering based on a rule condition may be applied as a single filtering step without prior deduplication filtering. Filtering potential mergers based on one or more of these rule-based conditions can significantly reduce the number of potential mergers that will need to undergo additional post-processing.

[0056] Последующую обработку можно проводить для каждого потенциального слияния в отфильтрованном наборе потенциальных слияний, выводимых модулем 150 фильтрации потенциальных слияний. Последующая обработка включает выполнение операций модуля 160 генерации набора признаков, модели 170 машинного обучения, модуля 180 определения слияния генов и модуля 190 выходного API. Такую последующую обработку можно использовать, чтобы определить, соответствует ли потенциальное слияние подтвержденному потенциальному слиянию генов.[0056] Subsequent processing may be performed for each candidate merger in the filtered set of candidate mergers output by the candidate merger filtering module 150 . Subsequent processing includes performing the operations of a feature set generation module 160, a machine learning model 170, a gene fusion detection module 180, and an output API module 190. Such post-processing can be used to determine whether a candidate fusion matches a confirmed candidate gene fusion.

[0057] Модуль 160 генерации набора признаков может опираться на данные из множества источников данных для идентификации набора атрибутов данных, на основании которых проводят выделение признаков. К таким источникам данных относятся данные атрибутов, хранящиеся в памяти 120, о потенциальном слиянии, которые включают (i) считывание(-я) потенциального слияния, (ii) участок(-и) позиций эталонной последовательности, с которым выравнивали считывания потенциальных слияний, и (iii) аннотации сегментов эталонного генома, с которыми выравнивали конкретное потенциальное выравнивание. В некоторых вариантах реализации аннотации могут включать аннотации экзонов гена, аннотации, указывающие на присутствие гомологичных генов, аннотации, указывающие на список обогащенных генов, или их комбинацию.[0057] The feature set generation module 160 may rely on data from a plurality of data sources to identify a set of data attributes on which to base feature extraction. Such data sources include attribute data stored in memory 120 about the candidate fusion, which includes (i) the candidate fusion read(s), (ii) the region(s) of reference sequence positions to which the candidate fusion reads were aligned, and (iii) annotations of the reference genome segments to which a particular candidate alignment was aligned. In some embodiments, the annotations may include annotations of gene exons, annotations indicating the presence of homologous genes, annotations indicating a list of enriched genes, or a combination thereof.

[0058] Источники данных, которые может использовать модуль 160 генерации набора признаков, могут также включать данные, сгенерированные блоком 136 выравнивания считываний в процессе выравнивания. В некоторых вариантах реализации модуль 160 генерации набора признаков может получать данные о признаках на основании данных, сгенерированных блоком 136 выравнивания считываний при выравнивании потенциального слияния. Например, модуль 160 генерации набора признаков на основании данных, сгенерированных блоком 136 выравнивания считываний, может получать информацию, такую как частота встречаемости вариантов аллелей, число уникальных выравниваний считываний, охват считываний транскрипта, показатель MAPQ, данные, указывающие на гомологию между родительскими генами, или их комбинация.[0058] The data sources that feature set generation module 160 may use may also include data generated by read alignment unit 136 during the alignment process. In some embodiments, feature set generation module 160 may obtain feature data based on data generated by read aligner 136 when aligning a potential fusion. For example, the feature set generation module 160, based on the data generated by the read alignment block 136, may obtain information such as the frequency of occurrence of variant alleles, the number of unique read alignments, transcript read coverage, MAPQ score, data indicating homology between parent genes, or their combination.

[0059] Модуль 160 генерации набора признаков можно использовать для генерирования данных признаков, которые представляют один или более из вышеупомянутых атрибутов потенциального слияния, полученных из множества источников данных, и кодирования данных признаков в одну или более структур 162 данных для ввода в модель 170 машинного обучения. Например, в некоторых вариантах реализации весь набор признаков, полученных из атрибутов потенциального слияния, может быть закодирован в единичный вектор 162, включенный в модуль 170 машинного обучения. Например, в сценарии выравниваний расщепленных считываний или с ограниченным клиппированием каждый из признаков, полученных из атрибутов такого рода потенциальных слияний, может быть закодирован в единичных векторах 162.[0059] A feature set generation module 160 may be used to generate feature data that represents one or more of the aforementioned potential fusion attributes obtained from a plurality of data sources, and encode the feature data into one or more data structures 162 for input to a machine learning model 170 . For example, in some implementations, the entire set of features derived from the attributes of a potential merge may be encoded into a unit vector 162 included in the machine learning module 170 . For example, in a split-read or constrained-clipping alignment scenario, each of the features derived from the attributes of these kinds of potential fusions could be encoded in unit vectors 162.

[0060] В других вариантах реализации данные признаков могут представлять собой полученные из атрибутов потенциальных слияний и могут быть закодированы для ввода в виде множества векторов. В таком сценарии входной вектор 162 может включать пару входных векторов 162а, 162b. Например, в сценарии расщепленного считывания потенциального слияния каждый из признаков, извлеченный из атрибутов, относящийся к префиксу расщепленного считывания, включая признаки, представляющие нуклеотиды префикса расщепленного считывания, признаки, представляющие сегмент эталонной последовательности, с которой выравнивают префикс, и любые другие признаки, извлеченные из вышеупомянутых атрибутов, относящихся к префиксу, или любая их комбинация могут быть закодированы во входном векторе 162а. Аналогичным образом в таком варианте реализации каждый из признаков, извлеченный из атрибутов, относящихся к суффиксу расщепленного считывания, включая признаки, представляющие нуклеотиды префикса расщепленного считывания, признаки, представляющие сегмент эталонной последовательности, с которой выравнивается суффикс, и любые другие признаки, извлеченные из вышеупомянутых атрибутов, относящихся к суффиксу, или любая их комбинация могут быть закодированы во входном векторе 162b. В качестве другого примера, если дискордантная пара считывания идентифицирована в качестве потенциального слияния, извлеченные признаки, представляющие первое считывание дискордантной пары считывания, извлеченные признаки, представляющие участок эталонной последовательности, с которой их выравнивали, признаки, извлеченные из атрибутов, относящихся к первому считыванию дискордантной пары считывания, или любая их комбинация, могут быть закодированы во входном векторе 162а. Аналогичным образом в таком примере извлеченные признаки, представляющие второе считывание дискордантной пары считывания, извлеченные признаки, представляющие участок эталонной последовательности, с которой их выравнивали, признаки, извлеченные из атрибутов, относящихся ко второму считыванию дискордантной пары считывания, или любая их комбинация, могут быть закодированы во входном векторе 162b.[0060] In other embodiments, the feature data may be derived from attributes of potential mergers and may be encoded for input as a plurality of vectors. In such a scenario, input vector 162 may include a pair of input vectors 162a, 162b. For example, in a split-read scenario of a potential fusion, each of the features extracted from the attributes related to the split-read prefix, including features representing the nucleotides of the split-read prefix, features representing the segment of the reference sequence to which the prefix is aligned, and any other features extracted from the above prefix-related attributes, or any combination thereof, may be encoded in input vector 162a. Likewise, in such an embodiment, each of the features extracted from the attributes related to the split-read suffix, including features representing the nucleotides of the split-read prefix, features representing the segment of the reference sequence to which the suffix is aligned, and any other features extracted from the above attributes , related to the suffix, or any combination thereof may be encoded in the input vector 162b. As another example, if a discordant read pair is identified as a potential fusion, extracted features representing the first read of the discordant read pair, extracted features representing the region of the reference sequence to which they were aligned, features extracted from attributes related to the first read of the discordant pair reads, or any combination thereof, may be encoded in input vector 162a. Similarly, in such an example, extracted features representing the second read of the discordant read pair, extracted features representing the region of the reference sequence to which they were aligned, features extracted from attributes relating to the second read of the discordant read pair, or any combination thereof, may be encoded in the input vector 162b.

[0061] Каждый из одного или более векторов 162 может численно представлять собой сгенерированные данные признаков, причем такие данные признаков включают любой из признаков, полученных от потенциальных слияний, или любой из признаков, полученных из данных блока 136 выравнивания считываний, относящихся к потенциальному слиянию и сохраненных в запоминающем устройстве 120. Например, каждый вектор 162 или 162а, 162b может включать множество полей, каждое из которых соответствует конкретному признаку конкретного считывания конкретного потенциального слияния. В зависимости от конкретного потенциального слияния это может приводить к одному или более входных векторов, как это описано выше. Модуль 160 генерации набора признаков может определять численное значение для каждого из полей, которое описывает степень проявления конкретного признака в атрибутах конкретного считывания потенциального слияния. Установленные численные значения для каждого из полей можно использовать для кодирования подготовленных данных признаков, отражающих атрибуты считываний потенциального слияния, в один или более соответствующих векторов 162. Построенные один или более векторов 162а, 162b, которые численно отражают соответствующие считывания потенциального слияния, вводят в качестве исходной информации в модель 170 машинного обучения. В некоторых вариантах реализации, даже если для того или иного потенциального слияния генерируют множество концептуальных векторов, такое множество концептуальных векторов может быть свернуто в единичный вектор 162, который можно вводить в модель 170 машинного обучения. В таких вариантах реализации, если было целесообразно получать множество векторов в (i) определенных вариантах реализации расщепленных считываний, причем признаки префикса присваивали первому вектору, а признаки суффикса присваивали второму вектору, или (ii) в реализациях с дискордантной парой, тогда первый участок единичного вектора может соответствовать концептуальному первому вектору, а второй участок единичного вектора может соответствовать концептуальному второму вектору.[0061] Each of one or more vectors 162 may numerically represent generated feature data, such feature data including any of the features obtained from potential mergers or any of the features obtained from read alignment block 136 data related to a potential merger and stored in memory 120. For example, each vector 162 or 162a, 162b may include a plurality of fields, each corresponding to a particular feature of a particular read of a particular candidate fusion. Depending on the specific potential merger, this may result in one or more input vectors, as described above. The feature set generation module 160 may determine a numerical value for each of the fields that describes the degree to which a particular feature appears in the attributes of a particular candidate fusion read. The established numeric values for each of the fields can be used to encode the prepared feature data reflecting the attributes of the potential fusion reads into one or more corresponding vectors 162. The constructed one or more vectors 162a, 162b that numerically reflect the corresponding candidate fusion reads are input as input information into the machine learning model 170. In some implementations, even if multiple concept vectors are generated for a given candidate merger, the multiple concept vectors can be collapsed into a single vector 162 that can be input to a machine learning model 170 . In such implementations, if it was practical to obtain multiple vectors in (i) certain split-read implementations with prefix features assigned to the first vector and suffix features assigned to the second vector, or (ii) in discordant pair implementations, then the first portion of the unit vector may correspond to the conceptual first vector, and the second portion of the unit vector may correspond to the conceptual second vector.

[0062] Модель 170 машинного обучения может включать глубокую нейронную сеть, обучаемую для вычисления вероятности того, что потенциальное слияние соответствует подтвержденному слиянию генов, на основании обработки исходной информации одного или более входных векторов 162, которые отражают признаки того или иного потенциального слияния. Подтвержденное слияние генов представляет собой химерный транскрипт, который содержит последовательность из множества генов из-за перестройки в геноме, связывающую префикс одного родительского гена с суффиксом другого родительского гена. В контексте настоящего описания подтвержденное слияние генов будет считаться предсказанным моделью 170, если, например, выходные данные 178, подготовленные моделью машинного обучения, удовлетворяют предварительно заданному пороговому значению. Модель 170 машинного обучения может включать входной слой 172 для приема входных данных, один или более скрытых слоев 174а, 174b, 174с для обработки входных данных, полученных через входной слой 172, и выходной слой 176 для выдачи выходных данных 178. Каждый скрытый слой 174а, 174b, 174с включает один или более весовых коэффициентов или других параметров. Весовые коэффициенты или другие параметры каждого соответствующего скрытого слоя 174а, 174b, 174с могут быть скорректированы в процессе обучения так, чтобы обученная глубокая нейронная сеть создавала желаемые целевые выходные данные 178 с указанием вероятности того, что один или более входных векторов 162 представляют собой подтвержденное слияние генов на основании модели 170 машинного обучения, обрабатывающей один или более входных векторов 162.[0062] The machine learning model 170 may include a deep neural network trained to calculate the probability that a potential fusion matches a confirmed gene fusion based on processing the input information of one or more input vectors 162 that reflect features of a particular potential fusion. A confirmed gene fusion is a chimeric transcript that contains a sequence from multiple genes due to a rearrangement in the genome, linking the prefix of one parent gene to the suffix of another parent gene. As used herein, a confirmed gene fusion will be considered predicted by the model 170 if, for example, the output 178 produced by the machine learning model satisfies a predefined threshold. The machine learning model 170 may include an input layer 172 for receiving input data, one or more hidden layers 174a, 174b, 174c for processing input data received through the input layer 172, and an output layer 176 for providing output data 178. Each hidden layer 174a, 174b, 174c includes one or more weighting factors or other parameters. The weights or other parameters of each respective hidden layer 174a, 174b, 174c may be adjusted during training such that the trained deep neural network produces the desired target output 178 indicating the probability that one or more input vectors 162 represent a confirmed gene fusion based on a machine learning model 170 processing one or more input vectors 162.

[0063] Модель 170 машинного обучения можно обучать несколькими различными способами. В одном варианте реализации модель 170 машинного обучения можно обучать различать (i) один или более входных векторов, содержащих признаки, полученные из атрибутов подтвержденных потенциальных слияний, и (ii) один или более входных векторов, содержащих признаки, полученные из атрибутов неподтвержденных потенциальных слияний. В некоторых вариантах реализации такое обучение можно проводить с использованием меченых пар обучающих векторов. Каждый обучающий вектор может представлять собой обучающее потенциальное слияние и может состоять из тех же типов данных признаков, что и один или более входных векторов 162, упомянутых выше. В таких вариантах реализации один или более входных векторов 162, содержащих признаки, полученные из атрибутов потенциальных слияний, могут быть помечены как подтвержденные слияния генов или неподтвержденные слияния генов. В некоторых вариантах реализации метка подтвержденного слияния генов и метка неподтвержденного слияния генов могут быть представлены в виде численного значения. Например, в некоторых вариантах реализации меткой подтвержденного слияния генов может быть «1», а меткой неподтвержденного слияния генов может быть «0». В других вариантах реализации, например, меткой подтвержденного слияния генов может быть число от «0» до «1», удовлетворяющее предварительно заданному пороговому значению, а меткой неподтвержденного слияния генов может быть число от «0» до «1», не удовлетворяющее предварительно заданному пороговому значению. В таких вариантах реализации значение, при котором такое число удовлетворяет или не удовлетворяет предварительно заданному пороговому значению, указывает на уровень достоверности того, что обучающая пара входных векторов представляет собой подтвержденное слияние генов или неподтвержденное слияние генов. В некоторых вариантах реализации соответствие предварительно заданному пороговому значению может включать превышение предварительно заданного порогового значения. Вместе с тем конфигурацию вариантов реализации можно также выбирать таким образом, чтобы соответствие пороговому значению означало отсутствие превышения предварительно заданного порогового значения. Такие варианты реализации могут включать, например, варианты реализации, в которых исключается использование компаратора и параметров.[0063] The machine learning model 170 can be trained in several different ways. In one implementation, a machine learning model 170 may be trained to distinguish between (i) one or more input vectors containing features derived from attributes of confirmed potential mergers and (ii) one or more input vectors containing features derived from attributes of unconfirmed potential mergers. In some embodiments, such training may be performed using labeled pairs of training vectors. Each training vector may represent a training candidate fusion and may consist of the same types of feature data as one or more of the input vectors 162 mentioned above. In such embodiments, one or more input vectors 162 containing features derived from attributes of potential fusions may be labeled as confirmed gene fusions or unconfirmed gene fusions. In some embodiments, the confirmed gene fusion mark and the unconfirmed gene fusion mark may be represented as a numerical value. For example, in some embodiments, the label of a confirmed gene fusion may be "1" and the label of an unconfirmed gene fusion may be "0". In other embodiments, for example, the label of a confirmed gene fusion may be a number from "0" to "1" that meets a predefined threshold, and the label of an unconfirmed gene fusion may be a number from "0" to "1" that does not satisfy a predefined threshold. threshold value. In such embodiments, the value at which such number does or does not satisfy a predetermined threshold indicates the level of confidence that the training pair of input vectors represents a confirmed gene fusion or an unconfirmed gene fusion. In some embodiments, meeting a predetermined threshold may include exceeding a predetermined threshold. However, embodiments may also be configured such that meeting a threshold value means not exceeding a predetermined threshold value. Such implementations may include, for example, implementations that eliminate the use of a comparator and parameters.

[0064] В процессе обучения каждый меченый набор из одного или более обучающих векторов в качестве входных данных вводят в модель 170 машинного обучения для обработки моделью 170 машинного обучения, а затем выходные данные обучения, подготовленные моделью 170 машинного обучения, используют, чтобы определять прогнозируемую метку для каждого меченого набора из одного или более обучающих векторов. Прогнозируемую метку, полученную моделью 170 машинного обучения на основании обработки моделью машинного обучения одного или более меченых обучающих векторов, соответствующих паре считываний обучающего потенциального слияния, можно сравнивать с обучающей меткой для одного или более обучающих векторов, соответствующих одному или более считываний (или участков считываний) обучающего потенциального слияния. Затем параметры модели 170 машинного обучения можно скорректировать на основании различий между прогнозируемыми метками и обучающими метками. Данный процесс может итеративно продолжаться для каждого из множества меченых обучающих векторов, отвечающих соответствующему обучающему потенциальному слиянию, пока прогнозируемые метки потенциального слияния, полученные моделью 170 машинного обучения на основании обработки набора из одного или более обучающих векторов, соответствующих обучающему потенциальному слиянию, в пределах предварительно заданного уровня ошибки не будут совпадать с обучающими метками набора одного или более обучающих векторов, относящихся к соответствующему обучающему потенциальному слиянию.[0064] In the training process, each labeled set of one or more training vectors is input to a machine learning model 170 for processing by the machine learning model 170, and then the training output prepared by the machine learning model 170 is used to determine a predicted label. for each labeled set of one or more training vectors. The predicted label obtained by the machine learning model 170 based on the machine learning model's processing of one or more labeled training vectors corresponding to a pair of reads of a training candidate fusion may be compared with a training label for one or more training vectors corresponding to one or more reads (or read sites) teaching potential merger. The parameters of the machine learning model 170 can then be adjusted based on the differences between the predicted labels and the training labels. This process may iteratively continue for each of the plurality of labeled training vectors corresponding to the corresponding training candidate merger, as long as the predicted potential merger labels obtained by the machine learning model 170 based on processing the set of one or more training vectors corresponding to the training candidate merger are within a predetermined error levels will not match the training labels of the set of one or more training vectors associated with the corresponding training candidate fusion.

[0065] В некоторых вариантах реализации меченые обучающие потенциальные слияния могут быть получены из библиотеки обучающих потенциальных слияний, которые были проанализированы и помечены одним или более людьми-пользователями. Вместе с тем в других вариантах реализации меченые обучающие потенциальные слияния могут включать обучающее потенциальное слияние, которое было сгенерировано и помечено симулятором. В таких вариантах реализации симулятор может быть использован для генерирования распределений различных категорий обучающих потенциальных слияний, которые могут быть использованы для обучения модели 170 машинного обучения. Как правило, если прогон модели 170 машинного обучения предусматривает введение одного входного вектора 162, в котором каждый извлеченный признак потенциального слияния кодируют одним входным вектором 162, модель 170 машинного обучения необходимо обучать с использованием одного входного вектора с теми же признаками, что и входной вектор 162, с использованием описанного выше процесса обучения. Аналогичным образом, если прогон модуля 170 машинного обучения предусматривает введение двух обучающих векторов 162а, 162b, как описано выше, то модель 170 машинного обучения необходимо обучать с использованием двух входных векторов, каждый из которых имеет одинаковые соответствующие признаки упомянутых выше входных векторов 162а, 162b. Таким образом, тип входных векторов, подлежащих обработке в ходе прогона, совпадает с типом векторов, которые нужно применять для обучения модели 170 с использованием описанного выше процесса обучения.[0065] In some embodiments, tagged training candidate mergers may be obtained from a library of training candidate mergers that have been analyzed and labeled by one or more human users. However, in other embodiments, the tagged training merge candidates may include a training merge candidate that was generated and tagged by the simulator. In such embodiments, the simulator can be used to generate distributions of various categories of training candidate mergers that can be used to train a machine learning model 170 . Typically, if a run of a machine learning model 170 involves inputting a single input vector 162 in which each extracted potential fusion feature is encoded by a single input vector 162, the machine learning model 170 must be trained using a single input vector with the same features as the input vector 162 ,using the learning process described above. Likewise, if a run of machine learning module 170 involves inputting two training vectors 162a, 162b as described above, then machine learning model 170 must be trained using two input vectors, each of which has the same corresponding features of the above input vectors 162a, 162b. Thus, the type of input vectors to be processed during a run is the same as the type of vectors to be used to train the model 170 using the training process described above.

[0066] В процессе обработки входных данных 162, которые соответствуют признакам, полученным из атрибутов потенциального слияния, выходные данные каждого скрытого слоя 174а, 174b, 174с могут включать вектор активации. Выходной вектор активации, выводимый каждым соответствующим скрытым слоем, может быть распространен через последующие слои глубокой нейронной сети и использован выходным слоем для генерирования выходных данных 178. В примере, показанном на ФИГ. 1, модель 170 машинного обучения обучена генерировать выходные данные 178, которые представляют собой комбинированный показатель, получаемые моделью 170 машинного обучения на основании обработки моделью машинного обучения отдельных входных векторов 162а, 162b, каждый из которых соответствует одному из считываний потенциального слияния. Такой комбинированный показатель 178 в конечном итоге генерируется выходным слоем 176 обученной модели машинного обучения на основании вычислений, выполненных выходным слоем 176 обученной модели 170 машинного обучения с вектором активации, полученным от конечного скрытого слоя 174с.[0066] While processing input data 162 that corresponds to features derived from attributes of a potential merge, the output of each hidden layer 174a, 174b, 174c may include an activation vector. The output activation vector output by each respective hidden layer can be propagated through subsequent layers of the deep neural network and used by the output layer to generate output 178. In the example shown in FIG. 1, machine learning model 170 is trained to generate output 178, which is a composite score obtained by machine learning model 170 based on the machine learning model's processing of individual input vectors 162a, 162b, each corresponding to one of the candidate fusion reads. Such a combined score 178 is ultimately generated by the output layer 176 of the trained machine learning model based on the calculations performed by the output layer 176 of the trained machine learning model 170 with the activation vector obtained from the final hidden layer 174c.

[0067] Модуль 180 определения слияния генов может оценивать выходные данные 178, подготовленные обученной моделью 170 машинного обучения, чтобы определить, указывают ли они на то, что потенциальное слияние, соответствующее одному или более входных векторов 162, является подтвержденным потенциальным слиянием. В некоторых вариантах реализации выходные данные 178 могут быть переданы в модуль 180 определения слияния генов обученной моделью 170 машинного обучения. В других вариантах реализации система 100 может сохранять выходные данные 178 обученной модели 170 машинного обучения в запоминающем устройстве, таком как запоминающее устройство 120, для последующего доступа модуля 180 определения слияния генов. Модуль 180 определения слияния генов может получать выходные данные 178, подготовленные моделью 170 машинного обучения, и оценивать выходные данные 178, чтобы на основании выходных данных 178 определять, является ли потенциальное слияние, соответствующее паре 162 входных векторов 162а, 162b, подтвержденным слиянием генов. В некоторых вариантах реализации модуль 180 определения слияния генов может устанавливать, является ли потенциальное слияние, соответствующее одному или более входных векторов 162, подтвержденным слиянием генов, посредством сравнения выходных данных 178, подготовленных моделью машинного обучения, с предварительно заданным пороговым значением. Если модуль 180 определения слияния генов устанавливает, что выходные данные 178 удовлетворяют предварительно заданному пороговому значению, то модуль 180 определения слияния генов может считать, что потенциальное слияние, соответствующее одному или более входных векторов 162, является подтвержденным слиянием генов. В альтернативном варианте осуществления, если модуль 180 определения слияния генов устанавливает, что выходные данные 178 не удовлетворяют предварительно заданному пороговому значению, модуль 180 определения слияния генов может считать, что потенциальное слияние, соответствующее одному или более входных векторов 162, не является подтвержденным слиянием генов.[0067] Gene fusion detection module 180 may evaluate output 178 produced by trained machine learning model 170 to determine whether it indicates that a candidate fusion corresponding to one or more input vectors 162 is a confirmed candidate fusion. In some implementations, the output 178 may be provided to the gene fusion detection module 180 by the trained machine learning model 170 . In other implementations, the system 100 may store the output 178 of the trained machine learning model 170 in a storage device, such as storage device 120, for later access by the gene fusion detection module 180. Gene fusion detection module 180 may receive output 178 prepared by machine learning model 170 and evaluate output 178 to determine, based on output 178, whether a potential fusion corresponding to a pair 162 of input vectors 162a, 162b is a confirmed gene fusion. In some embodiments, gene fusion determination module 180 may determine whether a potential fusion corresponding to one or more input vectors 162 is a confirmed gene fusion by comparing the output 178 produced by the machine learning model to a predefined threshold. If gene fusion determination module 180 determines that output 178 satisfies a predetermined threshold, then gene fusion determination module 180 may consider a potential fusion corresponding to one or more input vectors 162 to be a confirmed gene fusion. In an alternative embodiment, if gene fusion determination module 180 determines that output 178 does not meet a predetermined threshold, gene fusion determination module 180 may consider that a potential fusion corresponding to one or more input vectors 162 is not a confirmed gene fusion.

[0068] В некоторых вариантах реализации модуль 180 определения слияния генов может генерировать выходные данные 182, которые указывают на результаты решения, принятого модулем 180 определения слияния генов, на основании проведенной модулем 180 определения слияния генов оценки выходных данных 178, подготовленных моделью 170 машинного обучения. Такие выходные данные 182 могут включать данные идентификации потенциального слияния генов, которые соответствуют одному или более входных векторов 162, и данные, содержащие решение, принятое модулем 180 определения слияния генов. Данные, содержащие решение модуля 180 определения слияния генов, могут включать данные, сообщающие, является ли потенциальное слияние генов, которое соответствует одному или более входных векторов 162, подтвержденным слиянием генов или неподтвержденным слиянием генов. В некоторых вариантах реализации выходные данные 182 могут содержать только список подтвержденных слияний генов, идентифицированных на основании выходных данных 178, список неподтвержденных слияний генов, идентифицированных на основании выходных данных 178, данные о том, что подтвержденных слияний генов не обнаружено, или любую их комбинацию. В некоторых вариантах реализации такие выходные данные 182 могут сохраняться в запоминающем устройстве 182 для последующего использования другим вычислительным модулем, для последующего вывода на пользовательское устройство и т.п.[0068] In some embodiments, gene fusion determination module 180 may generate output 182 that indicates the results of a decision made by gene fusion determination module 180 based on gene fusion determination module 180's assessment of output 178 produced by machine learning model 170. Such output data 182 may include potential gene fusion identification data that corresponds to one or more input vectors 162 and data containing the decision made by the gene fusion determination module 180 . Data containing the decision of gene fusion determination module 180 may include data indicating whether a potential gene fusion that matches one or more input vectors 162 is a confirmed gene fusion or an unconfirmed gene fusion. In some embodiments, output 182 may contain only a list of confirmed gene fusions identified based on output 178, a list of unconfirmed gene fusions identified based on output 178, data that no confirmed gene fusions were found, or any combination thereof. In some embodiments, such output data 182 may be stored in storage device 182 for later use by another computing module, for subsequent output to a user device, or the like.

[0069] В альтернативном или дополнительном варианте осуществления модуль 180 определения слияния генов может генерировать выходные данные 184, которые можно передавать в качестве входных данных на модуль 190 выходного прикладного программного интерфейса (API). Выходные данные 184 могут содержать инструкцию для выходного API по выдаче на дисплей вывода сообщений о том, является ли потенциальное слияние генов, которое соответствует одному или более входных векторов 162, подтвержденным слиянием генов или неподтвержденным слиянием генов. В некоторых вариантах реализации команды могут инструктировать модуль 190 выходного API получать доступ к выходным данным 182, хранящимся в запоминающем устройстве 120, и генерировать преобразованные данные, что после преобразования вычислительным устройством, связанным с дисплеем 195 вывода, инструктирует дисплей 195 вывода отображать (i) данные идентификации потенциального слияния, которые соответствуют одному или более входных векторов 162, и (ii) данные, указывающие, является ли идентифицированное потенциальное слияние подтвержденным слиянием генов или неподтвержденным слиянием генов. При этом дисплей 195 вывода может получать инструкции на отображение любых выходных данных 182, хранящихся в запоминающем устройстве 184. В некоторых вариантах реализации такую выходную информацию можно выводить в форме отчета.[0069] In an alternative or additional embodiment, gene fusion detection module 180 may generate output data 184 that can be passed as input to output application program interface (API) module 190. Output 184 may include instructions for the output API to display an output indicating whether a potential gene fusion that matches one or more input vectors 162 is a confirmed gene fusion or an unconfirmed gene fusion. In some implementations, commands may instruct output API module 190 to access output data 182 stored in storage device 120 and generate transformed data that, when converted by a computing device associated with output display 195, instructs output display 195 to display (i) the data identifying potential fusions that correspond to one or more input vectors 162, and (ii) data indicating whether the identified potential fusion is a confirmed gene fusion or an unconfirmed gene fusion. In this case, the output display 195 may be instructed to display any output data 182 stored in the storage device 184. In some embodiments, such output information may be output in the form of a report.

[0070] В некоторых вариантах реализации модуль 180 определения слияния генов сохраняет выходные данные 182 для каждого потенциального слияния генов в запоминающем устройстве 120 по результатам последующей обработки, проводимой для каждого потенциального слияния из отфильтрованного набора потенциальных слияния генов. В таких вариантах реализации модуль 180 определения слияния генов может только инструктировать модуль 190 выходного API выводить результаты анализа слияния генов, хранящиеся в запоминающем устройстве 120 для каждого потенциального слияния из отфильтрованного набора потенциальных слияний генов, после завершения последующей обработки каждого потенциального слияния. В таком сценарии выходные данные 192, передаваемые для отображения на дисплее 195 вывода, будут включать список подтвержденных слияний генов, список неподтвержденных слияний генов или оба списка. В других вариантах реализации модуль 180 определения слияния генов может подавать команду на модуль 190 выходного API для вывода данных результатов с указанием списка идентифицированных слияний генов, если таковые выявлены, после завершения дальнейшей обработки для данного конкретного потенциального слияния.[0070] In some embodiments, gene fusion detection module 180 stores output 182 for each candidate gene fusion in memory 120 from post-processing performed on each candidate fusion from the filtered set of candidate gene fusions. In such embodiments, gene fusion detection module 180 may only instruct output API module 190 to output gene fusion analysis results stored in memory 120 for each candidate fusion from the filtered set of candidate gene fusions after post-processing of each candidate fusion is completed. In such a scenario, the output 192 provided for display on the output display 195 will include a list of confirmed gene fusions, a list of unconfirmed gene fusions, or both lists. In other embodiments, the gene fusion detection module 180 may command the output API module 190 to output result data indicating a list of identified gene fusions, if any, after further processing is completed for that particular candidate fusion.

[0071] Модуль 190 выходного APIR может выводить выходные данные 192 в других формах. Например, в некоторых вариантах реализации выходные данные 192 могут представлять собой данные, которые вывод отчета другим устройством, таким как принтер, включающего (i) данные, идентифицирующие потенциальное слияние, которое соответствует одному или более векторов 162, и (ii) данные, указывающие, является ли идентифицированное потенциальное слияние подтвержденным геном. В других вариантах реализации выходные данные 192 могут инициировать вывод громкоговорителем звуковых данных, включающих (i) данные, идентифицирующие потенциальное слияние, которое соответствует одному или более векторов 162, и (ii) данные, указывающие, является ли идентифицированное потенциальное слияние подтвержденным геном. Модуль 190 выходного APIR может также выводить выходные данные в других формах.[0071] APIR output module 190 may output output data 192 in other forms. For example, in some embodiments, output data 192 may be data that outputs a report by another device, such as a printer, including (i) data identifying a potential merger that corresponds to one or more vectors 162, and (ii) data indicating whether the identified potential fusion is a confirmed gene. In other embodiments, output 192 may cause the speaker to output audio data including (i) data identifying a potential fusion that matches one or more vectors 162 and (ii) data indicating whether the identified potential fusion is a confirmed gene. APIR output module 190 may also output output in other forms.

[0072] В некоторых вариантах реализации дисплей 195 вывода может представлять собой дисплейную панель секвенатора 110. В других вариантах реализации дисплей 195 вывода может представлять собой дисплейную панель пользовательского устройства, которое связано с секвенатором 110 через одну или более сетей. Действительно, секвенатор 110 можно использовать для передачи выходных данных 192 на любое устройство с любым дисплеем.[0072] In some embodiments, the output display 195 may be a display panel of the sequencer 110. In other embodiments, the output display 195 may be a display panel of a user device that is coupled to the sequencer 110 via one or more networks. Indeed, sequencer 110 can be used to transmit output 192 to any device with any display.

[0073] На ФИГ. 2 показан пример последовательности операций процесса 200 проведения быстрого обнаружения подтвержденных слияний генов. Система, например система 100, может начинать выполнение процесса 200 с использованием одного или более компьютеров для получения первых данных, представляющих множество выравненных считываний, от блока (210) выравнивания считываний. Система может идентифицировать множество потенциальных слияний генов, включенных в полученные первые данные (220). Система может фильтровать множество потенциальных слияний генов для генерирования отфильтрованного набора потенциальных слияний генов (230).[0073] In FIG. 2 shows an example flow of a process 200 for conducting rapid detection of confirmed gene fusions. A system, such as system 100, may begin executing process 200 using one or more computers to receive first data representing a plurality of aligned reads from the read alignment unit (210). The system can identify many potential gene fusions included in the first data obtained (220). The system can filter multiple potential gene fusions to generate a filtered set of potential gene fusions (230).

[0074] Система может извлекать конкретное потенциальное слияние генов из отфильтрованного набора потенциальных слияний генов (240). Система может генерировать входные данные для ввода в модель машинного обучения, причем генерирование входных данных включает извлечение характерных данных, представляющих конкретное потенциальное слияние генов, из данных, включающих (i) один или более сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока выравнивания считываний, и (ii) данные, сгенерированные на основании выходной информации блока выравнивания считываний (250).[0074] The system may retrieve a specific candidate gene fusion from a filtered set of candidate gene fusions (240). The system may generate input data for input to a machine learning model, wherein generating the input data includes extracting representative data representing a particular candidate gene fusion from data comprising (i) one or more reference sequence segments to which the particular candidate gene fusion was aligned using a read alignment block, and (ii) data generated based on the output of the read alignment block (250).

[0075] Система может передавать подготовленные входные данные в качестве входных данных в модель машинного обучения, причем модель машинного обучения обучена генерировать выходные данные, отражающие вероятность того, что потенциальное слияние генов представляет собой подтвержденное слияние генов, исходя из результатов применения модели машинного обучения для обработки входных данных, представляющих собой (i) сегменты эталонного генома, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока выравнивания считываний, и (ii) данные, сгенерированные на основании выходной информации блока (260) выравнивания считываний. Система может получать выходные данные, сгенерированные моделью машинного обучения по результатам модели машинного обучения, обрабатывающей входные данные (270). Система может определять, является ли потенциальное слияние подтвержденным слиянием генов на основании выходных данных (280).[0075] The system may provide the prepared input data as input to a machine learning model, wherein the machine learning model is trained to generate an output reflecting the probability that a potential gene fusion is a confirmed gene fusion based on the results of applying the machine learning model to the processing input data representing (i) the reference genome segments to which a particular candidate gene fusion was aligned using the read alignment block, and (ii) data generated from the output of the read alignment block (260). The system may receive output generated by the machine learning model from the output of the machine learning model processing the input data (270). The system can determine whether a potential fusion is a confirmed gene fusion based on the output data (280).

[0076] После завершения стадии 280 система может определять, следует ли проводить оценку другого потенциального слияния из отфильтрованного набора потенциальных слияний (290). Если система устанавливает, что существует другое потенциальное слияние из оцениваемого отфильтрованного набора потенциальных слияний, система может продолжать выполнение процесса 200 на стадии 240. В альтернативном варианте осуществления, если система устанавливает, что не существует другого потенциального слияния из оцениваемого отфильтрованного набора потенциальных слияний, система может завершать выполнение процесса на стадии 295. Другое потенциальное слияние может присутствовать в отфильтрованном наборе потенциальных слияний, если набор потенциальных слияний не был исчерпан.[0076] After completion of step 280, the system may determine whether to evaluate another candidate merger from the filtered set of candidate mergers (290). If the system determines that there is another candidate merger from the evaluated filtered set of candidate mergers, the system may continue executing process 200 at step 240. In an alternative embodiment, if the system determines that there is no other candidate merger from the evaluated filtered set of potential mergers, the system may terminate the process at step 295. Another candidate merger may be present in the filtered set of candidate mergers if the set of candidate mergers has not been exhausted.

[0077] На ФИГ. 3 показана блок-схема другого примера системы 300 для быстрого обнаружения подтвержденных слияний генов. Система 300 выполняет те же функции, что и система 100, поскольку система 300 использует секвенатор 110 для генерирования считываний 112 последовательностей РНК (или ДНК), использует блок 130 вторичного анализа для выравнивания считываний 112 последовательностей РНК с эталонной последовательностью, использует модуль 140 идентификации потенциального слияния для идентификации потенциального слияния, использует модуль 150 фильтрации потенциальных слияний для генерирования отфильтрованного набора потенциальных слияний для дальнейшего анализа, а затем проводит последующий анализ отфильтрованного набора потенциальных слияний, чтобы определять подтвержденные слияния генов с помощью модуля 160 генерации набора признаков, модели 170 машинного обучения, модуля 190 определения слияния генов и модуля 190 выходного API. Каждый из этих функциональных блоков, модулей или модели выполняет те же функции, которые были для них описаны при рассмотрении системы 100 на ФИГ. 1.[0077] In FIG. 3 shows a block diagram of another example of a system 300 for rapidly detecting confirmed gene fusions. System 300 performs the same functions as system 100 in that system 300 uses sequencer 110 to generate RNA (or DNA) sequence reads 112, uses secondary analysis unit 130 to align RNA sequence reads 112 to a reference sequence, uses potential fusion identification module 140 to identify a potential fusion, uses the potential fusion filtering module 150 to generate a filtered set of potential fusions for further analysis, and then performs subsequent analysis on the filtered set of potential fusions to identify confirmed gene fusions using the feature set generation module 160, machine learning model 170, module 190 gene fusion definitions and output API module 190. Each of these functional blocks, modules or models performs the same functions that were described for them when considering the system 100 in FIG. 1.

[0078] Различие между системой 300 и системой 100 заключается в том, что идентификацию потенциального слияния, фильтрацию потенциального слияния и дальнейший анализ отфильтрованного набора потенциальных слияний проводят на другом компьютере 320, а не на секвенаторе 110. Соответственно, различия между системой 300 и системой 100 заключаются в способе упаковки выравненных считываний и их передачи на компьютер 320 для анализа слияния генов с использованием сети 310, распаковки компьютером 320, а также в способе упаковки и передачи результатов анализа слияния генов на другое устройство с соответствующим дисплеем для вывода.[0078] The difference between system 300 and system 100 is that identification of potential fusions, filtering of potential fusions, and further analysis of the filtered set of candidate fusions are performed on another computer 320 rather than on sequencer 110. Accordingly, the differences between system 300 and system 100 consist of a method for packaging the aligned reads and transferring them to the gene fusion analysis computer 320 using the network 310, unpacking by the computer 320, and a method for packaging and transferring the results of the gene fusion analysis to another device with an associated display for output.

[0079] Более подробно, секвенатор 110 может секвенировать биологический образец 105 и генерировать считывания РНК 112-1, 112-2, 112-n, где «n» представляет собой любое положительное целое число больше 0, как описано со ссылкой на систему 100. Несмотря на то что в качестве примера используют считывания РНК, система может также выполнять те же процедуры со считываниями ДНК. Секвенатор 110 может хранить считывания 112-1, 112-2, 112-n в запоминающем устройстве 120. В некоторых вариантах реализации считывания 112-1, 112-2, 112-n могут быть в сжатом формате.[0079] In more detail, sequencer 110 may sequence biological sample 105 and generate RNA reads 112-1, 112-2, 112-n, where “n” is any positive integer greater than 0, as described with reference to system 100. Although RNA reads are used as an example, the system can also perform the same procedures with DNA reads. Sequencer 110 may store reads 112-1, 112-2, 112-n in memory 120. In some embodiments, reads 112-1, 112-2, 112-n may be in a compressed format.

[0080] Блок 130 вторичного анализа может получать считывания 112-1, 112-2, 112-n и сохранять считывания 112-1, 112-2, 122-n в запоминающем устройстве 132 блока 130 вторичного анализа. В некоторых вариантах реализации сюда может входить передача управляющей программой секвенатора 110 считываний 112-1, 112-2, 112-n в память 132 блока 130 вторичного анализа. В других вариантах реализации блок 130 вторичного анализа может запрашивать считывания 112-1, 112-2, 122-n.В случае сжатых считываний 112-1, 112-2, 112-n программируемое логическое устройство 134 блока 130 вторичного анализа можно переводить в состояние В для работы в качестве блока 138 распаковки и может быть использовано для распаковки считываний 112-1, 112-2, 112-n. Затем программируемое логическое устройство 134 может быть переконфигурировано в состояние А для работы в качестве блока выравнивания считываний и использовано для выравнивания считываний 112-1, 112-2, 112-n с эталонной последовательностью.[0080] The secondary analysis unit 130 may receive the reads 112-1, 112-2, 112-n and store the reads 112-1, 112-2, 122-n in the memory 132 of the secondary analysis unit 130. In some implementations, this may include the sequencer 110 control program transferring the reads 112-1, 112-2, 112-n to the memory 132 of the secondary analysis unit 130. In other implementations, the secondary analysis unit 130 may request reads 112-1, 112-2, 122-n. In the case of compressed reads 112-1, 112-2, 112-n, the programmable logic device 134 of the secondary analysis unit 130 may be placed in a state B to act as decompressor 138 and may be used to decompress reads 112-1, 112-2, 112-n. The programmable logic device 134 may then be reconfigured in state A to act as a read aligner and used to align reads 112-1, 112-2, 112-n to the reference sequence.

[0081] Блок 130 вторичного анализа можно возвращать в состояние В для работы в качестве блока сжатия, и такой блок сжатия можно использовать для сжатия выравненных считываний для подготовки выравненных считываний к передаче на компьютер 320. В данном примере сжатие первого пакета выравненных считываний включает сжатие не только выравненных считываний, но также и данных, подготовленных блоком 136 выравнивания считываний, относящихся к выравненным считываниям, которые будут использовать для анализа слияния генов. Такие данные описаны со ссылкой на систему 100, показанную на ФИГ. 1, и могут включать, например, частоту встречаемости вариантов аллелей, число уникальных выравниваний считываний, охват считываний транскрипта, показатель MAPQ, данные, указывающие на гомологию между родительскими генами, или их комбинацию. Кроме того, другие данные, которые могут сжиматься в выравненные считывания первого пакета, могут включать (i) считывания потенциального слияния, (ii) участок, с которым выравнивали считывания потенциальных слияний, и (iii) аннотации сегментов эталонного генома, с которыми выравнивали конкретное потенциальное слияние генов. В некоторых вариантах реализации аннотации могут включать аннотации экзонов гена, аннотации, указывающие на присутствие гомологичных генов, аннотации, указывающие на список обогащенных генов, или их комбинацию.[0081] The secondary analysis block 130 may be returned to state B to operate as a compression block, and such a compression block may be used to compress the aligned reads to prepare the aligned reads for transmission to computer 320. In this example, compression of the first packet of aligned reads includes compression of non-aligned reads. only the aligned reads, but also the data prepared by the read alignment unit 136 related to the aligned reads that will be used for gene fusion analysis. Such data is described with reference to the system 100 shown in FIG. 1, and may include, for example, the frequency of variant alleles, the number of unique read alignments, transcript read coverage, MAPQ score, data indicating homology between parental genes, or a combination thereof. In addition, other data that may be compressed into the aligned reads of the first batch may include (i) the candidate fusion reads, (ii) the region to which the potential fusion reads were aligned, and (iii) annotations of the reference genome segments to which the particular candidate was aligned. gene fusion. In some embodiments, the annotations may include annotations of gene exons, annotations indicating the presence of homologous genes, annotations indicating a list of enriched genes, or a combination thereof.

[0082] После сжатия выравненных считываний блок 130 вторичного анализа может сохранять первый пакет сжатых считываний в запоминающем устройстве 120. Затем секвенатор 110 может передавать первый пакет 125 выравненных считываний на компьютер 320 по сети 310 для анализа слияния генов. Сеть 310 может включать одну или более проводных сетей, одну или более беспроводных сетей или их комбинацию. В различных вариантах реализации сеть 310 может представлять собой одну или более из проводной сети Ethernet, проводной оптической сети, LAN, WAN, сотовой сети, Интернета или их комбинации. В некоторых вариантах реализации компьютер 320 может представлять собой удаленный облачный сервер. Вместе с тем в других вариантах реализации компьютер 320 может связываться с секвенатором 110 посредством прямого соединения, такого как прямое соединение Ethernet, соединение USB-C или т.п. Несмотря на то что в данном примере на ФИГ. 300 до передачи сжимают первый пакет считываний, сжатие не является обязательным. Напротив, сжатие применяют в качестве способа снижения использования пропускной способности сети и сокращения затрат на хранение, что может обеспечивать значительные технологические преимущества и уменьшать расходы при работе с геномами с большими размерами данных.[0082] After compressing the aligned reads, secondary analysis unit 130 may store a first batch of compressed reads in memory 120. Sequencer 110 may then transmit the first batch 125 of aligned reads to computer 320 over network 310 for gene fusion analysis. Network 310 may include one or more wired networks, one or more wireless networks, or a combination thereof. In various embodiments, network 310 may be one or more of a wired Ethernet network, a wired optical network, a LAN, a WAN, a cellular network, the Internet, or a combination thereof. In some embodiments, computer 320 may be a remote cloud server. However, in other embodiments, computer 320 may communicate with sequencer 110 through a direct connection, such as a direct Ethernet connection, a USB-C connection, or the like. Although in this example in FIG. 300 compresses the first packet of reads before transmission; compression is optional. In contrast, compression is used as a way to reduce network bandwidth usage and storage costs, which can provide significant technological benefits and reduce costs when working with genomes with large data sizes.

[0083] В некоторых вариантах реализации первый пакет выравненных считываний включает полный набор считываний, полученный для пробы 105. В других вариантах реализации первый пакет выравненных считываний представляет собой лишь участок полного набора считываний, подготовленных для пробы 105, и для упрощения параллельной обработки можно использовать систему пакетной обработки. Например, в некоторых вариантах реализации после того, как блок вторичного анализа сохраняет первый пакет выравненных считываний в запоминающем устройстве 120, в блок 130 вторичного анализа поступает второй пакет считываний, которые еще не были выравнены, для хранения в запоминающем устройстве 132. Затем блок 130 вторичного анализа может выполнять распаковку, если второй пакет считываний был сжат, и выравнивание второго пакета считываний, в то время как компьютер 320 проводит анализ слияния генов первого пакета считываний. Такая параллельная обработка, которую обеспечивает пакетная обработка считываний, может значительно сокращать время прогона системы 300, необходимое для определения подтвержденных слияний генов для считываний пробы 105.[0083] In some embodiments, the first batch of aligned reads includes the entire set of reads produced for sample 105. In other embodiments, the first batch of aligned reads represents only a portion of the complete set of reads generated for sample 105, and a system can be used to facilitate parallel processing batch processing. For example, in some implementations, after the secondary analysis unit stores the first batch of aligned reads in memory 120, the secondary analysis unit 130 receives a second batch of reads that have not yet been aligned for storage in memory 132. Then, secondary analysis unit 130 The analysis may perform decompression if the second batch of reads has been compressed and alignment of the second batch of reads while computer 320 performs gene fusion analysis on the first batch of reads. This parallel processing, which is provided by batch processing of reads, can significantly reduce the run time of the system 300 required to identify confirmed gene fusions for probe 105 reads.

[0084] Компьютер 320 может получать первый пакет считываний 125 по сети 310 и сохранять первый пакет считываний в запоминающем устройстве 320. В случае сжатого первого пакета 125 считываний компьютер 320 может использовать модуль сжатия/распаковки 325 для распаковки первого пакета считываний и сохранения первого пакета считываний в запоминающем устройстве 320. Затем компьютер 320 может организовать процесс поточного анализа слияний генов с использованием модуля 140 идентификации потенциального слияния, модуля 150 фильтрации потенциальных слияний, модуля 160 генерации набора признаков, модели 170 машинного обучения, модуля 180 определения слияния генов и модуля 190 выходного API таким же образом, как описано со ссылкой на систему 100 на ФИГ. 1.[0084] Computer 320 may receive the first batch of reads 125 over network 310 and store the first batch of reads in memory 320. In the case of a compressed first batch of reads 125, computer 320 may use a compress/decompress module 325 to decompress the first batch of reads and store the first batch of reads. in storage device 320. Computer 320 may then orchestrate an in-line gene fusion analysis process using a potential fusion identification module 140, a potential fusion filtering module 150, a feature set generation module 160, a machine learning model 170, a gene fusion detection module 180, and an output API module 190. in the same manner as described with reference to system 100 in FIG. 1.

[0085] Выходные данные 192 можно передавать на множество различных устройств через сеть 310. В качестве примера выходные данные можно передавать на секвенатор для вывода на дисплей 195 секвенатора. В альтернативном или дополнительном варианте осуществления выходные данные 192 можно выводить для отображения на дисплее пользовательского устройства 330 через сеть 310. Пользовательское устройство 330 может включать смартфон, планшетный компьютер, ноутбук, настольный компьютер или любой другой компьютер с дисплеем. В альтернативном или дополнительном варианте осуществления выходные данные 192 можно также передавать для вывода на принтер 340 по сети 310. В таких вариантах реализации выходные данные могут представлять собой печатную копию отчета о выявленных подтвержденных слияниях генов.[0085] The output data 192 may be transmitted to a variety of different devices via the network 310. As an example, the output data may be transmitted to a sequencer for display on the sequencer display 195. In an alternative or additional embodiment, output 192 may be output for display on the display of user device 330 via network 310. User device 330 may include a smartphone, tablet computer, laptop, desktop computer, or any other computer with a display. In an alternative or additional embodiment, output 192 may also be transmitted for output to printer 340 over network 310. In such embodiments, the output may be a printed copy of a report of identified confirmed gene fusions.

[0086] На ФИГ. 4 показана блок-схема системных компонентов, которые можно использовать для осуществления системы быстрого обнаружения слияний генов.[0086] In FIG. 4 shows a block diagram of system components that can be used to implement a rapid gene fusion detection system.

[0087] Вычислительное устройство 400 должно представлять собой различные формы цифровых компьютеров, таких как ноутбуки, настольные компьютеры, рабочие станции, карманные персональные компьютеры, серверы, блейд-серверы, мэйнфреймы и другие подходящие компьютеры. Вычислительное устройство 450 должно представлять собой различные формы мобильных устройств, таких как карманные персональные компьютеры, сотовые телефоны, смартфоны и другие аналогичные вычислительные устройства. Кроме того, вычислительное устройство 400 или 450 может включать флэш-накопители с универсальной последовательной шиной (USB). Во флэш-накопителях USB можно хранить операционные системы и другие приложения. Флэш-накопители USB могут включать компоненты ввода/вывода, такие как беспроводной передатчик или USB-разъем, который может быть вставлен в USB-порт другого вычислительного устройства. Представленные здесь компоненты, их соединения и взаимоотношения, а также их функции являются только примерами и не предназначены для ограничения вариантов реализации изобретения, описанных и/или заявленных в настоящем документе.[0087] The computing device 400 should be various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blades, mainframes, and other suitable computers. The computing device 450 should be various forms of mobile devices, such as personal digital assistants, cell phones, smartphones, and other similar computing devices. Additionally, computing device 400 or 450 may include universal serial bus (USB) flash drives. USB flash drives can store operating systems and other applications. USB flash drives may include I/O components, such as a wireless transmitter or a USB connector that can be inserted into a USB port on another computing device. The components, their connections and relationships, and their functions presented herein are examples only and are not intended to limit the embodiments described and/or claimed herein.

[0088] Вычислительное устройство 400 включает процессор 402, память 404, устройство 406 хранения, высокоскоростной интерфейс 408, соединяющийся с памятью 404 и высокоскоростными расширительными портами 410, и низкоскоростной интерфейс 412, соединяющийся с низкоскоростной шиной 414 и устройством 408 хранения. Все компоненты 402, 404, 406, 408, 410 и 412 соединены друг с другом с помощью различных шин, и могут быть установлены на общей материнской плате или при необходимости другими способами. Процессор 402 может обрабатывать команды, предназначенные для выполнения в вычислительном устройстве 400, включая команды, хранящиеся в запоминающем устройстве 404 или на устройстве 408 хранения, для отображения графической информации графического пользовательского интерфейса на внешнем устройстве ввода/вывода, таком как дисплей 416, соединенный с высокоскоростным интерфейсом 408. В других вариантах реализации при необходимости можно использовать множество процессоров и/или множество шин вместе с множеством запоминающих устройств и типов памяти. Кроме того, множество вычислительных устройств 400 могут быть соединены, причем каждое устройство обеспечивает участок необходимых операций, например это может быть банк серверов, группа блейд-серверов или многопроцессорная система.[0088] Computing device 400 includes a processor 402, memory 404, storage device 406, a high-speed interface 408 coupled to memory 404 and high-speed expansion ports 410, and a low-speed interface 412 coupled to low-speed bus 414 and storage device 408. Components 402, 404, 406, 408, 410 and 412 are all connected to each other using various buses, and can be mounted on a common motherboard or in other ways if necessary. Processor 402 may process instructions intended to be executed on computing device 400, including instructions stored on memory device 404 or storage device 408, to display graphical user interface information on an external input/output device, such as display 416 coupled to a high-speed interface 408. In other embodiments, multiple processors and/or multiple buses may be used, along with multiple storage devices and memory types, as needed. In addition, multiple computing devices 400 may be connected, with each device providing a site of required operations, such as a bank of servers, a bank of blade servers, or a multiprocessor system.

[0089] Информация в запоминающем устройстве 404 хранится в вычислительном устройстве 400. В одном варианте реализации память 404 представляет собой блок или блоки энергозависимой памяти. В другом варианте реализации память 404 представляет собой блок или блоки энергонезависимой памяти. Память 404 может также представлять собой другую форму машиночитаемого носителя, такую как магнитный или оптический диск.[0089] Information in memory 404 is stored in computing device 400. In one embodiment, memory 404 is a block or blocks of volatile memory. In another embodiment, memory 404 is a block or blocks of non-volatile memory. Memory 404 may also be another form of computer-readable media, such as a magnetic or optical disk.

[0090] Устройство 408 хранения выполнено с возможностью обеспечения большой емкости хранения для вычислительного устройства 400. В одном варианте реализации устройство 408 хранения может представлять собой или содержать машиночитаемый носитель, такой как устройство с гибким диском, устройство с жестким диском, устройство с оптическим диском или устройство с лентой, флэш-память или другое аналогичное твердотельное запоминающее устройство или массив устройств, включая устройства в сети хранения данных или в других конфигурациях. Компьютерный программный продукт может быть на практике реализован на носителе информации. Компьютерный программный продукт может также содержать команды, которые при их исполнении осуществляют один или более способов, таких как описанные выше. Носитель информации представляет собой компьютерочитаемый или машиночитаемый носитель, такой как память 404, устройство 408 хранения данных или память на процессоре 402.[0090] The storage device 408 is configured to provide a large storage capacity for the computing device 400. In one embodiment, the storage device 408 may be or comprise a computer-readable medium such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, flash memory, or other similar solid-state storage device or array of devices, including devices in a storage area network or other configurations. The computer program product may be practically implemented on a storage medium. The computer program product may also contain instructions that, when executed, perform one or more methods such as those described above. The storage medium is a computer-readable or computer-readable medium, such as memory 404, storage device 408, or memory on processor 402.

[0091] Высокоскоростной контроллер 408 управляет операциями с большой пропускной способностью для вычислительного устройства 400, а низкоскоростной контроллер 412 управляет операциями с меньшей пропускной способностью. Такое распределение функций является лишь примером. В одном варианте реализации высокоскоростной контроллер 408 соединен с памятью 404, дисплеем 416, например, через графический процессор или ускоритель, и с высокоскоростными расширительными портами 410, в которые можно устанавливать различные платы расширения (не показаны). В варианте реализации низкоскоростной контроллер 412 соединен с устройством 408 хранения и низкоскоростным расширительным портом 414. Низкоскоростной расширительный порт, который может включать различные коммуникационные порты, например USB, Bluetooth, Ethernet, беспроводной Ethernet, может быть соединен с одним или более устройствами ввода/вывода, такими как клавиатура, указательное устройство, пара микрофон/динамик, сканер или сетевое устройство, такое как коммутатор или маршрутизатор, например, с помощью сетевого адаптера. Вычислительное устройство 400 может быть реализовано в нескольких различных формах, как показано на фигуре. Например, оно может быть реализовано как стандартный сервер 420 или многократно, в виде группы таких серверов. Оно может также быть реализовано как часть стоечной серверной системы 424. Кроме того, оно может быть реализовано на персональном компьютере, таком как ноутбук 422. В альтернативном варианте осуществления компоненты вычислительного устройства 400 могут быть объединены с другими компонентами в мобильном устройстве (не показано), таком как устройство 450. Каждое из таких устройств может содержать одно или более вычислительных устройств 400, 450, и вся система может состоять из множества вычислительных устройств 400, 450, взаимодействующих друг с другом.[0091] A high-speed controller 408 manages high-bandwidth operations for computing device 400, and a low-speed controller 412 manages lower-bandwidth operations. This distribution of functions is just an example. In one embodiment, the high-speed controller 408 is coupled to memory 404, display 416, such as through a graphics processor or accelerator, and high-speed expansion ports 410 into which various expansion cards (not shown) can be installed. In an embodiment, low-speed controller 412 is coupled to storage device 408 and low-speed expansion port 414. The low-speed expansion port, which may include various communications ports, such as USB, Bluetooth, Ethernet, wireless Ethernet, may be connected to one or more input/output devices, such as a keyboard, pointing device, microphone/speaker pair, scanner, or a network device such as a switch or router, such as a network adapter. Computing device 400 may be implemented in several different forms, as shown in the figure. For example, it may be implemented as a standard server 420 or multiple times as a group of such servers. It may also be implemented as part of a rack server system 424. Additionally, it may be implemented on a personal computer such as a laptop 422. In an alternative embodiment, components of the computing device 400 may be combined with other components in a mobile device (not shown) such as device 450. Each of such devices may contain one or more computing devices 400, 450, and the entire system may consist of a plurality of computing devices 400, 450 communicating with each other.

[0092] Вычислительное устройство 400 может быть реализовано в нескольких различных формах, как показано на фигуре. Например, оно может быть реализовано как стандартный сервер 420 или многократно, в виде группы таких серверов. Оно может также быть реализовано как часть стоечной серверной системы 424. Кроме того, оно может быть реализовано на персональном компьютере, таком как ноутбук 422. В альтернативном варианте осуществления компоненты вычислительного устройства 400 могут быть объединены с другими компонентами в мобильном устройстве (не показано), таком как устройство 450. Каждое из таких устройств может содержать одно или более вычислительных устройств 400, 450, и вся система может состоять из множества вычислительных устройств 400, 450, взаимодействующих друг с другом.[0092] Computing device 400 may be implemented in several different forms, as shown in the figure. For example, it may be implemented as a standard server 420 or multiple times as a group of such servers. It may also be implemented as part of a rack server system 424. Additionally, it may be implemented on a personal computer such as a laptop 422. In an alternative embodiment, components of the computing device 400 may be combined with other components in a mobile device (not shown) such as device 450. Each of such devices may contain one or more computing devices 400, 450, and the entire system may consist of a plurality of computing devices 400, 450 communicating with each other.

[0093] Вычислительное устройство 450 включает процессор 452, память 464 и устройство ввода/вывода, такое как, помимо прочего, дисплей 454, коммуникационный интерфейс 466 и приемопередатчик 468. Устройство 450 может также быть снабжено устройством хранения, таким как микропривод или другое устройство, для обеспечения дополнительной возможности хранения. Все компоненты 450, 452, 464, 454, 466 и 468 соединяют друг с другом с помощью различных шин, и некоторые из компонентов могут быть установлены на общей материнской плате или иными способами, в зависимости от ситуации.[0093] The computing device 450 includes a processor 452, a memory 464, and an input/output device such as, but not limited to, a display 454, a communications interface 466, and a transceiver 468. The device 450 may also be provided with a storage device such as a microdrive or other device to provide additional storage capacity. The components 450, 452, 464, 454, 466, and 468 are all connected to each other using various buses, and some of the components may be mounted on a common motherboard or in other ways, as appropriate.

[0094] Процессор 452 может выполнять команды, имеющиеся в вычислительном устройстве 450, включая команды, хранящиеся в запоминающем устройстве 464. Процессор может быть реализован в виде набора микросхем, включая отдельные и многокомпонентные аналоговые и цифровые процессоры. Кроме того, процессор может быть реализован с использованием любой из ряда архитектур. Например, процессор 410 может представлять собой процессор CISC (вычислительное устройство с полным набором команд), процессор RISC (вычислительное устройство с сокращенным набором команд) или процессор MISC (вычислительное устройство с минимальным набором команд). Процессор может обеспечивать, например, координацию других компонентов устройства 450, таких как управление пользовательскими интерфейсами, запуск приложений устройством 450, и беспроводную связь с устройством 450.[0094] The processor 452 may execute instructions contained in the computing device 450, including instructions stored in the memory device 464. The processor may be implemented as a chipset, including individual and multi-component analog and digital processors. In addition, the processor may be implemented using any of a number of architectures. For example, processor 410 may be a CISC (full instruction set computing) processor, a RISC (reduced instruction set computing) processor, or a MISC (minimum instruction set computing) processor. The processor may provide, for example, coordination of other components of device 450, such as managing user interfaces, running applications by device 450, and communicating wirelessly with device 450.

[0095] Процессор 452 может обмениваться данными с пользователем через интерфейс 458 управления и интерфейс 456 дисплея, соединенный с дисплеем 454. Дисплей 454 может представлять собой, например, дисплей типа TFT (жидкокристаллический дисплей на тонкопленочных транзисторах) или типа OLED (на органических светоизлучающих диодах), или другие подходящие технологии отображения. Интерфейс 456 дисплея может содержать соответствующую схему для приведения дисплея 454 в действие и для представления графической и другой информации пользователю. Интерфейс 458 управления может принимать команды от пользователя и преобразовывать их для передачи процессору 452. Кроме того, может быть предусмотрен внешний интерфейс 462, сообщающийся с процессором 452 для обеспечения устройства 450 связью ближнего радиуса действия с другими устройствами. В некоторых вариантах реализации внешний интерфейс 462 может обеспечивать, например, проводную связь, или в других вариантах реализации беспроводную связь, и можно также использовать множество интерфейсов.[0095] The processor 452 may communicate with the user through a control interface 458 and a display interface 456 coupled to the display 454. The display 454 may be, for example, a TFT (thin film transistor) type display or an OLED (organic light emitting diode) type display. ), or other suitable display technologies. The display interface 456 may include suitable circuitry for driving the display 454 and for presenting graphical and other information to the user. The control interface 458 may receive commands from the user and convert them for transmission to the processor 452. Additionally, an external interface 462 may be provided in communication with the processor 452 to provide the device 450 with near-field communications with other devices. In some embodiments, external interface 462 may provide, for example, wired communications, or in other embodiments, wireless communications, and a variety of interfaces may also be used.

[0096] Информация в запоминающем устройстве 464 хранится в вычислительном устройстве 450. Запоминающее устройство 464 может быть реализована в виде одного или более машиночитаемых носителей или носителей, блока или блоков энергозависимой памяти, или блока или блоков энергонезависимой памяти. Кроме того, может быть предусмотрена расширительная память 474, соединенная с устройством 450 посредством расширительного интерфейса 472, который может включать, например, интерфейс карты SIMM (модуль с однорядным расположением микросхем памяти). Такая расширительная память 474 может обеспечивать устройство 450 дополнительным пространством хранения или может также хранить приложения или другую информацию для устройства 450. В частности, расширительная память 474 может включать команды для выполнения или для дополнения описанных выше процессов, а может также включать защищенную информацию. Таким образом, например, расширительная память 474 может быть обеспечена в качестве защищенного модуля для устройства 450 и может быть запрограммирована командами, которые позволяют использовать устройство 450 защищенным образом. Кроме того, с помощью плат SIMM можно передавать безопасные приложения, а также дополнительную информацию, например размещать идентификационную информацию на карте SIMM без возможности компрометации.[0096] Information in storage device 464 is stored in computing device 450. Storage device 464 may be implemented as one or more computer-readable media or media, a block or blocks of volatile memory, or a block or blocks of non-volatile memory. Additionally, expansion memory 474 may be provided coupled to device 450 via expansion interface 472, which may include, for example, a SIMM (single inline memory module) card interface. Such expansion memory 474 may provide device 450 with additional storage space or may also store applications or other information for device 450. In particular, expansion memory 474 may include instructions to perform or supplement the processes described above, and may also include secure information. Thus, for example, expansion memory 474 may be provided as a secure module for device 450 and may be programmed with instructions that allow device 450 to be used in a secure manner. In addition, SIMM cards can transfer secure applications as well as additional information, such as placing identity information on the SIMM card without the possibility of compromise.

[0097] Память может включать, например, флэш-память и/или память NVRAM, как описано ниже. В одном варианте реализации компьютерный программный продукт на практике реализован на носителе информации. Компьютерный программный продукт содержит команды, при исполнении которых осуществляется один или более способов, такие как описанные выше. Информационный носитель представляет собой компьютерочитаемый или машиночитаемый носитель, такой как запоминающее устройство 464, расширительная память 474 или память на процессоре 452, причем информация может быть принята, например, посредством приемопередатчика 468 или внешнего интерфейса 462.[0097] The memory may include, for example, flash memory and/or NVRAM memory, as described below. In one embodiment, the computer program product is practically implemented on a storage medium. The computer program product contains instructions that, when executed, perform one or more methods such as those described above. The information medium is a computer-readable or machine-readable medium, such as storage device 464, expansion memory 474, or memory on processor 452, where the information may be received, for example, by transceiver 468 or external interface 462.

[0098] Устройство 450 может обмениваться данными беспроводным способом через коммуникационный интерфейс 466, в который при необходимости может быть включена схема для обработки цифровых сигналов. Коммуникационный интерфейс 466 связи может обеспечивать связь в различных режимах или протоколах, таких как, помимо прочего, голосовые звонки GSM, SMS, EMS или MMS сообщения, CDMA, TDMA, PDC, WCDMA, CDMA2000 или GPRS. Такую передачу данных можно осуществлять, например, при помощи радиочастотного приемопередатчика 468. Кроме того, возможна связь ближнего радиуса действия, например, с помощью Bluetooth, Wi-Fi или другого подобного приемопередатчика (не показан). Кроме того, модуль 470 приемника GPS (глобальной системы позиционирования) может передавать дополнительные относящиеся к навигации и местоположению беспроводные данные на устройство 450, которые можно использовать при необходимости в приложениях, работающих на устройстве 450.[0098] Device 450 may communicate wirelessly through a communications interface 466, which may include circuitry for digital signal processing if desired. The communications communications interface 466 may provide communications in various modes or protocols, such as, but not limited to, GSM voice calls, SMS, EMS or MMS messages, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS. Such data transmission can be accomplished, for example, using a radio frequency transceiver 468. In addition, short-range communication is possible, for example, using Bluetooth, Wi-Fi, or another similar transceiver (not shown). In addition, GPS (Global Positioning System) receiver module 470 may transmit additional navigation and location-related wireless data to device 450 that can be used as needed by applications running on device 450.

[0099] Устройство 450 может также передавать звуковой сигнал с использованием аудиокодека 460, который может принимать речевую информацию от пользователя и преобразовывать ее в пригодную для использования цифровую информацию. Аудиокодек 460 может также генерировать звуковой сигнал для пользователя, например, через динамик, например через гарнитуру устройства 450. Такой звуковой сигнал может представлять собой звук от голосовых телефонных звонков, может представлять собой записанный звук, например голосовые сообщения, музыкальные файлы и т.п., а может также включать звук, создаваемый приложениями, работающими на устройстве 450.[0099] Device 450 may also transmit an audio signal using an audio codec 460, which can receive speech information from a user and convert it into usable digital information. Audio codec 460 may also generate an audio signal for the user, for example, through a speaker, such as through the headset of device 450. Such audio signal may be audio from voice telephone calls, may be recorded audio, such as voice messages, music files, and the like. , and may also include audio generated by applications running on device 450.

[0100] Вычислительное устройство 450 может быть реализовано в нескольких различных формах, как показано на фигуре. Например, оно может быть реализовано в виде сотового телефона 480. Оно может также быть реализовано как часть смартфона 482, карманного персонального компьютера или другого подобного мобильного устройства.[0100] Computing device 450 may be implemented in several different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 480. It may also be implemented as part of a smartphone 482, a personal digital assistant, or other similar mobile device.

[0101] Различные варианты реализации систем и способов, описанных в настоящем документе, могут быть реализованы в виде цифровой электронной схемы, интегральной схемы, специально разработанных ASIC (интегральных схем прикладного назначения), компьютерного аппаратного обеспечения, микропрограммного обеспечения, программного обеспечения и/или в виде комбинации таких вариантов реализации. Данные различные реализации могут включать реализацию в одной или более компьютерных программах, выполненных с возможностью исполнения и/или интерпретации в программируемой системе, включающей по меньшей мере один программируемый процессор, который может быть специализированным или общего назначения, присоединенный к системе хранения для приема от нее данных и команд и передачи в нее данных и команд, по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода.[0101] Various implementations of the systems and methods described herein may be implemented in the form of a digital electronic circuit, an integrated circuit, custom ASICs (application integrated circuits), computer hardware, firmware, software, and/or as a combination of such implementation options. These various implementations may include implementation in one or more computer programs configured to be executed and/or interpreted on a programmable system including at least one programmable processor, which may be specialized or general purpose, coupled to a storage system to receive data from it. and commands and transmitting data and commands thereto, at least one input device and at least one output device.

[0102] Эти компьютерные программы (также именуемые программами, программным обеспечением, программными приложениями или кодом), включают машинные команды для программируемого процессора и могут быть реализованы на высокоуровневом процедурном и/или объектно-ориентированном языке программирования, и/или на ассемблерном/машинном языке. Используемые в настоящем документе термины «машиночитаемый носитель», «компьютерочитаемый носитель» относятся к любому компьютерному программному продукту, аппарату и/или устройству, например такому как магнитные диски, оптические диски, запоминающее устройство, программируемые логические устройства (PLD), используемые для передачи машинных команд и/или данных на программируемый процессор, включая машиночитаемый носитель, который принимает машинные команды в качестве машиночитаемого сигнала. Термин «машиночитаемый сигнал» относится к любому сигналу, используемому для передачи машинных команд и/или данных на программируемый процессор.[0102] These computer programs (also referred to as programs, software, software applications or code) include machine instructions for a programmable processor and may be implemented in a high-level procedural and/or object-oriented programming language, and/or assembly/machine language . As used herein, the terms “machine-readable medium”, “computer-readable medium” refer to any computer program product, apparatus and/or device, such as magnetic disks, optical disks, storage media, programmable logic devices (PLDs), used for transmitting computer data. instructions and/or data to a programmable processor, including a computer-readable medium, that receives the machine instructions as a computer-readable signal. The term "machine-readable signal" refers to any signal used to convey machine instructions and/or data to a programmable processor.

[0103] Для обеспечения взаимодействия с пользователем описанные в настоящем документе системы и методы могут быть реализованы на компьютере, имеющем устройство отображения, например КЛТ- (катодно-лучевая трубка) или ЖК-(жидкокристаллический) монитор, для отображения информации пользователю, и клавиатуру и указывающее устройство, например мышь или трекбол, с помощью которых пользователь может вводить в компьютер входные данные. Для обеспечения взаимодействия с пользователем также можно использовать и другие типы устройств; обратная связь, предоставляемая пользователю, может иметь любую осязаемую форму, например визуальная обратная связь, слуховая обратная связь или тактильная обратная связь; и входные данные от пользователя могут поступать в любой форме, включая звуковые, речевые или тактильные входные данные.[0103] To provide user interaction, the systems and methods described herein may be implemented on a computer having a display device, such as a CRT (cathode ray tube) or LCD (liquid crystal) monitor, to display information to the user, and a keyboard and A pointing device, such as a mouse or trackball, that allows the user to provide input to the computer. Other types of devices can also be used to provide user interaction; the feedback provided to the user can be in any tangible form, such as visual feedback, auditory feedback or haptic feedback; and input from the user may come in any form, including audio, speech, or tactile input.

[0104] Описанные в настоящем документе системы и методы могут быть реализованы в компьютерной системе, которая включает серверный компонент, например сервер данных, или включает промежуточный компонент, например сервер приложений, или включает клиентский компонент (например, компьютер-клиент с графическим интерфейсом пользователя или веб-браузером, с помощью которых пользователь может взаимодействовать с реализацией описанных в настоящем документе систем и методов), либо любую комбинацию таких серверных, промежуточных и клиентских компонентов. Компоненты системы могут быть связаны между собой любой формой или средой цифрового обмена данными, например сетью связи. К примерам сетей связи относятся локальная вычислительная сеть (LAN), глобальная сеть (WAN) и Интернет.[0104] The systems and methods described herein may be implemented in a computer system that includes a server component, such as a data server, or includes an intermediate component, such as an application server, or includes a client component (for example, a client computer with a graphical user interface or web browser through which a user can interact with an implementation of the systems and methods described herein), or any combination of such server, middleware, and client components. System components can be interconnected by any form or medium of digital data exchange, such as a communications network. Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0105] Компьютерная система может включать клиенты и серверы. Клиент и сервер по существу удалены друг от друга и, как правило, взаимодействуют через сеть связи. Функциональная зависимость клиента и сервера возникает благодаря компьютерным программам, выполняемым на соответствующих компьютерах и имеющим функциональную зависимость клиент-сервер друг от друга.[0105] The computer system may include clients and servers. The client and server are essentially remote from each other and typically communicate through a communications network. The functional dependence of the client and server arises due to computer programs running on the respective computers and having a client-server functional dependence on each other.

ДРУГИЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯOTHER IMPLEMENTATION OPTIONS

[0106] Описан ряд вариантов осуществления. Тем не менее будет очевидно, что возможны различные модификации без отклонения от сущности и объема изобретения. Кроме того, логические потоки, изображенные на фигурах, не требуют показанного определенного или последовательного порядка для достижения желаемых результатов. Кроме того, могут быть предусмотрены и другие стадии, или же стадии могут быть исключены из описанных потоков, и в описанные системы могут быть добавлены или удалены из них другие компоненты. Соответственно, нижеследующая формула изобретения охватывает другие варианты осуществления.[0106] A number of embodiments are described. However, it will be appreciated that various modifications are possible without departing from the spirit and scope of the invention. Additionally, the logical flows depicted in the figures do not require the specific or sequential order shown to achieve the desired results. In addition, other steps may be provided or omitted from the described flows, and other components may be added to or removed from the described systems. Accordingly, the following claims cover other embodiments.

Claims (44)

1. Реализованный на компьютере способ идентификации одного или более слияний генов в биологическом образце (105), включающий:1. A computer-implemented method for identifying one or more gene fusions in a biological sample (105), comprising: для каждой позиции эталонной последовательности из множества позиций эталонной последовательности:for each reference sequence position from a plurality of reference sequence positions: получение первых данных, которые представляют накопление выравненных считываний, полученных путем секвенирования с коротким считыванием и имеющих высокую глубину охвата в указанной позиции эталонной последовательности, от блока выравнивания считываний, одним или более компьютерами;obtaining first data, which represents an accumulation of aligned reads obtained by short read sequencing and having a high depth of coverage at a specified position of the reference sequence, from the read alignment block, by one or more computers; идентификацию множества потенциальных слияний генов, включенных в полученные первые данные, одним или более компьютерами (140);identifying multiple potential gene fusions included in the first data obtained by one or more computers (140); фильтрацию множества потенциальных слияний генов одним или более компьютерами (150) для удаления дубликатов потенциальных слияний, которые являются следствием высокой глубины охвата, в указанной позиции эталонной последовательности, с определением, таким образом, отфильтрованного набора потенциальных слияний генов;filtering a plurality of potential gene fusions by one or more computers (150) to remove duplicate potential fusions that result from high depth of coverage at a specified reference sequence position, thereby determining a filtered set of potential gene fusions; для каждого конкретного потенциального слияния генов из отфильтрованного набора потенциальных слияний генов:for each specific potential gene fusion from the filtered set of potential gene fusions: генерирование входных данных (162) одним или более компьютерами (160) для ввода в модель (170) машинного обучения, причем генерирование входных данных включает извлечение характерных данных, отличающих конкретное потенциальное слияние генов от данных, включающих: generating input data (162) by one or more computers (160) for input to a machine learning model (170), wherein generating the input data includes retrieving characteristic data distinguishing a particular candidate gene fusion from data including: (i) один или более сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока (136) выравнивания считываний, и (i) one or more reference sequence segments to which the particular candidate gene fusion was aligned using the read alignment block (136), and (ii) данные, сгенерированные на основании выходной информации блока (136) выравнивания считываний, причем данные, сгенерированные на основании выходной информации блока выравнивания считываний, включают одно или более из числа частоты встречаемости вариантов аллелей, числа уникальных выравниваний считываний, показателя MAPQ или данных, указывающих на гомологию между родительскими генами; (ii) data generated based on the output of the read alignment block (136), wherein the data generated based on the output of the read alignment block includes one or more of an allele variant frequency, a number of unique read alignments, a MAPQ score, or data, indicating homology between parental genes; передачу одним или более компьютерами сгенерированных входных данных (162) в качестве входных данных в модель (170) машинного обучения, при этом модель машинного обучения обучена с использованием меченых обучающих векторов, где каждый меченый обучающий вектор представляет обучающее потенциальное слияние и содержит (i) один или более сегментов эталонной последовательности, с которыми выравнивали обучающее потенциальное слияние генов, и (ii) одно или более из числа частоты встречаемости вариантов аллелей, числа уникальных выравниваний считываний, показателя MAPQ или данных, указывающих на гомологию между родительскими генами, генерировать выходные данные (178), отражающие вероятность того, что потенциальное слияние генов представляет собой подтвержденное слияние генов, исходя из результатов применения модели (170) машинного обучения для обработки входных данных (162), представляющих собой (i) один или более сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока (136) выравнивания считываний, и (ii) данные, сгенерированные на основании выходной информации блока (136) выравнивания считываний, где данные, сгенерированные на основании выходной информации блока выравнивания считываний, включают любое одно или более из числа частоты встречаемости вариантов аллелей, числа уникальных выравниваний считываний, показателя MAPQ или данных, указывающих на гомологию между родительскими генами;transmission by one or more computers of generated input data (162) as input to a machine learning model (170), wherein the machine learning model is trained using labeled training vectors, where each labeled training vector represents a training fusion candidate and contains (i) one or more reference sequence segments to which the training candidate gene fusion was aligned, and (ii) one or more of the number of variant allele frequencies, the number of unique read alignments, a MAPQ score, or data indicating homology between parental genes, generate output data (178 ), reflecting the probability that a potential gene fusion is a confirmed gene fusion based on the results of applying a machine learning model (170) to the input data (162) representing (i) one or more reference sequence segments to which a particular a potential gene fusion using the read alignment block (136), and (ii) data generated based on the output of the read alignment block (136), wherein the data generated based on the output of the read alignment block includes any one or more of a frequency occurrence of variant alleles, number of unique read alignments, MAPQ score or data indicating homology between parental genes; получение одним или более компьютерами (180) выходных данных (178), сгенерированных моделью (170) машинного обучения после обработки сгенерированных входных данных (162) моделью машинного обучения; и receiving by one or more computers (180) output data (178) generated by the machine learning model (170) after processing the generated input data (162) by the machine learning model; And определение, является ли конкретное потенциальное слияние подтвержденным слиянием генов на основании выходных данных (178), одним или более компьютерами (180).determining whether a particular candidate fusion is a confirmed gene fusion based on the output (178) by one or more computers (180). 2. Способ по п. 1, 2. Method according to claim 1, в котором генерирование входных данных (162) дополнительно включает извлечение характерных данных, которые включают данные аннотации, описывающие аннотации сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока (136) выравнивания считываний; иwherein generating the input data (162) further includes retrieving feature data, which includes annotation data describing the annotations of the reference sequence segments to which the particular candidate gene fusion was aligned using the read alignment block (136); And при этом модель (170) машинного обучения обучена генерировать выходные данные (178), отражающие вероятность того, что потенциальное слияние генов является подтвержденным потенциальным слиянием генов на основании результатов применения модели (170) машинного обучения для обработки входных данных (162), представляющих собой: wherein the machine learning model (170) is trained to generate output (178) reflecting the probability that the candidate gene fusion is a confirmed candidate gene fusion based on the results of applying the machine learning model (170) to the input data (162) being: (i) один или более сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока (136) выравнивания считываний, (i) one or more reference sequence segments to which the particular candidate gene fusion was aligned using the read alignment block (136), (ii) данные аннотации, описывающие аннотации сегментов эталонной последовательности, с которыми выравнивали конкретное потенциальное слияние генов с помощью блока (136) выравнивания считываний, и (ii) annotation data describing the annotations of the reference sequence segments to which the particular candidate gene fusion was aligned using the read alignment block (136), and (iii) данные, сгенерированные на основании выходной информации блока (136) выравнивания считываний.(iii) data generated based on the output of the read alignment unit (136). 3. Способ по любому из предшествующих пунктов, в котором идентификация множества потенциальных слияний генов, включенных в полученные первые данные, одним или более компьютерами (140) включает идентификацию множества выравниваний расщепленных считываний одним или более компьютерами.3. The method of any one of the preceding claims, wherein identifying a plurality of potential gene fusions included in the acquired first data by one or more computers (140) includes identifying a plurality of split read alignments by one or more computers. 4. Способ по любому из предшествующих пунктов, в котором идентификация множества потенциальных слияний генов, включенных в полученные первые данные, одним или более компьютерами (140) включает идентификацию множества выравниваний дискордантных пар считываний одним или более компьютерами.4. The method of any one of the preceding claims, wherein identifying a plurality of potential gene fusions included in the acquired first data by one or more computers (140) includes identifying a plurality of alignments of discordant read pairs by one or more computers. 5. Способ по любому из предшествующих пунктов, в котором блок (136) выравнивания считываний реализуют с использованием набора из одного или более модулей обработки, которые выполнены с возможностью использования аппаратных логических схем, физически организованных с возможностью выполнения операций с использованием аппаратных логических схем, для: 5. The method as claimed in any one of the preceding claims, wherein the read aligner (136) is implemented using a set of one or more processing modules that are configured to use hardware logic circuits physically arranged to perform operations using the hardware logic circuits, to : (i) приема данных, представляющих первое считывание, (i) receiving data representing the first reading, (ii) сопоставления данных, представляющих первое считывание, с одним или более участками эталонной последовательности для идентификации одной или более совпадающих позиций эталонной последовательности, (ii) matching the data representing the first read to one or more regions of the reference sequence to identify one or more matching positions of the reference sequence, (iii) генерирования одной или более оценок выравнивания, соответствующих каждой из совпадающих позиций эталонной последовательности для первого считывания, (iii) generating one or more alignment estimates corresponding to each of the matching positions of the reference sequence for the first read, (iv) выбора одного или более потенциальных выравниваний для первого считывания на основании одной или более оценок выравнивания, и (iv) selecting one or more potential alignments for the first read based on the one or more alignment scores, and (v) вывода данных, представляющих потенциальное выравнивание для первого считывания.(v) outputting data representing a candidate alignment for the first read. 6. Способ по любому из пп. 1-4, в котором блок (136) выравнивания считываний реализуют с использованием набора из одного или более модулей обработки посредством использования одного или более центральных процессоров, т.е. CPU, или одного или более графических процессоров, т.е. GPU, для выполнения программных команд, которые инициируют выполнение одним или более CPU или одним или более GPU функций: 6. Method according to any one of paragraphs. 1-4, in which the read alignment unit (136) is implemented using a set of one or more processing modules through the use of one or more central processors, i.e. CPU, or one or more graphics processors, i.e. GPU, to execute software instructions that cause one or more CPUs or one or more GPUs to execute functions: (i) приема данных, представляющих первое считывание, (i) receiving data representing the first reading, (ii) сопоставления данных, представляющих первое считывание, с одним или более участками эталонной последовательности для идентификации одной или более совпадающих позиций эталонной последовательности для первого считывания, (ii) matching the data representing the first read to one or more reference sequence regions to identify one or more matching reference sequence positions for the first read, (iii) генерирования одной или более оценок выравнивания, соответствующих каждой из совпадающих позиций эталонной последовательности для первого считывания, (iii) generating one or more alignment estimates corresponding to each of the matching positions of the reference sequence for the first read, (iv) выбора одного или более потенциальных выравниваний для первого считывания на основании одной или более оценок выравнивания, и (iv) selecting one or more potential alignments for the first read based on the one or more alignment scores, and (v) вывода данных, представляющих потенциальное выравнивание для первого считывания.(v) outputting data representing a candidate alignment for the first read. 7. Способ по любому из предшествующих пунктов, в котором получение одним или более компьютерами первых данных, которые представляют накопление выравненных считываний от блока (136) выравнивания считываний, включает получение одним или более компьютерами накопления выравненных считываний из запоминающего устройства (120) и выполнение одной или более операций по п. 1, в то время как блок (136) выравнивания считываний выравнивает второе накопление считываний, которые еще не были выравнены.7. The method as claimed in any one of the preceding claims, wherein obtaining by one or more computers first data that represents an accumulation of aligned reads from a read alignment unit (136) comprises obtaining by one or more computers an accumulation of aligned reads from a storage device (120) and performing one or more operations according to claim 1, while the read alignment unit (136) aligns the second accumulation of reads that have not yet been aligned. 8. Способ по любому из предшествующих пунктов, в котором данные, сгенерированные на основании выходной информации блока выравнивания считываний, включают любое одно или более из числа частоты встречаемости вариантов аллелей, числа уникальных выравниваний считываний, показателя MAPQ или данных, указывающих на гомологию между родительскими генами.8. The method of any one of the preceding claims, wherein the data generated based on the output of the read alignment block includes any one or more of a number of variant allele frequencies, a number of unique read alignments, a MAPQ score, or data indicating homology between parent genes . 9. Способ по любому из предшествующих пунктов, в котором определение того, соответствует ли конкретное потенциальное слияние подтвержденному потенциальному слиянию генов на основании выходных данных (178), включает:9. The method of any one of the preceding claims, wherein determining whether a particular candidate fusion matches a confirmed candidate gene fusion based on the output data (178) comprises: определение одним или более компьютерами (180), удовлетворяют ли выходные данные (178) предварительно заданному пороговому значению; иdetermining by one or more computers (180) whether the output data (178) satisfies a predetermined threshold value; And определение того, что конкретное потенциальное слияние соответствует подтвержденному потенциальному слиянию генов, на основании определения того, что выходные данные (178) удовлетворяют предварительно заданным пороговым значениям.determining that a particular candidate fusion matches a confirmed candidate gene fusion based on determining that the output (178) satisfies predefined thresholds. 10. Способ по п. 1, в котором определение того, соответствует ли конкретное потенциальное слияние подтвержденному слиянию генов на основании выходных данных (178), включает:10. The method of claim 1, wherein determining whether a particular candidate fusion matches a confirmed gene fusion based on the output data (178) includes: определение одним или более компьютерами (180), удовлетворяют ли выходные данные (178) предварительно заданному пороговому значению; иdetermining by one or more computers (180) whether the output data (178) satisfies a predetermined threshold value; And определение того, что конкретное потенциальное слияние не соответствует подтвержденному потенциальному слиянию генов, на основании определения того, что выходные данные (178) не удовлетворяют предварительно заданным пороговым значениям. determining that a particular candidate fusion does not correspond to a confirmed candidate gene fusion based on determining that the output (178) does not meet predefined thresholds. 11. Способ по п. 1, в котором высокая глубина охвата в указанной позиции эталонной последовательности равна 30x охвату.11. The method of claim 1, wherein the high depth of coverage at the specified position of the reference sequence is equal to 30x coverage. 12. Система (100) для идентификации одного или более слияний генов в биологическом образце, содержащая:12. A system (100) for identifying one or more gene fusions in a biological sample, comprising: один или более компьютеров и одно или более устройств хранения, на которых хранятся команды, при исполнении которых одним или более компьютерами один или более компьютеров выполняют операции, включающие способ по любому из пп. 1-11.one or more computers and one or more storage devices on which instructions are stored, when executed by one or more computers, one or more computers perform operations, including the method of any one of claims. 1-11. 13. Энергонезависимый машиночитаемый носитель для идентификации одного или более слияний генов в биологическом образце, на котором хранится программное обеспечение, содержащее команды, выполненные с возможностью исполнения одним или более компьютерами, за счет исполнения которых один или более компьютеров выполняют операции, включающие способ по любому из пп. 1-11.13. A non-transitory computer-readable medium for identifying one or more gene fusions in a biological sample, on which is stored software containing instructions executable by one or more computers, by executing which one or more computers perform operations, including a method according to any one of pp. 1-11.
RU2021125284A 2019-12-05 2020-12-04 Fast detection of gene fusions RU2818363C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/944,304 2019-12-05

Publications (1)

Publication Number Publication Date
RU2818363C1 true RU2818363C1 (en) 2024-05-02

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2016149233A (en) * 2014-05-15 2018-06-20 Эррэй Биофарма Инк. 1 - ((3S, 4R) -4- (3-fluorophenyl) -1- (2-methoxyethyl) pyrrolidin-3-yl) -3- (4-methyl-3- (2-methylpirimidin-5-yl) - 1-Phenyl-1H-pyrazole-5-yl) urea as a traka kinase inhibitor
RU2704286C2 (en) * 2015-04-28 2019-10-25 Иллюмина, Инк. Suppressing errors in sequenced dna fragments by using excessive reading with unique molecular indices (umi)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2016149233A (en) * 2014-05-15 2018-06-20 Эррэй Биофарма Инк. 1 - ((3S, 4R) -4- (3-fluorophenyl) -1- (2-methoxyethyl) pyrrolidin-3-yl) -3- (4-methyl-3- (2-methylpirimidin-5-yl) - 1-Phenyl-1H-pyrazole-5-yl) urea as a traka kinase inhibitor
RU2704286C2 (en) * 2015-04-28 2019-10-25 Иллюмина, Инк. Suppressing errors in sequenced dna fragments by using excessive reading with unique molecular indices (umi)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREW MCPHERSON. et al. "deFuse: An Algorithm for Gene Fusion Discovery in Tumor RNA-Seq Data", PLOS COMPUTATIONAL BIOLOGY, Vol. 7, No. 5, 19 May 2011 (2011-05-19), p. 1-16, реферат, стр.2, 4, 7, 8, 10, 11. FRANCESCO ABATE. et al. "Pegasus: a comprehensive annotation and prediction tool for detection of driver gene fusions in cancer", BMC SYSTEMS BIOLOGY, BIOMED CENTRAL LTD, LO, Vol. 8, No. 1, 04 September 2014 (2014-09-04), p. 97. *

Similar Documents

Publication Publication Date Title
Alser et al. Shouji: a fast and efficient pre-alignment filter for sequence alignment
AU2022218629B2 (en) Bioinformatics Systems, Apparatuses, And Methods For Performing Secondary And/or Tertiary Processing
US20210257052A1 (en) Bioinformatics Systems, Apparatuses, and Methods for Performing Secondary and/or Tertiary Processing
EP3982368B1 (en) Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing
Hu et al. An improved deep learning method for predicting DNA-binding proteins based on contextual features in amino acid sequences
Alser et al. From molecules to genomic variations: Accelerating genome analysis via intelligent algorithms and architectures
US20160132640A1 (en) System, method and computer readable medium for rapid dna identification
US20210193254A1 (en) Rapid Detection of Gene Fusions
Tárraga et al. Acceleration of short and long DNA read mapping without loss of accuracy using suffix array
Li et al. HSM6AP: a high-precision predictor for the Homo sapiens N6-methyladenosine (m^ 6 A) based on multiple weights and feature stitching
da Silveira et al. Molecular profiling of RNA tumors using high-throughput RNA sequencing: From raw data to systems level analyses
Mihai et al. Representing and extracting knowledge from single-cell data
Yosef et al. Improved network-based identification of protein orthologs
TW202145247A (en) Hardware accelerated k-mer graph generation
Luo et al. A Caps-UBI model for protein ubiquitination site prediction
RU2818363C1 (en) Fast detection of gene fusions
Shi et al. A review of machine learning-based methods for predicting drug–target interactions
US10671632B1 (en) Automated pipeline
Vignesh et al. Biological Big Data analysis and visualization: A survey
RU2817560C1 (en) Hardware-accelerated generation of k-dimensional graph
Singh et al. RUBICON: a framework for designing efficient deep learning-based genomic basecallers
Khan et al. Accelerated Deep Learning in Proteomics—A Review
RU2799750C2 (en) Bioinformation systems, devices and methods for secondary and/or tertiary processing
Liebers Analytical Challenges of Next-generation Sequencing in Precision Medicine
Pang et al. DisoFLAG: accurate prediction of protein intrinsic disorder and its functions using graph-based interaction protein language model