LysisWorld Class Documentation

class LysisWorld : public SymWorld

Public Functions

inline LysisWorld(emp::Random &_random, emp::Ptr<SymConfigLysis> _config)

Input: a reference to a random number generator and a pointer to the configuration object for this experiment.

Output: None

Purpose: To construct an instance of LysisWorld

inline ~LysisWorld()

Input: None

Output: None

Purpose: To destruct the data nodes belonging to LysisWorld to conserve memory.

virtual void SetupHosts(long unsigned int *POP_SIZE)

Definitions of setup functions, expanded in LysisWorldSetup.cc

virtual void SetupSymbionts(long unsigned int *total_syms)

Input: The number of symbionts.

Output: None.

Purpose: To populate the world with symbionts with appropriate phenotypes.

inline virtual void CreateDataFiles()

Input: None.

Output: None.

Purpose: To create and set up the data files (excluding for phylogeny) that contain data for the experiment.

inline virtual void SetupHostFileColumns(emp::DataFile &file)

Input: The Empirical DataFile object tracking data nodes.

Output: None.

Purpose: To add bacterium data nodes to be tracked to the bacterium data file.

inline emp::DataFile &SetupLysisChanceFile(const std::string &filename)

Input: The address of the string representing the file to be created’s name

Output: The address of the DataFile that has been created.

Purpose: To set up the file that will be used to track mean lysis chance, the number of symbionts, and the histogram of the mean lysis chance.

inline emp::DataFile &SetupInductionChanceFile(const std::string &filename)

Input: The address of the string representing the file to be created’s name

Output: The address of the DataFile that has been created.

Purpose: To set up the file that will be used to track mean induction chance, the number of symbionts, and the histogram of the mean induction chance.

inline emp::DataFile &SetupIncorporationDifferenceFile(const std::string &filename)

Input: The address of the string representing the file to be created’s name

Output: The address of the DataFile that has been created.

Purpose: To set up the file that will be used to track the difference between bacterium and phage incorporation values and the histogram of the difference between the incorporation vals.

inline emp::DataMonitor<double, emp::data::Histogram> &GetLysisChanceDataNode()

Input: None

Output: The DataMonitor<double, emp::data::Histogram>& that has the information representing the chance of lysis for each symbiont.

Purpose: To collect data on the chance of lysis for each symbiont to be saved to the data file that is tracking the chance of lysis for each symbiont.

inline emp::DataMonitor<double> &GetBurstSizeDataNode()

Input: None

Output: The DataMonitor<double>& that has the information representing the lysis burst size.

Purpose: To collect data on the lysis burst size to be saved to the data file that is tracking lysis burst size.

inline emp::DataMonitor<int> &GetBurstCountDataNode()

Input: None

Output: The DataMonitor<int>& that has the information representing the lysis burst count.

Purpose: To collect data on the lysis burst count to be saved to the data file that is tracking lysis burst count.

inline emp::DataMonitor<double, emp::data::Histogram> &GetInductionChanceDataNode()

Input: None

Output: The DataMonitor<double, emp::data::Histogram>& that has the information representing the chance of induction for each symbiont.

Purpose: To collect data on the chance of induction for each symbiont to be saved to the data file that is tracking chance of induction for each symbiont.

inline emp::DataMonitor<double, emp::data::Histogram> &GetIncorporationDifferenceDataNode()

Input: None

Output: The DataMonitor<double, emp::data::Histogram>& that has the information representing the difference between incorporation vals for bacteriums and their phage

Purpose: To collect data on the difference between incorporation vals for each bacteria and their phage to be saved to the data file that is tracking incorporation val differences.

inline emp::DataMonitor<int> &GetCFUDataNode()

Input: None

Output: The DataMonitor<int>& that has the information representing the number of colony forming units.

Purpose: To collect data on the CFU count to be saved to the data file that is tracking CFU