BALL
1.4.79
|
#include <BALL/STRUCTURE/DNAMutator.h>
Public Types | |
enum | MatchingMode { MINIMUM_ANGLE, MATCH_TORSION } |
Public Types inherited from BALL::Mutator | |
enum | MutatorOptions { NONE = 0, OPTIMIZE = 1 } |
Public Member Functions | |
DNAMutator (EnergyMinimizer *mini=NULL, ForceField *ff=NULL, FragmentDB *frag=NULL) | |
~DNAMutator () | |
virtual void | setup () |
void | setMinimizer (EnergyMinimizer *mini) |
void | setForceField (ForceField *ff) |
void | setMaxOptimizationSteps (Size steps) |
void | setUsedProperty (Property p) |
bool | optimize () |
void | setStrands (Chain *s1, Chain *s2) |
void | setFirstStrand (Chain *s1) |
void | setSecondStrand (Chain *s2) |
void | setNucleotideMapping (const NucleotideMapping &bij) |
void | addMutation (Index i, const String &new_frag_name) |
void | clearMutations () |
void | setMatchingMode (MatchingMode mmode) |
Public Member Functions inherited from BALL::Mutator | |
Mutator (FragmentDB *db=0) | |
virtual | ~Mutator () |
void | setFragmentDB (FragmentDB *db) |
void | mutate (MutatorOptions opts=NONE) |
Protected Member Functions | |
virtual void | mutate_impl_ (MutatorOptions opt) |
Additional Inherited Members | |
Protected Attributes inherited from BALL::Mutator | |
FragmentDB * | db_ |
Definition at line 30 of file DNAMutator.h.
This controls how a purine and pyrimidine base are matched onto each other
Definition at line 36 of file DNAMutator.h.
BALL::DNAMutator::DNAMutator | ( | EnergyMinimizer * | mini = NULL , |
ForceField * | ff = NULL , |
||
FragmentDB * | frag = NULL |
||
) |
Constructs a DNAMutator
frag | A FragmentDB instance that shall be used to obtain structure of the new bases. If nothing or NULL is passed a default FragmentDB is used. The FragmentDB is initialized as needed causing a short delay when mutating the first base. If you do not want this either pass a valid FragmentDB instance or call DNAMutator::setup() prior to using. You can set a new FragmentDB using DNAMutator::setFragmentDB() |
mini | The minimizer that shall be used for optimization of the mutated base. If nothing or NULL is passed optimization is disabled. You can pass a new minimizer anytime using DNAMutator::setMinimizer(). |
ff | The forcefield that should be used in conjunction with the minimizer You can set a new forcefield anytime using DNAMutator::setForceField(). |
BALL::DNAMutator::~DNAMutator | ( | ) |
The destructor of the DNAMutator; Deletes the FragmentDB instance iff it has been auto generated
Implements Mutator::addMutation.
Exception::NotInitialized | This exception is thrown when the first DNA strand has not been set. |
Exception::IndexOverflow | If the specified index is larger than the number of bases in the first strand, an exception is raised. |
Implements BALL::Mutator.
|
virtual |
Clears the already specified mutations.
Implements BALL::Mutator.
|
protectedvirtual |
Implements BALL::Mutator.
|
virtual |
This function optimizes the new bases. Inherited from Mutator. Calling it before mutate will have no effect.
Implements BALL::Mutator.
void BALL::DNAMutator::setFirstStrand | ( | Chain * | s1 | ) |
Sets the first strand. If the second strand is already specified, this will lead to the computation of a NucleotideMapping using NucleotideMapping::assignNaively
void BALL::DNAMutator::setForceField | ( | ForceField * | ff | ) |
Set a new ForceField instance that is used in conjunction with the minimizer to refine the structure. Even if no minimizer has been passed this force field will be used to calculate the most favourable rotation of the base using a simple heuristic. If you do not want this behaviour pass NULL.
void BALL::DNAMutator::setMatchingMode | ( | MatchingMode | mmode | ) |
Sets the matching heuristic used for aligning a pyrimidine to a purine base. Default is MATCH_TORSION.
void BALL::DNAMutator::setMaxOptimizationSteps | ( | Size | steps | ) |
Controlls maximum number of steps to be used when refining the generated structure via a minimizer.
void BALL::DNAMutator::setMinimizer | ( | EnergyMinimizer * | mini | ) |
Set the current minimizer to mini. Passing NULL will disable minimization.
void BALL::DNAMutator::setNucleotideMapping | ( | const NucleotideMapping & | bij | ) |
Assign a custom NucleotideMapping.
void BALL::DNAMutator::setSecondStrand | ( | Chain * | s2 | ) |
Sets the second strand. If the first strand is already specified, this will lead to the computation of a NucleotideMapping using NucleotideMapping::assignNaively
Sets the first and the second strand. This will lead to the computation of a NucleotideMapping using NucleotideMapping::assignNaively
|
virtual |
Calling this method explicitly circumvents lazy loading of the FragmentDB. This method has no effect if mutate has already been called or if valid instances of the FragmentDB has been passed via the constructor.
Reimplemented from BALL::Mutator.
void BALL::DNAMutator::setUsedProperty | ( | Property | p | ) |
The DNAMutator internally uses the unnamed property mechanism of the Atoms. This defaults to property Atom::NUMBER_OF_PROPERTIES. If you already use this property in your code you can set another property by passing it to this function.