next up previous contents
Next: Output Files Up: Input Files Previous: Parameter specification (params.ini)

User-defined ancestor programs (ancestor.ini)

If the parameter ancestor is set to user_defined, Cosmos looks in the ancestor.ini file for a description of the ancestor(s) to be used to inoculate the environment at the beginning of the run. The format of this file is shown in Figure A.3.


  
Figure A.3: Format of the ancestor.ini file.
\begin{figure}
\centering
\ttfamily
\begin{tabular}{\vert l\vert}
\hline
ancesto...
...ar93 \\
ancestor\_N\_description\\
\hline
\end{tabular}\rmfamily\end{figure}

Any number of different ancestors may be specified, each separated by the line ###. If multiple ancestors are defined in this file, they are introduced alternately into the environment during inoculation, until the specified total number of organisms has been reached (see the description of the parameters number and placement in Section A.1). Each ancestor description is a consecutive sequence of lines, each of which may be any one of the following:

1.
A blank line.
2.
A comment (commencing with the % character).
3.
An explicit bit string to be directly added to the ancestor's genome. Specified by a line consisting of a string composed of the characters 0 and 1. Useful for specifying binding patterns.
4.
An instruction (as listed in Section A.2). This has the effect of writing the bit string corresponding to the instruction (as defined in the file genetic_code.ini) to the ancestor's genome.
5.
An instruction enclosed in square brackets []. This has the effect of determining a sequence of nop instructions (i.e. taken from the set nop_00, nop_01, nop_10, and nop_11) corresponding to the bit string representation of the specified instruction. The bit string representation of this string of nops is then written to the ancestor's genome. Useful for writing code that will produce regulators which will bind to a particular sequence of instructions (without requiring the programmer to know the bit string representation of these instructions).
6.
A promoter to be added to the ancestor's promoter store. Specified by a line beginning with p: followed by a string composed of the characters 0 and 1 representing the promoter's bit string.
7.
A repressor to be added to the ancestor's repressor store. Specified in same way as promoter, but with line starting r:.
8.
An initial energy level for the ancestor. Specified by a line beginning with e: followed by a number to represent the desired energy level.
9.
An initial flaw period for the ancestor. Specified by a line beginning with f: followed by a number to represent the desired flaw period.
A valid ancestor description consists of at least one instruction and one promoter. If no initial energy level or flaw period are specified, the default values defined by the parameters default_ets_level_of_ancestor and default_flaw_period, respectively, are used. If multiple ancestors are defined, they are distributed alternately across the environment, as described in Section A.1 under the description of the placement parameter.


next up previous contents
Next: Output Files Up: Input Files Previous: Parameter specification (params.ini)
Tim Taylor
1999-05-29