NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
aligner_inst.h
Go to the documentation of this file.
1 /*
2  * nvbio
3  * Copyright (c) 2011-2014, NVIDIA CORPORATION. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the name of the NVIDIA CORPORATION nor the
13  * names of its contributors may be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
20  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27 
31 
32 namespace nvbio {
33 namespace bowtie2 {
34 namespace cuda {
35 
36 void all_ed(
37  Aligner& aligner,
38  const Params& params,
39  const FMIndexDef::type fmi,
40  const FMIndexDef::type rfmi,
41  const UberScoringScheme& scoring_scheme,
42  const io::SequenceDataDevice& reference_data,
43  const io::FMIndexDataDevice& driver_data,
44  io::SequenceDataDevice& read_data,
45  io::HostOutputBatchSE& cpu_batch,
46  Stats& stats);
47 
48 void all_sw(
49  Aligner& aligner,
50  const Params& params,
51  const FMIndexDef::type fmi,
52  const FMIndexDef::type rfmi,
53  const UberScoringScheme& scoring_scheme,
54  const io::SequenceDataDevice& reference_data,
55  const io::FMIndexDataDevice& driver_data,
56  io::SequenceDataDevice& read_data,
57  io::HostOutputBatchSE& cpu_batch,
58  Stats& stats);
59 
60 void best_approx_ed(
61  Aligner& aligner,
62  const Params& params,
63  const FMIndexDef::type fmi,
64  const FMIndexDef::type rfmi,
65  const UberScoringScheme& scoring_scheme,
66  const io::SequenceDataDevice& reference_data,
67  const io::FMIndexDataDevice& driver_data,
68  io::SequenceDataDevice& read_data,
69  io::HostOutputBatchSE& cpu_batch,
70  Stats& stats);
71 
72 void best_approx_sw(
73  Aligner& aligner,
74  const Params& params,
75  const FMIndexDef::type fmi,
76  const FMIndexDef::type rfmi,
77  const UberScoringScheme& scoring_scheme,
78  const io::SequenceDataDevice& reference_data,
79  const io::FMIndexDataDevice& driver_data,
80  io::SequenceDataDevice& read_data,
81  io::HostOutputBatchSE& cpu_batch,
82  Stats& stats);
83 
84 void best_approx_ed(
85  Aligner& aligner,
86  const Params& params,
87  const FMIndexDef::type fmi,
88  const FMIndexDef::type rfmi,
89  const UberScoringScheme& scoring_scheme,
90  const io::SequenceDataDevice& reference_data,
91  const io::FMIndexDataDevice& driver_data,
92  io::SequenceDataDevice& read_data1,
93  io::SequenceDataDevice& read_data2,
94  io::HostOutputBatchPE& cpu_batch,
95  Stats& stats);
96 
97 void best_approx_sw(
98  Aligner& aligner,
99  const Params& params,
100  const FMIndexDef::type fmi,
101  const FMIndexDef::type rfmi,
102  const UberScoringScheme& scoring_scheme,
103  const io::SequenceDataDevice& reference_data,
104  const io::FMIndexDataDevice& driver_data,
105  io::SequenceDataDevice& read_data1,
106  io::SequenceDataDevice& read_data2,
107  io::HostOutputBatchPE& cpu_batch,
108  Stats& stats);
109 
110 } // namespace cuda
111 } // namespace bowtie2
112 } // namespace nvbio