IP Library Granted Patent US 9,734,284
Granted Patent B2
US 9,734,284 · App. 14/201,824 · Granted Aug 15, 2017

Hardware acceleration of short read mapping for genomic and other types of analyses

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,734,284
App. No.
14/201,824
Granted
Aug 15, 2017
Kind
B2
Abstract

A scalable FPGA-based solution to the short read mapping problem in DNA sequencing is disclosed which greatly accelerates the task of aligning short length reads to a known reference genome. A representative system comprises one or more memory circuits storing a plurality of short reads and a reference genome sequence; and one or more field programmable gate arrays configured to select a short read; to extract a plurality of seeds from the short read, each seed comprising a genetic subsequence of the short read; for each seed, to determine at least one candidate alignment location (CAL) in the reference genome sequence to form a plurality of CALs; for each CAL, to determine a likelihood of the short read matching the reference genome sequence in the vicinity of the CAL; and to select one or more CALs having the currently greater likelihood of the short read matching the reference genome sequence.

Claims (25)

1. A system for acceleration of short read mapping to a reference genome sequence for genomic analysis, the system coupled to a host computing system, the system comprising:

one or more memory circuits storing a plurality of short reads and a reference genome sequence, each short read comprising a sequence of a plurality of genetic bases; and

one or more field programmable gate arrays coupled to the one or more memory circuits, the one or more field programmable gate arrays configured to select a short read from the plurality of short reads; to extract a plurality of seeds from the short read, each seed comprising a genetic subsequence of the short read; for each seed of the plurality of seeds, to determine at least one candidate alignment location in the reference genome sequence to form a plurality of candidate alignment locations; for each candidate alignment location of the plurality of candidate alignment locations, to determine a likelihood of the short read matching the reference genome sequence in the vicinity of the candidate alignment location; and to select one or more candidate alignment locations, of the plurality of candidate alignment locations, having the currently greater likelihoods of the short read matching the reference genome sequence.

2. The system of claim 1 , wherein the one or more field programmable gate arrays are further configured to use a selected seed, of the plurality of seeds, to access a reference genome index to determine the at least one candidate alignment location.

3. The system of claim 2 , wherein the reference genome index is partitioned over the one or more memory circuits to form a plurality of reference genome index partitions.

4. The system of claim 2 , wherein the one or more field programmable gate arrays are further configured to select one or more first candidate alignment locations having the currently greater one or more first likelihoods from a first partition of the plurality of reference genome index partitions; to compare the one or more first likelihoods with one or more second likelihoods of one or more second candidate alignment locations from a second partition of the plurality of reference genome index partitions; and to select the one or more candidate alignment locations having the currently greater likelihoods of the one or more first and second likelihoods.

5. The system of claim 4 , wherein the one or more field programmable gate arrays are further configured to transfer the one or more candidate alignment locations having the currently greater likelihoods for mapping of the short read using a next, third partition of the plurality of reference genome index partitions.

6. The system of claim 2 , wherein the one or more field programmable gate arrays are further configured to hash the selected seed and use the hashed seed to access the reference genome index.

7. The system of claim 6 , wherein the one or more field programmable gate arrays are further configured to generate a forward sequence and a reverse complement sequence for the selected seed; to determine which of the forward sequence or the reverse complement sequence is lexicographically smaller; to hash the lexicographically smaller sequence to produce a hash result; and to use the hash result as the hashed seed to access the reference genome index.

8. The system of claim 2 , wherein the reference genome index comprises a pointer table and a candidate alignment location table.

9. The system of claim 8 , wherein each entry of the pointer table comprises a first predetermined number of the most significant bits of a hashed seed sequence and a pointer to a corresponding part of the candidate alignment location table.

10. The system of claim 9 , wherein each entry of the candidate alignment location table comprises a second predetermined number of the least significant bits of a hashed seed sequence and a corresponding candidate alignment location.

11. The system of claim 10 , wherein the one or more field programmable gate arrays are further configured to use the first predetermined number of the most significant bits of the selected hashed seed to access the pointer table to obtain a corresponding pointer; and to use the corresponding pointer and the second predetermined number of the least significant bits of the selected hashed seed to determine the candidate alignment location.

12. The system of claim 2 , wherein the host computing system is adapted to to create the reference genome index.

13. The system of claim 12 , wherein the host computing system is further adapted to determine all <seed, location> tuples in the reference genome sequence to form a plurality of <seed, location> tuples; to sort and eliminate redundant tuples from the plurality of <seed, location> tuples; for each seed, to generate a forward sequence and a reverse complement sequence and determine which of the forward sequence or the reverse complement sequence is lexicographically smaller; for each seed, to hash the lexicographically smaller sequence to produce a hash result; and for each seed, to use the hash result as the hashed seed for the reference genome index.

14. The system of claim 13 , wherein the host computing system is further adapted to create a pointer table, each entry of the pointer table comprising a first predetermined number of the most significant bits of the selected hashed seed and a corresponding pointer; and create a candidate alignment location table, each entry of the candidate alignment location table comprising a second predetermined number of the least significant bits of the selected hashed seed and a corresponding candidate alignment location.

15. The system of claim 1 , wherein the one or more field programmable gate arrays are further configured to filter the plurality of candidate alignment locations to eliminate any redundant candidate alignment locations.

16. The system of claim 1 , wherein the one or more field programmable gate arrays are further configured to perform a Smith-Waterman string matching of the short read with the reference genome sequence to determine the likelihood of the short read matching the reference genome sequence.

17. The system of claim 16 , wherein the one or more field programmable gate arrays are further configured to perform a plurality of Smith-Waterman string matching operations in parallel.

18. The system of claim 1 , wherein the one or more field programmable gate arrays are further configured to determine the vicinity of the candidate alignment location as a sequence beginning at the start of the candidate alignment location minus a predetermined offset and extending through the end of the candidate alignment location plus a length of the selected short read and the predetermined offset.

19. The system of claim 1 , wherein the one or more field programmable gate arrays are further configured to perform the selections, extraction, and determinations in parallel.

20. The system of claim 1 , wherein the reference genome sequence is divided into a plurality of reference blocks, each reference block having a size corresponding to a single read from the one or more memory circuits.

21. A system for acceleration of short read mapping to a reference genome sequence for genomic analysis, the system coupled to a host computing system, the system comprising:

one or more memory circuits storing a plurality of short reads, a reference genome sequence, and a reference genome index, each short read comprising a sequence of a plurality of genetic bases, the reference genome index comprising a pointer table and a candidate alignment location table; and

one or more field programmable gate arrays coupled to the one or more memory circuits, the one or more field programmable gate arrays configured to select a short read from the plurality of short reads; to extract a plurality of seeds from the short read, each seed comprising a genetic subsequence of the short read; for each seed of the plurality of seeds, to generate a forward sequence and a reverse complement sequence for the selected seed and determine which of the forward sequence or the reverse complement sequence is lexicographically smaller; to hash the lexicographically smaller sequence to produce a hash result; to use the hash result to access the reference genome index to determine a candidate alignment location in the reference genome sequence to form a plurality of candidate alignment locations; for each candidate alignment location of the plurality of candidate alignment locations, to perform string matching to determine a likelihood of the short read matching the reference genome sequence in the vicinity of the candidate alignment location; and to select a candidate alignment location, of the plurality of candidate alignment locations, having the currently greatest likelihood of the short read matching the reference genome sequence.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2015
From: PICO COMPUTING, INC.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 037009/0132 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2014
From: OLSON, COREY B.
To: PICO COMPUTING, INC.
Reel/Frame 034034/0607 →