487
edits
Changes
From Genome Analysis Wiki
Minimac
,no edit summary
'''You may want to learn about new and improved [[Minimac4]].'''
'''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.
There are several minimac related pages on this wiki. The major ones are: * [[Minimac]] - This page, the main minimac page.* [[Minimac: Tutorial]] - A short minimac tutorial.* [[Minimac: 1000 Genomes Imputation Cookbook]] - Cookbook instructions for 1000 Genomes Imputation with Minimac* [[Minimac Command Reference]] - Summary of minimac options* [[Minimac Diagnostics]] - Summary of diagnostics for imputation performance generated by minimac *[https://imputationserver.sph.umich.edu Imputation server] - We are running imputation (and pre-phasing) for you! =Download =A binary Linux (64 bit) version of minimac is available [http://csg.sph.umich.edu/cfuchsb/minimac-beta-2013.7.17.tgz from here] and source code [http://csg.sph.umich.edu/cfuchsb/minimac.src.tgz from here] The current version of minimac should be stamped 2013.7.17 - if your version shows a different version number or date stamp when it runs, it is not current. If you use this beta version, please be sure to stop by the [http://www.sph.umich.edu/csg/abecasis/MaCH/download/ MaCH download page] and fill out the registration form, so that we can let you know when an official release is available and keep you updated with respect to any bug fixes. == Multiprocessor Version == The current version of minimac comes in two flavours, <code>minimac</code> and <code>minimac-omp</code>. The latter version uses the [[OpenMP]] protocol to support multi-threading, resulting in faster throughput. BE AWARE: since this version of minimac runs in parallel the order of samples in the output files (*dose, *haps,...) will vary between runs. Therefore, e.g. chunks have to be merged by sample id. == Change log == 2013.7.17 - minor bug fixes -- all variants (SNPs, InDels, SVs) in the reference VCF will be imputed - independent from the FILTER column setting - improved performance (Thanks to David Hinds - see also [[minimac2]] for the full set of performance improvements) 2012.11.16 - minor bug fixes 2012.10.9 - added: improved support for [http://www.shapeit.fr ShapeIT] phased haplotypes 2012.10.3 - added: full support for reference panel based chunking 2012.9.22 - fixed: chunk chromosome bug 2012.8.6 (early adopter) - added: chromosome X support 2012.3.14 - fixed: problem with --startposition 2012.2.29 - added: VCF support - added: IDR (Insertion, Deletion, Reference) support == Questions and Comments == Please contact [mailto:goncalo@umich.edu Goncalo Abecasis] or [mailto:cfuchsb@umich.edu Christian Fuchsberger]. = Performance = == Pre-phasing ==For the pre-phasing step, cost increases quadratically with the number of states and linearly with the number of rounds. The following table provides a simple example. {| class="wikitable" border="1" cellpadding="2"|- bgcolor="lightgray"! States! Cost per round|- | 100 states| 3 min|- | 200 states| 12 min = (3 min * 2<sup>2</sup>)|- | 400 states| 48 min = (3 min * 4<sup>2</sup>)|- | 500 states| 75 min = (3 min * 5<sup>2</sup>)|} So, in this case running haplotyping with 500 states and 10 rounds would require 75 min * 10 = 750 min. Typically, haplotype quality improves rapidly with the number of states but only slowly with the number of rounds. We recommend running ~20 rounds of the MaCH haplotyper and selecting a number of states as high as your patience will allow (but ideally greater than 200). == Imputation ==
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:
</math>
These statistics refer to a single core in a modern Intel X7460 CPU running at 2.66 GHz using 1 core and , although your mileage may will vary; , most modern CPUs should be no more than a few times faster (or slower) than that. The parallel version If you are estimating model parameters at the same time as imputing missing genotypes, you can account for the time needed for parameter estimation with the following formula: :<math>E(\mbox{Run Time in Hours}) = N_{markers} * ({N_{individuals} + N_{rounds} * N_{states} * 0.75 }) * N_{haplotypes} * 10^{-11}</math> In this updated formula, N<sub>rounds</sub> represents the number of iterations used for parameter refinement and N<sub>states</sub> represents the maximum number of minimac will achieve an even better performancereference and target haplotypes considered for each update. = Getting Started =
=== Preparing 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 [http:/www/csg.sph.umich.edu/csg/abecasis/Merlin/tour/input_files.html Merlin tutorialTutorial].
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).
=== Reference Haplotypes ===
Reference haplotypes generated by the 1000 Genomes project and formatted so that they are ready for analysis are available from the [http://wwwcsg.sph.umich.edu/csg/abecasis/MACH/download/1000G-2010-06.html MaCH download page]. The As of this writing, the most recent set of haplotypes are based on genotype calls were generated in June 2010 by combining genotype calls generated at May 2011 and are an interim analysis of Project's Phase I data. === Imputation quality evaluation ===To evaluate imputation quality, Minimac hides data for each genotyped SNP in turn and calculates 3 statistics:* looRSQ - this is the estimated rsq for that SNP (as if SNP weren't typed). * empR - this is the empirical correlation between true and imputed genotypes for the SNP. If this is negative, the SNP is probably flipped. * empRSQ - this is the Broadactual R2 value, Sanger comparing imputed and true genotypes. These statistics can be found in the .info file === Additional Sources of Information === If the University combination of MichiganMaCH and Minimac still runs too slowly for you, and you have access to a multi-processor compute cluster, you can look at [[ChunkChromosome]] page to learn how to conveniently split each chromosome into multiple segments that can be analyzed in parallel. In our handsFor information on how to put the resulting chunks back together, see [[Ligate Minimac|this June 2010 release is substantially better than previous page]]. If you are especially interested in 1000 Genomes Imputation, then you should look at the [[Minimac: 1000 Genome Project Genomes Imputation Cookbook]]. == X Chromosome Imputation ==minimac supports the imputation of genotypes on the X chromosome (non-pseudo-autosomal part). # Split the X chromosome pedigree file by sex.## For females: follow the same protocol as for autosomes (phase with MaCH and impute with minimac).## For males### Remove the pseudo-autosomal part (for build hg18: chrX:1-2709520 and chrX:154584238-154913754 ; for build hg19 chrX:60001-2699520 and chrX:154931044-155260560)### Convert the pedigree file into a MaCH haplotype file (missing genotypes should be encoded as: "0" or "." or "N" ) and impute using minimac as described above. :::: '''<Example of a male only pedigree file>''':::: FAM1003 ID1234 0 0 M A/A A/A C/C:::: FAM1004 ID5678 0 0 M 0/0 C/0 G/G:::: ...:::: '''<End of pedigree file>''' :::: ''Note that, consistent with the Merlin convention, hemizygous males are listed as if they were homozygous.'' :::: '''<Example of the corresponding haplotype file>''':::: FAM1003->ID1234 HAPLO1 AAC:::: FAM1003->ID1234 HAPLO2 AAC:::: FAM1004->ID5678 HAPLO1 0CG:::: FAM1004->ID5678 HAPLO2 0CG:::: ...:::: '''<End of the corresponding haplotype file>''' = Post-imputation Association Analysis === Quantitative Traits ==Please use [http://csg.sph.umich.edu/yli/mach/download/mach2qtl.source.V108.tgz mach2qtl]. == Binary Traits ==Please use [http://csg.sph.umich.edu/yli/mach/download/mach2dat.source.1.0.18.tgz mach2dat]. Versions 1.0.18 and above accommodate to minimac output. = Reference = If you use [[minimac]] or [[minimac2]] please cite: Fuchsberger C, Abecasis GR, Hinds DA. minimac2: faster genotype imputation. Bioinformatics 2014 [http://bioinformatics.oxfordjournals.org/content/early/2014/10/22/bioinformatics.btu704.short] Howie B, Fuchsberger C, Stephens M, Marchini J, and Abecasis GR.Fast and accurate genotype call setsimputation in genome-wide association studiesthrough pre-phasing.Nature Genetics 2012 [http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.2354.html]
== Step 1: Phasing =Questions and Comments =
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.