[Avida-cvs] [avida-svn] r446 - branches/developers/avida-edward/source/python/AvidaGui2

baerb@myxo.css.msu.edu baerb at myxo.css.msu.edu
Wed Jan 25 10:15:52 PST 2006


Author: baerb
Date: 2006-01-25 13:15:52 -0500 (Wed, 25 Jan 2006)
New Revision: 446

Added:
   branches/developers/avida-edward/source/python/AvidaGui2/pyDefaultFiles.py
Log:

Added a program to add default files when creating a new workspce (if there 
are not files available to copy)



Added: branches/developers/avida-edward/source/python/AvidaGui2/pyDefaultFiles.py
===================================================================
--- branches/developers/avida-edward/source/python/AvidaGui2/pyDefaultFiles.py	2006-01-25 17:56:13 UTC (rev 445)
+++ branches/developers/avida-edward/source/python/AvidaGui2/pyDefaultFiles.py	2006-01-25 18:15:52 UTC (rev 446)
@@ -0,0 +1,302 @@
+class pyDefaultFiles:
+
+  def __init__(self, out_file_name = None, full_out_file_name = None):
+    lines = []
+    lines = lines + ["environment.default", "##############################################################################"]
+    lines = lines + ["environment.default", "#"]
+    lines = lines + ["environment.default", "# This is the setup file for the task/resource system.  From here, you can"]
+    lines = lines + ["environment.default", "# setup the available resources (including their inflow and outflow rates) as"]
+    lines = lines + ["environment.default", "# well as the reactions that the organisms can trigger by performing tasks."]
+    lines = lines + ["environment.default", "#"]
+    lines = lines + ["environment.default", "# This file is currently setup to reward 9 tasks, all of which use the"]
+    lines = lines + ["environment.default", "# \"infinite\" resource, which is undepletable."]
+    lines = lines + ["environment.default", "#"]
+    lines = lines + ["environment.default", "# For information on how to use this file, see:  doc/environment.html"]
+    lines = lines + ["environment.default", "# For other sample environments, see:  source/support/config/ "]
+    lines = lines + ["environment.default", "#"]
+    lines = lines + ["environment.default", "##############################################################################"]
+    lines = lines + ["environment.default", ""]
+    lines = lines + ["environment.default", "REACTION  NOT  not   process:value=1.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  NAND nand  process:value=1.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  AND  and   process:value=2.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  ORN  orn   process:value=2.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  OR   or    process:value=3.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  ANDN andn  process:value=3.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  NOR  nor   process:value=4.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  XOR  xor   process:value=4.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["environment.default", "REACTION  EQU  equ   process:value=5.0:type=pow  requisite:max_count=1"]
+    lines = lines + ["events.default", "##############################################################################"]
+    lines = lines + ["events.default", "#"]
+    lines = lines + ["events.default", "# This is the setup file for the events system.  From here, you can"]
+    lines = lines + ["events.default", "# configure any actions that you want to have happen during the course of"]
+    lines = lines + ["events.default", "# an experiment, including setting the times for data collection."]
+    lines = lines + ["events.default", "#"]
+    lines = lines + ["events.default", "# basic syntax:  [trigger]  [start:interval:stop]  [event] [arguments...]"]
+    lines = lines + ["events.default", "#"]
+    lines = lines + ["events.default", "# This file is currently setup to start off a population full of the "]
+    lines = lines + ["events.default", "# starting organism specified in genesis, and then record key information"]
+    lines = lines + ["events.default", "# every 100 updates."]
+    lines = lines + ["events.default", "#"]
+    lines = lines + ["events.default", "# For information on how to use this file, see:  doc/events.html"]
+    lines = lines + ["events.default", "# For other sample event configurations, see:  source/support/config/"]
+    lines = lines + ["events.default", "#"]
+    lines = lines + ["events.default", "##############################################################################"]
+    lines = lines + ["events.default", ""]
+    lines = lines + ["events.default", "# Print all of the standard data files..."]
+    lines = lines + ["events.default", "# u 0:100 print_dom                 # Save the most abundant genotypes"]
+    lines = lines + ["events.default", "# u 0:1:end print_average_data    # Save info about they average genotypes"]
+    lines = lines + ["events.default", "# u 0:100:end print_dominant_data   # Save info about most abundant genotypes"]
+    lines = lines + ["events.default", "# u 0:100:end print_stats_data      # Collect satistics about entire pop."]
+    lines = lines + ["events.default", "# u 0:1:end print_count_data      # Count organisms, genotypes, species, etc."]
+    lines = lines + ["events.default", "# u 0:100:end print_tasks_data      # Save organisms counts for each task."]
+    lines = lines + ["events.default", "# u 0:100:end print_time_data       # Track time conversion (generations, etc.)"]
+    lines = lines + ["events.default", "# u 0:100:end print_resource_data   # Track resource abundance."]
+    lines = lines + ["events.default", ""]
+    lines = lines + ["events.default", "# A few data files not printed by default"]
+    lines = lines + ["events.default", "# u 100:100:end print_error_data      # Std. Error on averages."]
+    lines = lines + ["events.default", "# u 100:100:end print_variance_data   # Variance on averages."]
+    lines = lines + ["events.default", "# u 100:100:end print_totals_data     # Total counts over entire run."]
+    lines = lines + ["events.default", "# u 100:100:end print_tasks_exe_data  # Num. times tasks have been executed."]
+    lines = lines + ["events.default", ""]
+    lines = lines + ["events.default", "# Setup the exit time and full population data collection."]
+    lines = lines + ["events.default", "u 50000:50000 detail_pop           # Save current state of population."]
+    lines = lines + ["events.default", "u 50000:50000 dump_historic_pop    # Save ancestors of current population."]
+    lines = lines + ["events.default", ""]
+    lines = lines + ["genesis.default", "#############################################################################"]
+    lines = lines + ["genesis.default", "# This file includes all the basic run-time defines for avida."]
+    lines = lines + ["genesis.default", "# For more information, see doc/genesis.html"]
+    lines = lines + ["genesis.default", "#############################################################################"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "VERSION_ID 2.2.1		# Do not change this value!"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Architecture Variables ###"]
+    lines = lines + ["genesis.default", "MAX_UPDATES  -1         # Maximum updates to run simulation (-1 = no limit)"]
+    lines = lines + ["genesis.default", "MAX_GENERATIONS -1      # Maximum generations to run simulation (-1 = no limit)"]
+    lines = lines + ["genesis.default", "END_CONDITION_MODE 0	# End run when ..."]
+    lines = lines + ["genesis.default", "			# 0 = MAX_UPDATES _OR_ MAX_GENERATIONS is reached"]
+    lines = lines + ["genesis.default", "			# 1 = MAX_UPDATES _AND_ MAX_GENERATIONS is reached"]
+    lines = lines + ["genesis.default", "WORLD-X 30		# Width of the world in Avida mode."]
+    lines = lines + ["genesis.default", "WORLD-Y 30		# Height of the world in Avida mode."]
+    lines = lines + ["genesis.default", "WORLD_GEOMETRY 1        # 1 = Bounded Grid"]
+    lines = lines + ["genesis.default", "                        # 2 = Torus (Default)"]
+    lines = lines + ["genesis.default", "RANDOM_SEED 0		# Random number seed. (0 for based on time)"]
+    lines = lines + ["genesis.default", "HARDWARE_TYPE 0		# 0 = Original CPUs"]
+    lines = lines + ["genesis.default", "			# 1 = New, Stack-based CPUs"]
+    lines = lines + ["genesis.default", "MAX_CPU_THREADS 1	# Number of Threads CPUs can spawn"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Configuration Files ###"]
+    lines = lines + ["genesis.default", "DEFAULT_DIR ../work/              # Directory in which config files are found"]
+    lines = lines + ["genesis.default", "INST_SET inst_set.default         # File containing instruction set"]
+    lines = lines + ["genesis.default", "EVENT_FILE events.cfg             # File containing list of events during run"]
+    lines = lines + ["genesis.default", "ANALYZE_FILE analyze.cfg          # File used for analysis mode"]
+    lines = lines + ["genesis.default", "ENVIRONMENT_FILE environment.cfg  # File that describes the environment"]
+    lines = lines + ["genesis.default", "# START_CREATURE default.organism   # Organism to seed the soup"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Reproduction ###"]
+    lines = lines + ["genesis.default", "BIRTH_METHOD 4    # 0 = Replace random organism in neighborhood"]
+    lines = lines + ["genesis.default", "		  # 1 = Replace oldest organism in neighborhood"]
+    lines = lines + ["genesis.default", "		  # 2 = Replace largest Age/Merit in neighborhood"]
+    lines = lines + ["genesis.default", "		  # 3 = Place only in empty cells in neighborhood"]
+    lines = lines + ["genesis.default", "		  # 4 = Replace random from entire population (Mass Action)"]
+    lines = lines + ["genesis.default", "		  # 5 = Replace oldest in entire population (like Tierra)"]
+    lines = lines + ["genesis.default", "PREFER_EMPTY 1    # Are empty cells given preference in offspring placement?"]
+    lines = lines + ["genesis.default", "DEATH_METHOD 0    # 0 = Never die of old age."]
+    lines = lines + ["genesis.default", "		  # 1 = Die when inst executed = AGE_LIMIT (with deviation)"]
+    lines = lines + ["genesis.default", "		  # 2 = Die when inst executed = length * AGE_LIMIT (+ dev.)"]
+    lines = lines + ["genesis.default", "AGE_LIMIT 5000    # Modifies DEATH_METHOD"]
+    lines = lines + ["genesis.default", "AGE_DEVIATION 0   # Modified DEATH_METHOD"]
+    lines = lines + ["genesis.default", "ALLOC_METHOD 0    # 0 = Allocated space is set to default instruction."]
+    lines = lines + ["genesis.default", "                  # 1 = Set to section of dead genome (Necrophilia)"]
+    lines = lines + ["genesis.default", "                  # 2 = Allocated space is set to random instruction."]
+    lines = lines + ["genesis.default", "DIVIDE_METHOD 1   # 0 = Divide leaves state of mother untouched."]
+    lines = lines + ["genesis.default", "                  # 1 = Divide resets state of mother"]
+    lines = lines + ["genesis.default", "                  #     (after the divide, we have 2 children)"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "GENERATION_INC_METHOD 1 # 0 = Only the generation of the child is"]
+    lines = lines + ["genesis.default", "                        #     increased on divide."]
+    lines = lines + ["genesis.default", "			# 1 = Both the generation of the mother and child are"]
+    lines = lines + ["genesis.default", "			#     increased on divide (good with DIVIDE_METHOD 1)."]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Divide Restrictions ####"]
+    lines = lines + ["genesis.default", "CHILD_SIZE_RANGE 1.0	# Maximal differential between child and parent sizes."]
+    lines = lines + ["genesis.default", "MIN_COPIED_LINES 0.5    # Code fraction which must be copied before divide."]
+    lines = lines + ["genesis.default", "MIN_EXE_LINES    0.5    # Code fraction which must be executed before divide."]
+    lines = lines + ["genesis.default", "REQUIRE_ALLOCATE   1    # Is a an allocate required before a divide? (0/1)"]
+    lines = lines + ["genesis.default", "REQUIRED_TASK -1  # Number of task required for successful divide."]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Mutations ###"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "# mutations that occur during execution.."]
+    lines = lines + ["genesis.default", "POINT_MUT_PROB  0.0     # Mutation rate (per-location per update)"]
+    lines = lines + ["genesis.default", "COPY_MUT_PROB   0.0075  # Mutation rate (per copy)."]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "# mutations that occur on divide..."]
+    lines = lines + ["genesis.default", "INS_MUT_PROB    0.0     # Insertion rate (per site, applied on divide)."]
+    lines = lines + ["genesis.default", "DEL_MUT_PROB    0.0     # Deletion rate (per site, applied on divide)."]
+    lines = lines + ["genesis.default", "DIV_MUT_PROB    0.0     # Mutation rate (per site, applied on divide)."]
+    lines = lines + ["genesis.default", "DIVIDE_MUT_PROB 0.0     # Mutation rate (per divide)."]
+    lines = lines + ["genesis.default", "DIVIDE_INS_PROB 0.0     # Insertion rate (per divide)."]
+    lines = lines + ["genesis.default", "DIVIDE_DEL_PROB 0.0     # Deletion rate (per divide)."]
+    lines = lines + ["genesis.default", "PARENT_MUT_PROB 0.0     # Per-site, in parent, on divide"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "# heads based mutations"]
+    lines = lines + ["genesis.default", "# READ_SHIFT_PROB   0.0"]
+    lines = lines + ["genesis.default", "# READ INS_PROB     0.0"]
+    lines = lines + ["genesis.default", "# READ_DEL_PROB     0.0"]
+    lines = lines + ["genesis.default", "# WRITE_SHIFT_PROB  0.0"]
+    lines = lines + ["genesis.default", "# WRITE_INS_PROB    0.0"]
+    lines = lines + ["genesis.default", "# WRITE_DEL_PROB    0.0"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Mutation reversions ###"]
+    lines = lines + ["genesis.default", "# these slow down avida a lot, and should be set to 0 normally."]
+    lines = lines + ["genesis.default", "REVERT_FATAL       0.0  # Should any mutations be reverted on birth?"]
+    lines = lines + ["genesis.default", "REVERT_DETRIMENTAL 0.0  #   0.0 to 1.0; Probability of reversion."]
+    lines = lines + ["genesis.default", "REVERT_NEUTRAL     0.0"]
+    lines = lines + ["genesis.default", "REVERT_BENEFICIAL  0.0"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "STERILIZE_FATAL       0.0  # Should any mutations clear (kill) the organism?"]
+    lines = lines + ["genesis.default", "STERILIZE_DETRIMENTAL 0.0  #   0.0 to 1.0; Probability of reset."]
+    lines = lines + ["genesis.default", "STERILIZE_NEUTRAL     0.0"]
+    lines = lines + ["genesis.default", "STERILIZE_BENEFICIAL  0.0"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "FAIL_IMPLICIT     0	# Should copies that failed *not* due to mutations"]
+    lines = lines + ["genesis.default", "			# be eliminated?"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Time Slicing ###"]
+    lines = lines + ["genesis.default", "AVE_TIME_SLICE 30"]
+    lines = lines + ["genesis.default", "SLICING_METHOD 2	# 0 = CONSTANT: all organisms get default..."]
+    lines = lines + ["genesis.default", "			# 1 = PROBABILISTIC: Run _prob_ proportional to merit."]
+    lines = lines + ["genesis.default", "			# 2 = INTEGRATED: Perfectly integrated deterministic."]
+    lines = lines + ["genesis.default", "SIZE_MERIT_METHOD 4	# 0 = off (merit is independent of size)"]
+    lines = lines + ["genesis.default", "			# 1 = Merit proportional to copied size"]
+    lines = lines + ["genesis.default", "			# 2 = Merit prop. to executed size"]
+    lines = lines + ["genesis.default", "			# 3 = Merit prop. to full size"]
+    lines = lines + ["genesis.default", "			# 4 = Merit prop. to min of executed or copied size"]
+    lines = lines + ["genesis.default", "			# 5 = Merit prop. to sqrt of the minimum size"]
+    lines = lines + ["genesis.default", "TASK_MERIT_METHOD 1	# 0 = No task bonuses"]
+    lines = lines + ["genesis.default", "			# 1 = Bonus just equals the task bonus"]
+    lines = lines + ["genesis.default", "THREAD_SLICING_METHOD 0 # 0 = One thread executed per time slice."]
+    lines = lines + ["genesis.default", "			# 1 = All threads executed each time slice."]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "MAX_LABEL_EXE_SIZE 1	# Max nops marked as executed when labels are used"]
+    lines = lines + ["genesis.default", "MERIT_TIME 1            # 0 = Merit Calculated when task completed"]
+    lines = lines + ["genesis.default", "		        # 1 = Merit Calculated on Divide"]
+    lines = lines + ["genesis.default", "MAX_NUM_TASKS_REWARDED -1  # -1 = Unlimited"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Genotype Info ###"]
+    lines = lines + ["genesis.default", "THRESHOLD 1		# Number of organisms in a genotype needed for it"]
+    lines = lines + ["genesis.default", "			#   to be considered viable."]
+    lines = lines + ["genesis.default", "GENOTYPE_PRINT 0	# 0/1 (off/on) Print out all threshold genotypes?"]
+    lines = lines + ["genesis.default", "GENOTYPE_PRINT_DOM 0	# Print out a genotype if it stays dominant for"]
+    lines = lines + ["genesis.default", "                        #   this many updates. (0 = off)"]
+    lines = lines + ["genesis.default", "SPECIES_THRESHOLD 2     # max failure count for organisms to be same species"]
+    lines = lines + ["genesis.default", "SPECIES_RECORDING 0	# 1 = full, 2 = limited search (parent only)"]
+    lines = lines + ["genesis.default", "SPECIES_PRINT 0		# 0/1 (off/on) Print out all species?"]
+    lines = lines + ["genesis.default", "TEST_CPU_TIME_MOD 20    # Time allocated in test CPUs (multiple of length)"]
+    lines = lines + ["genesis.default", "TRACK_MAIN_LINEAGE 1    # Track primary lineage leading to final population?"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### Log Files ###"]
+    lines = lines + ["genesis.default", "LOG_CREATURES 0		# 0/1 (off/on) toggle to print file."]
+    lines = lines + ["genesis.default", "LOG_GENOTYPES 0		# 0 = off, 1 = print ALL, 2 = print threshold ONLY."]
+    lines = lines + ["genesis.default", "LOG_THRESHOLD 0		# 0/1 (off/on) toggle to print file."]
+    lines = lines + ["genesis.default", "LOG_SPECIES 0		# 0/1 (off/on) toggle to print file."]
+    lines = lines + ["genesis.default", "LOG_LANDSCAPE 0		# 0/1 (off/on) toggle to print file."]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "LOG_LINEAGES 0          # 0/1 (off/on) to log advantageous mutations"]
+    lines = lines + ["genesis.default", "# This one can slow down avida a lot. It is used to get an idea of how"]
+    lines = lines + ["genesis.default", "# often an advantageous mutation arises, and where it goes afterwards."]
+    lines = lines + ["genesis.default", "# See also LINEAGE_CREATION_METHOD."]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "LINEAGE_CREATION_METHOD 0"]
+    lines = lines + ["genesis.default", "# Lineage creation options are.  Works only when LOG_LINEAGES is set to 1."]
+    lines = lines + ["genesis.default", "#   0 = manual creation (on inject, use successive integers as lineage labels)."]
+    lines = lines + ["genesis.default", "#   1 = when a child's (potential) fitness is higher than that of its parent."]
+    lines = lines + ["genesis.default", "#   2 = when a child's (potential) fitness is higher than max in population."]
+    lines = lines + ["genesis.default", "#   3 = when a child's (potential) fitness is higher than max in dom. lineage"]
+    lines = lines + ["genesis.default", "#	*and* the child is in the dominant lineage, or (2)"]
+    lines = lines + ["genesis.default", "#   4 = when a child's (potential) fitness is higher than max in dom. lineage"]
+    lines = lines + ["genesis.default", "#	(and that of its own lineage)"]
+    lines = lines + ["genesis.default", "#   5 = same as child's (potential) fitness is higher than that of the"]
+    lines = lines + ["genesis.default", "#       currently dominant organism, and also than that of any organism"]
+    lines = lines + ["genesis.default", "#       currently in the same lineage."]
+    lines = lines + ["genesis.default", "#   6 = when a child's (potential) fitness is higher than any organism"]
+    lines = lines + ["genesis.default", "#       currently in the same lineage."]
+    lines = lines + ["genesis.default", "#   7 = when a child's (potential) fitness is higher than that of any"]
+    lines = lines + ["genesis.default", "#       organism in its line of descent"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", "### END ###"]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["genesis.default", ""]
+    lines = lines + ["inst_set.default", "nop-A      1   # a"]
+    lines = lines + ["inst_set.default", "nop-B      1   # b"]
+    lines = lines + ["inst_set.default", "nop-C      1   # c"]
+    lines = lines + ["inst_set.default", "if-n-equ   1   # d"]
+    lines = lines + ["inst_set.default", "if-less    1   # e"]
+    lines = lines + ["inst_set.default", "pop        1   # f"]
+    lines = lines + ["inst_set.default", "push       1   # g"]
+    lines = lines + ["inst_set.default", "swap-stk   1   # h"]
+    lines = lines + ["inst_set.default", "swap       1   # i "]
+    lines = lines + ["inst_set.default", "shift-r    1   # j"]
+    lines = lines + ["inst_set.default", "shift-l    1   # k"]
+    lines = lines + ["inst_set.default", "inc        1   # l"]
+    lines = lines + ["inst_set.default", "dec        1   # m"]
+    lines = lines + ["inst_set.default", "add        1   # n"]
+    lines = lines + ["inst_set.default", "sub        1   # o"]
+    lines = lines + ["inst_set.default", "nand       1   # p"]
+    lines = lines + ["inst_set.default", "IO         1   # q   Puts current contents of register and gets new."]
+    lines = lines + ["inst_set.default", "h-alloc    1   # r   Allocate as much memory as organism can use."]
+    lines = lines + ["inst_set.default", "h-divide   1   # s   Cuts off everything between the read and write heads"]
+    lines = lines + ["inst_set.default", "h-copy     1   # t   Combine h-read and h-write"]
+    lines = lines + ["inst_set.default", "h-search   1   # u   Search for matching template, set flow head & return info"]
+    lines = lines + ["inst_set.default", "               #   #   if no template, move flow-head here, set size&offset=0."]
+    lines = lines + ["inst_set.default", "mov-head   1   # v   Move ?IP? head to flow control."]
+    lines = lines + ["inst_set.default", "jmp-head   1   # w   Move ?IP? head by fixed amount in CX.  Set old pos in CX."]
+    lines = lines + ["inst_set.default", "get-head   1   # x   Get position of specified head in CX."]
+    lines = lines + ["inst_set.default", "if-label   1   # y"]
+    lines = lines + ["inst_set.default", "set-flow   1   # z   Move flow-head to address in ?CX? "]
+    lines = lines + ["inst_set.default", ""]
+    lines = lines + ["inst_set.default", "#adv-head   1"]
+    lines = lines + ["inst_set.default", "#jump-f     1"]
+    lines = lines + ["inst_set.default", "#jump-b     1"]
+    lines = lines + ["inst_set.default", "#call       1"]
+    lines = lines + ["inst_set.default", "#return     1"]
+    lines = lines + ["inst_set.default", "#if-bit-1   1"]
+    lines = lines + ["inst_set.default", "#get        1"]
+    lines = lines + ["inst_set.default", "#put        1"]
+    lines = lines + ["inst_set.default", "#h-read     1"]
+    lines = lines + ["inst_set.default", "#h-write    1"]
+    lines = lines + ["inst_set.default", "#set-head   1"]
+    lines = lines + ["inst_set.default", "#search-f   1"]
+    lines = lines + ["inst_set.default", "#search-b   1"]
+    lines = lines + ["inst_set.default", ""]
+    lines = lines + ["inst_set.default", ""]
+    lines = lines + ["inst_set.default", "# Works on multiple nops:  pop  push  inc  dec  IO  adv-head "]
+    lines = lines + ["inst_set.default", ""]
+    lines = lines + ["inst_set.default", "# What if we add a new head.  Search will return the location of something,"]
+    lines = lines + ["inst_set.default", "# and put the new head there.  Then set-head will move another head to that"]
+    lines = lines + ["inst_set.default", "# point.  In the case of the copy loop, it only needs to be set once and"]
+    lines = lines + ["inst_set.default", "# this will speed up the code quite a bit!"]
+    lines = lines + ["inst_set.default", ""]
+    lines = lines + ["inst_set.default", "# Search with no template returns current position (abs line number) in"]
+    lines = lines + ["inst_set.default", "# genome."]
+    lines = lines + ["freezer/default.empty", "*SETTINGS"]
+    lines = lines + ["freezer/default.empty", "RANDOM_SEED 0"]
+    lines = lines + ["freezer/default.empty", "DEATH_METHOD 2"]
+    lines = lines + ["freezer/default.empty", "COPY_MUT_PROB 0.03"]
+    lines = lines + ["freezer/default.empty", "WORLD-X 30"]
+    lines = lines + ["freezer/default.empty", "WORLD-Y 30"]
+    lines = lines + ["freezer/default.empty", "BIRTH_METHOD 0"]
+    lines = lines + ["freezer/default.empty", "START_CREATURE0 default"]
+    lines = lines + ["freezer/default.empty", "AGE_LIMIT 100"]
+    lines = lines + ["freezer/default.empty", "MAX_UPDATES -1"]
+    lines = lines + ["freezer/default.organism", "rucavcqgfcqapqcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccutycasvab"]
+    out_lines = []
+    num_lines = len(lines)/2
+    for line_num in range(num_lines):
+      if lines[line_num * 2] == out_file_name:
+        out_lines = out_lines + [lines[(line_num * 2) + 1]]
+    full_out_file = open(full_out_file_name, 'w')
+    for line in out_lines:
+      full_out_file.write(line + "\n")
+    full_out_file.close()




More information about the Avida-cvs mailing list