Download Isotope Pattern Calculator

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Structural alignment wikipedia , lookup

Rosetta@home wikipedia , lookup

Protein folding wikipedia , lookup

Bimolecular fluorescence complementation wikipedia , lookup

Protein design wikipedia , lookup

Western blot wikipedia , lookup

Homology modeling wikipedia , lookup

Protein purification wikipedia , lookup

Protein structure prediction wikipedia , lookup

Proteomics wikipedia , lookup

Protein–protein interaction wikipedia , lookup

Nuclear magnetic resonance spectroscopy of proteins wikipedia , lookup

Protein mass spectrometry wikipedia , lookup

Transcript
Application Acceleration on CHREC Novo-G
Isotope Pattern Calculator
www.chrec.org
PROBLEM: Over the past 20 to 30 years, the analysis of tandem mass spectrometry data generated from protein fragments has
become the dominate method for the identification and classification of unknown protein samples. With wide ranging
application in numerous scientific disciplines such as pharmaceutical research and cancer diagnostics, the need for accurate
protein identification remains important, and the ability to produce more accurate identifications at faster rates would be of
great benefit to society as a whole. Unfortunately, as detailed in Bell et al.1, current industry-standard methods such as Mascot, SEQUEST, and PEAKS
remain unreliable at best, further stressing the need for new solutions to this challenging problem. Exchanging accuracy for speed, these and many other
algorithms employ diverse heuristic pruning methods to limit the protein search space, a necessity for practical use on conventional computing systems
that often leads to false identifications. By accelerating key computation common in many of these algorithms, algorithm developers can employ less
restrictive pruning criteria, potentially allowing a greater degree of accuracy in less time. One such key computation common in de novo protein
identification algorithms is the Isotope Pattern Calculator (IPC), a dominating subroutine used to predict the distribution of possible masses each protein
fragment may have contributed to the mass spectrum under study. This seemingly straightforward calculation is greatly complicated by the fact that, in
nature, elements occur as a mixture of isotopes, where atoms of a given element contain a constant number of protons, but differ in the number of
neutrons. By enumerating all possible combinations of constituent element isotopes within a given chemical formula, IPC produces a list of
mass/probability pairs, each pair corresponding to a possible mass for a molecule of the given chemical formula and its probability of occurring. The full
⋯
⋯
⋯
⋯, where
represents the ith
calculation is analogous to evaluating a polynomial of the form
isotope of the jth unique element in a chemical formula containing Nj atoms of the jth element type; each resulting term represents a possible mass spec.
“peak,” calculated by adding the masses and multiplying the probabilities of elemental isotopes in a term. Although a relatively simple calculation for the
smallest of chemical formulae, IPC executions for medium- to large- sized molecules quickly become a computational bottleneck of many applications.
SOLUTION: As a key step towards improving the speed, and thus achievable accuracy, of protein
identification algorithms, researchers at the NSF Center for High-Performance Reconfigurable
Computing (CHREC) have succeeded in accelerating a highly configurable IPC targeted for the
Novo-G reconfigurable supercomputer at Florida. By decomposing the problem into a two-stage
process, one focusing on the calculation of single-element distributions (SEDs) for each
constituent element and the other on the iterative combination of each SED, a single FPGA can
convert a stream of independent chemical formula queries into a delimited stream of variablequantity mass/probability peaks much faster than even the fastest software-only implementations.
Recognizing an overwhelming majority of encountered IPC queries for de novo protein
identification fall within a relatively-small finite subset, the need for run-time SED calculation in
hardware is eliminated by precomputing SEDs exactly and storing them in a bank of lookup
tables (LUTs). In the rare event queries are from outside the subset, run-time computation can
still take place in software. Relying on SED lookup rather than computation provides enormous
performance benefits in terms of both reduced execution time and resource usage, all without an
accompanying penalty in accuracy. With this LUT setup, as many clock cycles as elements in a
query are required to retrieve all SED data needed to perform the final computation.
Unfortunately, the resources required to handle SED combination of the worst-case query in the
same number of clock cycles would be especially wasteful when handling the common-case,
prompting a move from a fully-parallel, data-flow Distribution Calculator (DC) architecture
towards an approach concentrating on iterative combination. This approach allows for a large
number of DCs per FPGA operating at or near full hardware utilization rather than a small
number operating with predominantly idle resources as with the alternative.
RESULTS: Initial experiments were performed on a single Altera Stratix IV E530 FPGA on a
GiDEL PROCStar IV board along with a Xeon E5620 CPU for host support, as shown in Table I. The single-device implementation was scaled and
additional experiments were performed with configuration 11 from Table I targeting multiple
TABLE I. Single-FPGA performance for several parameter configurations.
E530s, in multiple PROCStar IVs, in a single compute node (multiple FPGAs) of Novo-G, as
Configuration*
Freq Speedup† Speedup†
shown in Table II. The software baselines used for comparison is highly optimized, serial C++
(MHz)
/DC
/FPGA
N X Y Qi.fMas Qi.fProb Cen
M
code executed on a single E5620 core. Output results from hardware experiments were compared
12
115
−
72
with those from the software baselines to confirm correctness. Table I shows that by varying 1. 16 1 128 16.16 1.31 N
1.15 N
15
145
−
115
2. 16 2 128 14.8
several
compile-time
parameters,
relative
TABLE II. Multi-FPGA performance.
1.15 N
14
155
−
123
3. 12 2 128 14.8
performance
vs.
software
varies
greatly.
Boards FPGAs Total
Speedup†
Total
12
2
80
14.8
1.15
N
22
155
−
127
4.
Configuration 11 represents a suitable sweet spot,
/Node /Board FPGAs
/FPGA Speedup†
11
120
17
186
5. 16 1 128 16.16 1.31 Y
achieving remarkable speedup (516) while ensuring 1.
1
1
1
517
517
13
135
18
236
6. 16 1 128 14.12 1.23 Y
results remain scientifically relevant. Table II lists 2.
1
2
2
516
1031
10
130
32
325
7. 16 2 128 14.12 1.23 Y
1
3
3
398
1192
multi-FPGA performance of the scaled design for 3.
10
135
34
338
8. 12 2 128 14.12 1.23 Y
1
4
4
315
1259
several system configurations on a single Novo-G 4.
13
135
34
444
2
1
2
516
1033
9. 16 2 100 14.12 1.23 Y
node. Configuration 9 shows a considerable speedup 5.
2
2
4
502
2009
14
130
32
454
10. 16 2 80 14.12 1.23 Y
of 3340 when fully employing a single Novo-G node 6.
2
4
8
313
2510
but also shows significant overhead due to limited 7.
11. 12 2 80 14.12 1.23 Y
15
135
34
516
4
1
4
492
1968
I/O bandwidth (FPGA/board scaling) and CPU 8.
* N: max peaks/SED, X: number of parallel peak computations per DC,
Y: max peaks/output-window, Qi.f: fixed-point word width bits (integer.fractional),
4
4
16
209
3340
resources (board/node scaling). We plan to address 9.
30
Cen: centroiding capability enabled (Yes/No), M: DCs per FPGA.
this overhead with further optimization. Please see † w.r.t. C++ software processing 2 statistically representative
† w.r.t. C++ software processing 16x220 statistically representative queries (based on
queries in 52,478 seconds on a single E5620 core.
2
Pascoe et al. for more details.
relative elemental abundance in amino acids) in 821 seconds on a single E5620 core.
[1]
[2]
A. Bell, E. Deutsch, C. Au, R. Kearney, R. Beavis, S. Sechi, T. Nilsson, and J. Bergeron, “A HUPO test sample study reveals common problems in mass spectrometry-based proteomics,” Nat. Methods, vol 6, pp. 423-430, 2009.
C. Pascoe, D. Box, H. Lam, and A. George, “FPGA-Accelerated Isotope Pattern Calculator for Use in Simulated Mass Spectrometry Peptide and Protein Chemistry,” Symposium on
Application Accelerators in High-Performance Computing (SAAHPC), Chicago, IL, July 10-11, 2012 (to appear).
V1.0, 12JUN12