Learn R Programming

gap (version 1.6)

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

Description

A utility function to read ms output

Usage

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

Value

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.

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.

Author

D Davison, RR Hudson, JH Zhao

Details

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

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

hudson02gap

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