Syd

A computer program that creates synthetic genome mapping data for a three-generation outbred pedigree by simulated crossings.

Authors: Bradley K. Sherman, Mitchell M. Sewell, David B. Neale
Reports: bks@ironic.com
Last revision: 8 January 1996


Abstract from Plant Genome IV

Syd simulates the genetics involved in a three-generation outbred pedigree with codominant alleles and produces a synthetic data file which can be analyzed with conventional linkage software. The simulation can be parameterized using a configuration file that allows control over chromosome number, population size, loci per chromosome, chiasmatic frequency, and allelic distribution in simulated crosses. The data can be produced with phase known or unknown. Multiple pedigrees of the same species can be created and the data sampled and resampled. Syd allows hypotheses about preparation of laboratory data for linkage analysis to be tested in a controlled manner.

Executive Summary:

To retrieve, compile and run syd

syd is written in C and might compile on most anything. The code expects to find a very good PRNG called random() in the C library, e.g. random(3) on any BSD Unix platform.

README
and
syd.tar.Z
To Compile:
uncompress syd.tar.Z
tar xvf syd.tar
cd syd
make

To run syd, just type: syd.

Format of output file syd.dat

Its output is a data file which has a row for each locus and a column for each individual. The first column is the name of the locus. Columns 2,3,4,5,6,7 are:
Mom's_mom Mom's_Dad Mom Dad Dad's_mom Dad's Dad
i.e. maternal grandparents, parents, paternal granparents. The remaining columns are the progeny of the mating of Mom and Dad.


Default configuration file syd.conf

syd reads a configuration file called syd.conf. If there is no configuration file present, syd creates one that looks like this:
#
# syd.conf -- Configuration file for syd program.
#
# Lines beginning with '#' are ignored.
#
# Set number of chromosomes.
chromosome:12
#
# Set number of loci on each chromosome.
# An odd number is better as the two exterme
# loci are always at the telomeres.
locus:11
#
# Set number of progeny in 3rd generation.
progeny:25
#
# Balls in an urn to set maternal crossover frequency.
# At each meiosis, syd will use this table to randomly select
# the number of crossovers.
mchiasma:00000000000000001111111111111111222222223333445
#
# Balls in an urn to set paternal crossover frequency.
# At each meiosis, syd will use this table to randomly select
# the number of crossovers.
pchiasma:00000000000000001111111111111111222222223333445
#
# Balls in an urn to set allele distribution.
# When a grandparent is generated, syd randomly selects
# one of these characters at each allele.
allele:11111111111111112222222222222233333333333344444444555566778
#
# Set phase to 0 for mixed up allele order.  If phase is 1 then
# the maternally contributed allele is always on the left.
phase:1
#
# If seed is 0 program will select a random seed for the PRNG.
# This will produce different data sets each run.
# If seed is non-zero then that seed will be used for the PRNG.
seed:0
#
# If randlocus is 0 then locus positions will be
# established equidistant along the chromosome with 
# one at each telomere.  If randlocus is 1 then
# loci will be at random positions on the chromosomes.
randlocus:0
#
# If log is 0 then syd.log will not be written.
# Set log:100 for maximum information in syd.log.
log:100