|
Rosetta
|
@ Summarizes and contains all Individuals of one generation More...
#include <Population.hh>
Public Member Functions | |
| Population ()=default | |
| ~Population ()=default | |
| void | initialize_from_evotoptions (EvolutionOptions const &options, FragmentLibrary const &library, Scorer const &scorer) |
| initializes setting from options object More... | |
| utility::vector1< Individual > const & | individuals () const |
| Exposes the individuals vector for const iterator access. More... | |
| utility::vector1< Individual > & | individuals () |
| Expose the individuals vector for normal iterator access. More... | |
| void | sort () |
| Sorts all individuals depending on their score. More... | |
| bool | is_sorted () |
| Returns true if the individuals are sorted with lowest (and therefore best) score first. More... | |
| core::Size | size () const |
| Returns the size of this population. More... | |
| void | set_supported_size (core::Size supported_size) |
| Sets the supported size of this population. It will get reduced to this size through selective pressure. More... | |
| Individual const & | individual (core::Size index) const |
| Access specific individual. More... | |
| Individual & | individual (core::Size index) |
| Non-const access specific individual. More... | |
| void | add_random (core::Size n_random_individuals, FragmentLibrary const &lib) |
| Adds random individuals to a population. More... | |
| void | add_individuals (utility::vector1< Individual > const &new_individuals) |
| Adds new (and potentially unscored individuals to the population) More... | |
| void | add_individuals (utility::vector1< LigandIdentifier > const &new_individuals) |
| Adds new individuals based on provided LigandIdentifiers. More... | |
| void | next_generation (Selector const &selector) |
| Removes unselected individuals, raises the generation counter and sorts individuals. More... | |
| void | add_individual (Individual const &individual) |
| Adds an individual to this population and sets its id. More... | |
| core::Size | generation () const |
| Returns the current generation. More... | |
| utility::vector1< Individual > | remove_individuals (utility::vector1< core::Size > indices) |
| Removes individuals with the given index and returns them. More... | |
| utility::vector1< Individual > | individuals (utility::vector1< core::Size > const &indices) |
| Returns a copy of selected individuals. More... | |
| void | replace_population (utility::vector1< Individual > const &individuals) |
| Replaces the internal population with a new one. More... | |
| utility::vector1< utility::vector1< core::Size > > const & | expose_generation_log () const |
| For debugging and benchmarking purpose to observe population development. More... | |
| utility::vector1< std::pair< core::Size, core::Size > > const & | expose_inheritance_graph () const |
| For debugging and benchmarking purpose to observe population development. More... | |
Private Member Functions | |
| bool | check_sorting () |
| Updates and returns the sorting state. Shouldn't be needed to be called usually. More... | |
| void | log_generation () |
| Saves ids of all sorted individuals. More... | |
| void | expand_inheritance_graph (Individual const &individual) |
| Saves the data of the given individual in the inheritance graph. More... | |
Private Attributes | |
| utility::vector1< Individual > | individuals_ |
| core::Size | generation_ = 0 |
| bool | sorting_guaranteed_ = false |
| core::Size | next_id_ = 1 |
| Keeps track of the next available and unused id. More... | |
| core::Size | supported_size_ = 0 |
| utility::vector1< utility::vector1< core::Size > > | generation_log_ |
| utility::vector1< std::pair< core::Size, core::Size > > | inheritance_graph_ |
| For debugging and benchmarking purposes. Each entry represents a node in an inheritance graph First is child, second is the parent. If more than one parent is present, more than one entry is created. More... | |
@ Summarizes and contains all Individuals of one generation
|
default |
|
default |
| void protocols::ligand_evolution::Population::add_individual | ( | Individual const & | individual | ) |
Adds an individual to this population and sets its id.
References expand_inheritance_graph(), individual(), individuals_, next_id_, and sorting_guaranteed_.
Referenced by add_individuals(), and add_random().
| void protocols::ligand_evolution::Population::add_individuals | ( | utility::vector1< Individual > const & | new_individuals | ) |
Adds new (and potentially unscored individuals to the population)
References add_individual(), individual(), size(), and protocols::TR().
Referenced by add_individuals(), initialize_from_evotoptions(), and replace_population().
| void protocols::ligand_evolution::Population::add_individuals | ( | utility::vector1< LigandIdentifier > const & | new_individuals | ) |
Adds new individuals based on provided LigandIdentifiers.
References add_individuals().
| void protocols::ligand_evolution::Population::add_random | ( | core::Size | n_random_individuals, |
| FragmentLibrary const & | lib | ||
| ) |
Adds random individuals to a population.
References add_individual(), individual(), and protocols::ligand_evolution::FragmentLibrary::random_ligand().
Referenced by initialize_from_evotoptions().
|
private |
Updates and returns the sorting state. Shouldn't be needed to be called usually.
References individual(), individuals_, protocols::ligand_evolution::Individual::is_scored(), protocols::ligand_evolution::Individual::score(), and sorting_guaranteed_.
Referenced by is_sorted().
|
private |
Saves the data of the given individual in the inheritance graph.
References protocols::ligand_evolution::Individual::id(), individual(), inheritance_graph_, and protocols::ligand_evolution::Individual::parents().
Referenced by add_individual().
| utility::vector1< utility::vector1< core::Size > > const & protocols::ligand_evolution::Population::expose_generation_log | ( | ) | const |
For debugging and benchmarking purpose to observe population development.
References generation_log_.
Referenced by protocols::ligand_evolution::EvolutionManager::write_population_information().
| utility::vector1< std::pair< core::Size, core::Size > > const & protocols::ligand_evolution::Population::expose_inheritance_graph | ( | ) | const |
For debugging and benchmarking purpose to observe population development.
References inheritance_graph_.
Referenced by protocols::ligand_evolution::EvolutionManager::write_population_information().
| core::Size protocols::ligand_evolution::Population::generation | ( | ) | const |
Returns the current generation.
References generation_.
| Individual & protocols::ligand_evolution::Population::individual | ( | core::Size | index | ) |
Non-const access specific individual.
References individuals_, and sorting_guaranteed_.
| Individual const & protocols::ligand_evolution::Population::individual | ( | core::Size | index | ) | const |
Access specific individual.
References individuals_.
Referenced by add_individual(), add_individuals(), add_random(), protocols::ligand_evolution::RouletteSelector::apply(), protocols::ligand_evolution::EvolutionManager::calculate_quantiles(), check_sorting(), expand_inheritance_graph(), protocols::ligand_evolution::EvolutionManager::run(), and protocols::ligand_evolution::Scorer::score_population().
| utility::vector1< Individual > & protocols::ligand_evolution::Population::individuals | ( | ) |
Expose the individuals vector for normal iterator access.
References individuals_, and sorting_guaranteed_.
| utility::vector1< Individual > const & protocols::ligand_evolution::Population::individuals | ( | ) | const |
Exposes the individuals vector for const iterator access.
References individuals_.
Referenced by protocols::ligand_evolution::ElitistSelector::apply(), protocols::ligand_evolution::RouletteSelector::apply(), protocols::ligand_evolution::TournamentSelector::apply(), replace_population(), protocols::ligand_evolution::Scorer::score_population(), and protocols::ligand_evolution::EvolutionManager::scores_to_str().
| utility::vector1< Individual > protocols::ligand_evolution::Population::individuals | ( | utility::vector1< core::Size > const & | indices | ) |
Returns a copy of selected individuals.
References individuals_.
| void protocols::ligand_evolution::Population::initialize_from_evotoptions | ( | EvolutionOptions const & | options, |
| FragmentLibrary const & | library, | ||
| Scorer const & | scorer | ||
| ) |
initializes setting from options object
References add_individuals(), add_random(), protocols::ligand_evolution::Scorer::get_best_loaded(), protocols::ligand_evolution::EvolutionOptions::get_pop_init_options(), protocols::ligand_evolution::EvolutionOptions::get_population_supported_size(), core::scoring::pair, set_supported_size(), and protocols::TR().
Referenced by protocols::ligand_evolution::EvolutionManager::init().
| bool protocols::ligand_evolution::Population::is_sorted | ( | ) |
Returns true if the individuals are sorted with lowest (and therefore best) score first.
References check_sorting(), and sorting_guaranteed_.
Referenced by sort().
|
private |
Saves ids of all sorted individuals.
References generation_log_, individuals_, size(), and sort().
Referenced by next_generation().
| void protocols::ligand_evolution::Population::next_generation | ( | Selector const & | selector | ) |
Removes unselected individuals, raises the generation counter and sorts individuals.
References protocols::ligand_evolution::Selector::apply(), generation_, log_generation(), replace_population(), size(), sort(), supported_size_, and protocols::TR().
Referenced by protocols::ligand_evolution::EvolutionManager::run().
| utility::vector1< Individual > protocols::ligand_evolution::Population::remove_individuals | ( | utility::vector1< core::Size > | indices | ) |
Removes individuals with the given index and returns them.
References individuals_, protocols::mean_field::min(), size(), and protocols::TR().
Referenced by protocols::ligand_evolution::ElitistSelector::apply(), protocols::ligand_evolution::RouletteSelector::apply(), and protocols::ligand_evolution::TournamentSelector::apply().
| void protocols::ligand_evolution::Population::replace_population | ( | utility::vector1< Individual > const & | individuals | ) |
Replaces the internal population with a new one.
References add_individuals(), individuals(), and individuals_.
Referenced by next_generation(), and protocols::ligand_evolution::EvolutionManager::run().
| void protocols::ligand_evolution::Population::set_supported_size | ( | core::Size | supported_size | ) |
Sets the supported size of this population. It will get reduced to this size through selective pressure.
References supported_size_, and protocols::TR().
Referenced by initialize_from_evotoptions().
| core::Size protocols::ligand_evolution::Population::size | ( | ) | const |
Returns the size of this population.
References individuals_.
Referenced by add_individuals(), protocols::ligand_evolution::ElitistSelector::apply(), protocols::ligand_evolution::RouletteSelector::apply(), protocols::ligand_evolution::TournamentSelector::apply(), protocols::ligand_evolution::EvolutionManager::calculate_quantiles(), log_generation(), next_generation(), remove_individuals(), and protocols::ligand_evolution::Scorer::score_population().
| void protocols::ligand_evolution::Population::sort | ( | ) |
Sorts all individuals depending on their score.
References core::pose::motif::a(), protocols::match::upstream::b, individuals_, is_sorted(), and sorting_guaranteed_.
Referenced by protocols::ligand_evolution::ElitistSelector::apply(), protocols::ligand_evolution::RouletteSelector::apply(), protocols::ligand_evolution::TournamentSelector::apply(), protocols::ligand_evolution::EvolutionManager::calculate_quantiles(), log_generation(), next_generation(), protocols::ligand_evolution::EvolutionManager::run(), and protocols::ligand_evolution::Scorer::score_population().
|
private |
Referenced by generation(), and next_generation().
|
private |
Referenced by expose_generation_log(), and log_generation().
|
private |
Referenced by add_individual(), check_sorting(), individual(), individuals(), log_generation(), remove_individuals(), replace_population(), size(), and sort().
|
private |
For debugging and benchmarking purposes. Each entry represents a node in an inheritance graph First is child, second is the parent. If more than one parent is present, more than one entry is created.
Referenced by expand_inheritance_graph(), and expose_inheritance_graph().
|
private |
Keeps track of the next available and unused id.
Referenced by add_individual().
|
private |
Referenced by add_individual(), check_sorting(), individual(), individuals(), is_sorted(), and sort().
|
private |
Referenced by next_generation(), and set_supported_size().