Program as described in
Wilson and Balding 1998 Genealogical Inference from Microsatellite Data
Please email me, Ian Wilson is you have any problems at i.wilson@maths.abdn.ac.uk
The program is distributed as C source files (although an
executable for Windows (within an MSDOS window) is also available from the
main web site is also available.
This program is written in ANSI C and if the
gnu c compiler gcc is available should
compile on unix systems by typing
make
otherwise the line
CC = gcc
in the makefile should be altered to give name of the local c compiler.
The program is command line driven with command line:
micsat inputfile outputfile
An example inputfile is given as cooper.inp - which gives
some example parameters and reads in the file cooper.dat
taken from the paper:
Cooper, G., W. Amos, D. Hoffman & D. C. Rubinsztein, 1996 Network
analysis of human Y microsatellite haplotypes. Hum. Mol. Genet. 5: 1759-1766.
file cooper.inp:
samples: 10000
warmup: 2000
treebetN: 40
Nbetsamp: 100
tuneN: 3000
tunemu: 0.001
muprior: gamma(4,1492)
Nprior: lognormal(9,1)
datafile: cooper.dat
badness: 0.4
seed: 1
picgap: 500
The program will look for any of the above `keywords', in any order,
in the input file - and if not found will give a warning
message and supply default values.
The program will output a file outputfile.par with all
the input values in (so that the program can easily be
rerun with the same or similar input).
Also output is outputfile which is of the form
lltimes llmut mu N height length
for each sample taken
Further output are files outputfile.iit and
outputfile.end which are the initial tree and the
final tree (in Newick file format), and
files outputfile.a for a = 1 ... which are trees
corresponding to the picgap, 2*picgap, 3*picgap,...
samples.
All these files are in Newick format and can be read by viewing
programs such as TreeTool (list of programs kept by the
Phylip Group at Washington State University.
micsat.c | The main program | |
Newick.c | Newick.h | Functions for Outputing trees in "Newick" Format |
cutjoin.c | cutjoin.h | Functions for Changing the Shape of the Tree |
likelihood.c | likelihood.h | Calculating Likelihoods of mutations |
metro.c | metro.h | Changing mu, N and times |
node.c | node.h | Defining Nodes, and node functions |
prior.c | prior.h | Prior Functions |
random.c | random.h | Psuedo-random number generation |
pars.c | pars.h | Inputs/Outputs to File |
time.c | time.h | Likelihood of coalescence times |
tree.c | tree.h | Defining Trees, starting and destroying |
utils.c | utils.h | Utility Functions |
check.c | check.h | Checking Functions (not required) |
Also:
makefile Makefile for unix machines
micsat.doc (This document)
cooper.inp input file for Cooper et al data (1996)
cooper.dat The Cooper et al data (excluding Alu insert)