Minimac

From Genome Analysis Wiki
Revision as of 06:52, 7 October 2010 by Cfuchsb (talk | contribs)
Jump to navigationJump to search

minimac is a low memory, computationally efficient implementation of the MaCH algorithm for genotype imputation. It is designed to work on phased genotypes and can handle very large reference panels with hundreds or thousands of haplotypes. The name has two parts. The first, "mini", refers to the modest amount of computational resources it requires. The second, "mac", is short hand for MaCH, our widely used algorithm for genotype imputation.

Performance

A good rule of thumb is that minimac should take about 1 hour to impute 1,000,000 markers in 1,000 individuals using a reference panel with 100 haplotypes. Performance should scale linearly with respect to all these factors. So, your approximate computing time in hours should be about:

These statistics refer to Intel X7460 CPU running at 2.66 GHz using 1 core and your mileage may vary; most modern CPUs should be no more than a few times faster (or slower) than that. The parallel version of minimac will achieve an even better performance.

Release Date

A public release of minimac is expected here by October 5, 2010.

Getting Started

Step 1: Pre-Phasing

For the pre-phasing step we recommend MaCH using the --phase command line option. As input MaCH needs a Merlin format pedigree and data file. All markers must be ordered according to their physical position.

Your Own Data

To get started, you will need to store your data in Merlin format pedigree and data files, one per chromosome. For details, of the Merlin file format, see the Merlin Tutorial.

Within each file, markers should be stored by chromosome position. Alleles should be stored in the forward strand and can be encoded as 'A', 'C', 'G' or 'T' (there is no need to use numeric identifiers for each allele).

The 1000 Genome pilot project genotypes use NCBI Build 36.

Usage

 mach1 -d sample.dat -p sample.ped --rounds 20 --states 200 --phase --interim 1 --sample 1 --compact

Parameters

-p sample.ped

pedigree file in Merlin format

-d sample.dat

dat file in Merlin format

--rounds R

how many iterations of the Markov sampler should be run.

--states ST

use a random subset of ST haplotypes as reference. We recommend values between 200 - 500. More states result in more accurate haplotypes, but are computational more expensive and require more memory.

--interim I

output a set of best-guess haplotypes every I rounds by building consensus from all previous Markov iterations. These intermediate haplotypes can be used for imputation.

--sample SA

output a set of haplotypes every SA rounds based on random sampling from the last Markov iteration. These intermediate results can be combined and used as input for the imputation process.

--phase 

enables MaCH phasing mode.

--compact

reduces the amount of memory needed dramatically, but doubles execution time.

Step 2: Imputation

Imputing genotypes using minimac is an easy straightforward process: after selecting a set of reference haplotypes (see below how to get the latest 1000 Genomes reference panel ready to go with minimac ), plugging-in the target haplotypes from the pre-phasing step and setting the number of rounds to use for the model parameter estimation, samples get imputed once a second.


Reference Haplotypes

Reference haplotypes generated by the 1000 Genomes project and formatted so that they are ready for analysis are available from the MaCH download page. The most recent set of haplotypes were generated in June 2010 by combining genotype calls generated at the Broad, Sanger and the University of Michigan. In our hands, this June 2010 release is substantially better than previous 1000 Genome Project genotype call sets.

Usage

 minimac --refHaps ref.hap.gz --refSnps ref.snps.gz --haps target.hap.gz --snps target.snps.gz --rounds 10

Parameters

--refHaps ref.hap

Reference haplotypes (e.g. MaCH download page)

--refSnps ref.snps

Reference SNPs (e.g. MaCH download page)

--haps target.hap

Target haplotypes (from the pre-phasing step)

--snps target.snps

Target snps (from the pre-phasing step)

--rounds [5]

how many rounds should be run to optimize the model parameters: (i) error rate for each marker (*.erate) and (ii) crossover rates (*.rec) for each interval.

--states [200]

how many haplotypes to use for parameter optimization.

--em

use an e-m algorithm, instead of mcmc, for parameter optimization

--rec file.rec

use crossover rates from this file

--erate file.erate

use error rates from this file

--prefix [minimac]

prefix for output files, default minimac


Related Pages

If you are looking to learn about small computers made by Apple, Inc., you have come to the wrong page. Try looking at http://www.apple.com/macmini/, instead.

If you are looking for a low calorie version of the Big Mac sandwich, you'll be sad to know the Mini Mac has been discontinued. However, you are not the only one who likes the idea of a Mini Mac and you'll probably find some company on the web [1].