Learn R Programming

gap (version 1.1-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.

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.

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

Value

  • The returned value is a list storing the results.
  • callsystem call to ms
  • seedrandom number seed to ms
  • nsamnumber of copies of the locus in each sample
  • nrepsthe number of independent samples to generate
  • segsitesa vector of the numbers of segregating sites
  • timesvectors of time to most recent ancester (TMRCA) and total tree lengths
  • positionspositions of polymorphic sites on a scale of (0,1)
  • gametesa list of haplotype arrays
  • probsthe probability of the specified number of segregating sites given the genealogical history of the sample and the value to -t option

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
# 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