[Avida-cvs] [avida-svn] r902 - in development: Avida.xcodeproj documentation documentation/notes source/actions
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Mon Aug 28 07:59:46 PDT 2006
Author: brysonda
Date: 2006-08-28 10:52:19 -0400 (Mon, 28 Aug 2006)
New Revision: 902
Added:
development/documentation/actions.html
development/documentation/analyze.html
Removed:
development/documentation/analyze_mode.html
development/documentation/code_events.html
development/documentation/code_genesis.html
Modified:
development/Avida.xcodeproj/project.pbxproj
development/documentation/config.html
development/documentation/cpu_tour.html
development/documentation/events.html
development/documentation/index.html
development/documentation/notes/release-milestones.txt
development/documentation/structure.html
development/documentation/svn.html
development/source/actions/LandscapeActions.cc
development/source/actions/PopulationActions.cc
development/source/actions/PrintActions.cc
Log:
Update Events File documentation.
Add List of Actions documentation listing all 98 supported actions. The listing of arguments is complete for all actions, however a number of actions currently do not have a description (the original listing was incomplete).
Add revision date/initials to all updated documentation.
Modified: development/Avida.xcodeproj/project.pbxproj
===================================================================
--- development/Avida.xcodeproj/project.pbxproj 2006-08-27 02:57:12 UTC (rev 901)
+++ development/Avida.xcodeproj/project.pbxproj 2006-08-28 14:52:19 UTC (rev 902)
@@ -587,16 +587,15 @@
707AF2F509EE8501001AEA89 /* organism.noheads */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = organism.noheads; sourceTree = "<group>"; };
707AF2FF09EE8501001AEA89 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SConscript; sourceTree = "<group>"; };
707CE51D0A9E49A50022D19C /* config.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = config.html; sourceTree = "<group>"; };
+ 707CE7490AA333060022D19C /* actions.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = actions.html; sourceTree = "<group>"; };
+ 707CE7500AA334120022D19C /* analyze.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = analyze.html; sourceTree = "<group>"; };
708051A70A1F65FE00CBB8B6 /* SaveLoadActions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaveLoadActions.h; sourceTree = "<group>"; };
708051A80A1F65FE00CBB8B6 /* SaveLoadActions.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaveLoadActions.cc; sourceTree = "<group>"; };
708051BA0A1F66B400CBB8B6 /* cActionLibrary.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cActionLibrary.cc; sourceTree = "<group>"; };
- 70920C1B0A9CCE2C00757CDB /* analyze_mode.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = analyze_mode.html; sourceTree = "<group>"; };
70920C1C0A9CCE2C00757CDB /* analyze_samples.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = analyze_samples.html; sourceTree = "<group>"; };
70920C1D0A9CCE2C00757CDB /* code_c++_intro.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "code_c++_intro.html"; sourceTree = "<group>"; };
70920C1E0A9CCE2C00757CDB /* code_death_birth.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_death_birth.html; sourceTree = "<group>"; };
70920C1F0A9CCE2C00757CDB /* code_environment.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_environment.html; sourceTree = "<group>"; };
- 70920C200A9CCE2C00757CDB /* code_events.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_events.html; sourceTree = "<group>"; };
- 70920C210A9CCE2C00757CDB /* code_genesis.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_genesis.html; sourceTree = "<group>"; };
70920C220A9CCE2C00757CDB /* code_genome.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_genome.html; sourceTree = "<group>"; };
70920C230A9CCE2C00757CDB /* code_init_file.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_init_file.html; sourceTree = "<group>"; };
70920C240A9CCE2C00757CDB /* code_instruction.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_instruction.html; sourceTree = "<group>"; };
@@ -605,53 +604,6 @@
70920C280A9CCE2C00757CDB /* cpu_tour.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = cpu_tour.html; sourceTree = "<group>"; };
70920C290A9CCE2C00757CDB /* environment.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = environment.html; sourceTree = "<group>"; };
70920C2A0A9CCE2C00757CDB /* events.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = events.html; sourceTree = "<group>"; };
- 70920C2D0A9CCE2C00757CDB /* components.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = components.help; sourceTree = "<group>"; };
- 70920C2E0A9CCE2C00757CDB /* help.add.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.add.html; sourceTree = "<group>"; };
- 70920C2F0A9CCE2C00757CDB /* help.Bitwise.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Bitwise.html; sourceTree = "<group>"; };
- 70920C300A9CCE2C00757CDB /* help.Complement-Template.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Complement-Template.html"; sourceTree = "<group>"; };
- 70920C310A9CCE2C00757CDB /* help.CPU-cycle.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.CPU-cycle.html"; sourceTree = "<group>"; };
- 70920C320A9CCE2C00757CDB /* help.CPU.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.CPU.html; sourceTree = "<group>"; };
- 70920C330A9CCE2C00757CDB /* help.dec.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.dec.html; sourceTree = "<group>"; };
- 70920C340A9CCE2C00757CDB /* help.Genome.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Genome.html; sourceTree = "<group>"; };
- 70920C350A9CCE2C00757CDB /* help.Genotype.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Genotype.html; sourceTree = "<group>"; };
- 70920C360A9CCE2C00757CDB /* help.h-alloc.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-alloc.html"; sourceTree = "<group>"; };
- 70920C370A9CCE2C00757CDB /* help.h-copy.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-copy.html"; sourceTree = "<group>"; };
- 70920C380A9CCE2C00757CDB /* help.h-divide.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-divide.html"; sourceTree = "<group>"; };
- 70920C390A9CCE2C00757CDB /* help.h-search.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-search.html"; sourceTree = "<group>"; };
- 70920C3A0A9CCE2C00757CDB /* help.Heads.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Heads.html; sourceTree = "<group>"; };
- 70920C3B0A9CCE2C00757CDB /* help.if-label.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.if-label.html"; sourceTree = "<group>"; };
- 70920C3C0A9CCE2C00757CDB /* help.if-less.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.if-less.html"; sourceTree = "<group>"; };
- 70920C3D0A9CCE2C00757CDB /* help.if-n-equ.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.if-n-equ.html"; sourceTree = "<group>"; };
- 70920C3E0A9CCE2C00757CDB /* help.inc.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.inc.html; sourceTree = "<group>"; };
- 70920C3F0A9CCE2C00757CDB /* help.Input-Output.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Input-Output.html"; sourceTree = "<group>"; };
- 70920C400A9CCE2C00757CDB /* help.Instruction.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Instruction.html; sourceTree = "<group>"; };
- 70920C410A9CCE2C00757CDB /* help.IO.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.IO.html; sourceTree = "<group>"; };
- 70920C420A9CCE2C00757CDB /* help.jmp-head.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.jmp-head.html"; sourceTree = "<group>"; };
- 70920C430A9CCE2C00757CDB /* help.Logic.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Logic.html; sourceTree = "<group>"; };
- 70920C440A9CCE2C00757CDB /* help.Memory.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Memory.html; sourceTree = "<group>"; };
- 70920C450A9CCE2C00757CDB /* help.mov-head.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.mov-head.html"; sourceTree = "<group>"; };
- 70920C460A9CCE2C00757CDB /* help.Mutation.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Mutation.html; sourceTree = "<group>"; };
- 70920C470A9CCE2C00757CDB /* help.nand.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.nand.html; sourceTree = "<group>"; };
- 70920C480A9CCE2C00757CDB /* help.Nop-Head-Notation.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Nop-Head-Notation.html"; sourceTree = "<group>"; };
- 70920C490A9CCE2C00757CDB /* help.nop-instructions.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.nop-instructions.html"; sourceTree = "<group>"; };
- 70920C4A0A9CCE2C00757CDB /* help.Nop-Register-Notation.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Nop-Register-Notation.html"; sourceTree = "<group>"; };
- 70920C4B0A9CCE2C00757CDB /* help.Organism.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Organism.html; sourceTree = "<group>"; };
- 70920C4C0A9CCE2C00757CDB /* help.pop.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.pop.html; sourceTree = "<group>"; };
- 70920C4D0A9CCE2C00757CDB /* help.Population.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Population.html; sourceTree = "<group>"; };
- 70920C4E0A9CCE2C00757CDB /* help.push.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.push.html; sourceTree = "<group>"; };
- 70920C4F0A9CCE2C00757CDB /* help.Registers.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Registers.html; sourceTree = "<group>"; };
- 70920C500A9CCE2C00757CDB /* help.set-flow.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.set-flow.html"; sourceTree = "<group>"; };
- 70920C510A9CCE2C00757CDB /* help.shift-l.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.shift-l.html"; sourceTree = "<group>"; };
- 70920C520A9CCE2C00757CDB /* help.shift-r.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.shift-r.html"; sourceTree = "<group>"; };
- 70920C530A9CCE2C00757CDB /* help.Stack.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Stack.html; sourceTree = "<group>"; };
- 70920C540A9CCE2C00757CDB /* help.sub.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.sub.html; sourceTree = "<group>"; };
- 70920C550A9CCE2C00757CDB /* help.swap-stk.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.swap-stk.html"; sourceTree = "<group>"; };
- 70920C560A9CCE2C00757CDB /* help.swap.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.swap.html; sourceTree = "<group>"; };
- 70920C570A9CCE2C00757CDB /* help.Tasks.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Tasks.html; sourceTree = "<group>"; };
- 70920C580A9CCE2C00757CDB /* help.Template.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Template.html; sourceTree = "<group>"; };
- 70920C590A9CCE2C00757CDB /* inst.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = inst.help; sourceTree = "<group>"; };
- 70920C5A0A9CCE2C00757CDB /* notations.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = notations.help; sourceTree = "<group>"; };
- 70920C5B0A9CCE2C00757CDB /* todo.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = todo.help; sourceTree = "<group>"; };
70920C5D0A9CCE2C00757CDB /* AvidaLogo.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = AvidaLogo.gif; sourceTree = "<group>"; };
70920C5E0A9CCE2C00757CDB /* cpu2.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = cpu2.gif; sourceTree = "<group>"; };
70920C5F0A9CCE2C00757CDB /* index.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = "<group>"; };
@@ -1161,14 +1113,13 @@
70920C1A0A9CCE2C00757CDB /* Documentation */ = {
isa = PBXGroup;
children = (
+ 707CE7500AA334120022D19C /* analyze.html */,
+ 707CE7490AA333060022D19C /* actions.html */,
707CE51D0A9E49A50022D19C /* config.html */,
- 70920C1B0A9CCE2C00757CDB /* analyze_mode.html */,
70920C1C0A9CCE2C00757CDB /* analyze_samples.html */,
70920C1D0A9CCE2C00757CDB /* code_c++_intro.html */,
70920C1E0A9CCE2C00757CDB /* code_death_birth.html */,
70920C1F0A9CCE2C00757CDB /* code_environment.html */,
- 70920C200A9CCE2C00757CDB /* code_events.html */,
- 70920C210A9CCE2C00757CDB /* code_genesis.html */,
70920C220A9CCE2C00757CDB /* code_genome.html */,
70920C230A9CCE2C00757CDB /* code_init_file.html */,
70920C240A9CCE2C00757CDB /* code_instruction.html */,
@@ -1177,7 +1128,6 @@
70920C280A9CCE2C00757CDB /* cpu_tour.html */,
70920C290A9CCE2C00757CDB /* environment.html */,
70920C2A0A9CCE2C00757CDB /* events.html */,
- 70920C2C0A9CCE2C00757CDB /* glossary */,
70920C5C0A9CCE2C00757CDB /* images */,
70920C5F0A9CCE2C00757CDB /* index.html */,
70920C600A9CCE2C00757CDB /* inst_set.html */,
@@ -1190,60 +1140,6 @@
path = documentation;
sourceTree = "<group>";
};
- 70920C2C0A9CCE2C00757CDB /* glossary */ = {
- isa = PBXGroup;
- children = (
- 70920C2D0A9CCE2C00757CDB /* components.help */,
- 70920C2E0A9CCE2C00757CDB /* help.add.html */,
- 70920C2F0A9CCE2C00757CDB /* help.Bitwise.html */,
- 70920C300A9CCE2C00757CDB /* help.Complement-Template.html */,
- 70920C310A9CCE2C00757CDB /* help.CPU-cycle.html */,
- 70920C320A9CCE2C00757CDB /* help.CPU.html */,
- 70920C330A9CCE2C00757CDB /* help.dec.html */,
- 70920C340A9CCE2C00757CDB /* help.Genome.html */,
- 70920C350A9CCE2C00757CDB /* help.Genotype.html */,
- 70920C360A9CCE2C00757CDB /* help.h-alloc.html */,
- 70920C370A9CCE2C00757CDB /* help.h-copy.html */,
- 70920C380A9CCE2C00757CDB /* help.h-divide.html */,
- 70920C390A9CCE2C00757CDB /* help.h-search.html */,
- 70920C3A0A9CCE2C00757CDB /* help.Heads.html */,
- 70920C3B0A9CCE2C00757CDB /* help.if-label.html */,
- 70920C3C0A9CCE2C00757CDB /* help.if-less.html */,
- 70920C3D0A9CCE2C00757CDB /* help.if-n-equ.html */,
- 70920C3E0A9CCE2C00757CDB /* help.inc.html */,
- 70920C3F0A9CCE2C00757CDB /* help.Input-Output.html */,
- 70920C400A9CCE2C00757CDB /* help.Instruction.html */,
- 70920C410A9CCE2C00757CDB /* help.IO.html */,
- 70920C420A9CCE2C00757CDB /* help.jmp-head.html */,
- 70920C430A9CCE2C00757CDB /* help.Logic.html */,
- 70920C440A9CCE2C00757CDB /* help.Memory.html */,
- 70920C450A9CCE2C00757CDB /* help.mov-head.html */,
- 70920C460A9CCE2C00757CDB /* help.Mutation.html */,
- 70920C470A9CCE2C00757CDB /* help.nand.html */,
- 70920C480A9CCE2C00757CDB /* help.Nop-Head-Notation.html */,
- 70920C490A9CCE2C00757CDB /* help.nop-instructions.html */,
- 70920C4A0A9CCE2C00757CDB /* help.Nop-Register-Notation.html */,
- 70920C4B0A9CCE2C00757CDB /* help.Organism.html */,
- 70920C4C0A9CCE2C00757CDB /* help.pop.html */,
- 70920C4D0A9CCE2C00757CDB /* help.Population.html */,
- 70920C4E0A9CCE2C00757CDB /* help.push.html */,
- 70920C4F0A9CCE2C00757CDB /* help.Registers.html */,
- 70920C500A9CCE2C00757CDB /* help.set-flow.html */,
- 70920C510A9CCE2C00757CDB /* help.shift-l.html */,
- 70920C520A9CCE2C00757CDB /* help.shift-r.html */,
- 70920C530A9CCE2C00757CDB /* help.Stack.html */,
- 70920C540A9CCE2C00757CDB /* help.sub.html */,
- 70920C550A9CCE2C00757CDB /* help.swap-stk.html */,
- 70920C560A9CCE2C00757CDB /* help.swap.html */,
- 70920C570A9CCE2C00757CDB /* help.Tasks.html */,
- 70920C580A9CCE2C00757CDB /* help.Template.html */,
- 70920C590A9CCE2C00757CDB /* inst.help */,
- 70920C5A0A9CCE2C00757CDB /* notations.help */,
- 70920C5B0A9CCE2C00757CDB /* todo.help */,
- );
- path = glossary;
- sourceTree = "<group>";
- };
70920C5C0A9CCE2C00757CDB /* images */ = {
isa = PBXGroup;
children = (
Added: development/documentation/actions.html
===================================================================
--- development/documentation/actions.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/actions.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -0,0 +1,1178 @@
+<html>
+<head>
+ <title>Avida : List of Actions</title>
+</head>
+<body>
+
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
+<p>
+<a href="index.html">Return to the Index</a> |
+<a href="events.html">The Events File</a> |
+<a href="analyze.html">The Analyze File</a>
+</p>
+<hr />
+
+<div align="center">
+<h1>List of Actions</h1>
+</div>
+
+<p>
+There is a large library of actions available for scheduling as events.
+Additionally, all of these actions can be used within analyze scripts.
+Below you will find a listing of the high level groupings of these
+actions, along with detailed sections for each them.
+</p>
+
+<dl>
+<dt><a href="#PrintActions">Print</a></dt>
+<dd>Print actions are the primary way of saving data from an Avida experiments.</dd>
+<dt><a href="#PopulationActions">Population</a></dt>
+<dd>Population actions modify the state of the population, and will actually change the course of the run.</dd>
+<dt><a href="#EnvironmentActions">Environment</a></dt>
+<dd>Actions that allow user to change properties of the environment, including resources.</dd>
+<dt><a href="#SaveLoadActions">Save and Load</a></dt>
+<dd>Actions that allow for saving and loading large data sets, such as full populations.</dd>
+<dt><a href="#LandscapeActions">Landscape Analysis</a></dt>
+<dd>Actions that use data from the current state of Avida, process it and then output the results.</dd>
+<dt><a href="#DriverActions">Driver</a></dt>
+<dd>Actions that allow user to control program execution, including experiment termination.</dd>
+</dl>
+
+
+<p> </p>
+<h2>Alphabetical Listing of Available Actions</h2>
+
+<p>
+<table>
+ <tr>
+ <td>
+ <br /><a href="#AnalyzeLandscape">AnalyzeLandscape</a>
+ <br /><a href="#CompeteDemes">CompeteDemes</a>
+ <br /><a href="#ConnectCells">ConnectCells</a>
+ <br /><a href="#CopyDeme">CopyDeme</a>
+ <br /><a href="#DeletionLandscape">DeletionLandscape</a>
+ <br /><a href="#DisconnectCells">DisconnectCells</a>
+ <br /><a href="#DumpDonorGrid">DumpDonorGrid</a>
+ <br /><a href="#DumpFitnessGrid">DumpFitnessGrid</a>
+ <br /><a href="#DumpGenotypeIDGrid">DumpGenotypeIDGrid</a>
+ <br /><a href="#DumpMemory">DumpMemory</a>
+ <br /><a href="#DumpPopulation">DumpPopulation</a>
+ <br /><a href="#DumpReceiverGrid">DumpReceiverGrid</a>
+ <br /><a href="#DumpTaskGrid">DumpTaskGrid</a>
+ <br /><a href="#Echo">Echo</a>
+ <br /><a href="#Exit">Exit</a>
+ <br /><a href="#ExitAveLineageLabelGreater">ExitAveLineageLabelGreater</a>
+ <br /><a href="#ExitAveLineageLabelLess">ExitAveLineageLabelLess</a>
+ <br /><a href="#FullLandscape">FullLandscape</a>
+ <br /><a href="#HillClimb">HillClimb</a>
+ <br /><a href="#HillClimbNeut">HillClimbNeut</a>
+ <br /><a href="#HillClimbRand">HillClimbRand</a>
+ <br /><a href="#Inject">Inject</a>
+ <br /><a href="#InjectAll">InjectAll</a>
+ <br /><a href="#InjectParasite">InjectParasite</a>
+ <br /><a href="#InjectRandom">InjectRandom</a>
+ <br /><a href="#InjectRange">InjectRange</a>
+ <br /><a href="#InjectResource">InjectResource</a>
+ <br /><a href="#InjectScaledResource">InjectScaledResource</a>
+ <br /><a href="#InjectSequence">InjectSequence</a>
+ <br /><a href="#InsertionLandscape">InsertionLandscape</a>
+ <br /><a href="#JoinGridCol">JoinGridCol</a>
+ <br /><a href="#JoinGridRow">JoinGridRow</a>
+ <br /><a href="#KillProb">KillProb</a>
+ </td>
+ <td>
+ <br /><a href="#KillRate">KillRate</a>
+ <br /><a href="#KillRectangle">KillRectangle</a>
+ <br /><a href="#LoadClone">LoadClone</a>
+ <br /><a href="#LoadPopulation">LoadPopulation</a>
+ <br /><a href="#ModMutProb">ModMutProb</a>
+ <br /><a href="#OutflowScaledResource">OutflowScaledResource</a>
+ <br /><a href="#PairTestLandscape">PairTestLandscape</a>
+ <br /><a href="#PrecalcLandscape">PrecalcLandscape</a>
+ <br /><a href="#PredictNuLandscape">PredictNuLandscape</a>
+ <br /><a href="#PredictWLandscape">PredictWLandscape</a>
+ <br /><a href="#PrintAverageData">PrintAverageData</a>
+ <br /><a href="#PrintCountData">PrintCountData</a>
+ <br /><a href="#PrintData">PrintData</a>
+ <br /><a href="#PrintDebug">PrintDebug</a>
+ <br /><a href="#PrintDemeStats">PrintDemeStats</a>
+ <br /><a href="#PrintDepthHistogram">PrintDepthHistogram</a>
+ <br /><a href="#PrintDetailedFitnessData">PrintDetailedFitnessData</a>
+ <br /><a href="#PrintDivideMutData">PrintDivideMutData</a>
+ <br /><a href="#PrintDominantData">PrintDominantData</a>
+ <br /><a href="#PrintDominantGenotype">PrintDominantGenotype</a>
+ <br /><a href="#PrintDominantParaData">PrintDominantParaData</a>
+ <br /><a href="#PrintDominantParasiteGenotype">PrintDominantParasiteGenotype</a>
+ <br /><a href="#PrintErrorData">PrintErrorData</a>
+ <br /><a href="#PrintGeneticDistanceData">PrintGeneticDistanceData</a>
+ <br /><a href="#PrintGenotypeAbundanceHistogram">PrintGenotypeAbundanceHistogram</a>
+ <br /><a href="#PrintGenotypeMap">PrintGenotypeMap</a>
+ <br /><a href="#PrintGenotypes">PrintGenotypes</a>
+ <br /><a href="#PrintInstructionAbundanceHistogram">PrintInstructionAbundanceHistogram</a>
+ <br /><a href="#PrintInstructionData">PrintInstructionData</a>
+ <br /><a href="#PrintLineageCounts">PrintLineageCounts</a>
+ <br /><a href="#PrintLineageTotals">PrintLineageTotals</a>
+ <br /><a href="#PrintMutationRateData">PrintMutationRateData</a>
+ <br /><a href="#PrintPhenotypeData">PrintPhenotypeData</a>
+ </td>
+ <td>
+ <br /><a href="#PrintPhenotypeStatus">PrintPhenotypeStatus</a>
+ <br /><a href="#PrintPopulationDistanceData">PrintPopulationDistanceData</a>
+ <br /><a href="#PrintResourceData">PrintResourceData</a>
+ <br /><a href="#PrintSpeciesAbundanceData">PrintSpeciesAbundanceData</a>
+ <br /><a href="#PrintStatsData">PrintStatsData</a>
+ <br /><a href="#PrintTasksSnapshot">PrintTasksSnapshot</a>
+ <br /><a href="#PrintTasksExeData">PrintTasksExeData</a>
+ <br /><a href="#PrintTasksQualData">PrintTasksQualData</a>
+ <br /><a href="#PrintTimeData">PrintTimeData</a>
+ <br /><a href="#PrintTotalsData">PrintTotalsData</a>
+ <br /><a href="#PrintTreeDepths">PrintTreeDepths</a>
+ <br /><a href="#PrintVarianceData">PrintVarianceData</a>
+ <br /><a href="#PrintViableTasksData">PrintViableTasksData</a>
+ <br /><a href="#RandomLandscape">RandomLandscape</a>
+ <br /><a href="#ResetDemes">ResetDemes</a>
+ <br /><a href="#SampleLandscape">SampleLandscape</a>
+ <br /><a href="#SaveClone">SaveClone</a>
+ <br /><a href="#SaveHistoricPopulation">SaveHistoricPopulation</a>
+ <br /><a href="#SaveHistoricSexPopulation">SaveHistoricSexPopulation</a>
+ <br /><a href="#SaveParasitePopulation">SaveParasitePopulation</a>
+ <br /><a href="#SavePopulation">SavePopulation</a>
+ <br /><a href="#SaveSexPopulation">SaveSexPopulation</a>
+ <br /><a href="#SerialTransfer">SerialTransfer</a>
+ <br /><a href="#SetMutProb">SetMutProb</a>
+ <br /><a href="#SetReactionInst">SetReactionInst</a>
+ <br /><a href="#SetReactionValue">SetReactionValue</a>
+ <br /><a href="#SetReactionValueMult">SetReactionValueMult</a>
+ <br /><a href="#SetResource">SetResource</a>
+ <br /><a href="#SeverGridCol">SeverGridCol</a>
+ <br /><a href="#SeverGridRow">SeverGridRow</a>
+ <br /><a href="#TestDominant">TestDominant</a>
+ <br /><a href="#ZeroMuts">ZeroMuts</a>
+ </td>
+ </tr>
+</table>
+
+
+<p> </p>
+<h2><a name="PrintActions">Print Actions</a></h2>
+
+<p>
+Output events are the primary way of saving data from an avida experiments.
+The main two types are <em>continuous output</em>, which append to a single file
+every time the event is trigged, and <em>singular output</em>, which produce
+a single, complete file for each trigger.
+</p>
+
+<ul>
+<!-------- Stats Out Files -------->
+<li>
+ <strong><a name="PrintAverageData">PrintAverageData</a></strong>
+ [<span style="color: #008800">string filename='average.dat'</span>]
+
+ <p>
+ Print all of the population averages the specified file.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintErrorData">PrintErrorData</a></strong>
+ [<span style="color: #008800">string filename='error.dat'</span>]
+
+ <p>
+ Print all of the standard errors of the average population statistics.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintVarianceData">PrintVarianceData</a></strong>
+ [<span style="color: #008800">string filename='variance.dat'</span>]
+
+ <p>
+ Print all of the variances of the average population statistics.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDominantData">PrintDominantData</a></strong>
+ [<span style="color: #008800">string filename='dominant.dat'</span>]
+
+ <p>
+ Print all of the statistics relating to the dominant genotype.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintStatsData">PrintStatsData</a></strong>
+ [<span style="color: #008800">string filename='stats.dat'</span>]
+
+ <p>
+ Print all of the miscellanous population statistics.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintCountData">PrintCountData</a></strong>
+ [<span style="color: #008800">string filename='count.dat'</span>]
+
+ <p>
+ Print all of the statistics the keep track of counts (such as the number of organisms
+ in the population or the number of instructions executed).
+ </p>
+</li>
+<li>
+ <strong><a name="PrintTotalsData">PrintTotalsData</a></strong>
+ [<span style="color: #008800">string filename='totals.dat'</span>]
+
+ <p>
+ Print various totals for the entire length of the run (for example, the total number of
+ organisms ever).
+ </p>
+</li>
+<li>
+ <strong><a name="PrintTasksData">PrintTasksData</a></strong>
+ [<span style="color: #008800">string filename='tasks.dat'</span>]
+
+ <p>
+ Print the number of organisms that are able to perform each task. This uses the
+ environment configuration to determine what tasks are in use.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintTasksExeData">PrintTasksExeData</a></strong>
+ [<span style="color: #008800">string filename='tasks_exe.dat'</span>]
+
+ <p>
+ Print number of times the particular task has been executed this update.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintTasksQualData">PrintTasksQualData</a></strong>
+ [<span style="color: #008800">string filename='tasks_quality.dat'</span>]
+
+ <p>
+ Print the total quality of each task. By default a successful task is valued
+ as 1.0. Some tasks, however, can grant partial values and/or special bonuses
+ via the quality value.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintResourceData">PrintResourceData</a></strong>
+ [<span style="color: #008800">string filename='resource.dat'</span>]
+
+ <p>
+ Print the current counts of each resource available to the population. This uses
+ the environment configuration to determine what resources are in use. Also creates
+ seperate files <kbd>resource_<em>resource_name</em>.m</kbd> (in a format that is
+ designed to be read into Matlab) for each spatial resource.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintTimeData">PrintTimeData</a></strong>
+ [<span style="color: #008800">string filename='time.dat'</span>]
+
+ <p>
+ Print all of the timing related statistics.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintMutationRateData">PrintMutationRateData</a></strong>
+ [<span style="color: #008800">string filename='mutation_rates.dat'</span>]
+
+ <p>
+ Output (regular and log) statistics about individual copy mutation rates
+ (aver, stdev, skew, cur). Useful only when mutation rate is set per organism.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDivideMutData">PrintDivideMutData</a></strong>
+ [<span style="color: #008800">string filename='divide_mut.dat'</span>]
+
+ <p>
+ Output (regular and log) statistics about individual, per site, rates divide mutation
+ rates (aver, stdev, skew, cur) to divide_mut.dat. Use with multiple divide instuction set.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDominantParaData">PrintDominantParaData</a></strong>
+ [<span style="color: #008800">string filename='parasite.dat'</span>]
+
+ <p>
+ Print various quantites related to the dominant parasite.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintInstructionData">PrintInstructionData</a></strong>
+ [<span style="color: #008800">string filename='instruction.dat'</span>]
+
+ <p>
+ Print the by-organisms counts of what instructions they _successfully_ executed
+ beteween birth and divide. Prior to their first divide, organisms values for their parents.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintGenotypeMap">PrintGenotypeMap</a></strong>
+ [<span style="color: #008800">string filename='genotype_map.m'</span>]
+
+ <p>
+ This event is used to output a map of the genotype IDs for the
+ population grid to a file that is suitable to be read into Matlab.
+ </p>
+</li>
+
+<!-------- Population Out Files -------->
+<li>
+ <strong><a name="PrintPhenotypeData">PrintPhenotypeData</a></strong>
+ [<span style="color: #008800">string filename='phenotype_count.dat'</span>]
+
+ <p>
+ Print the number of phenotypes based on tasks executed this update. Executing
+ a task any number of times is considered the same as executing it once.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintPhenotypeStatus">PrintPhenotypeStatus</a></strong>
+ [<span style="color: #008800">string filename='phenotype_status.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDemeStats">PrintDemeStats</a></strong>
+
+ <p>
+ </p>
+</li>
+
+<!-------- Processed Data -------->
+<li>
+ <strong><a name="PrintData">PrintData</a></strong>
+ <<span style="color: #008800">string fname</span>> <<span style="color: #008800">string format</span>>
+
+ <p>
+ Append to the file specified (continuous output), the data given in the
+ column list. The column list needs to be a comma-seperated list of
+ keywords representing the data types. Many possible data types can be
+ output; see the <a href="print_data.html">complete listing</a> for details.
+ Note that this event will even create a detailed column legend at the top
+ of your file so you don't need to seperately keep track of what the
+ columns mean.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintInstructionAbundanceHistogram">PrintInstructionAbundanceHistogram</a></strong>
+ [<span style="color: #008800">string filename='instruction_histogram.dat'</span>]
+
+ <p>
+ Appends a line containing the bulk count (abundance) of each instruction
+ in the population onto a file.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDepthHistogram">PrintDepthHistogram</a></strong>
+ [<span style="color: #008800">string filename='depth_histogram.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="Echo">Echo</a></strong>
+ <<span style="color: #008800">string message</span>>
+
+ <p>
+ Print the supplied message to standard output.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintGenotypeAbundanceHistogram">PrintGenotypeAbundanceHistogram</a></strong>
+ [<span style="color: #008800">string fname='genotype_abundance_histogram.dat'</span>]
+
+ <p>
+ Writes out a genotype abundance histogram.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintSpeciesAbundanceHistogram">PrintSpeciesAbundanceHistogram</a></strong>
+ [<span style="color: #008800">string fname='species_abundance_histogram.dat'</span>]
+
+ <p>
+ Writes out a species abundance histogram.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintLineageTotals">PrintLineageTotals</a></strong>
+ [<span style="color: #008800">string fname='lineage_totals.dat'</span>] [<span style="color: #008800">int verbose=1</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintLineageCounts">PrintLineageCounts</a></strong>
+ [<span style="color: #008800">string fname='lineage_counts.dat'</span>] [<span style="color: #008800">int verbose=1</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDominantGenotype">PrintDominantGenotype</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ Print the dominant organism's genome (and lots of information about it)
+ into the file specified. If no filename is given, the genotype's assigned name
+ is used and the file is placed into the archive subdirectory.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDominantParasiteGenotype">PrintDominantParasiteGenotype</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ Print the dominant parasite's genome (and lots of information about it)
+ into the file specified. If no filename is given, the parasite's assigned name
+ is used and the file is placed into the archive subdirectory.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDetailedFitnessData">PrintDetailedFitnessData</a></strong>
+ [<span style="color: #008800">int save_max_f_genotype=0</span>] [<span style="color: #008800">int print_fitness_histo=0</span>]
+ [<span style="color: #008800">double hist_fmax=1</span>] [<span style="color: #008800">double hist_fstep=0.1</span>]
+ [<span style="color: #008800">string datafn='fitness.dat'</span>]
+ [<span style="color: #008800">string histofn='fitness_histos.dat'</span>]
+ [<span style="color: #008800">string histotestfn='fitness_histos_testCPU.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintGeneticDistanceData">PrintGeneticDistanceData</a></strong>
+ [<span style="color: #008800">string ref_creature_file='START_CREATURE'</span>]
+ [<span style="color: #008800">string filename='genetic_distance.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintPopulationDistanceData">PrintPopulationDistanceData</a></strong>
+ [<span style="color: #008800">string creature='START_CREATURE'</span>] [<span style="color: #008800">string fname=''</span>]
+ [<span style="color: #008800">int save_genotypes=0</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintDebug">PrintDebug</a></strong>
+
+ <p>
+ </p>
+</li>
+
+<li>
+ <strong><a name="PrintGenotypes">PrintGenotypes</a></strong>
+ [<span style="color: #008800">string data_fields='all'</span>]
+ [<span style="color: #008800">int print_historic=0</span>]
+ [<span style="color: #008800">string filename='genotypes-<update>.dat'</span>]
+
+ <p>
+ This command is used to print out information about all of the genotypes
+ in the population. The file output from here can be read
+ back into the analyze mode of Avida with the <code>LOAD</code> command.
+ </p>
+ <p>
+ The <span style="color: #008800">data_fields</span> parameter indicates what
+ columns should be included in the file, which must be comma seperated.
+ Options are:
+ <em>all, id, parent_id, parent2_id (for sex), parent_dist, num_cpus,
+ total_cpus, length, merit, gest_time, fitness, update_born, update_dead,
+ depth, lineage, sequence.</em>
+ Use <em>all</em> (the default) if you want all of the fields included.
+ </p>
+ <p>
+ The <span style="color: #008800">print_historic</span> parameter indicates how
+ many updates back in time should be included in this output. For example,
+ '200' would indicate that any ancestor of the current population that died
+ out in the last 200 updates should also be printed. A '-1' in this field
+ indicates that all ancestors should be printed.
+ </p>
+ <p>
+ The <span style="color: #008800">filename</span> parameter simply indicates what
+ you want to call the file.
+ </p>
+ <p>
+ <em>Example</em>:
+ <br /> <kbd>u 1000:1000 print_genotypes id,parent_id,fitness 1000</kbd>
+ <br />This will print out the full population every 1000 updates, including all
+ genotypes that have died out since the last time it was printed.
+ </p>
+</li>
+
+<li>
+ <strong><a name="TestDominant">TestDominant</a></strong>
+ [<span style="color: #008800">string fname='dom-test.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintTaskSnapshot">PrintTaskSnapshot</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ Run all organisms in the population through test cpus and print out the
+ number of tasks each can perform.
+ </p>
+</li>
+<li>
+ <strong><a name="PrintViableTasksData">PrintViableTasksData</a></strong>
+ [<span style="color: #008800">string fname='viable_tasks.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrintTreeDepths">PrintTreeDepths</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ Reconstruction of phylogenetic trees.
+ </p>
+</li>
+
+
+<!-------- Grid Information Dumps -------->
+<li>
+ <strong><a name="DumpMemory">DumpMemory</a></strong>
+ [<span style="color: #008800">string filename='memory_dump-<update>.dat'</span>]
+
+ <p>
+ Dump memory summary information.
+ </p>
+</li>
+<li>
+ <strong><a name="DumpFitnessGrid">DumpFitnessGrid</a></strong>
+ [<span style="color: #008800">string filename='grid_fitness.<update>.dat'</span>]
+
+ <p>
+ Print out the grid of organism fitness values.
+ </p>
+</li>
+<li>
+ <strong><a name="DumpGenotypeIDGrid">DumpGenotypeIDGrid</a></strong>
+ [<span style="color: #008800">string filename='grid_genotype_id.<update>.dat'</span>]
+
+ <p>
+ Print out the grid of genotype IDs.
+ </p>
+</li>
+<li>
+ <strong><a name="DumpTaskGrid">DumpTaskGrid</a></strong>
+ [<span style="color: #008800">string filename='grid_task.<update>.dat'</span>]
+
+ <p>
+ Print out the grid of takss that organisms do. For each organism, tasks are first
+ encoded as a binary string (e.g. 100000001 means that organism is doing NOT and EQU
+ and then reported as a base-10 number (257 in the example above).
+ </p>
+</li>
+<li>
+ <strong><a name="DumpDonorGrid">DumpDonorGrid</a></strong>
+ [string filename='grid_donor.<update>.dat'</span>]
+
+ <p>
+ Print out the grid of organisms who donated their merit.
+ </p>
+</li>
+<li>
+ <strong><a name="DumpReceiverGrid">DumpRecieverGrid</a></strong>
+ [<span style="color: #008800">string filename='grid_receiver.<update>.dat'</span>]
+
+ <p>
+ Print out the grid of organisms who received merit.
+ </p>
+</li>
+</ul>
+
+
+<p> </p>
+<h2><a name="PopulationActions">Population Actions</a></h2>
+
+<p>
+Population events modify the state of the population, and will actually
+change the course of the run. There are a wide variety of these.
+</p>
+<ul>
+<li>
+ <strong><a name="Inject">Inject</a></strong>
+ [<span style="color: #008800">string fname='START_CREATURE'</span>] [<span style="color: #008800">int cell_id=0</span>]
+ [<span style="color: #008800">double merit=-1</span>] [<span style="color: #008800">int lineage_label=0</span>]
+ [<span style="color: #008800">double neutral_metric=0</span>]
+
+ <p>
+ Inject a single organisms into the population. Arguments must be
+ included from left to right; if all arguments are left out, the default
+ creature is the ancestral organism, and it will be injected into cell 0,
+ have an uninitialized merit, and be marked as liniage id 0.
+ </p>
+</li>
+<li>
+ <strong><a name="InjectRandom">InjectRandom</a></strong>
+ <<span style="color: #008800">int length</span>> [<span style="color: #008800">int cell_id=0</span>]
+ [<span style="color: #008800">double merit=-1</span>] [<span style="color: #008800">int lineage_label=0</span>]
+ [<span style="color: #008800">double neutral_metric=0</span>]
+
+ <p>
+ Injects a randomly generated genome of the supplied length into the population.
+ </p>
+</li>
+<li>
+ <strong><a name="InjectAll">InjectAll</a></strong>
+ [<span style="color: #008800">string fname='START_CREATURE'</span>] [<span style="color: #008800">double merit=-1</span>]
+ [<span style="color: #008800">int lineage_label=0] [<span style="color: #008800">double neutral_metric=0</span>]
+
+ <p>
+ Same as Inject, but no cell_id is specified and the organism is placed
+ into <em>all</em> cells in the population.
+ </p>
+</li>
+<li>
+ <strong><a name="InjectRange">InjectRange</a></strong>
+ [<span style="color: #008800">string fname='START_CREATURE'</span>] [<span style="color: #008800">int cell_start=0</span>]
+ [<span style="color: #008800">int cell_end=-1</span>] [<span style="color: #008800">double merit=-1</span>]
+ [<span style="color: #008800">int lineage_label=0</span>] [<span style="color: #008800">double neutral_metric=0</span>]
+
+ <p>
+ Injects identical organisms into a range of cells of the population.
+ </p>
+ <p>
+ <em>Example</em>:
+ <br /><code>InjectRange 000-aaaaa.org 0 10</code>
+ <br />Will inject 10 organisms into cells 0 through 9.
+ </p>
+</li>
+<li>
+ <strong><a name="InjectSequence">InjectSequence</a></strong>
+ <<span style="color: #008800">string sequence</span>> [<span style="color: #008800">int cell_start=0</span>]
+ [<span style="color: #008800">int cell_end=-1</span>] [<span style="color: #008800">double merit=-1</span>]
+ [<span style="color: #008800">int lineage_label=0</span>] [<span style="color: #008800">double neutral_metric=0</span>]
+
+ <p>
+ Injects identical organisms based on the supplied genome sequence into
+ a range of cells of the population.
+ </p>
+ <p>
+ <em>Example</em>:
+ <br /><code>InjectSequence ckdfhgklsahnfsaggdsgajfg 0 10 100</code>
+ <br />Will inject 10 organisms into cells 0 through 9 with a merit of 100.
+ </p>
+</li>
+
+<li>
+ <strong><a name="InjectParasite">InjectParasite</a></strong>
+ <<span style="color: #008800">string filename</span>> <<span style="color: #008800">string label</span>>
+ [<span style="color: #008800">int cell_start=0</span>] [<span style="color: #008800">int cell_end=-1</span>]
+
+ <p>
+ Attempt to inject a parasite genome into the supplied population cell
+ range with the specified label.
+ </p>
+</li>
+<li>
+ <strong><a name="InjectParasitePair">InjectParasitePair</a></strong>
+ <<span style="color: #008800">string filename_genome</span>> <<span style="color: #008800">string filename_parasite</span>>
+ <<span style="color: #008800">string label</span>> [<span style="color: #008800">int cell_start=0</span>]
+ [<span style="color: #008800">int cell_end=-1</span>] [<span style="color: #008800">double merit=-1</span>]
+ [<span style="color: #008800">int lineage_label=0</span>] [<span style="color: #008800">double neutral_metric=0</span>]
+
+ <p>
+ Inject host parasite pairs into the population cell range specified.
+ </p>
+</li>
+
+<li>
+ <strong><a name="KillProb">KillProb</a></strong>
+ [<span style="color: #008800">double probability=0.9</span>]
+
+ <p>
+ Using the specified probability, test each organism to see if it is killed off.
+ </p>
+</li>
+<li>
+ <strong><a name="KillRate">KillRate</a></strong>
+ [<span style="color: #008800">double probability=0.9</span>]
+
+ <p>
+ Randomly removes a certain proportion of the population.
+ In principle, this action does the same thing as the KillProb event.
+ However, instead of a probability, here one has to specify a rate. The
+ rate has the same unit as fitness. So if the average fitness is 20000,
+ than you remove 50% of the population on every update with a removal rate
+ of 10000.
+ </p>
+</li>
+<li>
+ <strong><a name="KillRectangle">KillRectangle</a></strong>
+ [<span style="color: #008800">int x1=0</span>] [<span style="color: #008800">int y1=0</span>]
+ [<span style="color: #008800">int x2=0</span>] [<span style="color: #008800">int y2=0</span>]
+
+ <p>
+ Kill off all organisms in a rectangle defined by the points (x1, y1) and (x2, y2).
+ </p>
+</li>
+<li>
+ <strong><a name="SerialTransfer">SerialTransfer</a></strong>
+ [<span style="color: #008800">int transfer_size=1</span>] [<span style="color: #008800">int ignore_deads=1</span>]
+
+ <p>
+ Similar to KillProb, but we specify the exact number of organisms to
+ keep alive after the event. The <span style="color: #008800">ignore_deads</span>
+ argument determines whether only living organisms are retainted.
+ </p>
+</li>
+
+<li>
+ <strong><a name="SetMutProb">SetMutProb</a></strong>
+ [<span style="color: #008800">string mut_type='copy'</span>] [<span style="color: #008800">double prob=0.0</span>]
+ [<span style="color: #008800">int start_cell=-1</span>] [<span style="color: #008800">int end_cell=-1</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="ModMutProb">ModMutProb</a></strong>
+ [<span style="color: #008800">string mut_type='copy'] [<span style="color: #008800">double prob=0.0</span>]
+ [<span style="color: #008800">int start_cell=-1</span>] [<span style="color: #008800">int end_cell=-1</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="ZeroMuts">ZeroMuts</a></strong>
+
+ <p>
+ This event will set all mutation rates to zero.
+ </p>
+</li>
+
+<li>
+ <strong><a name="CompeteDemes">CompeteDemes</a></strong>
+ [<span style="color: #008800">int type=1</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="ResetDemes">ResetDemes</a></strong>
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="CopyDeme">CopyDeme</a></strong>
+ <<span style="color: #008800">int src_id</span>> <<span style="color: #008800">int dest_id</span>>
+
+ <p>
+ </p>
+</li>
+
+<li>
+ <strong><a name="SeverGridCol">SeverGridCol</a></strong>
+ [<span style="color: #008800">int col_id=-1</span>] [<span style="color: #008800">int min_row=0</span>]
+ [<span style="color: #008800">int max_row=-1</span>]
+
+ <p>
+ Remove the connections between cells along a column in an Avida grid.
+ </p>
+</li>
+<li>
+ <strong><a name="SeverGridRow">SeverGridRow</a></strong>
+ [<span style="color: #008800">int row_id=-1</span>] [<span style="color: #008800">int min_col=0</span>]
+ [<span style="color: #008800">int max_col=-1</span>]
+
+ <p>
+ Remove the connections between cells along a row in an Avida grid.
+ </p>
+</li>
+<li>
+ <strong><a name="JoinGridCol">JoinGridCol</a></strong>
+ [<span style="color: #008800">int col_id=-1</span>] [<span style="color: #008800">int min_row=0</span>]
+ [<span style="color: #008800">int max_row=-1</span>]
+
+ <p>
+ Add connections between cells along a column in an Avida grid.
+ </p>
+</li>
+<li>
+ <strong><a name="JoinGridRow">JoinGridRow</a></strong>
+ [<span style="color: #008800">int row_id=-1</span>] [<span style="color: #008800">int min_col=0</span>]
+ [<span style="color: #008800">int max_col=-1</span>]
+
+ <p>
+ Add connections between cells along a row in an Avida grid.
+ </p>
+</li>
+
+<li>
+ <strong><a name="ConnectCells">ConnectCells</a></strong>
+ <<span style="color: #008800">int cellA_x</span>> <<span style="color: #008800">int cellA_y</span>>
+ <<span style="color: #008800">int cellB_x</span>> <<span style="color: #008800">int cellB_y</span>>
+
+ <p>
+ Connects a pair of specified cells.
+ </p>
+</li>
+<li>
+ <strong><a name="DisconnectCells">DisconnectCells</a></strong>
+ <<span style="color: #008800">int cellA_x</span>> <<span style="color: #008800">int cellA_y</span>>
+ <<span style="color: #008800">int cellB_x</span>> <<span style="color: #008800">int cellB_y</span>>
+
+ <p>
+ Disconnects a pair of specified cells.
+ </p>
+</li>
+</ul>
+
+
+
+<p> </p>
+<h2><a name="EnvironmentActions">Environment Actions</a></h2>
+
+<p>
+Events that allow user to change environment properties, such as resources
+and reaction parameters.
+</p>
+<ul>
+<li>
+ <strong><a name="InjectResource">InjectResource</a></strong>
+ <<span style="color: #008800">string res_name</span>> <<span style="color: #008800">double res_count</span>>
+
+ <p>
+ Inject (add) a specified amount of a specified resource.
+ <span style="color: #008800">res_name</span> must already exist as
+ a resource in environment file.
+ </p>
+</li>
+<li>
+ <strong><a name="InjectScaledResource">InjectScaledResource</a></strong>
+ <<span style="color: #008800">string res_name</span>> <<span style="color: #008800">double res_count</span>>
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="OutflowScaledResource">OutflowScaledResource</a></strong>
+ <<span style="color: #008800">string res_name</span>> <<span style="color: #008800">double res_percent</span>>
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="SetResource">SetResource</a></strong>
+ <<span style="color: #008800">string res_name</span>> <<span style="color: #008800">double res_count</span>>
+
+ <p>
+ Set the resource amount to a specific level.
+ <span style="color: #008800">res_name</span> must already exist as
+ a resource in environment file.
+ </p>
+</li>
+
+<li>
+ <strong><a name="SetReactionValue">SetReactionValue</a></strong>
+ <<span style="color: #008800">string reaction_name</span>> <<span style="color: #008800">double value</span>>
+
+ <p>
+ Set the reaction value to a specific level.
+ <span style="color: #008800">reaction_name</span> must already
+ exist in the environment file.
+ <span style="color: #008800">value</span> can be negative.
+ </p>
+</li>
+<li>
+ <strong><a name="SetReactionValueMult">SetReactionValueMult</a></strong>
+ <<span style="color: #008800">string reaction_name</span>> <<span style="color: #008800">double value</span>>
+
+ <p>
+ Multiply the reaction value by the <span style="color: #008800">value</span>.
+ <span style="color: #008800">reaction_name</span> must already
+ exist in the environment file.
+ <span style="color: #008800">value</span> can be negative.
+ </p>
+</li>
+<li>
+ <strong><a name="SetReactionInst">SetReactionInst</a></strong>
+ <<span style="color: #008800">string reaction_name</span>> <<span style="color: #008800">string inst</span>>
+
+ <p>
+ Set the instruction triggered by this reaction.
+ <span style="color: #008800">reaction_name</span> must already
+ exist in the environment file.
+ <span style="color: #008800">inst</span> must be in the instruction set.
+ </p>
+</li>
+</ul>
+
+
+
+<p> </p>
+<h2><a name="SaveLoadActions">Save Load Actions</a></h2>
+
+<p>
+</p>
+<ul>
+<li>
+ <strong><a name="SaveClone">SaveClone</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ Save a clone of this organism to the file specified; if no filename is
+ given, use the name clone.<em>update</em>. The update number allows regular
+ clones with distinct filenames to be saved with the same periodic event.
+ Running <kbd>avida -l filename</kbd> will start an avida population with the
+ saved clone. Note that a clone only consists of the genomes in
+ the population, and their current state is lost, so the run may not
+ proceed identically as to if it had continued as it was going.
+ </p>
+</li>
+<li>
+ <strong><a name="LoadClone">LoadClone</a></strong>
+ <<span style="color: #008800">string fname</span>>
+
+ <p>
+ </p>
+</li>
+
+<li>
+ <strong><a name="LoadPopulation">LoadPopulation</a></strong>
+ <<span style="color: #008800">string fname</span>> [<span style="color: #008800">int update=-1</span>]
+
+ <p>
+ Sets up a population based on a save file such as written out by
+ SavePopulation. It is also possible to append a history file to the
+ save file, in order to preserve the history of a previous run.
+ </p>
+</li>
+
+<li>
+ <strong><a name="DumpPopulation">DumpPopulation</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="SavePopulation">SavePopulation</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ Save the genotypes and lots of statistics about the population to the
+ file specified; if not filename is given, use the name
+ <kbd>detail-<em>update</em>.pop</kbd>. As with clones, the update number
+ allows a single event to produce many detail files. The details are used
+ to collect crossection data about the population.
+ </p>
+</li>
+<li>
+ <strong><a name="SaveSexPopulation">SaveSexPopulation</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="SaveParasitePopulation">SaveParasitePopulation</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="SaveHistoricPopulation">SaveHistoricPopulation</a></strong>
+ [<span style="color: #008800">int back_dist=-1</span>] [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ This action is used to output all of the ancestors of the currently
+ living population to the file specified, or <kbd>historic-<em>update</em>.pop</kbd>.
+ </p>
+</li>
+<li>
+ <strong><a name="SaveHistoricSexPopulation">SaveHistoricSexPopulation</a></strong>
+ [<span style="color: #008800">string fname=''</span>]
+
+ <p>
+ </p>
+</li>
+</ul>
+
+
+
+<p> </p>
+<h2><a name="LandscapeActions">Landscape Analysis Actions</a></h2>
+
+<p>
+Landscape analysis actions perform various types mutation studies to
+calculate properties of the fitness landscape for a particular genome.
+When scheduled as an event during a run, these actions will typically
+perform analysis on the dominant genotype. In analyze mode, analysis
+is performed on the entire currently selected batch.
+</p>
+<p>
+These actions are often very computationally intensive, thus will
+take a long time to compute. In order to take advantage of increasingly
+available multi-processor/multi-core systems, a number of these actions
+have been enhanced to make use of multiple threads to parallize work.
+Set the configuration setting <code>MT_CONCURRENCY</code> to the number
+of logical processors available to make use of all processor resources
+for these compuations.
+</p>
+<ul>
+<li>
+ <strong><a name="AnalyzeLandscape">AnalyzeLandscape</a></strong>
+ [<span style="color: #008800">filename='land-analyze.dat'</span>] [<span style="color: #008800">int trials=1000</span>]
+ [<span style="color: #008800">int min_found=0</span>] [<span style="color: #008800">int max_trials=0</span>]
+ [<span style="color: #008800">int max_dist=10</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PrecalcLandscape">PrecalcLandscape</a></strong>
+
+ <p>
+ Precalculate the distance 1 full landscape for the current batch in parallel
+ using multiple threads. The resulting data can be used by the analyze mode
+ <code>DETAIL</code> command. The values created can be lazily evaluated by
+ the <code>DETAIL</code>, however the calculation will be serialized.
+ </p>
+</li>
+<li>
+ <strong><a name="FullLandscape">FullLandscape</a></strong>
+ [<span style="color: #008800">string filename='land-full.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+ [<span style="color: #008800">string entropy_file=''</span>] [<span style="color: #008800">string sitecount_file=''</span>]
+
+ <p>
+ Do a landscape analysis of the dominant genotype or current batch of genotypes,
+ depending on the current mode. The resulting output is a collection of
+ statistics obtained from examining all possible mutations at the distance
+ specified. The default distance is one.
+ </p>
+</li>
+<li>
+ <strong><a name="DeletionLandscape">DeletionLandscape</a></strong>
+ [<span style="color: #008800">string filename='land-del.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+ [<span style="color: #008800">string sitecount_file=''</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="InsertionLandscape">InsertionLandscape</a></strong>
+ [<span style="color: #008800">string filename='land-ins.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+ [<span style="color: #008800">string sitecount_file=''</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PredictWLandscape">PredictWLandscape</a></strong>
+ [<span style="color: #008800">string filename='land-predict.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PredictNuLandscape">PredictNuLandscape</a></strong>
+ [<span style="color: #008800">string filename='land-predict.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="RandomLandscape">RandomLandscape</a></strong>
+ [<span style="color: #008800">string filename='land-random.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+ [<span style="color: #008800">int trials=0</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="SampleLandscape">SampleLandscape</a></strong>
+ [<span style="color: #008800">string filename='land-sample.dat'</span>] [<span style="color: #008800">int trials=0</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="HillClimb">HillClimb</a></strong>
+ [<span style="color: #008800">string filename='hillclimb.dat'</span>]
+
+ <p>
+ Does a hill climb with the dominant genotype.
+ </p>
+</li>
+<li>
+ <strong><a name="HillClimbNeut">HillClimbNeut</a></strong>
+ [<span style="color: #008800">string filename='hillclimb.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="HillClimbRand">HillClimbRand</a></strong>
+ [<span style="color: #008800">string filename='hillclimb.dat'</span>]
+
+ <p>
+ </p>
+</li>
+<li>
+ <strong><a name="PairTestLandscape">PairTestLandscape</a></strong>
+ [<span style="color: #008800">string filename=''</span>] [<span style="color: #008800">int sample_size=0</span>]
+
+ <p>
+ If sample_size = 0, pairtest the full landscape.
+ </p>
+</li>
+</ul>
+
+
+
+<p> </p>
+<h2><a name="DriverActions">Driver Actions</a></h2>
+
+<p>
+These actions control the driver object responsible for executing the current run.
+</p>
+<ul>
+<li>
+ <strong><a name="Exit">Exit</a></strong>
+
+ <p>
+ Unconditionally terminate the current run.
+ </p>
+</li>
+<li>
+ <strong><a name="ExitAveLineageLabelGreater">ExitAveLineageLabelGreater</a></strong>
+ <<span style="color: #008800">double threshold</span>>
+
+ <p>
+ Halts the run if the current average lineage label is larger
+ than <span style="color: #008800">threshold</span>.
+ </p>
+</li>
+<li>
+ <strong><a name="ExitAveLineageLabelLess">ExitAveLineageLabelLess</a></strong>
+ <<span style="color: #008800">double threshold</span>>
+
+ <p>
+ Halts the run if the current average lineage label is smaller
+ than <span style="color: #008800">threshold</span>.
+ </p>
+</li>
+</ul>
+
+
+<hr />
+<p>
+<a href="index.html">Return to the Index</a> |
+<a href="events.html">The Events File</a> |
+<a href="analyze.html">The Analyze File</a>
+</p>
+
+</body>
+</html>
Copied: development/documentation/analyze.html (from rev 898, development/documentation/analyze_mode.html)
Deleted: development/documentation/analyze_mode.html
===================================================================
--- development/documentation/analyze_mode.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/analyze_mode.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,543 +0,0 @@
-<html>
-<title>The Analyze File</title>
-<body
- bgcolor="#FFFFFF"
- text="#000000"
- link="#0000AA"
- alink="#0000FF"
- vlink="#000044">
-
-<h2 align=center>The Analyze File</h2>
-
-<p>
-The file "<tt>analyze.cfg</tt>" is used to setup avida when its in
-analysis-only mode, which can be done by running "avida -a". It is used to
-perform additional tests on genotypes after a run has completed.
-
-<p>
-This analysis language is basically a simple programming language. The
-structure of a program involves loading in genotypes in one or more
-"batches", and then either manipulating single batches, or doing comparisons
-between batches. Currently there can be up to 2000 batches of genotypes, but
-we will eventually remove this limit.
-
-<p>
-The rest of this file describes how individual commands work, as well
-as some notes on other languages features, like how to use variables. As
-a formatting guide, command arguments will be presented between brackets,
-such as [<font color="#0000AA">filename</font>]. If that argument is
-mandatory, it will be in blue. If it is optional, it will be in green, and
-(if relevant) a default value will be listed, such as
-[<font color="#008800">filename="output.dat"</font>]
-
-<p>
-There are currently six ways to load in genotypes:
-
-<p align=center><b>Table 1: <font color="#008800">Genotype Loading Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>LOAD_ORGANISM [<font color="#0000AA">filename</font>]</b><br>
- Load in a normal single-organism file of the type that is output
- from avida. These consist of lots of organismal information inside
- of comments, and then the full genome of the organism with one
- instruction per line.
-<tr><td><b>LOAD [<font color="#0000AA">filename</font>]</b><br>
- Load in a file that contains a list of genotypes, one-per-line with
- additional informaiton about those genotypes. Avida now includes a header
- on such files indicating the values containted in each column. As such,
- this command supercedes the now-depricated "LOAD_BASE_DUMP" and
- "LOAD_DETAIL_DUMP", and can handle those file types.
-<tr><td><b>LOAD_SEQUENCE [<font color="#0000AA">sequence</font>]</b><br>
- Load in a user-provided sequence as the genotype. Avida has a
- symbol associated with each instruction; this command is simply
- followed by a sequence of such symbols that is than translated back
- into a proper genotype.
-<tr><td><b>LOAD_MULTI_DETAIL [<font color="#0000AA">start-UD</font>] [<font color="#0000AA">step-UD</font>] [<font color="#0000AA">stop-UD</font>] [<font color="#008800">dir='./'</font>] [<font color="#008800">start batch=0</font>]</b><br>
- Allows the user to load in multiple detail files at once, one per
- batch. This is helpful when you're trying to do parallel analysis
- on many detail files, or else to create a phylogenetic depth map.<br>
-
- Example: <tt>LOAD_MULTI_DETAIL 100 100 100000 ../my_run/run100/</tt><br>
-
- This would load in the files detail_pop.100 through detail_pop.100000
- in steps of 100, from the directory of my choosing. Since 1000 files will
- be loaded and we didn't specify starting batch, they will be put in
- batches 0 through 999.
-
-
-</table>
-
-<p>
-A future addition to this list is a command that will use the "dominant.dat"
-file to identify all of the dominant genotypes from a run, and then lookup and
-load their individual genomes from the genebank directory. Also, the
-commands LOAD_BASE_DUMP and LOAD_DETAIL_DUMP currently require fixed-formated
-files. New output files from avida have tags listed for their column names,
-and as such we already have a working prototype of a generic "LOAD" command
-that will figure out the file format and be able to load in all of the data
-properly.
-
-<p>
-All of the load commands place the new genotypes into the "current" batch,
-which can be set with the "SET_BATCH" command. Below is the list of control
-functions that allow you to manipulate the batches.
-
-<p align=center><b>Table 2: <font color="#008800">Batch Control Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>SET_BATCH [<font color="#0000AA">id</font>]</b><br>
- Set the batch that is currently active; the initial active batch
- at the start of a program is 0.
-<tr><td><b>NAME_BATCH [<font color="#0000AA">name</font>]</b><br>
- Attach a name to the current batch. Some of the printing methods
- will print data from multiple batches, and we want the data from each
- batch to be attached to a meaningful identifier.
-<tr><td><b>PURGE_BATCH [<font color="#008800">id=current</font>]</b><br>
- Remove all genotypes in the specified batch (if no argument is given,
- the current batch is purged.
-<tr><td><b>DUPLICATE [<font color="#0000AA">id1</font>]
- [<font color="#008800">id2=current</font>]</b><br>
- Copy the genotypes from batch id1 into id2. By default,
- copy id1 into the current batch. Note that duplicate is
- <i>non-destructive</i> so you should purge the target batch first if
- you don't want to just add more genotypes to the ones already in
- that batch.
-<tr><td><b>STATUS</b><br>
- Print out (to the screen) the genotype count of each non-empty batch
- and identify the currently active batch.
-</table>
-
-<p>
-There are several other commands that will allow you to interact with the
-analysis mode in some very important ways, but don't actually trigger any
-analysis tests or output. Below are a list of some of the more important
-control commands.
-
-<p align=center><b>Table 3: <font color="#008800">More Analysis Control Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>VERBOSE </b><br>
- Toggle verbose/minimal messages. Verbose messages will print all
- of the details of what is happening to the screen. Minimal messages
- will only briefly state the process being run. Verbose messages are
- recommended if you're in interactive mode.
-<tr><td><b>SYSTEM [<font color="#0000AA">command</font>]</b><br>
- Run the command listed on the command line. This is particularly
- useful if you need to unzip files before you can use them, or if
- you want to delete files no longer in use.
-<tr><td><b>INCLUDE [<font color="#0000AA">filename</font>]</b><br>
- Include another file into this one and run its contents immediately.
- This is useful if you have some pre-written routines that you want
- to have available in several analysis files. Watch out because there
- are currently no protections against circular includes.
-<tr><td><b>INTERACTIVE</b><br>
- Place Avida analysis into interactive mode so that you can type
- commands have have them immediately acted upon. You can place this
- anywhere within the analyze file, so that you can have some
- processing done before interactive mode starts. You can type "quit"
- at any point to continue with the normal processing of the file.
-<tr><td><b>DEBUG [<font color="#0000AA">message</font>] </b><br>
- <b>ECHO [<font color="#0000AA">message</font>] </b><br>
- These are both "echo" commands that will print a message (the
- arguments given) onto the screen. If there are any variables (see
- below) in the message, they will be translated before printing, so
- this is a good way of debugging your programs.
-</table>
-
-<p>
-Now that we know how to interact with analysis mode, and load in genotypes,
-its important to be able to manipulate them. The next batch of commands
-will do basic analysis on genotypes, and allow the user to prune batches
-to only include those genotypes that are needed.
-
-
-<p align=center><b>Table 4: <font color="#008800">Genotype Manipulation Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>RECALCULATE [<font color="#008800">use_resources=0</font>]</b><br>
- Run all of the genotypes in the current batch through a test CPU
- and record the measurements taken (fitness, gestation time, etc.).
- This overrides any values that may have been loaded in with the
- genotypes. The use_resources flags signifies whether or not the
- test cpu will use resources when it runs. For more information
- on resources, see the <a href="#USING_RESOURCES">summary</a> below.
-<tr><td><b>FIND_GENOTYPE [<font color="#008800">type="num_cpus" ...</font>]</b><br>
- Remove all genotypes but the one selected. Type indicates which
- genotype to choose. Options available for type are "num_cpus" (to
- choose the genotype with the maximum organismal abundance at time of
- printing), "total_cpus" (number of organisms ever of this genotype),
- "fitness", or "merit". If a the type entered is numerical, it is
- used as an id number to indicate the desired genotype (if no such id
- exists, a warning will be given). Multiple arguments can be given to
- this command, in which case all those genotypes in that list will be
- preserved and the remainder deleted.
-<tr><td><b>FIND_ORGANISM [<font color="#008800">random</font>]</b><br>
- Picks out a random organism from the population and removes all
- others. It is different from FIND_GENOTYPE because it takes into
- account relative number of organisms within each genotype. To pick
- more than one organisms, list the word 'random' multiple times. This
- is essentially sampling without replacement from the population.
-<tr><td><b>FIND_LINEAGE [<font color="#008800">type="num_cpus"</font>] </b><br>
- Delete everything except the lineage from the chosen genotype back
- to the most distant ancestor available. This command will only
- function properly if parental information was loaded in with the
- genotypes. Type is the same as the FIND_GENOTYPE command.
-<tr><td><b>FIND_SEX_LINEAGE [<font color="#008800">type="num_cpus"</font>]
- [<font color="#008800">parent_method="rec_region_size"</font>] </b><br>
- Delete everything except the lineage from the chosen genotype back
- to the most distant ancestor available. Similar to FIND_LINEAGE but
- works in sexual populations. To simplify things, only maternal lineage plus
- immediate fathers are saved, i.e. info about father's parents is discarded.
- The second option, parent_method, determines which parent is considered the
- "mother" in each particular recombination. If parent_method is "rec_region_size" :
- "mother" is the parent contributing more code to the offspring genome
- (default); if it's "genome_size", "mother" is the parent with the longer
- genome, no matter how much of it was contributed to the offspring.
- This command will only function properly if parental information was
- loaded in with the genotypes. Type is the same as the FIND_GENOTYPE command.
-<tr><td><b>ALIGN</b><br>
- Create an alignment of all the genome's sequences; It will place '_'s
- in the sequences to show the alignment. Note that a "FIND_LINEAGE"
- must first be run on the batch in order for the alignment to be
- possible.
-<tr><td><b>SAMPLE_ORGANISMS [<font color="#0000AA">fraction</font>]
- [<font color="#008800">test_viable=0</font>] </b><br>
- Keep only "fraction" of organisms in the current batch. This
- is done per organism, <i>not</i> per genotype. Thus, genotypes of high
- abundance may only have their abundance lowered, while genotypes
- of abundance 1 will either stay or be removed entirely. If test_viable is
- set to 1, sample only from the viable organisms.
-<tr><td><b>SAMPLE_GENOTYPES [<font color="#0000AA">fraction</font>]
- [<font color="#008800">test_viable=0</font>] </b><br>
- Keep only fraction of genotypes in the current batch. If test_viable is
- set to 1, sample only from the viable genotypes.
-<tr><td><b>RENAME [<font color="#008800">start_id=0</font>]</b><br>
- Change the id numbers of all the genotypes to start at a given value.
- Often in long runs we will be dealing with ID's in the millions. In
- particular, after reducing a batch to a lineage, we will often want
- to number the genotypes in order from the ancestor to the final one.
-</table>
-
-<p>
-Next, we are going to look at the standard output commands that will used to
-save information generated in analyze mode.
-
-
-<p align=center><b>Table 5: <font color="#008800">Basic Output Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>PRINT [<font color="#008800">dir="genebank/"</font>]
- [<font color="#008800">filename</font>] </b><br>
- Print the genotypes from the current batch as individual files (one
- genotype per file) in the directory given. If no filename is specified,
- the files will be named by the genotype name, with a ".gen" appended to
- them. Specifying the filename is useful when printing a single genotype.
-<tr><td><b>TRACE [<font color="#008800">dir="genebank/"</font>] [ <font color="#008800">use_resources=0</font>] </b><br>
- Trace all of the genotypes and print a listing of their execution.
- This will show step-by-step the status of all of the CPU components
- and the genome during the course of the execution. The filename used
- for each trace will be the genotype's name with a ".trace" appended.
- The use resources flag signifies whether or not the test cpu will use
- resources when it runs. For more information on resources, see the
- <a href="#USING_RESOURCES">summary</a> below.
-<tr><td><b>PRINT_TASKS [<font color="#008800">file="tasks.dat"</font>] </b><br>
- This will print out the tasks doable by each genotype, one per line
- in the output file specified. Note that this information must either
- have been loaded in, or a RECALCULATE must have been run to collect
- it.
-<tr><td><b>DETAIL [<font color="#008800">file="detail.dat"</font>] [<font color="#008800">format ...</font>]</b><br>
- Print out all of the stats for each genotype, one per line. The
- format indicates the layout of columns in the file. If the filename
- specified ends in ".html", html formatting will be used instead of
- plain text. For the format, see the section on "Output Formats"
- below.
-<tr><td><b>DETAIL_TIMELINE [<font color="#008800">file="detail_timeline.dat"</font>]
- [<font color="#008800">time_step=100</font>]
- [<font color="#008800">max_time=100000</font>]</b><br>
- Details a time-sequence of dump files.
-<tr><td><b>DETAIL_BATCHES [<font color="#008800">file="detail_baches.dat"</font>]
- [<font color="#008800">format ...</font>]</b><br>
- Details all batches.
-<tr><td><b>DETAIL_INDEX [<font color="#0000AA">file</font>]
- [<font color="#0000AA">min_batch</font>] [<font color="#0000AA">max_batch</font>]
- [<font color="#008800">format ...</font>]</b><br>
- Detail all the batches between min_batch and max_batch.
-<tr><td><b>DETAIL_AVERAGE [<font color="#008800">file="detail.dat"</font>]
- [<font color="#008800">format ...</font>]</b><br>
- Detail the current batch, but print out the average for each argument, as opposed to the
- individual values for each genotype, the way DETAIL would. Arguments are the same as for DETAIL.
- it takes into account the relative abundance of each genotype in the batch when calculating the
- averages.
-</table>
-
-<p>
-And at last, we have the actual analysis commands that perform tests on
-the data and output the results.
-
-<p align=center><b>Table 6: <font color="#008800">Analysis Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>LANDSCAPE [<font color="#008800">file="landscape.dat"</font>]
- [<font color="#008800">dist=1</font>]
- [<font color="#008800">nume_test=(all)</font>]</b><br>
- For each genotype in the current batch, test all possible mutations
- (or combinations of mutations if dist > 1) and summarize the results,
- one per line in the specified file.
- If <b>nume_test</b> is specified, randomly pick that many mutants
- to test, instead of testing all (important for large <b>dist</b>)
-<tr><td><b>ANALYZE_EPISTASIS [<font color="#008800">file="epistasis.dat"</font>]
- [<font color="#008800">num_test=(all)</font>]</b><br>
- For each genotype in the current batch, test possible
- double mutatants, and single mutations composing them; print both of
- individual relative fitnesses and the double mutant relative fitness.
- By default all double mutants are tested. If in a hurry, specify the
- number to be tested (<b>num_test</b>)
-<tr><td><b>MAP_TASKS [<font color="#008800">dir="phenotype/"</font>]
- [<font color="#008800">flags ...</font>]
- [<font color="#008800">format ...</font>] </b><br>
- Construct a genotype-phenotype array for each genotype in the
- current batch. The format is the list of stats that you want
- to include as columns in the array. Additionally you can have
- special format flags; the possible flags are "html" to print output
- in HTML format, and "link_maps" to create html links between
- consecutive genotypes in a lineage.
-<tr><td><b>MAP_MUTATIONS [<font color="#008800">dir="mutations/"</font>]
- [<font color="#008800">flags ...</font>] </b><br>
- Construct a genome-mutation array for each genotype in the
- current batch. The format has each line in the genome as a row
- in the chart, and all available instructions representing the columns.
- The cells in the chart indicate the fitness were a mutation to
- occur at the position in the matrix, to the listed instruction.
- If the "html" flag is used, the charts will be output in HTML format.
-<tr><td><b>MAP_DEPTH [<font color="#008800">filename='depth_map.dat'</font>] [<font color="#008800">min_batch=0</font>] [<font color="#008800">max_batch=cur_batch-1</font>]</b><br>
- This will create a depth map (like those we use for phylogeny
- visualization) in the filename specified. You can direct which
- batches to take this from, but by default it will work perfectly after
- a LOAD_MULTI_DETAIL.
-
-
-<tr><td><b>AVERAGE_MODULATITY [<font color="#008800">file="modularity.dat"</font>]
- [<font color="#008800">task.0 task.1 task.2 task.3 task.4 task.5
- task.6 task.7 task.8</font>] </b><br>
- Calculate several modularity measuers, such as how many tasks is an
- instruction involved in, number of sites required for each task, etc.
- The measures are averaged over all the organisms in the current batch
- that perform any tasks. For the full output list, do
- "AVERAGE_MODULATITY legend.dat" At the moment doesn't support html
- output format and works with only 1 and 2 input tasks.
-<tr><td><b>HAMMING [<font color="#008800">file="hamming.dat"</font>]
- [<font color="#008800">b1=current</font>]
- [<font color="#008800">b2=b1</font>] </b><br>
- Calculate the hamming distance between batches b1 and b2. If only
- one batch is given, calculations are on all pairs within that batch.
-<tr><td><b>LEVENSTEIN [<font color="#008800">file="lev.dat"</font>]
- [<font color="#008800">batch1</font>]
- [<font color="#008800">b2=b1</font>]</b><br>
- Calculate the levenstein distance (edit distance) between batches b1
- and b2. This metric is similar to hamming distance, but calculates
- the minimum number of single insertions, deletions, and mutations to
- move from one sequence to the other.
-<tr><td><b>SPECIES [<font color="#008800">file="species.dat"</font>]
- [<font color="#0000AA">bach1</font>]
- [<font color="#0000AA">bach2</font>]
- [<font color="#0000AA">num_recombinants</font>]</b><br>
- Calculates the percentage of non-viable recombinants between all
- pairs of organisms from batches 1 and 2. Number of random recombination
- events for each pair of organisms is specified by num_recombinants.
- Recombination is done in the same way as in the birth chamber when
- divide-sex is executed. <br>
- Output: Batch1Name Batch2Name AveDistance Count FailCount
-<tr><td><b>RECOMBINE
- [<font color="#0000AA">bach1</font>]
- [<font color="#0000AA">bach2</font>]
- [<font color="#0000AA">bach3</font>]
- [<font color="#0000AA">num_recombinants</font>]</b><br>
- Similar to Species command, but instead of calculating things on the spot,
- just create all the recombinant genotypes using organisms from baches 1 and 2
- and put them in the batch3.
-</table>
-
-<a name="USING_RESOURCES"></a>
-<h3>Using Test CPU Resources Summary</h3>
-<p>
-This summary is given to help explain the use and constraints for using resources.
-
-<p>
-When a command specifies the use of resources for the test cpu, it should not
-affect the state of the test cpu after the command has finished. However, this
-means that the test cpu is no longer guaranteed to be reentrant. Each command
-will set up the environment and the resource count in the test cpu with it's own
-environment and resource count. When the command has finished it will set the the
-test cpu's environment and resource count back to what they were before the command
-was executed.
-
-<p>
-Resource usage for the test cpu occurs by setting the environment and then
-setting up the resource count using the environment. Once the resource
-count has been set up, it will not change during the use of the test cpu.
-When an organism performs and IO, completing a task, the concentrations are
-not changed. This was a design decision, but is easily changed.
-
-<p>
-In analyze, a new data structure was included which contains a time ordered
-list of resource concentrations. This list can be used to set up resources
-from different time points. By using the FillResources function, you can
-have the resource library updated with resource concentrations from a time
-point closest to the user specified time point. If the LOAD_RESOURCES
-command is not called, the list defaults to a single entry which is the
-the initial concentrations of the resources specified in the environment
-configuration file.
-
-<p align=center><b>Table 7: <font color="#008800">Test CPU Resource Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>PRINT_TEST_CPU_RESOURCES </b><br>
- This command first prints the whether or not the test cpu is using
- resources. Then it will print the concentration for each resource.
-<tr><td><b>LOAD_RESOURCES [<font color="#008800">file_name="resource.dat"</font>] </b><br>
- This command loads a time oriented list of resource concentrations.
- The command takes a file name containing this type of data, and
- defaults to resource.dat. The format of the file must be the same
- as resource.dat, and each line must be in the correct chronological
- order with oldest first.
-</table>
-
-<h3>Output Formats</h3>
-
-<p>
- Several commands (such as DETAIL and MAP) require format parameters
- to specify what genotypic features should be output. Before the
- such commands are used, other collection functions may need to be
- run.
-
-<p>
- Allowable formats after a normal load (assuming these values were available
- from the input file to be loaded in) are:
-<p>
-<center>
-<table width=95%>
-<tr><td width=33%><b>id</b> (Genome ID)
- <td width=33%><b>parent_id</b> (Parent ID)
- <td width=33%><b>num_cpus</b> (Number of CPUs)
-<tr><td><b>total_cpus</b> (Total CPUs Ever)
- <td><b>length</b> (Genome Length)
- <td><b>update_born</b> (Update Born)
-<tr><td><b>update_dead</b> (Update Dead)
- <td><b>depth</b> (Tree Depth)
- <td><b>sequence</b> (Genome Sequence)
-</table>
-</center>
-
-<p>
- After a RECALCULATE, the additional formats become available:
-
-<p>
-<center>
-<table width=95%>
-<tr><td width=33%><b>viable</b> (Is Viable [0/1])
- <td width=33%><b>copy_length</b> (Copied Length)
- <td width=33%><b>exe_length</b> (Executed Length)
-<tr><td><b>merit</b> (Merit)
- <td><b>comp_merit</b> (Computational Merit)
- <td><b>gest_time</b> (Gestation Time)
-<tr><td><b>efficiency</b> (Replication Efficiency)
- <td><b>fitness</b> (Fitness)
- <td><b>div_type</b> (Divide type used; 1 is default)
-<tr><td><b>task.n</b> (# of times task number n is done)
- <td><b>task.n:binary</b> (is task n done, 0/1)
-</table>
-</center>
-
-<p>
- If a FIND_LINEAGE was done before the RECALCULATE, the parent
- genotype for each regular genotype will be available, enabling the
- additional formats:
-
-<p>
-<center>
-<table width=95%>
-<tr><td width=50%><b>parent_dist</b> (Parent Distance)
- <td width=50%><b>comp_merit_ratio</b>, (Computational Merit Ratio with parent)
-<tr><td><b>efficiency_ratio</b> (Replication Efficiency Ratio with parent)
- <td><b>fitness_ratio</b> (Fitness Ratio with parent)
-<tr><td><b>parent_muts</b> (Mutations from Parent)
- <td><b>html.sequence</b> (Genome Sequence in Color; html format)
-</table>
-</center>
-
-<p>
-If an ALIGN is run, one additional format is available:
-<p>
-<center>
-<table width=95%>
-<tr><td><b>alignment</b> (Aligned Sequence)
-</table>
-</center>
-
-<p>
-Finally, there are a handful of commands that will automatically perform
-landscapping. The landscape will only be run once per organism even when
-multiple output variables are used.
-<p>
-<center>
-<table width=95%>
-<tr><td><b>frac_dead</b> (Fraction of Lethal Mutations)</td>
- <td><b>frac_neg</b> (Fraction of Harmful Mutations)</td></tr>
-<tr><td><b>frac_neut</b> (Fraction of Neutral Mutations)</td>
- <td><b>frac_pos</b> (Fraction of Beneficial Mutations)</td></tr>
-<tr><td><b>complexity</b> (Physical Complexity of Organism)</td>
- <td><b>land_fitness</b> (Average Mutation Fitness)</td></tr>
-</table>
-</center>
-
-
-
-<h3>Variables</h3>
-
-<p>
- For the moment, all variables can only be a single character (letter or
- number) and begin with a $ whenever they need to be translated to their
- value. Lowercase letters are global variables, capital letters are
- local to a function (described later), and numbers are arguments to a
- function. A $$ will act as a single dollar sign, if needed.
-
-<p align=center><b>Table 8: <font color="#008800">Variable-Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>SET [<font color="#0000AA">variable</font>]
- [<font color="#0000AA">value</font>] </b><br>
- Sets the variable to the value...
-<tr><td><b>FOREACH [<font color="#0000AA">variable</font>]
- [<font color="#0000AA">value</font>]
- [<font color="#008800">value ...</font>] </b><br>
- Set the variable to each of the values listed, and run the code that
- follows between here and the next END command once for each of
- those values.
-<tr><td><b>FORRANGE [<font color="#0000AA">variable</font>]
- [<font color="#0000AA">min_value</font>]
- [<font color="#0000AA">max_value</font>]
- [<font color="#008800">step_value=1</font>]</b><br>
- Set the variable to each of the values between min and max (at steps
- given), and run the code that follows between here and the next END
- command, once for each of those values.
-</table>
-
-<h3>Functions</h3>
-
-<p>
- These functions are currently very primitive with fixed inputs of
- $0 through $9. $0 is always the function name, and then there can be up
- to 9 other arguments passed through. Once a function is created, it can
- be run just like any other command.
-
-<p align=center><b>Table 9: <font color="#008800">Function-Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>FUNCTION [<font color="#0000AA">name</font>]</b><br>
- This will create a function of the given name, including in it all
- of the commands up until an END is found. These commands will be
- bound to the function, but are not executed until the function is
- run as a command. Inside the function, the variables $1 through $9
- can be used to access arguments passed in.
-</table>
-
-<p>
-Currently there are no conditionals or mathematical commands in this
-scripting language. These are both planned for the future.
-
-
-<br><hr>
-Project hosted by:<br>
-<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=46761&type=2" width="125" height="37" border="0" alt="SourceForge.net"/></a>
-
Deleted: development/documentation/code_events.html
===================================================================
--- development/documentation/code_events.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/code_events.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,342 +0,0 @@
-<html>
-<title>Avida Events Implementation</title>
-<body
- bgcolor="#FFFFFF"
- text="#000000"
- link="#0000AA"
- alink="#0000FF"
- vlink="#000044">
-
-<h2 align=center>Avida Events Implementation</h2>
-
-<p>
-Events is one of the most complex sub-systems within
-avida, but because of this we have automated the process of implementing
-new events. Normally, when you want to add to a
-component of avida, you need to make changes in at least three places: the
-header file to declare new classes or methods, the code file to write
-the full definition of those methods, and a third location to
-activate whatever you just wrote. A conscientious programmer will also
-make a fourth change to document this new feature.
-
-<p>
-Events used to be the worst case of this. Not only were more than
-these four procedures required, but they had to be done in a specific
-format that even I would need to look up.
-
-<p>
-A few years ago Travis Collier wrote a program (in the language Perl) that
-would parse a single, specially-formatted file and write out the corresponding
-C++ code, including documentation. This program is
-"<tt><font color="#008844">current/source/event/</font><font color="#000088">make_events.pl</font></tt>",
-in case you are interested in it (fortunately, you don't need to understand
-it to add events because Perl code can be a bit dense).
-The file that the program reads in is
-"<tt><font color="#008844">current/source/event/</font><font color="#000088">cPopulation.events</font></tt>", which is what you will actually be editing.
-
-<p>
-When you type "<tt>make</tt>" to compile Avida, it will automatically look
-to see if any modifications have been made to <tt>cPopulation.events</tt>,
-and if so it will run <tt>make_events.pl</tt> in order to update all of
-the event-related C++ files.
-
-<h3>The <tt><font color="#000088">cPopulation.events</font></tt> file</h3>
-
-<p>
-This file defines all events currently in avida, most of which affect the
-main object from class cPopulation, hence the origin of the filename.
-There were once other event-definition files named for non-population objects
-that could be affected, but we collapsed it all down to this single file to
-avoid confusion. Ideally we'll change this file's name soon for further
-clarity.
-
-<p>
-The text in this file is broken up into blocks, separated by blank lines.
-Each block represents the full definition of a single event.
-Do <b>not</b> skip any lines when you are defining an event, or else the
-Perl script will think you have begun the definition of a new event.
-Below is the basic format for a single event. Anything in
-<font color="#886600">brown</font> should be changed to be event specific,
-while portions in black are the same for all events:
-
-<p>
-<pre>
- <font color="#886600">event_name</font>
- :descr:
- /**
- * <font color="#886600">This is the documentation for this event. Notice that it can be</font>
- * <font color="#886600">multiple lines, but each line must begin with a single asterisk.</font>
- **/
- :args:
- <font color="#886600">variable_type variable_name default_value</font>
- <font color="#886600">var2_type var2_name var2_default</font>
- <font color="#886600">... ... ...</font>
- <font color="#886600">varN_type varN_name varN_default</font>
- :body:
- <font color="#886600">FirstThingToDo();</font>
- <font color="#886600">ThenDoThis();</font>
- <font color="#886600">AndAnyOtherFunctionsToBeRun();</font>
-</pre>
-
-<p>
-For any event whose only function is to execute a method of the population
-object there really isn't much to write. All events have access
-to <tt>population</tt>, which is a pointer to the primary population
-(of class cPopulation) in the Avida run. Additionally the events have access
-to several static classes such as <tt>cAvidaDriver_Base</tt>, but since this
-isn't something you've learned about yet, you shouldn't worry about it here.
-
-<p>
-Let's step through the sections of the event definition. First we have the
-<b><tt><font color="#886600">event_name</font></tt></b>, which can be any
-alpha-numeric sequence plus the underscore. This name is the name that is
-used from the <tt>events.cfg</tt> configuration file to specify that this is
-the event to be triggered.
-
-<p>
-The <b><tt>:descr:</tt></b> section is dropped as-is into the avida source
-code as the comments for this event. In C++, two methods for including
-comments are possible. The first, is a pair of slashes
-('<b><tt>//</tt></b>') that make the remainder of the line a comment.
-The second is a slash-star ('<b><tt>/*</tt></b>') to begin a comment, and
-then a star-slash ('<b><tt>*/</tt></b>') to denote its end. This latter
-approach allows a command to go for multiple lines. To make it clear to
-a reader that this is all part of a single comment, good programming
-practice dictates that we should begin each line with a single star
-('<b><tt>*</tt></b>').
-In addition to being placed in the source code, this documentation is
-output when you run avida with the "<tt>-events</tt>" flag from the command
-line. In the future, it will also be available from the graphical interface.
-
-<p>
-Next, we have the <b><tt>:args</tt></b> section of the event description.
-Here we list the variables that we want the user to set when they include
-this event in their configuration. For example, if we create an event that
-forces a single organism to write a term paper, we need to specify the
-organism that will be subject to this unfortunate task. We might include a
-line in this section like "<tt>int cell_id</tt>". This would mean that when
-the user sets up this event, they <i>must</i> specify which cell they are
-targeting. We could then include a second argument "<tt>int num_pages 5</tt>"
-so that the user can also specify how long the term paper should be. But
-notice that I included a "5" in this latter example. This means that the
-user can include the second argument to specify the number of pages, but if
-they don't, 5 will be the default. Thus the event
-"<tt>write_term_paper 100 3</tt>" would make the organism in cell 100
-write a three page term paper, while "<tt>write_term_paper 42</tt>" would
-make the organism in cell 42 write a five page paper. Since we did not
-include a default argument for cell_id, that variable must always be
-specified. Now, all you need to do is figure out how to best write this
-event, and you'll never have to write a paper again! Unfortunately, knowing
-them, they would probably make huge margins and pad the paper with a bunch
-of <tt>nop-X</tt> commands, hoping we won't notice.
-
-<p>
-Finally, we come to the <b><tt>:body:</tt></b> section, which contains the
-commands to be executed when this event is run. Since so much functionality
-is already implemented in the cPopulation class, quite often all that we
-need to do here is run a method of the population object. Below is such an
-example, using the <tt>inject</tt> command.
-
-<h3>Example: The <tt>inject</tt> event</h3>
-
-<p>
-The section headings are all <b>bold</b>; the remaining code uses
-a color scheme similar to the one I used previously:
-
-<center>
-<table width=90%>
-<tr>
-<td width=50%><font color="#886600"><b>Comments</b> are BROWN</font><br>
- <font color="#008800">Names of <b>Methods</b> are GREEN</font>
-<td width=50%><font color="#880000">Names of <b>types</b> (including
- <b>classes</b>) are RED</font><br>
- <font color="#000088"><b>Variable</b> names are BLUE</font>
-</table>
-</center>
-
-<pre>
- <b>inject</b>
- <b>:descr:</b>
- <font color="#886600">/**
- * Injects a single organism into the population.
- *
- * Parameters:
- * filename (string)
- * The filename of the genotype to load. If this is left empty, or the keyword
- * "START_CREATURE" is given, than the genotype specified in the genesis
- * file under "START_CREATURE" is used.
- * cell ID (integer) default: 0
- * The grid-point into which the organism should be placed.
- * merit (double) default: -1
- * The initial merit of the organism. If set to -1, this is ignored.
- * lineage label (integer) default: 0
- * An integer that marks all descendants of this organism.
- * neutral metric (double) default: 0
- * A double value that randomly drifts over time.
- **/</font>
- <b>:args:</b>
- <font color="#880000">cString</font> <font color="#000088">fname</font> "START_CREATURE"
- <font color="#880000">int</font> <font color="#000088">cell_id</font> 0
- <font color="#880000">double</font> <font color="#000088">merit</font> -1
- <font color="#880000">int</font> <font color="#000088">lineage_label</font> 0
- <font color="#880000">double</font> <font color="#000088">neutral_metric</font> 0
- <b>:body:</b>
- if (<font color="#000088">fname</font> == "START_CREATURE") <font color="#000088">fname</font> = <font color="#880000">cConfig</font>::<font color="#008800">GetStartCreature()</font>;
- <font color="#880000">cGenome</font> <font color="#000088">genome</font> =
- <font color="#880000">cInstUtil</font>::<font color="#008800">LoadGenome</font>(<font color="#000088">fname</font>, <font color="#000088">population</font>-><font color="#008800">GetEnvironment()</font>.<font color="#008800">GetInstLib()</font>);
- <font color="#000088">population</font>-><font color="#008800">Inject</font>(<font color="#000088">genome</font>, <font color="#000088">cell_id</font>, <font color="#000088">merit</font>, <font color="#000088">lineage_label</font>, <font color="#000088">neutral_metric</font>);
-
-</pre>
-
-<p>
-As indicated by its description, the "<tt>inject</tt>" command will inject a
-single organism into the population. The user can specify a filename that
-contains the organism's genome (or START_CREATURE to use this value from the
-genesis file), the cell in which the organism should be
-placed, the merit to start the organism with (or -1 to auto-calculate it on
-loading), a lineage label to tag all of this organism's offspring,
-and a neutral value that will drift over each generation. Each of
-these configuration values is supplied with a default so that the user
-is not required to enter any additional information.
-
-<p>
-But what actually happens when this event is run?
-
-<p>
-First, the <tt>if</tt>-statement checks if the user has entered
-(or left as default) the value <tt>"START_CREATURE"</tt> as the filename.
-If so, it looks up the proper filename (from the cConfig class that holds
-the current state of all the genesis variables -- we'll talk more about it
-soon) and sets this variable such that it is now indicating a real file.
-
-<p>
-The next line builds an object of class <font color="#880000">cGenome</font>
-using a function called <font color="#008800">LoadGenome</font>
-in the utility class <font color="#880000">cInstUtil</font>. This function
-needs the filename to load from, and an instruction set to convert the
-contents of that file into a genome. The instruction set is stored within
-the population's environment, and therefore requires a series of Methods to
-be called to retrieve it.
-
-<p>
-Finally, this event takes that newly created genome, and runs the method
-<font color="#008800">Inject</font> on the population object. This method
-takes in all of the information about the organism to be injected and then
-actually builds the cOrganism object and places into the population.
-
-
-<h3>Example: The <tt>inject_all</tt> event</h3>
-
-<p>
-Below is a slight variation on the <tt>inject</tt> command. Rather than
-injecting a single organism into a specific cell, it will inject identical
-organisms into every cell in the population.
-
-<p>
-
-<pre>
- <b>inject_all</b>
- <b>:descr:</b>
- <font color="#886600">/**
- * Injects identical organisms into all cells of the population.
- *
- * Parameters:
- * filename (string)
- * The filename of the genotype to load. If this is left empty, or the keyword
- * "START_CREATURE" is given, than the genotype specified in the genesis
- * file under "START_CREATURE" is used.
- * merit (double) default: -1
- * The initial merit of the organism. If set to -1, this is ignored.
- * lineage label (integer) default: 0
- * An integer that marks all descendants of this organism.
- * neutral metric (double) default: 0
- * A double value that randomly drifts over time.
- **/</font>
- <b>:args:</b>
- <font color="#880000">cString</font> <font color="#000088">fname</font> "START_CREATURE"
- <font color="#880000">double</font> <font color="#000088">merit</font> -1
- <font color="#880000">int</font> <font color="#000088">lineage_label</font> 0
- <font color="#880000">double</font> <font color="#000088">neutral_metric</font> 0
- <b>:body:</b>
- if (<font color="#000088">fname</font> == "START_CREATURE") <font color="#000088">fname</font> = <font color="#880000">cConfig</font>::<font color="#008800">GetStartCreature()</font>;
- <font color="#880000">cGenome</font> <font color="#000088">genome</font> =
- <font color="#880000">cInstUtil</font>::<font color="#008800">LoadGenome</font>(<font color="#000088">fname</font>, <font color="#000088">population</font>-><font color="#008800">GetEnvironment()</font>.<font color="#008800">GetInstLib()</font>);
- for (<font color="#880000">int</font> <font color="#000088">i</font> = 0; <font color="#000088">i</font> < <font color="#000088">population</font>-><font color="#008800">GetSize()</font>; <font color="#000088">i</font>++) {
- <font color="#000088">population</font>-><font color="#008800">Inject</font>(<font color="#000088">genome</font>, <font color="#000088">i</font>, <font color="#000088">merit</font>, <font color="#000088">lineage_label</font>, <font color="#000088">neutral_metric</font>);
- }
- <font color="#000088">population</font>-><font color="#008800">SetSyncEvents</font>(true);
-
-</pre>
-
-<p>
-The first difference that you should notice is the lack of the
-<font color="#000088"><tt>cell_id</tt></font> variable. Since we are no
-longer injecting into just a single cell, no cell ID needs to be
-included. The remaining differences are all in the body of the event.
-
-<p>
-The first two commands in the body remain the same; that is, the filename
-is finalized, and the genome used to create the organisms is itself
-constructed. The next thing we need to do is actually inject the organisms
-into each cell of the population. To run the Inject command once for each
-position we employ a <tt>for</tt> command. This command has a strange
-syntax:
-
-<pre>
- for ( <font color="#886600">setup</font> ; <font color="#886600">continue_test</font> ; <font color="#886600">step_method</font> ) {
- <font color="#886600">loop body</font>
- }
-
-</pre>
-
-<p>
-In our case, we want to set a variable to every number that represents
-a cell in the population. These numbers go from zero to the population size
-minus one. To build this loop, we <font color="#886600">setup</font> by
-creating a variable called <font color="#000088">i</font> and initialize it
-to 0 -- the ID of the first cell we plan to inject into. We want to
-keep injecting into all cells with ID less than the full population size, so
-our <font color="#886600">continue_test</font> tells us to keep going as
-long as i is less than that number. Finally our
-<font color="#886600">step_method</font> tells the program that after
-each execution of the contents of the loop, it should increment the value of
-i by one. The Inject method itself works the same as in the
-previous event.
-
-<p>
-Finally, we run the method <font color="#008800">SetSyncEvents</font>(true)
-on the population object. This is not necessary, but it helps keep the
-event triggers in proper sync. Since we just injected organisms into every
-site in the population, we have effectively reset the generation of the
-population to zero. This could screw up some events that are triggered based
-on generation if we're not careful, so we warn the population that such
-trouble may occur, and it should re-sync the events at its earliest
-convenience.
-
-<p>
-So that isn't so hard is it? Good! Now we get to some...
-
-<h3>Try it Out...</h3>
-
-<p>
-Here are a couple of example events that you can try implementing. The
-first one of them is the "<b><tt>inject_range</tt></b>" event. This event
-will be used when you want to inject organisms into more than one cell in the
-population, but not all of them. Where the normal <tt>inject</tt> event
-took a single cell_id value, this new event should take two of them -- a
-starting cell and a stopping cell. You should then use a <tt>for</tt> loop
-(similar to the one in "<tt>inject_all</tt>") to inject the genome into
-all cells in range. Extra credit if you test the order of the two numbers
-and swap them if the start_cell is larger than the end_cell.
-
-<p>
-The second event you are going to implement is "<b><tt>kill_cell</tt></b>"
-This is again somewhat similar to <tt>inject</tt> in code structure, but
-you're goal is to kill the organism (if one exists) in the specified cell.
-For help with how to do this, take a look at the <tt>apocalypse</tt> event,
-which causes a larger scale extinction.
-
-<br><hr>
-Project hosted by:<br>
-<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=46761&type=2" width="125" height="37" border="0" alt="SourceForge.net"/></a>
-
\ No newline at end of file
Deleted: development/documentation/code_genesis.html
===================================================================
--- development/documentation/code_genesis.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/code_genesis.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,184 +0,0 @@
-<html>
-<title>The cConfig Class</title>
-<body
- bgcolor="#FFFFFF"
- text="#000000"
- link="#0000AA"
- alink="#0000FF"
- vlink="#000044">
-
-<h2 align=center>The cConfig Class</h2>
-
-<p>
-The cConfig class stores the values in <tt>genesis</tt> throughout a
-run. It is defined in the files
-"<tt>config.hh</tt>" and "<tt>config.cc</tt>" in the directory
-"<tt>current/source/main/</tt>". This is one of the rare classes that
-has a longer class definition in the header file than that of
-its individual methods in the code file. This is because so many
-methods are accessor functions that are defined as they are declared.
-
-<p>
-Currently, this is a static class. That means there can never be an object
-of type cConfig; there is only the class itself that exists. This comes
-from the idea that an avida run can only ever have a single configuration.
-However, ideally we should make it possible for multiple populations to
-co-exist, each with distinct configurations, so at some point in the
-future (when I get the energy, and don't have more pressing programming
-issues!) I will convert this to a normal class type.
-
-<p>
-Here is a <i>heavily</i> abridged version of the class definition (from
-"<tt><b>config.hh</b></tt>").
-
-<p>
-<pre>
- class <font color="#880000">cConfig</font> {
- private:
- static <font color="#880000">cString</font> <font color="#000088">event_filename</font>;
- static <font color="#880000">cString</font> <font color="#000088">analyze_filename</font>;
- static <font color="#880000">int</font> <font color="#000088">rand_seed</font>;
- static <font color="#880000">double</font> <font color="#000088">copy_mut_prob</font>;
- <font color="#886600">// [ <i>...about 100 other variables stored...</i> ]</font>
-
- <font color="#886600">// A method that will process the command line arguments</font>
- static void <font color="#008800">ProcessConfiguration</font>(<font color="#880000">int</font> <font color="#000088">argc</font>, <font color="#880000">char</font> * <font color="#000088">argv</font>[], <font color="#880000">cGenesis</font> & <font color="#000088">genesis</font>);
- public:
- <font color="#886600">// A method that will setup everything in cConfig</font>
- static void <font color="#008800">Setup</font>(<font color="#880000">int</font> <font color="#000088">argc</font>, <font color="#880000">char</font> * <font color="#000088">argv</font>[]);
-
- <font color="#886600">// Accessors...</font>
- static <font color="#880000">cString</font> & <font color="#008800">GetEventFilename</font>() { return <font color="#000088">event_filename</font>; }
- static <font color="#880000">cString</font> & <font color="#008800">GetAnalyzeFilename</font>() { return <font color="#000088">analyze_filename</font>; }
- static <font color="#880000">int</font> <font color="#008800">GetRandSeed</font>() { return <font color="#000088">rand_seed</font>; }
- static <font color="#880000">double</font> <font color="#008800">GetCopyMutProb</font>() { return <font color="#000088">copy_mut_prob</font>; }
- <font color="#886600">// [ <i>...about 100 other variable accessors...</i> ]</font>
-
- <font color="#886600">// Set Methods...</font>
- static void <font color="#008800">SetEventFilename</font>(const <font color="#880000">cString</font> & <font color="#000088">in_name</font>)
- { <font color="#000088">event_filename</font> = <font color="#000088">in_name</font>; }
- static void <font color="#008800">SetAnalyzeFilename</font>(const <font color="#880000">cString</font> & <font color="#000088">in_name</font>)
- { <font color="#000088">analyze_filename</font> = <font color="#000088">in_name</font>; }
- <font color="#886600">// [ <i>...again, many more set methods...</i> ]</font>
- };
-</pre>
-
-<p>
-Note that there is no constructor or destructor since objects of cConfig
-are never created or destroyed. The <font color="#008800">Setup()</font>
-method will, however, setup any values that need to be handled.
-
-<h3>The <tt>config.cc</tt> file</h3>
-
-<p>
-You will need to know about the code file for cConfig in order to make any
-additions to the class. The code file is broken up into three sections. The
-first is a list of all of the variables declared inside of the class
-definition. In order for a variable to be static, it has to be declared in
-both the class definition, and again outside the class in the code file. The
-entire beginning of the code file is in the form:
-
-<p>
-<pre>
- <font color="#880000">cString cConfig</font>::<font color="#000088">event_filename</font>;
- <font color="#880000">cString cConfig</font>::<font color="#000088">analyze_filename</font>;
- <font color="#880000">int cConfig</font>::<font color="#000088">rand_seed</font>;
- <font color="#880000">double cConfig</font>::<font color="#000088">copy_mut_prob</font>;
-</pre>
-
-<p>
-Remember that a header file can be included inside of many other files so
-that each of those know how to interact with this class. Well, the reason
-for this section of the code file is to make it clear to the compiler that
-this will be the main location to store the static variables associated with
-this class. Normally variables setup when an object is created; since there
-is no object, we must explicitly tell it to setup the variables.
-
-<p>
-After the long list of variable re-declarations, the next portion of the
-file is the <font color="#008800">Setup</font>() method. Its body defines
-an object of class <font color="#880000">cGenesis</font>, and then uses it to
-load all of the individual variables that make up cConfig. Most of this
-method consists of lines in the form:
-
-<p>
-<pre>
- <font color="#000088">event_filename</font> = <font color="#000088">genesis</font>.<font color="#008800">ReadString</font>("EVENT_FILE", "events.cfg");
- <font color="#000088">analyze_filename</font> = <font color="#000088">genesis</font>.<font color="#008800">ReadString</font>("ANALYZE_FILE", "analyze.cfg");
- <font color="#000088">world_x</font> = <font color="#000088">genesis</font>.<font color="#008800">ReadInt</font>("WORLD-X");
- <font color="#000088">world_y</font> = <font color="#000088">genesis</font>.<font color="#008800">ReadInt</font>("WORLD-Y");
- <font color="#000088">point_mut_prob</font> = <font color="#000088">genesis</font>.<font color="#008800">ReadFloat</font>("POINT_MUT_PROB");
- <font color="#000088">copy_mut_prob</font> = <font color="#000088">genesis</font>.<font color="#008800">ReadFloat</font>("COPY_MUT_PROB");
-</pre>
-
-<p>
-The final portion of the <tt>config.cc</tt> file consists of the method
-<font color="#008800">ProcessConfiguration</font>(), which handles
-the command line arguments entered by the user. This will, perhaps, be the
-topic of another lesson.
-
-<h3>How to use the cConfig class</h3>
-
-<p>
-Now that we know how the cConfig class works, we need to be able to use
-it from the rest of avida whenever we need it. This is very simple; to
-call a method on a static class from anywhere, all you need to do is
-type the class name, a double colon ('::') and then the method name that
-you wish to call.
-
-For an example that we've already seen, remember that the body of all of the
-inject events contained the line:
-
-<p>
-<pre>
- if (<font color="#000088">fname</font> == "START_CREATURE") <font color="#000088">fname</font> = <font color="#880000">cConfig</font>::<font color="#008800">GetStartCreature()</font>;
-</pre>
-
-<p>
-This line sets the inject organism filename to the one found in the cConfig
-class if the name was otherwise set to be "START_CREATURE". To do this,
-we need to ask cConfig what the starting creature filename is. Fortunately,
-that's an easy thing to do.
-
-<h3>Adding a Genesis Variable: A Checklist</h3>
-
-<p>
-We finally have all of the information of how a variable in the genesis
-file is loaded, stored, and accessed when needed. However, this can be
-a lot to remember. Below is a checklist of all of the locations in the
-source code that you would need to make a change when you want to perform
-such a programming feat.
-
-<p>
-<b>1. Add the variable to the private data of cConfig [in <tt>config.hh</tt>]</b> :
-This is the location that the variable is defined and stored over
-the course of an avida run.
-
-<p>
-<b>2. Add and accessor to the new data [<tt>config.hh</tt>]</b> : All variables must have a method that makes them accessible from the rest
-of the source code.
-
-<p>
-<b>3. Add a method to set a new value to the data [<tt>config.hh</tt>]</b> :
-This is optional. If the new variable can ever change during a run, there
-must be a method in cConfig that causes that change.
-
-<p>
-<b>4. List the variable in the code file. [<tt>config.cc</tt>]</b> :
-All variables must be listed a second time at the top of <tt>config.cc</tt>
-so that the single instance of them is actually created.
-
-<p>
-<b>5. Load the variable in cConfig::Setup() [<tt>config.cc</tt>]</b> :
-This is where the value that is stored in the <tt>genesis</tt> configuration
-file initializes the variable you've just added to cConfig.
-Remember to provide a default value in case the user leaves it out.
-
-<p>
-<b>6. Use the variable wherever you need it!</b> :
-Your new variable is ready for you. Use it wisely.
-
-<br><hr>
-Project hosted by:<br>
-<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=46761&type=2" width="125" height="37" border="0" alt="SourceForge.net"/></a>
-
\ No newline at end of file
Modified: development/documentation/config.html
===================================================================
--- development/documentation/config.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/config.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,9 +1,13 @@
<html>
<head>
- <title>The Avida Configuration File</title>
+ <title>Avida : The Avida Configuration File</title>
</head>
<body>
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
<p><a href="index.html">Return to the Index</a></p>
<hr />
Modified: development/documentation/cpu_tour.html
===================================================================
--- development/documentation/cpu_tour.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/cpu_tour.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,14 +1,18 @@
<html>
<head>
- <title>A guided tour of the an ancestor and its hardware</title>
+ <title>Avida : A Guided Tour of an Ancestor and its Gardware</title>
</head>
<body>
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
<p><a href="index.html">Return to the Index</a></p>
<hr />
<div align="center">
-<h1>A guided tour of an ancestor and its hardware</h1>
+<h1>A Guided Tour of an Ancestor and its Hardware</h1>
</div>
<p>
Modified: development/documentation/events.html
===================================================================
--- development/documentation/events.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/events.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,9 +1,13 @@
<html>
<head>
- <title>The Events File</title>
+ <title>Avida : The Events File</title>
</head>
<body>
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
<p><a href="index.html">Return to the Index</a></p>
<hr />
@@ -49,7 +53,9 @@
<p>
The <code>event</code> is simply the name of the action that should be performed,
and the <code>arguments</code> detail exactly how it should work when it is
-triggered. Each action has its own arguments.
+triggered. Each action has its own arguments. See the
+<a href="actions.html">List of Actions</a> for details about all of the
+available options.
</p>
<p>
@@ -57,19 +63,19 @@
</p>
<div style="margin-left: 10px">
<p>
- <code style="color: #0000AA">i pause</code>
+ <code style="color: #0000AA">i Inject</code>
<br />
- Pause avida as soon as the run first starts.
+ Inject an additional start creature immediately.
</p>
<p>
- <code style="color: #0000AA">u 100:100 print_average_data</code>
+ <code style="color: #0000AA">u 100:100 PrintAverageData</code>
<br />Print out all average measurements collected every one hundred updates,
starting at update 100.
</p>
<p>
- <code style="color: #0000AA">g 10000:10:20000 print_data dom_info.dat update,dom_fitness,dom_depth,dom_sequence</code>
+ <code style="color: #0000AA">g 10000:10:20000 PrintData dom_info.dat update,dom_fitness,dom_depth,dom_sequence</code>
<br />Between generations 10,000 and 20,000, append the specified information to
the file <kbd style="color: #000088">dom_info.dat</kbd> every ten generations. Specifically, the first
column in the file would be update number, second is the fitness of
@@ -79,844 +85,6 @@
</div>
-<p> </p>
-<h2>Types of Actions</h2>
-
-<p>
-There is a large library of actions available for scheduling as events.
-Below you will find a listing of the high level groupings of these
-actions, along with details sections for each them.
-</p>
-
-<dl>
-<dt><a href="#PrintActions">Print</a></dt>
-<dd>Print actions are the primary way of saving data from an Avida experiments.</dd>
-<dt><a href="#LandscapeActions">Landscape Analysis</a></dt>
-<dd>Actions that use data from the current state of Avida, process it and then output the results.</dd>
-<dt><a href="#PopulationActions">Population</a></dt>
-<dd>Population actions modify the state of the population, and will actually change the course of the run.</dd>
-<dt><a href="#EnvironmentActions">Environment</a></dt>
-<dd>Actions that allow user to change properties of the environment, including resources.</dd>
-<dt><a href="#SaveLoadActions">Save and Load</a></dt>
-<dd>Actions that allow for saving and loading large data sets, such as full populations.</dd>
-<dt><a href="#DriverActions">Driver</a></dt>
-<dd>Actions that allow user to control program execution, including experiment termination.</dd>
-</dl>
-
-
-<h3>Alphabetical Listing of Available Actions</h3>
-
-
-<h1><@DMB - todo></h1>
-
-<p>
-<table>
- <tr>
- <td>
- <A HREF="#analyze_landscape">analyze_landscape</A><br>
- <A HREF="#analyze_population">analyze_population</A><br>
- <A HREF="#apocalypse">apocalypse</A><br>
- <A HREF="#calc_consensus">calc_consensus</A><br>
- <A HREF="#calc_landscape">calc_landscape</A><br>
- <A HREF="#connect_cells">connect_cells</A><br>
- <A HREF="#detail_parasite_pop">detail_parasite_pop</A>
- <A HREF="#detail_pop">detail_pop</A> (<i>deprecated</i>)<br>
- <A HREF="#disconnect_cells">disconnect_cells</A><br>
- <A HREF="#dump_fitness_grid">dump_fitness_grid</A><br>
- <A HREF="#dump_genotype_grid">dump_genotype_grid</A><br>
- <A HREF="#dump_donor_grid">dump_task_grid</A><br>
- <A HREF="#dump_donor_grid">dump_donor_grid</A><br>
- <A HREF="#dump_receiver_grid">dump_receiver_grid</A><br>
- <A HREF="#dump_historic_pop">dump_historic_pop</A> (<i>deprecated</i>)<br>
- <A HREF="#dump_memory">dump_memory</A><br>
- <A HREF="#dump_pop">dump_pop</A><br>
- <A HREF="#echo">echo</A><br>
- <A HREF="#exit">exit</A><br>
- <A HREF="#exit_if_ave_lineage_label_larger">exit_if_ave_lineage_label_larger</A><br>
- <A HREF="#exit_if_ave_lineage_label_smaller">exit_if_ave_lineage_label_smaller</A><br>
- <A HREF="#exit_if_generation_greater_than">exit_if_generation_greater_than</A><br>
- <A HREF="#exit_if_update_greater_than">exit_if_update_greater_than</A><br>
- <A HREF="#genetic_distance_pop_dump">genetic_distance_pop_dump</A><br>
- <A HREF="#hillclimb">hillclimb</A><br>
- <A HREF="#hillclimb_neut">hillclimb_neut</A><br>
- <A HREF="#hillclimb_rand">hillclimb_rand</A><br>
- <A HREF="#inject">inject</A><br>
- <A HREF="#inject_all">inject_all</A><br>
- <A HREF="#inject_random">inject_random</A><br>
- <A HREF="#inject_range">inject_range</A><br>
- <A HREF="#inject_range_pair">inject_range_pair</A><br>
- <A HREF="#inject_range_parasite">inject_range_parasite</A><br>
- <A HREF="#inject_resource">inject_resource</A><br>
- </td><td>
- <A HREF="#inject_sequence">inject_sequence</A><br>
- <A HREF="#kill_rectangle">kill_rectangle</A><br>
- <A HREF="#load_clone">load_clone</A><br>
- <A HREF="#load_dump_file">load_dump_file</A><br>
- <A HREF="#load_population">load_population</A><br>
- <A HREF="#mod_copy_mut">mod_copy_mut</A><br>
- <A HREF="#mod_div_mut">mod_div_mut</A><br>
- <A HREF="#mod_point_mut">mod_point_mut</A><br>
- <A HREF="#pairtest_landscape">pairtest_landscape</A><br>
- <A HREF="#parasite_debug">parasite_debug</A><br>
- <A HREF="#predict_nu_landscape">predict_nu_landscape</A><br>
- <A HREF="#predict_w_landscape">predict_w_landscape</A><br>
- <A HREF="#print_average_data">print_average_data</A><br>
- <A HREF="#print_count_data">print_count_data</A><br>
- <A HREF="#print_data">print_data</A><br>
- <A HREF="#print_depth_histogram">print_depth_histogram</A><br>
- <A HREF="#print_detailed_fitness_data">print_detailed_fitness_data</A><br>
- <A HREF="#print_divide_mut_data">print_divide_mut_data</A><br>
- <A HREF="#print_dom">print_dom</A><br>
- <A HREF="#print_dom_parasite">print_dom_parasite</A><br>
- <A HREF="#print_dom_parasite_data">print_dom_parasite_data</A><br>
- <A HREF="#print_dominant_data">print_dominant_data</A><br>
- <A HREF="#print_error_data">print_error_data</A><br>
- <A HREF="#print_genetic_distance_data">print_genetic_distance_data</A><br>
- <A HREF="#print_genotype_abundance_histogram">print_genotype_abundance_histogram</A><br>
- <A HREF="#print_genotype_map">print_genotype_map</A><br>
- <A HREF="#print_genotypes">print_genotypes</A><br>
- <A HREF="#print_instruction_abundance_histogram">print_instruction_abundance_histogram</A><br>
- <A HREF="#print_instruction_data">print_instruction_data</A><br>
- <A HREF="#print_lineage_counts">print_lineage_counts</A><br>
- </td><td>
- <A HREF="#print_lineage_totals">print_lineage_totals</A><br>
- <A HREF="#print_mutation_data">print_mutation_data</A><br>
- <A HREF="#print_mutation_rate_data">print_mutation_rate_data</A><br>
- <A HREF="#print_number_phenotypes">print_number_phenotypes</A><br>
- <A HREF="#print_resource_data">print_resource_data</A><br>
- <A HREF="#print_species_abundance_histogram">print_species_abundance_histogram</A><br>
- <A HREF="#print_stats_data">print_stats_data</A><br>
- <A HREF="#print_tasks_data">print_tasks_data</A><br>
- <A HREF="#print_tasks_exe_data">print_tasks_exe_data</A><br>
- <A HREF="#print_threads">print_threads</A><br>
- <A HREF="#print_time_data">print_time_data</A><br>
- <A HREF="#print_totals_data">print_totals_data</A><br>
- <A HREF="#print_tree_depths">print_tree_depths</A><br>
- <A HREF="#print_variance_data">print_variance_data</A><br>
- <A HREF="#print_viable_tasks_data">print_viable_tasks_data</A><br>
- <A HREF="#random_landscape">random_landscape</A><br>
- <A HREF="#rate_kill">rate_kill</A><br>
- <A HREF="#sample_landscape">sample_landscape</A><br>
- <A HREF="#save_clone">save_clone</A><br>
- <A HREF="#save_population">save_population</A><br>
- <A HREF="#serial_transfer">serial_transfer</A><br>
- <A HREF="#set_copy_mut">set_copy_mut</A><br>
- <A HREF="#set_point_mut">set_point_mut</A><br>
- <A HREF="#set_resource">set_resource</A><br>
- <A HREF="#set_reaction_value">set_reaction_value</A><br>
- <A HREF="#set_reaction_value_mult">set_reaction_value_mult</A><br>
- <A HREF="#set_reaction_inst">set_reaction_inst</A><br>
- <A HREF="#sever_grid_col">sever_grid_col</A><br>
- <A HREF="#task_snapshot">task_snapshot</A><br>
- <A HREF="#test_dom">test_dom</A><br>
- <A HREF="#test_size_change_robustness">test_size_change_robustness</A><br>
- <A HREF="#test_threads">test_threads</A><br>
- <A HREF="#zero_muts">zero_muts</A><br>
- </td>
- </tr>
-</table>
-
-
-<p>
-<h3><A NAME="Output">Output Events</A></h3>
-
-Output events are the primary way of saving data from an avida experiments.
-The main two types are <i>continuous output</i>, which append to a single file
-every time the event is trigged, and <i>singular output</i>, which produce
-a single, complete file for each trigger.
-
-<p>
-<menu>
-
-<li><b><A NAME="print_genotypes">print_genotypes</A></b>
- [<font color="#008800">data_fields("all")</font>]
- [<font color="#008800">print_historic(0)</font>]
- [<font color="#008800">filename("genotypes-<update>.dat")</font>]<br>
- This command is used to print out information about all of the genotypes
- in the population. It replaces both "detail_pop" and "historic_dump" as
- well as most of their variations. The file output from here can be read
- back into the analyze mode of Avida with the "LOAD" command.<br><br>
-
- The <font color="#008800">data_fields</font> parameter indicates what
- columns should be included in the file, which must be comma seperated.
- Options are:
- <i>all, id, parent_id, parent2_id (for sex), parent_dist, num_cpus,
- total_cpus, length, merit, gest_time, fitness, update_born, update_dead,
- depth, lineage, sequence.</i>
- Use "all" (the default) if you want all of the other fields
- included.<br><br>
-
- The <font color="#008800">print_historic</font> parameter indicates how
- many updates back in time should be included in this output. For example,
- "200" would indicate that any ancestor of the current population that died
- out in the last 200 updates should also be printed. A "-1" in this field
- indicates that all ancestors should be printed.<br><br>
-
- The <font color="#008800">filename</font> parameter simply indicates what
- you want to call the file.<br><br>
-
- <i>Example</i>:<br>
- <tt>u 1000:1000 print_genotypes id,parent_id,fitness 1000</tt><br>
- This will print out the full population every 1000 updates, including all
- genotypes that have died out since the last time it was printed.<br><br>
-
- </li>
-
-
-
-<li><b><A NAME="detail_pop">detail_pop</A></b> [<font color="#008800">filename</font>]<br>
- <font color="#880000">NOTE</font>: This event is deprecated.
- See <a href="#print_genotypes">print_genotypes</a> instead.<br>
- Save the genotypes and lots of statistics about the population to the
- file specified; if not filename is given, use the name
- detail_pop.update#. As with clones, the update number allows a single
- event to produce many detail files. The details are used to collect
- crossection data about the population. Ideally we will have a flexible
- version of this soon where the user will be able to specify the
- information that they are interested in saving.</li>
-<br>
-<li><b><A NAME="dump_historic_pop">dump_historic_pop</A></b> [<font color="#008800">filename</font>]<br>
- <font color="#880000">NOTE</font>: This event is deprecated.
- See <a href="#print_genotypes">print_genotypes</a> instead.<br>
- This event is used to output all of the ancestors of the currently
- living population to the file specified, of "historic_dump.update#".
- It uses the same format as the "detail_pop" event.</li>
-<br>
-
-<li><b><A NAME="dump_genotype_grid">dump_genotype_pop</A></b> <br>
- Print out the grid of genotype IDs into idgrid.*.out", where '*' is replaced by the
- number of the current update.
-<br>
-<li><b><A NAME="dump_task_grid">dump_task_grid</A></b> <br>
- Print out the grid of takss that organisms do. For each organism, tasks are first
- encoded as a binary string (e.g. 100000001 means that organism is doing NOT and EQU
- and then reported as a base-10 number (257 in the example above).
-<br>
-
-<li><b><A NAME="dump_donor_grid">dump_donor_pop</A></b> <br>
- Print out the grid of organisms who donated their merit into the
- "donor_grid.*.out", where '*' is replaced by the
- number of the current update.
-<br>
-<li><b><A NAME="dump_receiver_grid">dump_donor_pop</A></b> <br>
- Print out the grid of organisms who received merit into the
- "receiver_grid.*.out", where '*' is replaced by the
- number of the current update.
-<br>
-
-<li><b><A Name="detail_parasite_pop">detail_parasite_pop</A></b> [<font color="#008800">fname</font>]<br>
-Like dump_pop, but more detailed data is written out.
-<br><br>Parameters:<br><br>
-filename (string) default: "detail_pop.<update>"
- The name of the file into which the population dump should be written.
-</li></ul>
-<br>
-
-<li><b><A Name="genetic_distance_pop_dump">genetic_distance_pop_dump</A></b> [<font color="#008800">creature_name</font>] [<font color="#008800">filename</font>] [<font color="#008800">save_genotype(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="load_clone">load_clone</A></b> [<font color="#008800">fname</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="load_dump_file">load_dump_file</A></b> [<font color="#008800">fname</font>] [<font color="#008800">update(-1)</font>]<br>
-Sets up a population based on a dump file such as written out by
-detail_pop. It is also possible to append a history file to the dump
-file, in order to preserve the history of a previous run.
-</li>
-<br>
-<li><b><A Name="load_population">load_population</A></b> [<font color="#008800">fname</font>]<br>
-Loads the full state of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
- The name of the file to open.
-</li>
-<br>
-<li><b><A NAME="print_average_data">print_average_data</A></b> [<font color="#008800">filename("average.dat")</font>]<br>
- A print_data shortcut that will print all of the population averages to
- the file "average.dat".</li>
-<br>
-<li><b><A NAME="print_count_data">print_count_data</A></b> [<font color="#008800">filename("count.dat")</font>]<br>
- A print_data shortcut that will print all of the statistics the keep
- track of counts (such as the number of organisms in the population or
- the number of instructions executed) to the file "count.dat".</li>
-<br>
-<li><b><A NAME="print_data">print_data</A></b> [<font color="#008800">filename</font>] [<font color="#008800">column list</font>]<br>
- Append to the file specified (continuous output), the data given in the
- column list. The column list needs to be a comma-seperated list of
- keywords representing the data types. Many possible data types can be
- output; click <a href="print_data.html">here</a> for the complete list.
- See the last example above to see how this event can be put into use.
- Note that this event will even create a detailed column legend at the top
- of your file so you don't need to seperately keep track of what the
- columns mean.</li>
-<br>
-<li><b><A Name="print_depth_histogram">print_depth_histogram</A></b> [<font color="#008800">filename("depth_histogram.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="print_detailed_fitness_data">print_detailed_fitness_data</A></b> [<font color="#008800">save_max_f_genotype(0)</font>] [<font color="#008800">print_fitness_histo(0)</font>] [<font color="#008800">hist_fmax(1)</font>] [<font color="#008800">hist_fstep(0.1)</font>] [<font color="#008800">filename("fitness.dat")</font>] [<font color="#008800">filename2("fitness_histos.dat")</font>] [<font color="#008800">filename3("fitness_histos_testCPU.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="print_divide_mut_data">print_divide_mut_data</A></b> [<font color="#008800">filename</font>]<br>
- Output (regular and log) statistics about individual, per site,
- rates divide mutation rates (aver, stdev, skew, cur) to divide_mut.dat.<br>
- Use with multiple divide instuction set.</li>
-<br>
-<li><b><A NAME="print_dominant_data">print_dominant_data</A></b> [<font color="#008800">filename("dominant.dat")</font>]<br>
- A print_data shortcut that will print all of the statistics relating
- to the dominant genotype to the file "dominant.dat".</li>
-<br>
-<li><b><A NAME="print_dom">print_dom</A></b> [<font color="#008800">filename</font>]<br>
- Print the dominant organism's genome (and lots of information about it)
- into the file specified. If no filename is given, just use the genotypes
- assigned name.</li>
-<br>
-<li><b><A Name="print_dom_parasite">print_dom_parasite</A></b> [<font color="#008800">in_filename</font>]<br>
-Write the currently dominant injected genotype to disk.
-
-<br><br>Parameters:<br><br>
-filename (string)
- The name under which the genotype should be saved. If no
- filename is given, the genotype is saved into the directory
- genebank, under the name that the genebank has associated with
- this genotype.
-</li>
-<br>
-<li><b><A NAME="print_dom_parasite_data">print_dom_parasite_data</A></b> [<font color="#008800">filename</font>]<br>
- Print various quantites related to the dominant parasite to file
- "parasite.dat"
- </li>
-<br>
-<li><b><A NAME="print_error_data">print_error_data</A></b> [<font color="#008800">filename</font>]<br>
- A print_data shortcut that will print all of the standard errors of the
- population statistics to the file "error.dat".</li>
-<br>
-<li><b><A Name="print_genetic_distance_data">print_genetic_distance_data</A></b> [<font color="#008800">creature_name</font>] [<font color="#008800">filename("genetic_distance.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="print_genotype_abundance_histogram">print_genotype_abundance_histogram</A></b> [<font color="#008800">filename("genotype_abundance_histogram.dat")</font>]<br>
-Writes out a genotype abundance histogram.
-
-<br><br>Parameters:<br><br>
-filename (string) default: genotype_abundance_histogram.dat
- The name of the file into which the histogram is written.
-</li>
-<br>
-<li><b><A NAME="print_genotype_map">print_genotype_map</A></b> [<font color="#008800">filename("genotype_map.m")</font>]<br>
- This event is used to ouput a map of the gentype IDs for the
- population grid to a file that is suitable to be read into Matlab.
- Default file name: genotype_map.m </li>
-<br>
-<li><b><A Name="print_instruction_abundance_histogram">print_instruction_abundance_histogram</A></b> [<font color="#008800">filename("instruction_histogram.dat")</font>]<br>
-Appends a line containing the bulk count (abundance) of
-each instruction in the population onto a file.
-
-<br><br>Parameters:<br><br>
-filename (string) default: "instruction_histogram.dat"
-
-</li>
-<br>
-<li><b><A Name="print_instruction_data">print_instruction_data</A></b> [<font color="#008800">fname("instruction.dat")</font>]<br>
-of the by-organisms counts of what instructions they _successfully_
-beteween birth and divide. Prior to their first divide, organisms
-values for their parents.
-</li>
-<br>
-<li><b><A Name="print_lineage_counts">print_lineage_counts</A></b> [<font color="#008800">fname("lineage_counts.dat")</font>] [<font color="#008800">verbose(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="print_lineage_totals">print_lineage_totals</A></b> [<font color="#008800">fname("lineage_totals.dat")</font>] [<font color="#008800">verbose(1)</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="print_mutation_data">print_mutation_data</A></b> [<font color="#008800">filename("mutation.dat")</font>]<br>
- Prints mutation information to file "mutation.dat"</li>
-<br>
-<li><b><A NAME="print_mutation_rate_data">print_mutation_rate_data</A></b> [<font color="#008800">filename("mutation_rates.dat")</font>]<br>
- Output (regular and log) statistics about individual copy
- mutation rates (aver, stdev, skew, cur) to "mutation_rates.dat".<br>
- Useful only when mutation rate is set per organism.</li>
-<br>
-<li><b><A Name="print_number_phenotypes">print_number_phenotypes</A></b> [<font color="#008800">fname("phenotype_count.dat")</font>]<br>
-file with number of phenotypes based on tasks executed
-this update. Executing a task any numbers of times is considered
-same as executing it once.
-</li>
-<br>
-<li><b><A NAME="print_resource_data">print_resource_data</A></b> [<font color="#008800">filename("resource.dat")</font>]<br>
- Print the current counts of each resource available to the population
- to the file "resource.dat". This uses the environment configuration to
- determine what resources are in use. Also creates seperate files
- "resource_<i>resource_name</i>.m" (in a format that is designed to
- be read into Matlab) for each spatial resource.</li>
-<br>
-<li><b><A Name="print_species_abundance_histogram">print_species_abundance_histogram</A></b> [<font color="#008800">filename("species_abundance_histogram.dat")</font>]<br>
-Writes out a species abundance histogram.
-
-<br><br>Parameters:<br><br>
-filename (string) default: species_abundance_histogram.dat
- The name of the file into which the histogram is written.
-</li>
-<br>
-<li><b><A NAME="print_stats_data">print_stats_data</A></b> [<font color="#008800">filename</font>]<br>
- A print_data shortcut that will print all of the miscellanous population
- statistics to the file "stats.dat".</li>
-<br>
-<li><b><A NAME="print_tasks_data">print_tasks_data</A></b> [<font color="#008800">filename("tasks.dat")</font>]<br>
- Print the number of organisms that are able to perform each task to the
- file "tasks.dat". This uses the environment configuration to determine
- what tasks are in use.</li>
-<br>
-<li><b><A NAME="print_tasks_exe_data">print_tasks_exe_data</A></b> [<font color="#008800">filename("tasks_exe.dat")</font>]<br>
- Print number of times the particular task has been executed this update
- to file "tasks_exe.dat"</li>
-<br>
-<li><b><A Name="print_threads">print_threads</A></b><br>
-
-</li>
-<br>
-<li><b><A NAME="print_time_data">print_time_data</A></b> [<font color="#008800">filename("time.dat")</font>]<br>
- A print_data shortcut that will print all of the timing related
- statistics to the file "time.dat".</li>
-<br>
-<li><b><A NAME="print_totals_data">print_totals_data</A></b> [<font color="#008800">filename("totals.dat")</font>]<br>
- A print_data shortcut that will print the same information as the
- previous event, but the counts will be the totals for the entire
- length of the run (for example, the total number of organisms ever) to
- the file "totals.dat".</li>
-<br>
-<li><b><A Name="print_tree_depths">print_tree_depths</A></b> [<font color="#008800">filename</font>]<br>
-Reconstruction of phylogenetic trees.
-</li>
-<br>
-<li><b><A NAME="print_variance_data">print_variance_data</A></b> [<font color="#008800">filename("variance.dat")</font>]<br>
- A print_data shortcut that will print all of the veriances of the
- population statistics to the file "variance.dat".</li>
-<br>
-<li><b><A Name="print_viable_tasks_data">print_viable_tasks_data</A></b> [<font color="#008800">filename("viable_tasks.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="save_clone">save_clone</A></b> [<font color="#008800">filename</font>]<br>
- Save a clone of this organism to the file specified; if no filename is
- given, use the name clone.update#. The update number allows regular
- clones with distinct filenames to be saved with the same periodic event.
- Running "avida -l filename" will start an avida population with the
- saved clone. Note that a clone only consists of the genomes in
- the population, and their current state is lost, so the run may not
- proceed identically as to if it had continued as it was going.</li>
-<br>
-<li><b><A Name="save_population">save_population</A></b> [<font color="#008800">fname</font>]<br>
-Saves the full state of the population.
-
-<br><br>Parameters:<br><br>
-filename (string) default: save_pop.<update>
- The name of the file into which the population should
- be saved.
-</li>
-</menu>
-
-<p>
-<h3><A NAME="Analysis">Analysis Events</A></h3>
-
-<p>
-Analysis events use data from the current state of avida, process it
-(sometimes quite heavily) and then output the results. These are slowly
-migrating over to the analysis mode of avida (see the analysis documentation
-for more information).
-
-<p>
-<menu>
-<li><b><A Name="analyze_landscape">analyze_landscape</A></b> [<font color="#008800">sample_size(1000)</font>] [<font color="#008800">min_found(0)</font>] [<font color="#008800">max_sample_size(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="analyze_population">analyze_population</A></b> [<font color="#008800">sample_prob(1)</font>] [<font color="#008800">landscape(0)</font>] [<font color="#008800">save_genotype(0)</font>] [<font color="#008800">filename</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="calc_consensus">calc_consensus</A></b> [<font color="#008800">lines_saved(0)</font>]<br>
-Calculates the consensus sequence.
-
-<br><br>Parameters:<br><br>
-lines saved (integer) default: 0
-</li>
-<br>
-<li><b><A NAME="calc_landscape">calc_landscape</A></b> [<font color="#008800">distance(1)</font>]<br>
- Do a landscape analysis of the dominant genotype in the population and
- write the results to "landscape.dat". This is a collection of
- statistics obtained from examining all possible mutations at the distance
- specified. The default distance is one.</li>
-<br>
-<li><b><A Name="hillclimb">hillclimb</A></b><br>
-Does a hill climb with the dominant genotype.
-</li>
-<br>
-<li><b><A Name="hillclimb_neut">hillclimb_neut</A></b><br>
-
-</li>
-<br>
-<li><b><A Name="hillclimb_rand">hillclimb_rand</A></b><br>
-
-</li>
-<br>
-<li><b><A Name="mod_copy_mut">mod_copy_mut</A></b> [<font color="#008800">cmut_inc</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="mod_div_mut">mod_div_mut</A></b> [<font color="#008800">dmut_inc</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="mod_point_mut">mod_point_mut</A></b> [<font color="#008800">pmut_inc</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="pairtest_landscape">pairtest_landscape</A></b> [<font color="#008800">sample_size(0)</font>]<br>
-If sample_size = 0, pairtest the full landscape.
-</li>
-<br>
-<li><b><A Name="parasite_debug">parasite_debug</A></b> [<font color="#008800">in_filename</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="predict_nu_landscape">predict_nu_landscape</A></b> [<font color="#008800">datafile("land-predict.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="predict_w_landscape">predict_w_landscape</A></b> [<font color="#008800">datafile("land-predict.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="random_landscape">random_landscape</A></b> [<font color="#008800">landscape_dist(1)</font>] [<font color="#008800">sample_size(0)</font>] [<font color="#008800">min_found(0)</font>] [<font color="#008800">max_sample_size(0)</font>] [<font color="#008800">print_if_found(false)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="sample_landscape">sample_landscape</A></b> [<font color="#008800">sample_size(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="task_snapshot">task_snapshot</A></b> [<font color="#008800">filename</font>]<br>
- Run all organisms in the population through test cpus and print out the
- number of tasks each can perform. The default filename is
- "tasks_update#.dat".</li>
-</menu>
-
-<p>
-<h3><A NAME="Population">Population Events</A></h3>
-
-<p>
-Population events modify the state of the population, and will actually
-change the course of the run. There are a wide variety of these.
-
-<p>
-<menu>
-<li><b><A NAME="apocalypse">apocalypse</A></b> [<font color="#008800">kill_prob(0.9)</font>]<br>
- Using the specified probability, test each organism to see if it is killed
- off.</li>
-<br>
-<li><b><A NAME="inject">inject</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">cell_id(0)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
- Inject a single organisms into the population. Arguments must be
- included from left to right; if all arguments are left out, the default
- creature is the ancestral organism, and it will be injected into cell 0,
- have an uninitialized merit, and be marked as liniage id 0.</li>
-<br>
-<li><b><A NAME="inject_all">inject_all</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
- Same as inject, but no cell_id is specified and the organism is placed
- into <i>all</i> cells in the population.</li>
-<br>
-<li><b><A Name="inject_random">inject_random</A></b> [<font color="#008800">length</font>] [<font color="#008800">cell_id(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-Injects a randomly generated genome into the population.
-
-<br><br>Parameters:<br><br>
-length (integer) [required]
- Number of instructions in the randomly generated genome.
-<br><br>
-cell ID (integer) default: -1
- The grid-point into which the genome should be placed. Default is random.
-<br><br>
-merit (double) default: -1
- The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
- An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
- A double value that randomly drifts over time.
-</li>
-<br>
-<li><b><A Name="inject_range">inject_range</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
- The filename of the genotype to load. If this is left empty, or the keyword
- "START_CREATURE" is given, than the genotype specified in the genesis
- file under "START_CREATURE" is used.
-<br><br>
-start_cell (int)
- First cell to inject into.
-<br><br>
-stop_cell (int)
- First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
- The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
- An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
- A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
- inject_range creature.gen 0 10
-
-Will inject 10 organisms into cells 0 through 9.
-</li>
-<br>
-<li><b><A Name="inject_range_pair">inject_range_pair</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">fname_parasite("organism.parasite")</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>] [<font color="#008800">mem_space(2)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
- The filename of the genotype to load. If this is left empty, or the keyword
- "START_CREATURE" is given, than the genotype specified in the genesis
- file under "START_CREATURE" is used.
-<br><br>
-start_cell (int)
- First cell to inject into.
-<br><br>
-stop_cell (int)
- First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
- The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
- An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
- A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
- inject_range creature.gen 0 10
-
-Will inject 10 organisms into cells 0 through 9.
-</li>
-<br>
-<li><b><A Name="inject_range_parasite">inject_range_parasite</A></b> [<font color="#008800">fname_parasite("organism.parasite")</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>] [<font color="#008800">mem_space(2)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
- The filename of the genotype to load. If this is left empty, or the keyword
- "START_CREATURE" is given, than the genotype specified in the genesis
- file under "START_CREATURE" is used.
-<br><br>
-start_cell (int)
- First cell to inject into.
-<br><br>
-stop_cell (int)
- First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
- The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
- An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
- A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
- inject_range creature.gen 0 10
-
-Will inject 10 organisms into cells 0 through 9.
-</li>
-<br>
-<li><b><A Name="inject_sequence">inject_sequence</A></b> [<font color="#008800">seq</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-sequence (string)
- The genome sequence for this organism. This is a mandatory argument.
-<br><br>
-start_cell (int)
- First cell to inject into.
-<br><br>
-stop_cell (int)
- First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
- The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
- An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
- A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
- inject_range ckdfhgklsahnfsaggdsgajfg 0 10 100
-
-Will inject 10 organisms into cells 0 through 9 with a merit of 100.
-</li>
-<br>
-<li><b><A NAME="kill_rectangle">kill_rectangle</A></b> [<font color="#008800">cell_X1(0)</font>] [<font color="#008800">cell_Y1(0)</font>] [<font color="#008800">cell_X2(0)</font>] [<font color="#008800">cell_Y2(0)</font>]<br>
- Kill off all organisms in a rectangle defined by the points (X1, Y1) and
- (X2, Y2).</li>
-<br>
-<li><b><A Name="rate_kill">rate_kill</A></b> [<font color="#008800">kill_rate</font>]<br>
-Randomly removes a certain proportion of the population.
-In principle, this event does the same thing as the apocalypse event.
-However, instead of a probability, here one has to specify a rate. The
-rate has the same unit as fitness. So if the average fitness is 20000,
-than you remove 50% of the population on every update with a removal rate
-of 10000.
-
-<br><br>Parameters:<br><br>
-removal rate (double)
- The rate at which organisms are removed.
-</li>
-<br>
-<li><b><A NAME="serieal_transfer">serieal_transfer</A></b> [<font color="#008800">transfer_size(1)</font>] [<font color="#008800">ignore_deads(1)</font>]<br>
- Similar to apocalypse, but we specify the exact number of organisms to
- keep alive after the event.
-
-<br><br>Parameters:<br><br>
-transfer size (int) default: 1
- The number of organisms to retain. If there are fewer living
- organisms than the specified transfer size, then all living
- organisms are retained.
-<br><br>
-ignore deads (int) default: 1
- When set to 1, only living organisms are retained. Otherwise,
- every type of organism can be retained.
-
- </li>
-<br>
-<li><b><A Name="set_copy_mut">set_copy_mut</A></b> [<font color="#008800">cmut</font>] [<font color="#008800">start_cell(-1)</font>] [<font color="#008800">end_cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="set_point_mut">set_point_mut</A></b> [<font color="#008800">pmut</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="zero_muts">zero_muts</A></b><br>
-This event will set all mutation rates to zero...
-</li>
-</menu>
-
-<p>
-<h3><A NAME="Resource">Resource Events</A></h3>
-
-Events that allow user to change resources and reaction parameters.
-
-<menu>
-<li><b><A NAME="inject_resource">inject_resource</A></b> [<font color="#008800">res_name</font>]
-[<font color="#008800">res_count</font>] <br>
- Inject (add) a specified amount of a specified resource. <b>res_name</b> must
- already exist as a resource in environment file.</li>
-<br>
-<li><b><A NAME="set_resource">set_resource</A></b> [<font color="#008800">res_name</font>]
-[<font color="#008800">res_count</font>] <br>
- Set the resource amount to a specific level. <b>res_name</b> must
- already exist as a resource in environment file.</li>
-<br>
-<li><b><A NAME="set_reaction_value">set_reaction_value</A></b> [<font color="#008800">reaction_name</font>]
-[<font color="#008800">reaction_value</font>] <br>
- Set the reaction value ("bonus") to a specific level. <b>reaction_name</b> must already
- exist in the environment file. <b>reaction_value</b> can be negative.
-<br>
-<li><b><A NAME="set_reaction_value_mult">set_reaction_value_mult</A></b> [<font color="#008800">reaction_name</font>] [<font color="#008800">value_mult</font>] <br>
- Multiply the reaction value ("bonus") by the <b>value_mult</b>. <b>reaction_name</b> must
- already exist in the environment file. <b>value_mult</b> can be negative.
-<br>
-<li><b><A NAME="set_reaction_inst">set_reaction_inst</A></b> [<font color="#008800">reaction_name</font>]
- [<font color="#008800">inst_name</font>] <br>
- Set the instruction triggered by this reaction. <b>reaction_name</b> must
- already exist in the environment file. <b>inst_name</b> must be in the instruction set.
-</menu>
-
-<p>
-<h3><A NAME="Miscellaneous">Misc. Events</A></h3>
-
-These are other events that didn't seem to fit better anywhere else...
-
-<p>
-<menu>
-<li><b><A Name="connect_cells">connect_cells</A></b> [<font color="#008800">cellA_x</font>] [<font color="#008800">cellA_y</font>] [<font color="#008800">cellB_x</font>] [<font color="#008800">cellB_y</font>]<br>
-Connects a pair of specified cells.
-Arguments:
- cellA_x, cellA_y, cellB_x, cellB_y
-</li>
-<br>
-<li><b><A NAME="echo">echo</A></b> [<font color="#008800">message</font>]<br>
- Print the message included when the event is triggered. This is mostly
- used for debugging.</li>
-<br>
-<li><b><A Name="sever_grid_col">sever_grid_col</A></b> [<font color="#008800">col_id(-1)</font>] [<font color="#008800">min_row(0)</font>] [<font color="#008800">max_row(-1)</font>]<br>
-Remove the connections between cells along a column in an avida grid.
-Arguments:
- col_id: indicats the number of columns to the left of the cut.
- default (or -1) = cut population in half
- min_row: First row to start cutting from
- default = 0
- max_row: Last row to cut to
- default (or -1) = last row in population.
-</li>
-<br>
-<li><b><A Name="test_dom">test_dom</A></b><br>
-
-</li>
-<br>
-<li><b><A Name="test_size_change_robustness">test_size_change_robustness</A></b> [<font color="#008800">num_trials(100)</font>] [<font color="#008800">filename("size_change.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="test_threads">test_threads</A></b><br>
-
-</li>
-</menu>
-
-<p>
-<h3><A NAME="Exit">Exit Events</A></h3>
-
-These are events that cause the program to end.
-
-<menu>
-<br>
-<li><b><A NAME="exit">exit</A></b><br>
- Quit the current run at given timing event.</li>
-<br>
- <li><b><A NAME="exit_if_ave_lineage_label_larger">exit_if_ave_lineage_label_larger</A></b> [<font color="#008800">lineage_label_crit_value</font>]<br>
- Halts the avida run if the current average lineage label is larger
- than <b>lineage_label_crit_value</b>.</li>
-<br>
- <li><b><A NAME="exit_if_ave_lineage_label_smaller">exit_if_ave_lineage_label_smaller</A></b> [<font color="#008800">lineage_label_crit_value</font>]<br>
- Halts the avida run if the current average lineage label is smaller
- than <b>lineage_label_crit_value</b>.</li>
-<br>
-<li><b><A NAME="exit_if_generation_greater_than">exit_if_generation_greater_than</A></b> [<font color="#008800">max_generation</font>]<br>
- Ends the Avida run when the current generation exceeds <b>max_generation</b>.</li>
-<br>
-<li><b><A NAME="exit_if_update_greater_than">exit_if_update_greater_than</A></b> [<font color="#008800">max_update</font>]<br>
- Ends the Avida run when the current generation exceeds <b>max_update</b>.</li>
-</menu>
-
-
-<h1></@DMB - todo></h1>
-
-
-
<hr />
<p><a href="index.html">Return to the Index</a></p>
Modified: development/documentation/index.html
===================================================================
--- development/documentation/index.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/index.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,6 +1,6 @@
<html>
<head>
- <title>Index of Avida Documentation</title>
+ <title>Avida : Index of Documentation</title>
</head>
<body>
@@ -20,8 +20,8 @@
<h2>General Information</h2>
<p>
-<a href="cpu_tour.html">A Guided Tour of an Avida Ancestor and its Hardware</a>
-<br /><a href="structure.html">The Directory and File Structure of Avida</a>
+<a href="cpu_tour.html">A Guided Tour of an Ancestor and its Hardware</a>
+<br /><a href="structure.html">The Directory and File Structure</a>
<br /><a href="svn.html">Using Subversion to Obtain Avida</a>
</p>
@@ -31,10 +31,11 @@
<p>
<a href="config.html">Setting up the Avida Configuration File</a>
<br /><a href="inst_set.html">Setting up the Instruction Set</a>
-<br /><a href="events.html">Guidelines to setting Events</a>
+<br /><a href="events.html">Guidelines to setting up the Events File</a>
<br /><a href="environment.html">Guidelines to setting up Environments</a>
-<br /><a href="analyze_mode.html">Guidelines to Analyze Mode</a>
+<br /><a href="analyze.html">Guidelines to Analyze Mode</a>
<br /><a href="analyze_samples.html">Sample Analyze Programs</a>
+<br /><a href="actions.html">List of Actions</a>
</p>
@@ -47,11 +48,13 @@
<br /><a href="code_life_cycle.html">Guide to an Avidan Life Cycle</a>
</p>
<p>
-<a href="code_genesis.html">Implementing New Genesis Settings</a>
-<br /><a href="code_events.html">Implementing New Events</a>
-<br /><a href="code_instruction.html">Implementing New Instructions</a>
+<a href="code_instruction.html">Implementing New Instructions</a>
<br /><a href="code_environment.html">The Environment Source Code</a>
</p>
+<div>
+Revised 2006-08-28 DMB
+</div>
+
</body>
</html>
Modified: development/documentation/notes/release-milestones.txt
===================================================================
--- development/documentation/notes/release-milestones.txt 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/notes/release-milestones.txt 2006-08-28 14:52:19 UTC (rev 902)
@@ -54,8 +54,8 @@
* Consistency test support
* Framework for unit testing
* Move UnitTest functions from classes to namespaces
-- Update documentation
-- Code release cleanup
++ Update documentation
++ Code release cleanup
Version 2.6 - stable - Target: < Mid 2007 - Status: Pending version 2.5 completion
Modified: development/documentation/structure.html
===================================================================
--- development/documentation/structure.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/structure.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,14 +1,18 @@
<html>
<head>
- <title>Directory and File Structure of Avida</title>
+ <title>Avida : Directory and File Structure</title>
</head>
<body>
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
<p><a href="index.html">Return to the Index</a></p>
<hr />
<div align="center">
-<h1>Directory and File Structure of Avida</h1>
+<h1>Directory and File Structure</h1>
</div>
<p>
Modified: development/documentation/svn.html
===================================================================
--- development/documentation/svn.html 2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/svn.html 2006-08-28 14:52:19 UTC (rev 902)
@@ -1,9 +1,13 @@
<html>
<head>
- <title>Using Subversion to Obtain Avida</title>
+ <title>Avida : Using Subversion to Obtain Avida</title>
</head>
<body>
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
<p><a href="index.html">Return to the Index</a></p>
<hr />
Modified: development/source/actions/LandscapeActions.cc
===================================================================
--- development/source/actions/LandscapeActions.cc 2006-08-27 02:57:12 UTC (rev 901)
+++ development/source/actions/LandscapeActions.cc 2006-08-28 14:52:19 UTC (rev 902)
@@ -1055,7 +1055,6 @@
action_lib->Register<cActionHillClimb>("HillClimbNeut");
action_lib->Register<cActionHillClimb>("HillClimbRand");
action_lib->Register<cActionPairTestLandscape>("PairTestLandscape");
- action_lib->Register<cActionAnalyzeLandscape>("AnalyzePopulation");
action_lib->Register<cActionMutationalNeighborhood>("MutationalNeighborhood");
Modified: development/source/actions/PopulationActions.cc
===================================================================
--- development/source/actions/PopulationActions.cc 2006-08-27 02:57:12 UTC (rev 901)
+++ development/source/actions/PopulationActions.cc 2006-08-28 14:52:19 UTC (rev 902)
@@ -261,7 +261,7 @@
if (m_cell_end == -1) m_cell_end = m_cell_start + 1;
}
- static const cString GetDescription() { return "Arguments: [string fname=\"START_CREATURE\"] [int cell_start=0] [int cell_end=-1] [double merit=-1] [int lineage_label=0] [double neutral_metric=0]"; }
+ static const cString GetDescription() { return "Arguments: <string sequence> [int cell_start=0] [int cell_end=-1] [double merit=-1] [int lineage_label=0] [double neutral_metric=0]"; }
void Process(cAvidaContext& ctx)
{
@@ -1008,7 +1008,7 @@
if (largs.GetSize()) m_max = largs.PopWord().AsInt();
}
- static const cString GetDescription() { return "Arguments: [int col_id=-1] [int min_col=0] [int max_col=-1]"; }
+ static const cString GetDescription() { return "Arguments: [int col_id=-1] [int min_row=0] [int max_row=-1]"; }
void Process(cAvidaContext& ctx)
{
@@ -1070,7 +1070,7 @@
if (largs.GetSize()) m_max = largs.PopWord().AsInt();
}
- static const cString GetDescription() { return "Arguments: [int col_id=-1] [int min_col=0] [int max_col=-1]"; }
+ static const cString GetDescription() { return "Arguments: [int row_id=-1] [int min_col=0] [int max_col=-1]"; }
void Process(cAvidaContext& ctx)
{
@@ -1079,7 +1079,7 @@
if (m_id == -1) m_id = world_y / 2;
if (m_max == -1) m_max = world_x;
if (m_id < 0 || m_id >= world_y) {
- cString err = cStringUtil::Stringf("Row ID %d out of range for JoinGridCol", m_id);
+ cString err = cStringUtil::Stringf("Row ID %d out of range for JoinGridRow", m_id);
m_world->GetDriver().RaiseException(err);
return;
}
Modified: development/source/actions/PrintActions.cc
===================================================================
--- development/source/actions/PrintActions.cc 2006-08-27 02:57:12 UTC (rev 901)
+++ development/source/actions/PrintActions.cc 2006-08-28 14:52:19 UTC (rev 902)
@@ -1403,6 +1403,7 @@
// Population Out Files
action_lib->Register<cActionPrintPhenotypeData>("PrintPhenotypeData");
action_lib->Register<cActionPrintPhenotypeStatus>("PrintPhenotypeStatus");
+ action_lib->Register<cActionPrintDemeStats>("PrintDemeStats");
// Processed Data
action_lib->Register<cActionPrintData>("PrintData");
@@ -1416,25 +1417,25 @@
action_lib->Register<cActionPrintDominantGenotype>("PrintDominantGenotype");
action_lib->Register<cActionPrintDominantParasiteGenotype>("PrintDominantParasiteGenotype");
action_lib->Register<cActionPrintDetailedFitnessData>("PrintDetailedFitnessData");
- action_lib->Register<cActionPrintGeneticDistanceData>("PrintGenericDistanceData");
+ action_lib->Register<cActionPrintGeneticDistanceData>("PrintGeneticDistanceData");
action_lib->Register<cActionPrintPopulationDistanceData>("PrintPopulationDistanceData");
action_lib->Register<cActionPrintDebug>("PrintDebug");
action_lib->Register<cActionPrintGenotypes>("PrintGenotypes");
- action_lib->Register<cActionDumpMemory>("DumpMemory");
action_lib->Register<cActionTestDominant>("TestDominant");
action_lib->Register<cActionPrintTaskSnapshot>("PrintTaskSnapshot");
action_lib->Register<cActionPrintViableTasksData>("PrintViableTasksData");
action_lib->Register<cActionPrintTreeDepths>("PrintTreeDepths");
+ // Grid Information Dumps
+ action_lib->Register<cActionDumpMemory>("DumpMemory");
action_lib->Register<cActionDumpFitnessGrid>("DumpFitnessGrid");
action_lib->Register<cActionDumpGenotypeIDGrid>("DumpGenotypeIDGrid");
action_lib->Register<cActionDumpTaskGrid>("DumpTaskGrid");
action_lib->Register<cActionDumpDonorGrid>("DumpDonorGrid");
action_lib->Register<cActionDumpReceiverGrid>("DumpReceiverGrid");
- action_lib->Register<cActionPrintDemeStats>("PrintDemeStats");
// @DMB - The following actions are DEPRECATED aliases - These will be removed in 2.7.
action_lib->Register<cActionPrintAverageData>("print_average_data");
@@ -1457,6 +1458,7 @@
action_lib->Register<cActionPrintPhenotypeData>("print_number_phenotypes");
action_lib->Register<cActionPrintPhenotypeStatus>("print_phenotype_status");
+ action_lib->Register<cActionPrintDemeStats>("print_deme_stats");
action_lib->Register<cActionPrintData>("print_data");
action_lib->Register<cActionPrintInstructionAbundanceHistogram>("print_instruction_abundance_histogram");
@@ -1473,18 +1475,16 @@
action_lib->Register<cActionPrintPopulationDistanceData>("genetic_distance_pop_dump");
action_lib->Register<cActionPrintGenotypes>("print_genotypes");
- action_lib->Register<cActionDumpMemory>("dump_memory");
action_lib->Register<cActionTestDominant>("test_dom");
action_lib->Register<cActionPrintTaskSnapshot>("task_snapshot");
action_lib->Register<cActionPrintViableTasksData>("print_viable_tasks_data");
action_lib->Register<cActionPrintTreeDepths>("print_tree_depths");
+ action_lib->Register<cActionDumpMemory>("dump_memory");
action_lib->Register<cActionDumpFitnessGrid>("dump_fitness_grid");
action_lib->Register<cActionDumpGenotypeIDGrid>("dump_enotype_grid");
action_lib->Register<cActionDumpTaskGrid>("dump_task_grid");
action_lib->Register<cActionDumpDonorGrid>("dump_donor_grid");
action_lib->Register<cActionDumpReceiverGrid>("dump_receiver_grid");
-
- action_lib->Register<cActionPrintDemeStats>("print_deme_stats");
}
More information about the Avida-cvs
mailing list