The MICSAT Package

Program as described in:
Inference from Microsatellite Data. 1998. Wilson and Balding.


Please email me, Ian Wilson is you have any problems at ian.wilson@newcastle.ac.uk

Making The Program

This program is distributed as C source files (although an executable for Windows (within a n 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.

Input

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.

Output

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 editoutputfile 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.

FILES INCLUDED IN THE DISTRIBUTION

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)


Other Files:

micsat.doc This document
makefile Makefile for unix machines
cooper.inp input file for Cooper et al data (1996)
cooper.dat The Cooper et al data (excluding Alu insert)