Loading...
Searching...
No Matches
mutator.h
Go to the documentation of this file.
#ifndef BALL_STRUCTURE_MUTATOR_H
#define BALL_STRUCTURE_MUTATOR_H
#include <BALL/COMMON/debug.h>
#include <BALL/COMMON/global.h>
namespace BALL
{
class String;
class FragmentDB;
class BALL_EXPORT Mutator
{
public:
enum MutatorOptions { NONE = 0, OPTIMIZE = 1 };
Mutator(FragmentDB* db = 0);
virtual ~Mutator();
/*
* Set a new FragmentDB instance that shall be used to obtain
* the new bases. If 0 is passed, a default instance will be automatically
* created when calling DNAMutator::mutate(). The passed instance will
* <b>not</b> be deleted upon destruction.
*/
void setFragmentDB(FragmentDB* db);
virtual void setup();
virtual void addMutation(Index i, const String& new_frag_name) = 0;
virtual void clearMutations() = 0;
void mutate(MutatorOptions opts = NONE);
virtual bool optimize() = 0;
protected:
FragmentDB* db_;
virtual void mutate_impl_(MutatorOptions opts) = 0;
private:
bool keep_db_;
void freeDB_();
};
}
#endif //BALL_STRUCTURE_MUTATOR_H
global.h
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
db
db
Definition GAFFTypeProcessor.h:74
BALL::FragmentDB
Definition fragmentDB.h:45
BALL::Mutator::clearMutations
virtual void clearMutations()=0
BALL::Mutator::db_
FragmentDB * db_
Definition mutator.h:78
BALL::Mutator::~Mutator
virtual ~Mutator()
BALL::Mutator::Mutator
Mutator(FragmentDB *db=0)
BALL::Mutator::mutate
void mutate(MutatorOptions opts=NONE)
BALL::Mutator::setup
virtual void setup()
BALL::Mutator::addMutation
virtual void addMutation(Index i, const String &new_frag_name)=0
BALL::Mutator::optimize
virtual bool optimize()=0
BALL::Mutator::MutatorOptions
MutatorOptions
Definition mutator.h:20
BALL::Mutator::OPTIMIZE
@ OPTIMIZE
Definition mutator.h:20
BALL::Mutator::NONE
@ NONE
Definition mutator.h:20
BALL::Mutator::mutate_impl_
virtual void mutate_impl_(MutatorOptions opts)=0
BALL::Mutator::setFragmentDB
void setFragmentDB(FragmentDB *db)
BALL::String
Definition string.h:57
debug.h
BALL
Definition constants.h:13
BALL::Index
BALL_INDEX_TYPE Index
Definition COMMON/global.h:105