cricketsim - User's Manual

Start cricketsim by double-clicking the icon for it. The main window appears:

Setting up a Simulation

Make sure the Output->Options window has these settings (should be the defaults):

"Hybridity file output sampling frequency" is how often hybridity data collection occurs (e.g., the distribution of A's and B's in the population). In this case, hybridity data are collected every 100 timesteps. The other settings should not affect any relevant datafiles.

Make sure the Output->Data Displays window has these settings (should be the defaults):

Either set the parameters manually, using the Params menu options, or load in a set of parameters using the File->"Load param file" option. When loading a parameter file, browse until you find a file whose name ends in ".prm" (the default parameter files all end this way, but any parameter files you save can be found, no matter what they end in). Similarly, if you have some parameter set you wish to save to use later, or to make minor variations from, simply choose File->"Save param file" and choose a name for the parameter file. Be sure to put ".prm" on the end of the file name to help you remember that it's a parameter file.

Once the parameters have been set, choose the number of repetitions for this experiment from the main window, "# run repetitions". Since the simulation involves many random elements, each repetition can produce different results. Each experimental test ("run") will produce a set of data stored in its own unique folder. Each folder will be stored inside another folder whose name is specified by the general parameter, "Experimental condition subdirectory/folder". For example, if the Main data directory/folder is set to "CSData" and the Experimental condition subdirectory/folder is set to "test", then each run of the experiment will be stored inside a folder called "cs-YYYY-MMDD-hhmmss" where the YYYY, MM, DD etc. are the date and time the experiment was begun. This keeps experiments separate from each other with unique names. This folder will be inside the "test" folder, which will be inside the "CSData1.2" folder (the version of the program, 1.2, is automatically added to the end of the Main data directory/folder.

Parameters

The following is a brief description of parameter settings for the various Params windows (under the Params menu item):

General Parameters

Main data directory/folder
This is the folder (also known as a directory) where the data for this experiment will be stored. It is located inside the folder where the program is stored. Actually, cricketsim will append "1.2" to the end of this name when it writes any data into this folder. This helps track the version of the program that generated the data.
Experimental condition subdirectory/folder
This is the fodler inside of the "Main data" folder where experiment data will be written. Inside of this folder will appear another folder for each experimental run under this condition.
World width
Number of cells the world is wide (horizontal dimension). Must be at least 1.
World height
Number of cells the world is high (vertical dimension). Must be at least 1.
Max simulation time
Number of time steps that will be simulated before the simulation ends and data are written to disk.
Crowding threshold
Crickets age faster when overcrowding occurs (to simulate the effects of heightened competition for limited resources). This value is how many other crickets must be in the current cell before an age penalty for overcrowding is assessed. Every multiple of this threshold increases the aging penalty by 1 timestep.
Crowding sensitivity
A multiplier for the overcrowding "age penalty". If it is 1.0 and the threshold is 10, then if the cricket is among 20 others in a cell, it will age 2 extra timesteps every timestep of the simulation. If the sensitivity were 5.0, then the same cricket in the same situation would age 10 timesteps per timestep of the simulation.
Terrain sensitivity
A modifier for how much terrain differences affect crickets. If this is set to 0, then crickets ignore terrain types. If this were set to 1.0, then crickets with ideal types of 1.0 would be fine, but those with ideal types of 2.0 would age an extra time step each turn they were in a cell of type 1 or 3 (see #Terrain types, below). If terrain sensitivity were 3.0, then crickets with ideal terrain types of 2.0 would age 3 time steps more every time step they spent in a cell of type 1 or 3.
#Terrain types
How many different types of terrain there will be in the world. Terrain types are numbered consecutively starting at 1. Each cell in the world can be of one type. Crickets have genes (their "age" or "fit" or "terrain" genes) that code for how much they can tolerate a given terrain - basically, each cricket has a terrain they live best in. If a cricket is in a cell whose terrain type is very different from their ideal type, they will age faster, causing them to die more quickly (possibly preventing them from being able to find a mate in time). For example, if a cricket's ideal terrain type were 1.0, and it were in a cell that was of type 4, this would cause them to age much faster than if they were in a cell of type 2.
Terrain layout
How terrain types are distributed. Striped means that terrain types are assigned to vertical strips in order (1 to the left of 2, 2 to the left of 3,...), approximating equal width. Random means that terrain types are assigned to cells randonly.
Terrain block size (random layout)
If random layout is selected (see "Terrain layout" above), this determines the size of the patches of cells that are assigned one type. A size of 1 means that types are completely random. A size of 2 means that each 2x2 block of cells will be of the same type (though the type is random).
Signal range
The number of cells away that a female can hear a male's call. Females farther away from a male than this cannot hear his signal.
Mean cricket lifespan
Average number of timesteps a cricket will live. This lifespan is given at each cricket's birth, but varies based on genetic and environmental factors (terrain type, fitness genes).
Mutation rate (per allele)
The probability, per allele, that its value will change when being passed on to offspring.
#pairs of age loci to sample for heterozygosity
Although crickets may have many loci for their "age" trait (see phenotype parameters), the penalty for being hybrid is determined by this parameter and the one that follows it (genetic age factor). To determine the penalty for being hybrid, age loci are sampled at random, in pairs. So if there were 10 age loci, and loci 4 and 5 were chosen (loci 1-10 all have an equal chance of being chosen), these loci would be compared within and between for mismatches. The "fit-allele" (see Genotype parameters) is taken from each locus. There are 2 fit alleles at each locus since all genomes are diploid. Locus 4 might have "1" and "2", while locus 5 might have "2" and "2". Locus 4 has an internal mismatch, and its first allele "1" mismatches with locus 5's first allele "1". However, locus 4 and 5 match at the second allele (both are "2") and locus 5 matches internally. So there are a total of 2 mismatches for this pair. The number of pairs specified will be sampled in this way, and the total number of mismatches will be counted. This sampling is done each time step for each cricket, so a different "mismatch count" may result each time for the same cricket. The penalty to a cricket is its mismatch count times the Genetic age factor (see below). This penalty is the number of time steps that are added to the cricket's age. Normally, crickets age once every timestep, but if the penalty were 5, they would age 6 times in this time step. Aging is important since crickets die after a certain number of timesteps (see Mean Cricket Lifespan, above). So faster aging means fewer chances to mate.
Genetic age factor (penalty per allele mismatch)
This is the value multiplied by the number of "age loci mismatches" (described in the parameter above). If this value is 0, no penalty applies. This would be equivalent to having no endogenous postzygotic mating barrier.
Preference function
There are five possible values for this: best-proportional, best-inverse-proportional, best-fixed, open-ended increasing and open-ended decreasing. These functions determine how females will evaluate each male signal's pulse-rate in relation to their own pulse-rate preference and how they will compare different male pulse-rates. The open-ended functions are simple: if set to open-ended increasing, females will prefer males with higher pulse-rates than their own preferences (ignoring those below their pulse-rate preference), and they will prefer the highest "preference rating" that they compute; vice-versa for open-ended decreasing. Best-fixed is also simple. The female compares her preference to the male's pulse rate; if they differ by less than the Preference func tolerance (see parameter below), she will respond. She will prefer those pulse-rates which are closest to her own preference, but will ignore those outside of the tolerance (the absolute difference between her preference and his pulse-rate). The best-X-proportional functions are similiar to the fixed one, but they are proportional to the female's actual preference value. For best-proportional, the higher her preference, the greater the range of tolerance she will have to pulse-rates that deviate from this preference. For best-inverse-proportional, the opposite is true: females with higher preferences have narrower areas of tolerance for deviations.
Preference func tolerance
This value is meaningless if using open-ended preference functions. Otherwise, it serves as a coefficient for the "best-X" preference functions. For best-fixed, tolerance is the absolute difference a female will even accept between her preference value and the male's pulse-rate. Thus, if she prefers 2.4 and he produces 3.4, a female with a tolerance of 1.0 or greater would listen to him, but a tolerance of .5 means she would ignore him. Even so, females will choose the male with the closest pulse-rate to her preference. For best-proportional and best-inverse-proportional fitness functions, a formula determines her accepted range. For best-proportional, s = T/((pref-PR)/pref), where pref is the female's pulse-rate preference, PR is the male's pulse rate, and T is the "Preference func tolerance". If s > 1.0, she ignores the male's signal, otherwise she'll compare it to other male signals she likes and choose the one with the smallest s. The inverse proportional function is literally the inverse of the best-proportional one. For the best-proportional function, a female will accept pulse-rates between pref-(pref/T) and pref+(pref/T). Thus, a higher T means a narrower tolerance for deviation of pulse-rates from her preference. For the inverse proportional function, a female accepts any pulse rate between pref-(T/pref) and pref+(T/pref). Thus, a higher T means a larger tolerance for deviation of pulse-rates from her preference.
Female move priority
Determines whether females follow signals or terrain considerations. If signal is selected, females will look for the best male signal adjacent to them (or in their own cell) and move there (or stay and mate). Ties are broken by terrain types (move to best terrain type). If terrain is selected, then females will try to move to an adjacent cell with a terrain type that is closest to their ideal type.
Male move priority
Determines whether density or terrain should be the prime factor in moving. When set to density, males will only move if density forces them to. Terrain decides ties (since males attempt to move to an adjacent cell with better density). When set to terrain, only terrain type differences will cause a move, and males will move to cells with the closest terrain to their ideal terrain type. Ties would be broken by density preferences.
Male preferred density (in #males)
A relative rating of how crowded a male prefers his current cell to be iwth other males. As a cell gains or loses males above or below the preferred density, the male's chances of moving increase. The male's probability of remaining in his current cell is computed by the formula 1/2^(C*|D-d|), where d is the actual density of the cell (the number of males there), D is the preferred density (this parameter), C is the Male density coefficient (see below). [In the formula, "^" stands for exponentiation, "|" is absolute value.] Every time step, this formula is computed, and a value between 0 and 1 is produced. The male will move to another cell based on this probability. Thus, when d=D (the number of males in the current cell match the male's density preference, the male will never move since the probability of remaining in place is 1.0/2^(0.0) = 1.0/1.0 = 1.0.
Male density coefficient
The coefficient determining how likely the male is to move when in a cell whose male density is different from his preferred density. The higher this value is, the more likely the male will move when there is a difference between actual and preferred density.
Female mating latency
How many timesteps must elapse before females may mate again.
#child pairs/mating
How many pairs of offspring are created after each mating.
Offspring dispersal: max x distance
Maximum distance (horizontally) from the parents an offspring will be placed. A random distance between 1 and max x from the parents is chosen.
Offspring dispersal: max y distance
Maximum distance (vertically) from the parents an offspring will be placed. A random distance between 1 and max y from the parents is chosen.

Phenotype Parameters

Phenotype parameters specify the layout of the genome, indicating how many loci per trait (pulse rate and pulse rate preference, age/terrain fitness, sex). In the example below, each genome will have 10 loci coding for male pulse rate. These are all specified, and a list of 10 locations follows. The same is true for the pulse-rate preference trait, although the locations are different (which they must be - no two loci can occupy the same map location, of course). Again, the age trait has 10 loci. Finally, the sex locus is located in the exact center of the genome. All of these traits can vary from 1 to any positive number of loci, and pulse-rate can have a different number of loci than pulse-rate preference, etc. NOTE: locus and map location are different concepts. If there are 3 age loci, located at map locations 2.3, 30.5, and 91.2, the 2nd locus is found at map location 30.5.

Here is an example of a phenotype similar to the above one, but with some randomly-placed alleles. Random alleles will be the same for all crickets across all species so that interbreeding is possible. Otherwise, if a sex gene were located in one place for one cricket but another place for a different cricket, then their offspring would have 2 sex loci (which is undefined for this simulator). "random" means that the simulator chooses random locations for these at the start, and all crickets will have these random values. So the locations are only random across runs, not between individual crickets within the same run.

8 random
7 specified
  1 19.2 54.3 56.2 59.3 90 95
21 random
random
Here, the phenotype has 8 randomly-located pulse-rate loci, 7 loci for pulse-rate preference with user-specified locations, 21 randomly-located age loci and a randomly-located sex locus. For 10 different runs under this phenotype, the populations will have different loci for pulse-rate, age and sex traits, but all populations will have the same pulse-rate preference loci.

#PR maplocs..
These two parameters involve a number, a word specifying gene layout, and then (maybe) a list of map locations. The first number is how many loci are responsible for the pulse-rate trait (all crickets have these genes, only males express them). Since all genomes are diploid, there will be twice as many alleles as the number of loci. The word that follows can be "specified" or "random". If the word is "random", all locations are computed randomly and no map locations list should follow. If the word is "specified", then a list of map locations needs to appear. There must be exactly as many map locations as the #loci. Map locations can be between 0.0 and 100.0, inclusive.
#prPref maplocs..
Same as #PR maplocs.. except these are the loci for female pulse-rate preference.
#age maplocs..
Same as #PR maplocs.. except that these are the loci for the "age"/"fitness" trait.
sex-maploc
Sex is determined by one locus. It can be random, in which case no map location is given. If it is "specified", then the location must follow. Again, the location is between 0.0 and 100.0.
dominant, etc.
These parameters are currently not implemented.

Genotype Parameters

Genotype parameters specify which marker to use for each genotype and then give initial values which are used in construction genotypes for the founding populations in the simulation. For example, if you wanted to run an experiment with A's and B's, you could specify an "A" genotype and a "B" genotype here.

Example:

genotype1 A 1 0.05 0.005 0.072 0.001
This genotype is called "genotype1". The name is important since the species parameters must refer to different genotypes for different species. The marker on all initial alleles created for this genotype (at the start of the experimental run) will be "A". Thus, initial genomes of type "genotype1" will be 100 percent pure A's. The "1" that follows The next 4 numbers describe "pr-mean", "pr-sd", "prPref-mean" and "prPref-sd". These are values per allele used in the construction of the initial population's genomes. Any cricket with genotype1 will given initial values in each of its alleles according to these means and standard deviations. The first 2 parameters describe the normal distribution used to select initial pulse-rate alleles from. In the example, pr-mean=0.05 and pr-sd=0.005. This means that on average, each allele for pulse rate will have a value of .05 with a standard deviation of .005. If there are 10 loci for pulse rate (the number loci are specified in the phenotype parameters), then there would be 20 alleles for pulse rate (since genomes are diploid) with an average value of 0.05 each. The same rules apply to the last 2 numbers, except that these code for pulse-rate preference. In the example, initial cricket pulse rates will be on average lower than their species' pulse-rate preferences, but pulse rates will vary more (higher sd) than the preferences (sd of .001).

Genomes are diploid. Traits are expressed by summing values found at each locus. If there were 2 loci for pulse rate, then there would be 4 alleles (2 per locus since genomes are diploid). If those alleles were .03, .02, .045 and .033, then the pulse rate would be determined by adding these up, for a value of .128.

Each genome specifies both male and female traits (pulse rate and pulse-rate preference). Males express the pulse-rate trait but ignore the pulse-rate preference alleles (except when passing them on to offspring of course). Females express pulse-rate preference but not pulse-rate.

Values must be separated by spaces, TABs or new lines - any "whitespace" will do.

Species Parameters

Species parameters determine what actual populations will appear in the world. Each line of the "Species parameters" window describes a particular species. So, if there are 3 lines describing 3 species, then there will be 3 distinct populations during the simulation run. In the example below, the "cerasina" population will begin the run with 200 males, 200 females all using genotype1. They will be located around cell 5,5 with a standard deviation of 1.5 in the x and y directions. This should give a reasonable clustering without being too overly crowded. The second species, "nigra" differs only in their genotype and in their initial locations.

species-label
Just a convenient name to use - anything is valid here as long as there are no spaces in the name
init#males
The initial number of males who will be in the population at the beginning of the run
init#females
The initial number of females who will be in the population at the beginning of the run
genotype
Designates the genotype that will be used by this species (this name must be one of the genotype-names given in the "Genotype parameters" window
'point'
Ignored for now - all initial populations are distributed about a common point, given by x and y, below
x
The x-location (horizontal value, integer, counted in #cells) where the initial population will be placed in relation to.
y
The y-location (vertical value, integer, counted in #cells) where the initial population will be placed in relation to.
stdDev
The amount of deviation from a normal distribution that initial locations from x,y will differ. If this value is 0, all initial crickets of the given population will appear in the same cell. If this value is 1, the x-location of initial crickets from this population will be chosen from a normal distrubtion with mean of x and standard deviation of stdDev. Same is true for y. The world is not wraparound, so any crickets that would appear "out of bounds" will be mapped to the closest in-bounds cell.

Data Files: Results

Files that will appear after a run has completed:

cs-graphs.gp
cs-hybrid-graphs.gp
data.html
data3.html
data4.html
hybrid-A-1.data
hybrid-A-100.data
hybrid-B-1.data
hybrid-B-100.data
mate-succ-pr.data
mate-succ-prpref.data
params.prm
popavg.data
pr-A-stats.data
pr-A.data
pr-B-stats.data
pr-B.data
pr-stats.data
pr.data
prpref-A-stats.data
prpref-A.data
prpref-B-stats.data
prpref-B.data
prpref-stats.data
prpref.data
region-hybridity-avgs.data
region-hybridity-diffs.data
spatial-hybrid-A-1.data
spatial-hybrid-A-100.data
spatial-hybrid-B-1.data
spatial-hybrid-B-100.data
spatial-hybrid-summary-1.data
spatial-hybrid-summary-100.data
These files are all inside of a folder called cs2003-0714-114427, and this folder is inside of a folder called "test" (the "Experimental condition subdirectory/folder" parameter), which is inside of the CSData1.2 folder. In the cs-2003-0714-114427 folder is also a "csdata.html" file. Opening this in Netscape Navigator or Internet Explorer will allow a view of all of the plots that have been created. There will also be many other files, ending in .jpg which are graphs/plots. These can be viewed with the web browsers mentioned above or inserted into an electronic document.

Of the files in the data folder listed above, all of the ones ending in .html and .gp can be ignored. "params.prm" is the parameter file - it lists the parameters used during the run. The other files, all ending in .data, are the data files.

data.html, data3.html, data4.html
The html files which show summary plots of this run. They are accessed by a file in the folder containing this run's data. That file is called "csdata.html". Simply open this file in Netscape, Internet Explorer, Mozilla, Safari or any other web browser to view the results of each run of the experiment.
hybrid-A-1.data
Analyzes the hybridity found in the genomes across the entire population. These values are also displayed as a graph (seen from a web browser, see above). This file is for timestep 1, analyzing only how many levels of purity of A's exist in the population. Each genotype in the setup specifies a marker. This file was created because at least one genotype called its marker "A". The list consists of pairs, percent of hybridity and how many individuals exhibited that hybridity. So it's really a set of bins that make up a histogram. For "pure A" crickets (the "A" species), their hybridity will be 0.0, so there should be a large number of crickets in the 0.0 row. Similarly, "pure B" crickets should be 100% hybrid with respect to A, so there should be a large number of crickets in the 100.0 row. There should be no crickets in any other rows on the first time step.
hybrid-A-100.data, hybrid-A-200.data, etc.
Same as hybrid-A-1.data except the data are from time step 100, 200, etc. At this point, if any interbreeding has occurred, nonzero counts should appear at hybridity values between 0.0 and 100.0. If there were 32 crickets at hybridity 25.0, for example, these crickets would be 25% B (25% of their genes would be non-"A", or "B" genes).
hybrid-B-1.data
Same as the hybrid-A-1.data except with resepct to the "B"-marked genotypes. For 2-species simulation runs, hybrid-A-ttt.data files will be mirror images of hybrid-B-ttt.data files.
mate-succ-pr.data
At 100 timestep intervals, a few pieces of data on all male crickets are collected and written to this file. Each male's pulse rate ("pr") and the number of times it mated during its lifetime is recorded. This file indicates how successful different male pulse rates are at different times during the run.
mate-succ-prpref.data
Similar to mate-succ-pr.data, but for females and their pulse-rate preference.
popavg.data
Every 100 timesteps, the total population size (all A's and B's, all males and females) is recorded here in a row along with the time recorded.
pr.data
Recorded pulse rates of each male in the population during a sampling timestep. Taken every 100 timesteps. Each row contains timestep and a male's pulse rate.
pr-A.data
pr-A.data is the same as pr.data, but with respect to the "A" population (those with over 50% "A" genes).
pr-B.data
pr-B.data is the same as pr.data, but with respect to the "B" population (those with over 50% "B" genes).
prpref.data
Same as pr.data, but for females' pulse-rate preference trait.
prpref-A.data
prpref-A.data is the same as prpref.data, but with respect to the "A" population (those with over 50% "A" genes).
prpref-B.data
prpref-B.data is the same as prpref.data, but with respect to the "B" population (those with over 50% "B" genes).
pr-stats.data
At every 100 timesteps, the pulse rates of all males in the population are averaged, the standard deviation is computed, and the sample size is record. These time/mean/std dev/n values indicate how the total male population's pulse rate changed over time.
pr-A-stats.data
"pr-A-stats.data" is the same as "pr-stats.data", but with respect to the "A" population only. A's are determined to be those crickets which have more than 50% "A" gene markers. This file shows how the A 's overall pulse rates change over time.
pr-B-stats.data
"pr-B-stats.data" is the same as "pr-A-stats.data", but with respect to the "B" population.
prpref-stats.data
As with "pr-stats.data", but for all females, and regarding their pulse-rate preference trait.
prpref-A-stats.data
As with "prpref-stats.data", but only for the "A" females (females with more than 50% genes with "A" markers).
prpref-B-stats.data
As with "prpref-stats.data", but only for the "B" females (females with more than 50% genes with "B" markers).
region-hybridity-avgs.data
For each individual cricket, the timestep is printed, then the regional hybridity average for that cricket. This average is the hybridity in the current cricket's cell with respect to its own hybridity. So if most crickets in a cell have genetic marker makeups which are very close to that cricket's makeup, the cricket's value will be close to 0.0 (e.g., a cricket with 98% A's among many other crickets with close to 100% A's would be close to 0.0, while the same cricket among many close to 100%B's would have a value closer to 1.0). There will be one row per cricket in the population at the timestep sampled, and data are taken every 100 timesteps. An example shows the last lines written for timestep 1 and the first lines written for timestep 100. In the example, some crickets were among others who had identical pedigrees, even if their actual alleles were different (2 100% Acrickets simply have the same gene markers everywhere - not necessarily the same alleles along with those "A" markers).
1 0.13999999999999999
1 0.0
1 0.0
1 0.0
1 0.01111111111111111
1 0.0
1 0.0
1 0.13333333333333333
100 0.12452262836878222
100 0.142461704961705
100 0.13068754232721846
100 0.10665902724726255
100 0.1403209193906868
100 0.15687699397376817
region-hybridity-diffs.data
Similar to "region-hybridity-avgs.data", except that the value is the difference between the cricket in question and the other crickets in the same cell. This value may be more useful in determining how different the cricket was from its surroundings since a cumulative difference is computed.
spatial-hybrid-summary-1.data
Shows a grid of the world taken at timestep 1. The dominant hybridity in each cell is computed - are there more crickets with 50+% "A" genes, or more crickets with 50+% "B" genes in the cell? If the former, an "A" is written, if the latter, a "B" is written, if no occupants appear in the cell, a "-" is placed. A list of the cell coordinates and the contents follows this tabular form. The list is redundant, but can be used by automated analysis programs. An example follows. This is actually taken from time 1100 in a run.
dominant genetic markers in the world at time 1100
NOTE: values are not averaged over the period, just sampled at this period, so they may not represent trends
A - B B B B B B B B 
B B B A B B B A B A 
A B A A A B B B B B 
B A A B B A A A B B 
A B A B B A B B B B 
A A A B A B B B B B 
B B A B B B B B B B 
A A A A B B A A B B 
A A A A B B A B B B 
A A B B A A B B A A 
A A A B A A A B B B 
A A A B A A A A B B 
A A A A B B A B B B 
A A B B A A B A B B 
A A A A A A B B A B 
A A A A A A A A A A 


hybridity (list form):
x	y	hybridity
0, 0 	A
0, 1 	-
0, 2 	B
0, 3 	B
0, 4 	B
0, 5 	B
0, 6 	B
0, 7 	B
0, 8 	B
0, 9 	B
1, 0 	B
1, 1 	B
1, 2 	B
1, 3 	A
1, 4 	B
1, 5 	B
1, 6 	B
1, 7 	A
1, 8 	B
1, 9 	A
2, 0 	A
2, 1 	B
2, 2 	A
2, 3 	A
2, 4 	A
2, 5 	B
2, 6 	B
2, 7 	B
2, 8 	B
2, 9 	B
3, 0 	B
3, 1 	A
3, 2 	A
3, 3 	B
3, 4 	B
3, 5 	A
3, 6 	A
3, 7 	A
3, 8 	B
3, 9 	B
4, 0 	A
4, 1 	B
4, 2 	A
4, 3 	B
4, 4 	B
4, 5 	A
4, 6 	B
4, 7 	B
4, 8 	B
4, 9 	B
5, 0 	A
5, 1 	A
5, 2 	A
5, 3 	B
5, 4 	A
5, 5 	B
5, 6 	B
5, 7 	B
5, 8 	B
5, 9 	B
6, 0 	B
6, 1 	B
6, 2 	A
6, 3 	B
6, 4 	B
6, 5 	B
6, 6 	B
6, 7 	B
6, 8 	B
6, 9 	B
7, 0 	A
7, 1 	A
7, 2 	A
7, 3 	A
7, 4 	B
7, 5 	B
7, 6 	A
7, 7 	A
7, 8 	B
7, 9 	B
8, 0 	A
8, 1 	A
8, 2 	A
8, 3 	A
8, 4 	B
8, 5 	B
8, 6 	A
8, 7 	B
8, 8 	B
8, 9 	B
9, 0 	A
9, 1 	A
9, 2 	B
9, 3 	B
9, 4 	A
9, 5 	A
9, 6 	B
9, 7 	B
9, 8 	A
9, 9 	A
10, 0 	A
10, 1 	A
10, 2 	A
10, 3 	B
10, 4 	A
10, 5 	A
10, 6 	A
10, 7 	B
10, 8 	B
10, 9 	B
11, 0 	A
11, 1 	A
11, 2 	A
11, 3 	B
11, 4 	A
11, 5 	A
11, 6 	A
11, 7 	A
11, 8 	B
11, 9 	B
12, 0 	A
12, 1 	A
12, 2 	A
12, 3 	A
12, 4 	B
12, 5 	B
12, 6 	A
12, 7 	B
12, 8 	B
12, 9 	B
13, 0 	A
13, 1 	A
13, 2 	B
13, 3 	B
13, 4 	A
13, 5 	A
13, 6 	B
13, 7 	A
13, 8 	B
13, 9 	B
14, 0 	A
14, 1 	A
14, 2 	A
14, 3 	A
14, 4 	A
14, 5 	A
14, 6 	B
14, 7 	B
14, 8 	A
14, 9 	B
15, 0 	A
15, 1 	A
15, 2 	A
15, 3 	A
15, 4 	A
15, 5 	A
15, 6 	A
15, 7 	A
15, 8 	A
15, 9 	A
spatial-hybrid-summary-100.data
Same as "spatial-hybrid-summary-1.data" except the data are taken at time 100.
spatial-hybrid-A-1.data
Similar to "spatial-hybrid-summary-1.data" except the data are computed only for "A" gene markers. Thus, for each cell, the cricket hybridities in that cell are computed with respect to "A". The average of all cricket "A" hybridities in the cell becomes the value in the table. The tabular form is shown in the example below, but the list form is omitted. In the example below, the first table entry shows that the crickets there were roughly perfect A/B hybrids. The crickets in the cell to the left (0.750) had about 25% A genes and 75% B genes.
average hybridities for marker A in the world at time 1100
A 0.0 means that crickets in the region are purely type A
NOTE: values are not averaged over the period, just sampled at this period, so they may not represent trends
0.500 0.750 0.750 0.769 0.636 0.800 0.700 0.636 0.667 0.700 
0.667 0.769 0.667 0.500 0.571 0.727 0.750 0.429 0.875 0.500 
0.500 0.545 0.250 0.500 0.500 0.778 0.750 0.533 0.667 0.909 
0.588 0.500 0.444 0.636 0.625 0.200 0.250 0.500 0.600 1.000 
0.364 0.750 0.462 0.556 0.636 0.429 1.000 1.000 0.909 0.545 
0.375 0.455 0.286 0.636 0.500 0.571 0.889 0.600 0.750 0.800 
0.615 0.545 0.333 0.611 0.733 0.700 0.889 0.636 0.818 0.667 
0.300 0.429 0.312 0.444 0.727 0.667 0.500 0.455 0.545 1.000 
0.400 0.429 0.364 0.333 0.538 0.636 0.500 0.556 0.800 0.857 
0.417 0.143 0.615 0.667 0.273 0.500 0.545 0.700 0.333 0.429 
0.417 0.231 0.385 0.714 0.333 0.500 0.300 0.769 1.000 0.667 
0.077 0.200 0.333 0.750 0.500 0.333 0.364 0.091 0.750 0.533 
0.375 0.333 0.250 0.500 0.571 0.583 0.333 0.600 0.667 0.643 
0.273 0.444 0.538 0.625 0.400 0.250 0.700 0.500 0.571 0.833 
0.200 0.500 0.417 0.222 0.333 0.417 0.571 0.625 0.333 0.545 
0.188 0.429 0.385 0.500 0.357 0.455 0.364 0.500 0.286 0.125 
spatial-hybrid-A-100.data
Same as spatial-hybrid-A-1.data, but the data are taken at timestep 100.
spatial-hybrid-B-1.data
Same as spatial-hybrid-A-1.data, but with respect to the "B" population.
spatial-hybrid-B-100.data
Same as spatial-hybrid-B-1.data, but data were taken at timestep 100.

Recommended Parameters, Guidelines

These parameter files (in the Params folder inside the cricketsim folder) have parameters that should be good starting points for investigating Jiggins and Mallet's claims.
jm-pre-cluster-t1
jm-pre-sd1-cluster-t1
jm-pre-sd1-cluster-t1-bestprop
jm-pre-sd1-cluster-t1-bestinvprop
jm-pre-sd1-cluster-t1-bestfix

Installation and Initial Setup

The following instructions are only needed if cricketsim does not produce plots or data analysis files at the end of an experimental run. As installed, the program should have no problems finding its proper settings.

From the main window, select the Output menu, then choose Data Analysis:

The data tools directory is a full path (including the drive designator, usually C:\ on a typical windows installation). The cricketsim tools consist of several perl and gnuplot scripts. "cs-analysis.pl" is one of these tools. Browse to whatever folder holds these tools.

Perl and Gnuplot are used by cricketsim to create graphs (gnuplot does this with perl's help) and to analyze some of the raw data files to produce more readable ones. The gnuplot command and perl directory must be full paths to these other software components. The perl directory must be the location of the "perl.exe" program. The gnuplot command must be the location of the gnuplot program "wgnupl32.exe" or some other gnuplot program. This command must include the program's name as well (should be "wgnupl32.exe" with the original installation). If these are not set correctly, data analysis (plots, tables) will not be performed and the program will hang. The raw data will always be, but they must be analyzed manually if perl and gnuplot cannot be found. Use the "browse" button to set these values if needed.