R: A utility function to read ms output

read.ms.output {gap} | R Documentation

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

`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

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

### Author(s)

D Davison, RR Hudson, JH Zhao

### Examples

    ## Not run:

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

    ## End(Not run)

[Package gap version 1.2.2 Index]