Learn R Programming

gap (version 1.5-1)

read.ms.output: A utility function to read ms output

Description

This function reads in the output of the program ms, a program to generate samples under a variety of neutral models.

Usage

read.ms.output(
  msout,
  is.file = TRUE,
  xpose = TRUE,
  verbose = TRUE,
  outfile = NULL,
  outfileonly = FALSE
)

Arguments

msout

an ms output.

is.file

a flag indicating ms output as a system file or an R object.

xpose

a flag to obtain the tranposed format as it is (when TRUE).

verbose

when TRUE, display on screen every 1000 for large nsam.

outfile

to save the haplotypes in a tab-delimited ASCII file.

outfileonly

to reset gametes to NA when nsam/nreps is very large and is useful with outfile.

The returned value is a list storing the results.

call

system call to ms

seed

random number seed to ms

nsam

number of copies of the locus in each sample

nreps

the number of independent samples to generate

segsites

a vector of the numbers of segregating sites

times

vectors of time to most recent ancester (TMRCA) and total tree lengths

positions

positions of polymorphic sites on a scale of (0,1)

gametes

a list of haplotype arrays

probs

the probability of the specified number of segregating sites given the genealogical history of the sample and the value to -t option

Author

D Davison, RR Hudson, JH Zhao

Details

The argument indicates either a file name or a vector of character strings, one string for each line of the output of ms. As with the second case, it is appropriate with system(,intern=TRUE), see example below.

References

Hudson RR (2002) Generating samples under a Wright-Fisher neutral model. Bioinformatics 18:337-8.

Press WH, SA Teukolsky, WT Vetterling, BP Flannery (1992). Numerical Recipes in C. Cambridge University Press, Cambridge.

Examples

Run this code
if (FALSE) {
# Assuming ms is on the path

system("ms 5 4 -s 5 > ms.out")
msout1 <- read.ms.output("ms.out")

system("ms 50 4 -s 5 > ms.out")
msout2 <- read.ms.output("ms.out",outfile="out",outfileonly=TRUE)

msout <- system("ms 5 4 -s 5 -L", intern=TRUE)
msout3 <- read.ms.output(msout,FALSE)
}

Run the code above in your browser using DataLab