|
Rosetta
|
Takes two individuals and produces a set amount of offspring using a crossover. More...
#include <Crossover.hh>

Public Member Functions | |
| Crossover (FragmentLibrary const &library) | |
| utility::vector1< Individual > | apply (utility::vector1< Individual > const &parents, core::Size n_offspring) const override |
| Selects randomly two parents to create offspring until n_offspring is available @detail One random parent donates the reaction and both donate minimum one reagent. If they come from different reactions, the alien reagent is mapped to the most similar counterpart. More... | |
| std::string const & | name () const override |
| Returns the name of this factory. More... | |
Private Member Functions | |
| Individual | cross (Individual const &reaction_parent, Individual const &other_parent) const |
| Crosses two individuals into one offspring. More... | |
Private Attributes | |
| FragmentLibrary const & | library_ |
| Since this function regularly produces offspring and consults a FragmentLibrary for this, it keeps ownership to one. More... | |
| std::string | name_ = "Crossover" |
Takes two individuals and produces a set amount of offspring using a crossover.
|
explicit |
|
overridevirtual |
Selects randomly two parents to create offspring until n_offspring is available @detail One random parent donates the reaction and both donate minimum one reagent. If they come from different reactions, the alien reagent is mapped to the most similar counterpart.
Implements protocols::ligand_evolution::OffspringFactory.
References cross(), and protocols::TR().
|
private |
Crosses two individuals into one offspring.
References protocols::ligand_evolution::FragmentLibrary::get_similar_reagents(), protocols::ligand_evolution::Individual::id(), protocols::ligand_evolution::Individual::identifier(), library_, protocols::mean_field::min(), protocols::ligand_evolution::FragmentLibrary::reaction_positions(), and protocols::TR().
Referenced by apply().
|
overridevirtual |
Returns the name of this factory.
Implements protocols::ligand_evolution::OffspringFactory.
References name_.
|
private |
Since this function regularly produces offspring and consults a FragmentLibrary for this, it keeps ownership to one.
Referenced by cross().
|
private |
Referenced by name().