t ha mmi n g ma s k : hardware accelerator …...90x-130x faster than shd (xin et al., 2015) and the...

1
GateKeeper: A New Hardware Architecture for Accelerating Pre-Alignment in DNA Short Read Mapping Mohammed Alser 1 Hasan Hassan 2 Hongyi Xin 3 Oğuz Ergin 2 Onur Mutlu 4 Can Alkan 1 1 Bilkent University, 2 TOBB University of Economics & Technology, 3 Carnegie Mellon University, 4 ETH Zürich 6: Results & Conclusion Key Results of GateKeeper: 90x-130x faster than SHD (Xin et al., 2015) and the Adjacency Filter (Xin et al., 2013). 4x fewer false positives (falsely accepted incorrect mappings) the Adjacency Filter (Xin et al., 2013). 10x speedup with the addition of GateKeeper to the mrFAST mapper (Alkan et al., 2009). The first open-source FPGA-based filter for genome analysis. Github .com/BilkentCompGen/GateKeeper . As such, we hope that it catalyzes the development and adoption of such hardware accelerators in genome sequence analysis, which are becoming increasingly necessary to cope with the processing requirements of greatly increasing amounts of genomic data. Other Results: The number of processing cores is determined by the maximum data throughput (~13.3 billion bases per second provided by RIFFA (Jacobsen et al., 2015)) and the available FPGA resources. GateKeeper can examine up to 8 or 16 mappings concurrently (at 250 MHz) for an input read length of 300 and 100 bp, respectively. GateKeeper occupies 50% of the available FPGA slice LUTs and 91% of the available registers for an input read length of 100 and 300 bp, respectively. Pre-alignment filter does not replace alignment verification. Integrating the FPGA accelerators with the sequencer can help to hide the complexity and details of the underlying hardware. 4: GateKeeper Our Goal: provide the first hardware accelerator architecture (as a pre- alignment filter) for quickly rejecting incorrect mappings (highly dissimilar read-reference pairs) that wastes execution time. Obtain low runtime. Highly-parallel hardware accelerator design. Reject most of incorrect mappings (low false positives). Accept all correct mappings (zero false negatives). 1: Read Mapping Key Ideas: Build a processing core that is based on only parallel bitwise operations to examine a single mapping. Introduce parallelism to the pre-alignment step by integrating many hardware processing cores for examining many mappings in a parallel fashion. Exploit the large amounts of parallelism offered by FPGA * architectures to accelerate the performance of our processing cores. * FPGAs (field-programmable gate arrays) are the most commonly used reconfigurable hardware engines today and their computational capabilities are greatly increasing every generation due to increased number of transistors on the FPGA chip. An FPGA can be configured to include a large number of hardware execution units that are custom-tailored to the problem at hand (Aluru and Jammula, 2014; Herbordt et al., 2007; Trimberger, 2015). 2: Problem Fact: until today, it remains challenging to sequence the entire DNA molecule as a whole. As a workaround: high throughput DNA sequencing (HTS) technologies are used to sequence short reads of copies of the original molecule. These technologies are relatively quick and cost-effective but result in an excessive number of short reads. Reads do not have any information about which part of genome they come from; hence read mapping is needed. It determines the optimal alignment and the potential location of each of the reads within a reference genome to construct the donor’s complete genome. 3: Pre-Alignment Filtering 5: GateKeeper Walkthrough . Optimal alignment is computationally expensive. Bottlenecked by memory bandwidth, e.g., Illumina NovaSeq 6000 generates 6 Terabases per 36 hours for each genomic sample. Optimal alignment algorithms are unavoidable as they provide accurate information about the quality of the alignment. Majority of candidate locations in the reference genome do not align with a given read due to high dissimilarity. This wastes execution time and incurs significant computational burden. Bioinformatics, Volume 33, Issue 21, 1 November 2017, Pages 3355–3363. A C T T A G C A C T 0 1 2 A 1 0 1 2 C 2 1 0 1 2 T 2 1 0 1 2 A 2 1 2 1 2 G 2 2 2 1 2 A 3 2 2 2 2 A 3 3 3 2 3 C 4 3 3 2 3 T 4 4 3 2 T 5 4 3 TATATATACGTACTAGTACGT ACGAC TTT AGTACGTACGT TATATATACGTACTAGTACGT ACGTACG CCCC TACGTA ACGAC TTT AGTACGTACGT TATATATACGTACTAAAGTACGT CCCCCCTATATATACGTACTAGTACGT TATATATACGTACTAGTACGT TATATATACGTACTAGTACGT ACG TTTTT AAAACGTA ACGAC GGGGAGTACGTACGT Short Read ... ... Reference Genome High throughput DNA sequencing (HTS) technologies Read Mapping Read Alignment CC T ATAAT ACG C C A T A T A T A C G Billions of Short Reads 1 2 T 0 1 2 A 1 0 1 2 C 2 1 0 1 2 T 2 1 0 1 2 A 2 1 2 1 2 G 2 2 2 1 2 A 3 2 2 2 2 A 3 3 3 2 3 C 4 3 3 2 3 T 4 4 3 2 T 5 4 3 C T A T AA T A C G C C A T A T A T A C G High throughput DNA sequencing (HTS) technologies Read Pre-Alignment Filtering Fast & Low False Positive Rate 1 2 Read Alignment Slow & Zero False Positives 3 Billions of Short Reads Hardware Accelerator x10 12 mappings x10 3 mappings Low Speed & High Accuracy Medium Speed, Medium Accuracy High Speed, Low Accuracy Preprocessing Host (CPU) input reads (.fastq) reference genome (.fasta) Read Encoder read pairs (mrFAST output) GateKeeper Processing Core #1 GateKeeper Processing Core #N . . . . . . . . Read Controller Mapping Controller FIFO FIFO FIFO FIFO read#1 read#N map.#N map.#1 map.#N map.#1 Accepted Alignments (correct & false positives) 10...001 Alignment Filtering (FPGA) Alignment Verification (CPU/FPGA) GateKeeper PCIe PCIe Input stream of binary pairs GateKeeper A C T T A G C A C T 0 1 2 A 1 0 1 2 C 2 1 0 1 2 T 2 1 0 1 2 A 2 1 2 1 2 G 2 2 2 1 2 A 3 2 2 2 2 A 3 3 3 2 3 C 4 3 3 2 3 T 4 4 3 2 T 5 4 3 CTATAATACG C C A T A T A T A C G A AAAAAAAAAAAAAAGAGAGAGAGATATTTAGTGTTGCAGCACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGGAACATTGTTGGGCCGGA AAAAAAAAAAAAAAGAGAGAGAGATAGTTAGTGTTGCAGCCACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGAGACATTGTTGGGCCGG 0000000000000000000000000010000000000001111111011110001110110101101111111110001000001111011010010101 0000000000000011111111111110011111011111000000000000000000000000000000000000000000011000000000000000 0000000000000010000000001011011100111111111111101111000111011010110111111111000100010011101101001010 0000000000000010111111111110111011001101110111011000100100111111111111100101100110010110111011101111 0000000000000111111111111110111110111111011101100010010011111111111110010110011000101011101110111110 0000000000001000000000100111110011111111100100011010101001101011111111111110111001111111000111101100 0000000000010111111111110111011001100011111111101011011111100110010111011111111011101111010111001000 Query : Reference : Hamming Mask : 1-Deletion Mask : 2-Deletion Mask : 3-Deletion Mask : 1-Insertion Mask : 2-Insertion Mask : 3-Insertion Mask : AAAAAAAAAAAAAAGAGAGAGAGATATTTAGTGTTGCAG-CACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGGAACATTGTTGGGCCGG |||||||||||||||||||||||||| |||||||||||| |||||||||||||||||||||||||||||||||||||||||||::||||||||||||||| AAAAAAAAAAAAAAGAGAGAGAGATAGTTAGTGTTGCAGCCACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGAGACATTGTTGGGCCGG 0000000000000000000000000010000000000001111111111110001111111101111111111110001000001111111111111111 0000000000000011111111111111111111111111000000000000000000000000000000000000000000011000000000000000 0000000000000010000000001111111111111111111111111111000111111111111111111111000100011111111111111110 0000000000000011111111111111111111111111111111111000111111111111111111111111111111111111111111111111 0000000000000111111111111111111111111111111111100011111111111111111111111111111000111111111111111110 0000000000001000000000111111111111111111111100011111111111111111111111111111111111111111000111111100 0000000000011111111111111111111111100011111111111111111111111111111111111111111111111111111111111000 0000000000000000000000000010000000000001000000000000000000000000000000000000000000001000000000000000 Hamming Mask : 1-Deletion Mask : 2-Deletion Mask : 3-Deletion Mask : 1-Insertion Mask : 2-Insertion Mask : 3-Insertion Mask : AND Mask : Needleman-Wunsch Alignment: --- Masks after amendment --- Incremental right shifting Incremental left shifting Mechanism: 1) Fast detection of base-substitutions: If Hamming distance is less than or equal to E, the user-defined edit distance threshold, then this mapping is accepted. 2) Fast detection of insertions and deletions: Generate 2E deletion and insertion masks, by incrementally shifting the query to right or left, respectively, then compare against the reference segment. 3) Apply bit-vector optimization using fast architecture design: Pre-process all the (2E+1) bit-vectors by encoding them into shorter binary format. Amend each 2 or less consecutive 0’s into 1’s as they are likely to be random matches. 4) Calculate shifted Hamming distance (Xin et al., 2015): By ANDing all bit-vector masks, then conservatively count the 1’s in the AND mask. If their number is less than or equal to E then the mapping is accepted and passed to the alignment step. 0% 10% 20% 30% 40% 50% 60% 0 1 2 3 0 1 2 3 4 5 0 1 3 4 6 7 0 3 6 9 12 15 64 bp 100 bp 150 bp 300 bp False Positive Rate GateKeeper SHD-C Adjacency Filter Edit Count= False positive rate (rate of incorrect mappings that are falsely accepted) of GateKeeper, SHD, and the Adjacency Filter across different edit distance thresholds (E) and read lengths. 1 100 10,000 E=1% E=2% E=3% E=4% E=5% GateKeeper - 16 cores GateKeeper - 8 cores GateKeeper - 1 core Adjacency Filter SHD 1 100 Billion mappings per 40 mins, log scale read length = 300 bp read length = 100 bp Speedup vs. Existing Filters Filtering Accuracy vs. Existing Filters Number of examined mappings by GateKeeper, SHD, and the Adjacency Filter across different read lengths and E thresholds. SHD does not support 300 bp long reads Chip Layout 42.5mm 42.5mm GateKeeper : 17.6%, PCIe Controller, RIFFA, and IO : 5% GateKeeper Logic Cells PCIe Controller, RIFFA, and IO 42.5mm 42.5mm GateKeeper : 17.6%, PCIe Controller, RIFFA, and IO : 5% GateKeeper Logic Cells PCIe Controller, RIFFA, and IO 42.5mm 42.5mm GateKeeper : 17.6%, PCIe Controller, RIFFA, and IO : 5% GateKeeper Logic Cells PCIe Controller, RIFFA, and IO Xilinx VC709 FPGA Chip layout and breakdown of the chip area for GateKeeper (for a read length of 300 bp and E=15). Read length / E mrFAST version / pre-alignment type Filtering & Verification time (speed-up) Overall mapping time (speed-up) 100 bp / 5 edits 2.1 / No Pre-alignment 22.60 h (1x) 24.27 h (1x) 2.6 / Adjacency Filter 5.65 h (4x) 7.31 h (3.3x) 2.1 / GateKeeper 0.55 h (41x) 2.50 h (9.7x) 300 bp / 15 edits 2.1 / No Pre-alignment 0.94 h (1x) 1.02 h (1x) 2.6 / Adjacency Filter 0.04 h (24x) 0.12 h (8x) 2.1 / GateKeeper 0.003 h (279x) 0.09 h (11x) Overall mrFAST mapping time (in hours) with and without a pre- alignment step, with an edit distance threshold of 5%. Pre-alignment + Alignment Steps

Upload: others

Post on 02-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T Ha mmi n g Ma s k : Hardware Accelerator …...90x-130x faster than SHD (Xin et al., 2015) and the Adjacency Filter (Xin et al., 2013). 4x fewer false positives (falsely accepted

GateKeeper: A New Hardware Architecturefor Accelerating Pre-Alignment in DNA Short Read Mapping

Mohammed Alser1 Hasan Hassan2 Hongyi Xin3 Oğuz Ergin2 Onur Mutlu4 Can Alkan1

1Bilkent University, 2TOBB University of Economics & Technology, 3Carnegie Mellon University, 4ETH Zürich

6: Results & Conclusion

Key Results of GateKeeper:

90x-130x faster than SHD (Xin et al., 2015) and the Adjacency

Filter (Xin et al., 2013).

4x fewer false positives (falsely accepted incorrect

mappings) the Adjacency Filter (Xin et al., 2013).

10x speedup with the addition of GateKeeper to the mrFAST

mapper (Alkan et al., 2009).

The first open-source FPGA-based filter for

genome analysis. Github.com/BilkentCompGen/GateKeeper. As such,we hope that it catalyzes the development and adoption of suchhardware accelerators in genome sequence analysis, which arebecoming increasingly necessary to cope with the processingrequirements of greatly increasing amounts of genomic data.

Other Results:

The number of processing cores is determined by the maximum datathroughput (~13.3 billion bases per second provided by RIFFA (Jacobsenet al., 2015)) and the available FPGA resources.

GateKeeper can examine up to 8 or 16 mappings concurrently (at 250MHz) for an input read length of 300 and 100 bp, respectively.

GateKeeper occupies 50% of the available FPGA slice LUTs and 91% ofthe available registers for an input read length of 100 and 300 bp,respectively.

Pre-alignment filter does not replace alignment verification. Integrating the FPGA accelerators with the sequencer can help to hide

the complexity and details of the underlying hardware.

4: GateKeeper

Our Goal: provide the first hardware accelerator architecture (as a pre-alignment filter) for quickly rejecting incorrect mappings (highly dissimilar read-reference pairs) that wastes execution time. Obtain low runtime. Highly-parallel hardware accelerator design. Reject most of incorrect mappings (low false positives). Accept all correct mappings (zero false negatives).

1: Read Mapping

Key Ideas: Build a processing core that is based on only parallel bitwise operations to examine a single mapping. Introduce parallelism to the pre-alignment step by integrating many hardware processing cores for

examining many mappings in a parallel fashion. Exploit the large amounts of parallelism offered by FPGA* architectures to accelerate the performance

of our processing cores.

* FPGAs (field-programmable gate arrays) are the most commonly used reconfigurable hardware engines today and their computational capabilities are greatly increasing every generation due to increased number of transistors on the FPGA chip. An FPGA can be configured to include a large number of hardware execution units that are custom-tailored to the problem at hand (Aluru and Jammula, 2014; Herbordt et al., 2007; Trimberger, 2015).

2: Problem

Fact: until today, it remains challenging to sequence the entire DNA molecule as a whole.As a workaround: high throughput DNA sequencing (HTS) technologies are used to sequence short reads of copies of the original molecule. These technologies are relatively quick and cost-effective but result in an excessive number of short reads. Reads do not have any information about which part of genome they come from; hence read mapping is needed. It determines the optimal alignmentand the potential location of each of the reads within a reference genome to construct the donor’s complete genome.

3: Pre-Alignment Filtering

5: GateKeeper Walkthrough

.

Optimal alignment is computationally expensive.

Bottlenecked by memory bandwidth,e.g., Illumina NovaSeq 6000 generates 6 Terabases per 36 hours for each genomic sample.

Optimal alignment algorithms are unavoidable as they provide accurate information about the quality of the alignment.

Majority of candidate locations in the reference genome do not align with a given read due to high dissimilarity. This wastes execution time and incurs significant computational burden.

Bioinformatics, Volume 33, Issue 21, 1 November 2017, Pages 3355–3363.

A C T T A G C A C T

0 1 2

A 1 0 1 2

C 2 1 0 1 2

T 2 1 0 1 2

A 2 1 2 1 2

G 2 2 2 1 2

A 3 2 2 2 2

A 3 3 3 2 3

C 4 3 3 2 3

T 4 4 3 2

T 5 4 3

TATATATACGTACTAGTACGT

ACGACTTTAGTACGTACGTTATATATACGTACTAGTACGT

ACGTACGCCCCTACGTA

ACGACTTTAGTACGTACGTTATATATACGTACTAAAGTACGT

CCCCCCTATATATACGTACTAGTACGT

TATATATACGTACTAGTACGT

TATATATACGTACTAGTACGT

ACG TTTTTAAAACGTA

ACGACGGGGAGTACGTACGT

Short Read

... ...Reference Genome

High throughput DNA sequencing (HTS) technologies Read Mapping

Read

Alignment

CCTATAATACGC

CA

TATATACG

Billions of Short Reads

1 2

A C T T A G C A C T

0 1 2

A 1 0 1 2

C 2 1 0 1 2

T 2 1 0 1 2

A 2 1 2 1 2

G 2 2 2 1 2

A 3 2 2 2 2

A 3 3 3 2 3

C 4 3 3 2 3

T 4 4 3 2

T 5 4 3

C T A T A A T A C G

C

CA

TA

TATAC

G

High throughput DNA sequencing (HTS) technologies

Read Pre-Alignment Filtering Fast & Low False Positive Rate

1 2Read AlignmentSlow & Zero False Positives

3

Billions of Short Reads

Hardware Acceleratorx1012

mappingsx103

mappings

Low Speed & High Accuracy

Medium Speed, Medium Accuracy

High Speed, Low Accuracy

Preprocessing Host (CPU)

input reads

(.fastq)

reference

genome (.fasta)

Read

Encoder

read pairs (mrFAST

output)

GateKeeper

Processing

Core #1

GateKeeper

Processing

Core #N. . . .

. . . .

Read Controller

Mapping ControllerFIFO

FIFO FIFO

FIFO

read#1 read#N

map.#Nmap.#1

map.#Nmap.#1 …

Accepted Alignments

(correct & false positives)

10...001

Alignment Filtering (FPGA) Alignment Verification

(CPU/FPGA)GateKeeper

PCIe

PCIe

Input stream

of binary pairs

GateKeeper

A C T T A G C A C T

0 1 2

A 1 0 1 2

C 2 1 0 1 2

T 2 1 0 1 2

A 2 1 2 1 2

G 2 2 2 1 2

A 3 2 2 2 2

A 3 3 3 2 3

C 4 3 3 2 3

T 4 4 3 2

T 5 4 3

C T A T A A T A C G

C

C

A

T

A

T

A

T

A

C

G

A

AAAAAAAAAAAAAAGAGAGAGAGATATTTAGTGTTGCAGCACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGGAACATTGTTGGGCCGGA

AAAAAAAAAAAAAAGAGAGAGAGATAGTTAGTGTTGCAGCCACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGAGACATTGTTGGGCCGG

0000000000000000000000000010000000000001111111011110001110110101101111111110001000001111011010010101

0000000000000011111111111110011111011111000000000000000000000000000000000000000000011000000000000000

0000000000000010000000001011011100111111111111101111000111011010110111111111000100010011101101001010

0000000000000010111111111110111011001101110111011000100100111111111111100101100110010110111011101111

0000000000000111111111111110111110111111011101100010010011111111111110010110011000101011101110111110

0000000000001000000000100111110011111111100100011010101001101011111111111110111001111111000111101100

0000000000010111111111110111011001100011111111101011011111100110010111011111111011101111010111001000

Query :

Reference :

Hamming Mask :

1-Deletion Mask :

2-Deletion Mask :

3-Deletion Mask :

1-Insertion Mask :

2-Insertion Mask :

3-Insertion Mask :

AAAAAAAAAAAAAAGAGAGAGAGATATTTAGTGTTGCAG-CACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGGAACATTGTTGGGCCGG

|||||||||||||||||||||||||| |||||||||||| |||||||||||||||||||||||||||||||||||||||||||::|||||||||||||||

AAAAAAAAAAAAAAGAGAGAGAGATAGTTAGTGTTGCAGCCACTACAACACAAAAGAGGACCAACTTACGTGTCTAAAAGGGGAGACATTGTTGGGCCGG

0000000000000000000000000010000000000001111111111110001111111101111111111110001000001111111111111111

0000000000000011111111111111111111111111000000000000000000000000000000000000000000011000000000000000

0000000000000010000000001111111111111111111111111111000111111111111111111111000100011111111111111110

0000000000000011111111111111111111111111111111111000111111111111111111111111111111111111111111111111

0000000000000111111111111111111111111111111111100011111111111111111111111111111000111111111111111110

0000000000001000000000111111111111111111111100011111111111111111111111111111111111111111000111111100

0000000000011111111111111111111111100011111111111111111111111111111111111111111111111111111111111000

0000000000000000000000000010000000000001000000000000000000000000000000000000000000001000000000000000

Hamming Mask :

1-Deletion Mask :

2-Deletion Mask :

3-Deletion Mask :

1-Insertion Mask :

2-Insertion Mask :

3-Insertion Mask :

AND Mask :

Needleman-Wunsch

Alignment:

--- Masks after amendment ---

Incremental right shifting

Incremental left shifting

Mechanism:1) Fast detection of base-substitutions: If Hamming distance is less than or equal to E, the

user-defined edit distance threshold, then this mapping is accepted.2) Fast detection of insertions and deletions:

Generate 2E deletion and insertion masks, by incrementally shifting the query to rightor left, respectively, then compare against the reference segment.

3) Apply bit-vector optimization using fast architecture design: Pre-process all the (2E+1) bit-vectors by encoding them into shorter binary format. Amend each 2 or less consecutive 0’s into 1’s as they are likely to be random matches.

4) Calculate shifted Hamming distance (Xin et al., 2015): By ANDing all bit-vector masks,then conservatively count the 1’s in the AND mask. If their number is less than or equal toE then the mapping is accepted and passed to the alignment step.

0%

10%

20%

30%

40%

50%

60%

0 1 2 3 0 1 2 3 4 5 0 1 3 4 6 7 0 3 6 9 12 15

64 bp 100 bp 150 bp 300 bp

Fals

e Po

siti

ve R

ate

GateKeeperSHD-CAdjacency Filter

Edit Count=

False positive rate (rate of incorrect mappings that are falsely accepted) of GateKeeper, SHD, and the Adjacency Filter across different edit distance thresholds (E) and read lengths.

1

100

10,000

E=1% E=2% E=3% E=4% E=5%GateKeeper - 16 cores GateKeeper - 8 coresGateKeeper - 1 core Adjacency FilterSHD

1

100

Bill

ion

map

pin

gs p

er 4

0 m

ins,

log

scal

e read length = 300 bp

read length = 100 bp

Speedup vs. Existing Filters

Filtering Accuracy vs. Existing FiltersNumber of examined mappings by GateKeeper, SHD, and the Adjacency Filter across different read lengths and E thresholds. SHD does not support 300 bp long reads

Chip Layout

42

.5m

m

42.5mm

GateKeeper: 17.6%, PCIe Controller, RIFFA, and IO: 5%

GateKeeper

Logic Cells

PCIe Controller,

RIFFA, and IO

42

.5m

m

42.5mm

GateKeeper: 17.6%, PCIe Controller, RIFFA, and IO: 5%

GateKeeper

Logic Cells

PCIe Controller,

RIFFA, and IO

42

.5m

m

42.5mm

GateKeeper: 17.6%, PCIe Controller, RIFFA, and IO: 5%

GateKeeper

Logic Cells

PCIe Controller,

RIFFA, and IO

Xilinx VC709 FPGA Chip layout and breakdown of the chip area for GateKeeper (for a read length of 300 bp and E=15).

Read length / EmrFAST version /

pre-alignment type

Filtering &Verification time

(speed-up)

Overallmapping time

(speed-up)

100 bp/ 5 edits

2.1 / No Pre-alignment 22.60 h (1x) 24.27 h (1x)

2.6 / Adjacency Filter 5.65 h (4x) 7.31 h (3.3x)

2.1 / GateKeeper 0.55 h (41x) 2.50 h (9.7x)

300 bp/ 15 edits

2.1 / No Pre-alignment 0.94 h (1x) 1.02 h (1x)

2.6 / Adjacency Filter 0.04 h (24x) 0.12 h (8x)

2.1 / GateKeeper 0.003 h (279x) 0.09 h (11x)

Overall mrFAST mapping time (in hours) with and without a pre-alignment step, with an edit distance threshold of 5%.

Pre-alignment + Alignment Steps