BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
STRUCTURE
mutator.h
Go to the documentation of this file.
1
#ifndef BALL_STRUCTURE_MUTATOR_H
2
#define BALL_STRUCTURE_MUTATOR_H
3
4
#include <
BALL/COMMON/debug.h
>
5
#include <
BALL/COMMON/global.h
>
6
7
namespace
BALL
8
{
9
class
String;
10
class
FragmentDB;
11
12
class
BALL_EXPORT
Mutator
13
{
14
public
:
20
enum
MutatorOptions
{ NONE = 0, OPTIMIZE = 1 };
21
27
Mutator
(
FragmentDB
*
db
= 0);
28
virtual
~
Mutator
();
29
30
/*
31
* Set a new FragmentDB instance that shall be used to obtain
32
* the new bases. If 0 is passed, a default instance will be automatically
33
* created when calling DNAMutator::mutate(). The passed instance will
34
* <b>not</b> be deleted upon destruction.
35
*/
36
void
setFragmentDB(
FragmentDB
*
db
);
37
46
virtual
void
setup();
47
57
virtual
void
addMutation(
Index
i,
const
String
& new_frag_name) = 0;
58
62
virtual
void
clearMutations() = 0;
63
70
void
mutate(MutatorOptions opts = NONE);
71
75
virtual
bool
optimize() = 0;
76
77
protected
:
78
FragmentDB
*
db_
;
79
80
virtual
void
mutate_impl_(
MutatorOptions
opts) = 0;
81
82
private
:
83
bool
keep_db_
;
84
void
freeDB_();
85
};
86
87
#ifndef BALL_DEBUG
88
# include <BALL/STRUCTURE/mutator.iC>
89
#endif
90
91
}
92
93
#endif //BALL_STRUCTURE_MUTATOR_H
94
Generated by
1.8.3.1