<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://genome.sph.umich.edu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pjvh</id>
	<title>Genome Analysis Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://genome.sph.umich.edu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pjvh"/>
	<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/wiki/Special:Contributions/Pjvh"/>
	<updated>2026-09-24T14:42:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Help:Contents&amp;diff=14667</id>
		<title>Help:Contents</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Help:Contents&amp;diff=14667"/>
		<updated>2017-03-01T20:36:12Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have any questions about formatting or capabilities of the wiki software, visit [[http://www.mediawiki.org/wiki/Help:Contents MediaWiki Help]] for a user&#039;s guide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are looking for a person to contact about a specific page on this wiki,&lt;br /&gt;
# Go to the page on this wiki that you&#039;re interested in.&lt;br /&gt;
# Click the tab &#039;&#039;&#039;history&#039;&#039;&#039; at the top of that page.&lt;br /&gt;
# Each row on that page is an edit someone made.  Each shows the time and date, username, size of the page, and size of the edit (like &#039;&#039;&#039;(+395)&#039;&#039;&#039;).  Look for someone who&#039;s made some large recent changes.&lt;br /&gt;
# Search Google for &#039;&#039;site:umich.edu&#039;&#039; followed by their username.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Minimac&amp;diff=14664</id>
		<title>Minimac</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Minimac&amp;diff=14664"/>
		<updated>2017-03-01T19:29:49Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;You may want to learn about new and improved [[Minimac3]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;minimac&#039;&#039;&#039; 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, &amp;quot;mini&amp;quot;, refers to the modest amount of computational resources it requires. The second, &amp;quot;mac&amp;quot;, is short hand for [[MaCH]], our widely used algorithm for genotype imputation.&lt;br /&gt;
&lt;br /&gt;
There are several minimac related pages on this wiki. The major ones are:&lt;br /&gt;
&lt;br /&gt;
* [[Minimac]] - This page, the main minimac page.&lt;br /&gt;
* [[Minimac: Tutorial]] - A short minimac tutorial.&lt;br /&gt;
* [[Minimac: 1000 Genomes Imputation Cookbook]] - Cookbook instructions for 1000 Genomes Imputation with Minimac&lt;br /&gt;
* [[Minimac Command Reference]] - Summary of minimac options&lt;br /&gt;
* [[Minimac Diagnostics]] - Summary of diagnostics for imputation performance generated by minimac&lt;br /&gt;
&lt;br /&gt;
*[https://imputationserver.sph.umich.edu Imputation server] - We are running imputation (and pre-phasing) for you!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
== Multiprocessor Version ==&lt;br /&gt;
&lt;br /&gt;
The current version of minimac comes in two flavours, &amp;lt;code&amp;gt;minimac&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;minimac-omp&amp;lt;/code&amp;gt;. The latter version uses the [[OpenMP]] protocol to support multi-threading, resulting in faster throughput.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Change log ==&lt;br /&gt;
&lt;br /&gt;
2013.7.17&lt;br /&gt;
&lt;br /&gt;
- minor bug fixes&lt;br /&gt;
&lt;br /&gt;
-- all variants (SNPs, InDels, SVs) in the reference VCF will be imputed - independent from the FILTER column setting&lt;br /&gt;
&lt;br /&gt;
- improved performance (Thanks to David Hinds - see also [[minimac2]] for the full set of performance improvements)&lt;br /&gt;
&lt;br /&gt;
2012.11.16&lt;br /&gt;
&lt;br /&gt;
- minor bug fixes&lt;br /&gt;
&lt;br /&gt;
2012.10.9&lt;br /&gt;
&lt;br /&gt;
- added: improved support for [http://www.shapeit.fr ShapeIT] phased haplotypes&lt;br /&gt;
&lt;br /&gt;
2012.10.3&lt;br /&gt;
&lt;br /&gt;
- added: full support for reference panel based chunking&lt;br /&gt;
&lt;br /&gt;
2012.9.22&lt;br /&gt;
&lt;br /&gt;
- fixed: chunk chromosome bug&lt;br /&gt;
&lt;br /&gt;
2012.8.6 (early adopter)&lt;br /&gt;
&lt;br /&gt;
- added: chromosome X support&lt;br /&gt;
&lt;br /&gt;
2012.3.14&lt;br /&gt;
&lt;br /&gt;
- fixed: problem with --startposition &lt;br /&gt;
&lt;br /&gt;
2012.2.29&lt;br /&gt;
&lt;br /&gt;
- added: VCF support&lt;br /&gt;
&lt;br /&gt;
- added: IDR (Insertion, Deletion, Reference) support&lt;br /&gt;
&lt;br /&gt;
== Questions and Comments ==&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:goncalo@umich.edu Goncalo Abecasis] or [mailto:cfuchsb@umich.edu Christian Fuchsberger].&lt;br /&gt;
&lt;br /&gt;
= Performance =&lt;br /&gt;
&lt;br /&gt;
== Pre-phasing ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! States&lt;br /&gt;
! Cost per round&lt;br /&gt;
|- &lt;br /&gt;
| 100 states&lt;br /&gt;
| 3 min&lt;br /&gt;
|- &lt;br /&gt;
| 200 states&lt;br /&gt;
| 12 min = (3 min * 2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|- &lt;br /&gt;
| 400 states&lt;br /&gt;
| 48 min = (3 min * 4&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|- &lt;br /&gt;
| 500 states&lt;br /&gt;
| 75 min = (3 min * 5&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
So, in this case running haplotyping with 500 states and 10 rounds would require 75 min * 10 = 750 min.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
== Imputation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
E(\mbox{Run Time in Hours}) = N_{markers} * N_{individuals} * N_{haplotypes} * 10^{-11}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These statistics refer to a single core in a modern Intel CPU core and, although your mileage will vary, most modern CPUs should be no more than a few times faster (or slower) than that. &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
E(\mbox{Run Time in Hours}) = N_{markers} * ({N_{individuals} + N_{rounds} * N_{states} * 0.75 }) * N_{haplotypes} * 10^{-11}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this updated formula, N&amp;lt;sub&amp;gt;rounds&amp;lt;/sub&amp;gt; represents the number of iterations used for parameter refinement and N&amp;lt;sub&amp;gt;states&amp;lt;/sub&amp;gt; represents the maximum number of reference and target haplotypes considered for each update.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
Using minimac for genotype imputation involves two steps. First, you will have to estimate haplotypes for your entire sample -- this will be the more computationally demanding step. Once that is done, you will be ready to quickly impute missing genotypes using the reference panel of your choice. &lt;br /&gt;
&lt;br /&gt;
== Estimating Haplotypes for Your Sample ==&lt;br /&gt;
&lt;br /&gt;
For the haplotyping step, we current recommend using [[MaCH]] with the --phase command line option. As input [[MaCH]] will need [[Merlin]] format pedigree and data files. All markers should be ordered according to their physical position and alleles should be labeled on the forward strand. &lt;br /&gt;
&lt;br /&gt;
=== Preparing Your Data ===&lt;br /&gt;
&lt;br /&gt;
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://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin Tutorial]. &lt;br /&gt;
&lt;br /&gt;
Within each file, markers should be stored by chromosome position. Alleles should be stored in the forward strand and can be encoded as &#039;A&#039;, &#039;C&#039;, &#039;G&#039; or &#039;T&#039; (there is no need to use numeric identifiers for each allele). &lt;br /&gt;
&lt;br /&gt;
We recommend that, if at all possible, you should phase your chromosomes according to NCBI build 37. Future releases of the 1000 Genomes Reference panel and other public sets of reference haplotypes are expected to use this genome build.&lt;br /&gt;
&lt;br /&gt;
If figuring out position and strand for each marker seems like hard work, don&#039;t despair. For you, this should be the hardest bit of the entire process! For the computer, the fun is about to start.&lt;br /&gt;
&lt;br /&gt;
==== NCBI build 36 / NCBI build 37 ====&lt;br /&gt;
The 1000G June reference panel is on build 36, future 1000G reference panels will be on build 37. This has also some impact on the pre-phasing:&lt;br /&gt;
some SNPs will ordered differently in each genome build (we expect order will be more accurate in more recent builds!). Purists will claim that imputation using NCBI build 36 and NCBI build 37 reference panels requires phasing using the exact same reference panel -- others will claim this makes little difference.&lt;br /&gt;
&lt;br /&gt;
=== Running MaCH ===&lt;br /&gt;
&lt;br /&gt;
A typical MaCH command line to estimate phased haplotypes might look like this:&lt;br /&gt;
&lt;br /&gt;
  mach1 -d sample.dat -p sample.ped --rounds 20 --states 200 --phase --interim 5 --sample 5 --compact&lt;br /&gt;
&lt;br /&gt;
This will request that MaCH estimate haplotypes for your sample, using 20 iterations of its Markov sampler and conditioning each update on up to 200 haplotypes. A summary description of these parameters follows (but for a more complete description, you should go to the MaCH website):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! Parameter &lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
|style=white-space:nowrap|&amp;lt;code&amp;gt;-d sample.dat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Data file in [http://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin format]. Markers should be listed according to their order along the chromosome.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;-p sample.ped&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pedigree file in [http://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin format]. Alleles should be labeled on the forward strand.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--states 200&amp;lt;/code&amp;gt;&lt;br /&gt;
| Number of haplotypes to consider during each update. Increasing this value will typically lead to better haplotypes, but can dramatically increase computing time and memory use. A value of 200 - 400 is typical. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--rounds 20&amp;lt;/code&amp;gt;&lt;br /&gt;
| Iterations of the Markov sampler to use for haplotyping. Typically, using 20 - 30 rounds should give good results. To obtain better results, it is usually better to increase the &amp;lt;code&amp;gt;--states&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--interim 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Request that intermediate results should be saved to disk periodically. These will facilitate analyses in case a run doesn&#039;t complete.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--sample 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Request that random (but plausible) sets of haplotypes for each individual should be drawn every 5 iterations. This parameter is optional, but for some rare variant analyses, these alternative haplotypes can be very useful.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--phase&amp;lt;/code&amp;gt; &lt;br /&gt;
| Tell [[MaCH]] to estimate phased haplotypes for each individual.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compact&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reduce memory use at the cost of approximately doubling runtime. This option is recommended for most GWAS scale datasets and computing platforms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Imputation into Phased Haplotypes ==&lt;br /&gt;
&lt;br /&gt;
Imputing genotypes using &#039;&#039;&#039;minimac&#039;&#039;&#039; is an easy and straightforward process: after selecting a set of reference haplotypes, plugging-in the target haplotypes from the previous step and setting the number of rounds to use for the model parameter estimation, imputation should proceed rapidly.&lt;br /&gt;
&lt;br /&gt;
=== Creating SNP List File ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minimac&#039;&#039;&#039; requires a file listing markers in the haplotype file. This file can be easily generated by extracting the second column from the .dat file. In a standard Unix system, a command like this should do:&lt;br /&gt;
&lt;br /&gt;
  cut -f 2 -d &amp;quot; &amp;quot; sample.dat &amp;gt; target.snps&lt;br /&gt;
&lt;br /&gt;
=== Running Minimac ===&lt;br /&gt;
&lt;br /&gt;
A typical minimac command line might look like this:&lt;br /&gt;
&lt;br /&gt;
==== using a VCF reference panel  ====&lt;br /&gt;
  minimac --vcfReference --refHaps ref.vcf.gz --haps target.hap.gz --snps target.snps.gz --rounds 5 --states 200 --prefix results&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: GWAS SNPs (file --snps target.snps.gz) are by default expected to be in the chr:pos format e.g. 1:1000 and on build37/hg19; otherwise, please set the --rs flag&lt;br /&gt;
&lt;br /&gt;
==== using a MaCH reference panel  ====&lt;br /&gt;
&lt;br /&gt;
  minimac --refHaps ref.hap.gz --refSnps ref.snps.gz --haps target.hap.gz --snps target.snps.gz --rounds 5 --states 200 --prefix results&lt;br /&gt;
&lt;br /&gt;
A detailed description of all minimac options is available [[Minimac Command Reference|elsewhere]]. Here is a brief description of the above parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! Parameter &lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--refSnps ref.snps.gz &amp;lt;/code&amp;gt; &lt;br /&gt;
| List of SNPs in the reference panel &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--refHaps ref.hap.gz &amp;lt;/code&amp;gt; &lt;br /&gt;
| Reference haplotypes (e.g. from [http://csg.sph.umich.edu/abecasis/MACH/download/ MaCH download page])&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--vcfReference &amp;lt;/code&amp;gt; &lt;br /&gt;
| This option specifies that the provided --refHaps file is provided in VCF format , no --refSNPs file needed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--rs &amp;lt;/code&amp;gt; &lt;br /&gt;
| In combination with --vcfReference, allows to use rs GWAS SNP identifiers&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--snps target.snps.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| SNPs in phased haplotypes. These should largely be a subset of the SNPs in the reference panel.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--haps target.hap.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| Phased haplotypes where missing genotypes will be imputed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--sample target.sample &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sample list in ShapeIT format.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--shape_haps target.hap.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| ShapeIT phased haplotypes where missing genotypes will be imputed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--chr 22&amp;lt;/code&amp;gt;&lt;br /&gt;
| Chromosome for which we will carry out imputation (needed to run ShapeIT with chr:pos identifiers - default setting).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--rounds 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rounds of optimization for model parameters, which describe population recombination rates and per SNP error rates.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--states 200&amp;lt;/code&amp;gt;&lt;br /&gt;
| Maximum number of reference (or target) haplotypes to be examined during parameter optimization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--prefix imputed&amp;lt;/code&amp;gt;&lt;br /&gt;
| Optionally, a string that is used to help generate output file names.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reference Haplotypes ===&lt;br /&gt;
&lt;br /&gt;
Reference haplotypes generated by the 1000 Genomes project and formatted so that they are ready for analysis are available from the [http://csg.sph.umich.edu/abecasis/MACH/download/ MaCH download page]. As of this writing, the most recent set of haplotypes are based on genotype calls were generated in May 2011 and are an interim analysis of Project&#039;s Phase I data.&lt;br /&gt;
&lt;br /&gt;
=== Imputation quality evaluation ===&lt;br /&gt;
To evaluate imputation quality, Minimac hides data for each genotyped SNP in turn and calculates 3 statistics:&lt;br /&gt;
* looRSQ - this is the estimated rsq for that SNP (as if SNP weren&#039;t typed). &lt;br /&gt;
* empR - this is the empirical correlation between true and imputed genotypes for the SNP. If this is negative, the SNP is probably flipped. &lt;br /&gt;
* empRSQ - this is the actual R2 value, comparing imputed and true genotypes. &lt;br /&gt;
&lt;br /&gt;
These statistics can be found in the .info file&lt;br /&gt;
&lt;br /&gt;
=== Additional Sources of Information ===&lt;br /&gt;
&lt;br /&gt;
If the combination of MaCH 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. For information on how to put the resulting chunks back together, see [[Ligate Minimac|this page]].&lt;br /&gt;
&lt;br /&gt;
If you are especially interested in 1000 Genomes Imputation, then you should look at the [[Minimac: 1000 Genomes Imputation Cookbook]].&lt;br /&gt;
&lt;br /&gt;
== X Chromosome Imputation ==&lt;br /&gt;
minimac supports the imputation of genotypes on the X chromosome (non-pseudo-autosomal part).&lt;br /&gt;
&lt;br /&gt;
# Split the X chromosome pedigree file by sex.&lt;br /&gt;
## For females: follow the same protocol as for autosomes (phase with MaCH and impute with minimac).&lt;br /&gt;
## For males&lt;br /&gt;
### 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)&lt;br /&gt;
### Convert the pedigree file into a MaCH haplotype file (missing genotypes should be encoded as:  &amp;quot;0&amp;quot; or &amp;quot;.&amp;quot; or &amp;quot;N&amp;quot; ) and impute using minimac as described above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;Example of a male only pedigree file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: FAM1003   ID1234  0   0   M   A/A   A/A   C/C&lt;br /&gt;
:::: FAM1004   ID5678  0   0   M   0/0   C/0   G/G&lt;br /&gt;
::::  ...&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;End of pedigree file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:::: &#039;&#039;Note that, consistent with the Merlin convention, hemizygous males are listed as if they were homozygous.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;Example of the corresponding haplotype file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
::::  FAM1003-&amp;gt;ID1234 HAPLO1 AAC&lt;br /&gt;
::::  FAM1003-&amp;gt;ID1234 HAPLO2 AAC&lt;br /&gt;
::::  FAM1004-&amp;gt;ID5678 HAPLO1 0CG&lt;br /&gt;
::::  FAM1004-&amp;gt;ID5678 HAPLO2 0CG&lt;br /&gt;
::::  ...&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;End of the corresponding haplotype file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Post-imputation Association Analysis =&lt;br /&gt;
== Quantitative Traits ==&lt;br /&gt;
Please use [http://csg.sph.umich.edu/yli/mach/download/mach2qtl.source.V108.tgz mach2qtl].&lt;br /&gt;
&lt;br /&gt;
== Binary Traits ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&lt;br /&gt;
If you use [[minimac]] or [[minimac2]] please cite: &lt;br /&gt;
&lt;br /&gt;
Fuchsberger C, Abecasis GR, Hinds DA. minimac2: faster genotype imputation. Bioinformatics 2014 [http://bioinformatics.oxfordjournals.org/content/early/2014/10/22/bioinformatics.btu704.short]&lt;br /&gt;
&lt;br /&gt;
Howie B, Fuchsberger C, Stephens M, Marchini J, and Abecasis GR.&lt;br /&gt;
Fast and accurate genotype imputation in genome-wide association studies&lt;br /&gt;
through pre-phasing. Nature Genetics 2012 [http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.2354.html]&lt;br /&gt;
&lt;br /&gt;
= Questions and Comments =&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:goncalo@umich.edu Goncalo Abecasis] or [mailto:cfuchsb@umich.edu Christian Fuchsberger].&lt;br /&gt;
&lt;br /&gt;
= Related Pages =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are looking for a low calorie version of the Big Mac sandwich, you&#039;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&#039;ll probably find some company on the web [http://mcchronicles.blogspot.com/2009/08/mini-mac-experiment-searching-for-big.html].&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Minimac&amp;diff=14663</id>
		<title>Minimac</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Minimac&amp;diff=14663"/>
		<updated>2017-03-01T19:29:09Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page is about the original version of Minimac.  You may want to learn about new and improved [[Minimac3]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;minimac&#039;&#039;&#039; 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, &amp;quot;mini&amp;quot;, refers to the modest amount of computational resources it requires. The second, &amp;quot;mac&amp;quot;, is short hand for [[MaCH]], our widely used algorithm for genotype imputation.&lt;br /&gt;
&lt;br /&gt;
There are several minimac related pages on this wiki. The major ones are:&lt;br /&gt;
&lt;br /&gt;
* [[Minimac]] - This page, the main minimac page.&lt;br /&gt;
* [[Minimac: Tutorial]] - A short minimac tutorial.&lt;br /&gt;
* [[Minimac: 1000 Genomes Imputation Cookbook]] - Cookbook instructions for 1000 Genomes Imputation with Minimac&lt;br /&gt;
* [[Minimac Command Reference]] - Summary of minimac options&lt;br /&gt;
* [[Minimac Diagnostics]] - Summary of diagnostics for imputation performance generated by minimac&lt;br /&gt;
&lt;br /&gt;
*[https://imputationserver.sph.umich.edu Imputation server] - We are running imputation (and pre-phasing) for you!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
== Multiprocessor Version ==&lt;br /&gt;
&lt;br /&gt;
The current version of minimac comes in two flavours, &amp;lt;code&amp;gt;minimac&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;minimac-omp&amp;lt;/code&amp;gt;. The latter version uses the [[OpenMP]] protocol to support multi-threading, resulting in faster throughput.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Change log ==&lt;br /&gt;
&lt;br /&gt;
2013.7.17&lt;br /&gt;
&lt;br /&gt;
- minor bug fixes&lt;br /&gt;
&lt;br /&gt;
-- all variants (SNPs, InDels, SVs) in the reference VCF will be imputed - independent from the FILTER column setting&lt;br /&gt;
&lt;br /&gt;
- improved performance (Thanks to David Hinds - see also [[minimac2]] for the full set of performance improvements)&lt;br /&gt;
&lt;br /&gt;
2012.11.16&lt;br /&gt;
&lt;br /&gt;
- minor bug fixes&lt;br /&gt;
&lt;br /&gt;
2012.10.9&lt;br /&gt;
&lt;br /&gt;
- added: improved support for [http://www.shapeit.fr ShapeIT] phased haplotypes&lt;br /&gt;
&lt;br /&gt;
2012.10.3&lt;br /&gt;
&lt;br /&gt;
- added: full support for reference panel based chunking&lt;br /&gt;
&lt;br /&gt;
2012.9.22&lt;br /&gt;
&lt;br /&gt;
- fixed: chunk chromosome bug&lt;br /&gt;
&lt;br /&gt;
2012.8.6 (early adopter)&lt;br /&gt;
&lt;br /&gt;
- added: chromosome X support&lt;br /&gt;
&lt;br /&gt;
2012.3.14&lt;br /&gt;
&lt;br /&gt;
- fixed: problem with --startposition &lt;br /&gt;
&lt;br /&gt;
2012.2.29&lt;br /&gt;
&lt;br /&gt;
- added: VCF support&lt;br /&gt;
&lt;br /&gt;
- added: IDR (Insertion, Deletion, Reference) support&lt;br /&gt;
&lt;br /&gt;
== Questions and Comments ==&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:goncalo@umich.edu Goncalo Abecasis] or [mailto:cfuchsb@umich.edu Christian Fuchsberger].&lt;br /&gt;
&lt;br /&gt;
= Performance =&lt;br /&gt;
&lt;br /&gt;
== Pre-phasing ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! States&lt;br /&gt;
! Cost per round&lt;br /&gt;
|- &lt;br /&gt;
| 100 states&lt;br /&gt;
| 3 min&lt;br /&gt;
|- &lt;br /&gt;
| 200 states&lt;br /&gt;
| 12 min = (3 min * 2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|- &lt;br /&gt;
| 400 states&lt;br /&gt;
| 48 min = (3 min * 4&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|- &lt;br /&gt;
| 500 states&lt;br /&gt;
| 75 min = (3 min * 5&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
So, in this case running haplotyping with 500 states and 10 rounds would require 75 min * 10 = 750 min.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
== Imputation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
E(\mbox{Run Time in Hours}) = N_{markers} * N_{individuals} * N_{haplotypes} * 10^{-11}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These statistics refer to a single core in a modern Intel CPU core and, although your mileage will vary, most modern CPUs should be no more than a few times faster (or slower) than that. &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
E(\mbox{Run Time in Hours}) = N_{markers} * ({N_{individuals} + N_{rounds} * N_{states} * 0.75 }) * N_{haplotypes} * 10^{-11}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this updated formula, N&amp;lt;sub&amp;gt;rounds&amp;lt;/sub&amp;gt; represents the number of iterations used for parameter refinement and N&amp;lt;sub&amp;gt;states&amp;lt;/sub&amp;gt; represents the maximum number of reference and target haplotypes considered for each update.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
Using minimac for genotype imputation involves two steps. First, you will have to estimate haplotypes for your entire sample -- this will be the more computationally demanding step. Once that is done, you will be ready to quickly impute missing genotypes using the reference panel of your choice. &lt;br /&gt;
&lt;br /&gt;
== Estimating Haplotypes for Your Sample ==&lt;br /&gt;
&lt;br /&gt;
For the haplotyping step, we current recommend using [[MaCH]] with the --phase command line option. As input [[MaCH]] will need [[Merlin]] format pedigree and data files. All markers should be ordered according to their physical position and alleles should be labeled on the forward strand. &lt;br /&gt;
&lt;br /&gt;
=== Preparing Your Data ===&lt;br /&gt;
&lt;br /&gt;
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://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin Tutorial]. &lt;br /&gt;
&lt;br /&gt;
Within each file, markers should be stored by chromosome position. Alleles should be stored in the forward strand and can be encoded as &#039;A&#039;, &#039;C&#039;, &#039;G&#039; or &#039;T&#039; (there is no need to use numeric identifiers for each allele). &lt;br /&gt;
&lt;br /&gt;
We recommend that, if at all possible, you should phase your chromosomes according to NCBI build 37. Future releases of the 1000 Genomes Reference panel and other public sets of reference haplotypes are expected to use this genome build.&lt;br /&gt;
&lt;br /&gt;
If figuring out position and strand for each marker seems like hard work, don&#039;t despair. For you, this should be the hardest bit of the entire process! For the computer, the fun is about to start.&lt;br /&gt;
&lt;br /&gt;
==== NCBI build 36 / NCBI build 37 ====&lt;br /&gt;
The 1000G June reference panel is on build 36, future 1000G reference panels will be on build 37. This has also some impact on the pre-phasing:&lt;br /&gt;
some SNPs will ordered differently in each genome build (we expect order will be more accurate in more recent builds!). Purists will claim that imputation using NCBI build 36 and NCBI build 37 reference panels requires phasing using the exact same reference panel -- others will claim this makes little difference.&lt;br /&gt;
&lt;br /&gt;
=== Running MaCH ===&lt;br /&gt;
&lt;br /&gt;
A typical MaCH command line to estimate phased haplotypes might look like this:&lt;br /&gt;
&lt;br /&gt;
  mach1 -d sample.dat -p sample.ped --rounds 20 --states 200 --phase --interim 5 --sample 5 --compact&lt;br /&gt;
&lt;br /&gt;
This will request that MaCH estimate haplotypes for your sample, using 20 iterations of its Markov sampler and conditioning each update on up to 200 haplotypes. A summary description of these parameters follows (but for a more complete description, you should go to the MaCH website):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! Parameter &lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
|style=white-space:nowrap|&amp;lt;code&amp;gt;-d sample.dat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Data file in [http://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin format]. Markers should be listed according to their order along the chromosome.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;-p sample.ped&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pedigree file in [http://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin format]. Alleles should be labeled on the forward strand.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--states 200&amp;lt;/code&amp;gt;&lt;br /&gt;
| Number of haplotypes to consider during each update. Increasing this value will typically lead to better haplotypes, but can dramatically increase computing time and memory use. A value of 200 - 400 is typical. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--rounds 20&amp;lt;/code&amp;gt;&lt;br /&gt;
| Iterations of the Markov sampler to use for haplotyping. Typically, using 20 - 30 rounds should give good results. To obtain better results, it is usually better to increase the &amp;lt;code&amp;gt;--states&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--interim 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Request that intermediate results should be saved to disk periodically. These will facilitate analyses in case a run doesn&#039;t complete.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--sample 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Request that random (but plausible) sets of haplotypes for each individual should be drawn every 5 iterations. This parameter is optional, but for some rare variant analyses, these alternative haplotypes can be very useful.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--phase&amp;lt;/code&amp;gt; &lt;br /&gt;
| Tell [[MaCH]] to estimate phased haplotypes for each individual.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compact&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reduce memory use at the cost of approximately doubling runtime. This option is recommended for most GWAS scale datasets and computing platforms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Imputation into Phased Haplotypes ==&lt;br /&gt;
&lt;br /&gt;
Imputing genotypes using &#039;&#039;&#039;minimac&#039;&#039;&#039; is an easy and straightforward process: after selecting a set of reference haplotypes, plugging-in the target haplotypes from the previous step and setting the number of rounds to use for the model parameter estimation, imputation should proceed rapidly.&lt;br /&gt;
&lt;br /&gt;
=== Creating SNP List File ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minimac&#039;&#039;&#039; requires a file listing markers in the haplotype file. This file can be easily generated by extracting the second column from the .dat file. In a standard Unix system, a command like this should do:&lt;br /&gt;
&lt;br /&gt;
  cut -f 2 -d &amp;quot; &amp;quot; sample.dat &amp;gt; target.snps&lt;br /&gt;
&lt;br /&gt;
=== Running Minimac ===&lt;br /&gt;
&lt;br /&gt;
A typical minimac command line might look like this:&lt;br /&gt;
&lt;br /&gt;
==== using a VCF reference panel  ====&lt;br /&gt;
  minimac --vcfReference --refHaps ref.vcf.gz --haps target.hap.gz --snps target.snps.gz --rounds 5 --states 200 --prefix results&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: GWAS SNPs (file --snps target.snps.gz) are by default expected to be in the chr:pos format e.g. 1:1000 and on build37/hg19; otherwise, please set the --rs flag&lt;br /&gt;
&lt;br /&gt;
==== using a MaCH reference panel  ====&lt;br /&gt;
&lt;br /&gt;
  minimac --refHaps ref.hap.gz --refSnps ref.snps.gz --haps target.hap.gz --snps target.snps.gz --rounds 5 --states 200 --prefix results&lt;br /&gt;
&lt;br /&gt;
A detailed description of all minimac options is available [[Minimac Command Reference|elsewhere]]. Here is a brief description of the above parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! Parameter &lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--refSnps ref.snps.gz &amp;lt;/code&amp;gt; &lt;br /&gt;
| List of SNPs in the reference panel &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--refHaps ref.hap.gz &amp;lt;/code&amp;gt; &lt;br /&gt;
| Reference haplotypes (e.g. from [http://csg.sph.umich.edu/abecasis/MACH/download/ MaCH download page])&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--vcfReference &amp;lt;/code&amp;gt; &lt;br /&gt;
| This option specifies that the provided --refHaps file is provided in VCF format , no --refSNPs file needed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--rs &amp;lt;/code&amp;gt; &lt;br /&gt;
| In combination with --vcfReference, allows to use rs GWAS SNP identifiers&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--snps target.snps.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| SNPs in phased haplotypes. These should largely be a subset of the SNPs in the reference panel.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--haps target.hap.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| Phased haplotypes where missing genotypes will be imputed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--sample target.sample &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sample list in ShapeIT format.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--shape_haps target.hap.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| ShapeIT phased haplotypes where missing genotypes will be imputed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--chr 22&amp;lt;/code&amp;gt;&lt;br /&gt;
| Chromosome for which we will carry out imputation (needed to run ShapeIT with chr:pos identifiers - default setting).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--rounds 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rounds of optimization for model parameters, which describe population recombination rates and per SNP error rates.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--states 200&amp;lt;/code&amp;gt;&lt;br /&gt;
| Maximum number of reference (or target) haplotypes to be examined during parameter optimization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--prefix imputed&amp;lt;/code&amp;gt;&lt;br /&gt;
| Optionally, a string that is used to help generate output file names.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reference Haplotypes ===&lt;br /&gt;
&lt;br /&gt;
Reference haplotypes generated by the 1000 Genomes project and formatted so that they are ready for analysis are available from the [http://csg.sph.umich.edu/abecasis/MACH/download/ MaCH download page]. As of this writing, the most recent set of haplotypes are based on genotype calls were generated in May 2011 and are an interim analysis of Project&#039;s Phase I data.&lt;br /&gt;
&lt;br /&gt;
=== Imputation quality evaluation ===&lt;br /&gt;
To evaluate imputation quality, Minimac hides data for each genotyped SNP in turn and calculates 3 statistics:&lt;br /&gt;
* looRSQ - this is the estimated rsq for that SNP (as if SNP weren&#039;t typed). &lt;br /&gt;
* empR - this is the empirical correlation between true and imputed genotypes for the SNP. If this is negative, the SNP is probably flipped. &lt;br /&gt;
* empRSQ - this is the actual R2 value, comparing imputed and true genotypes. &lt;br /&gt;
&lt;br /&gt;
These statistics can be found in the .info file&lt;br /&gt;
&lt;br /&gt;
=== Additional Sources of Information ===&lt;br /&gt;
&lt;br /&gt;
If the combination of MaCH 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. For information on how to put the resulting chunks back together, see [[Ligate Minimac|this page]].&lt;br /&gt;
&lt;br /&gt;
If you are especially interested in 1000 Genomes Imputation, then you should look at the [[Minimac: 1000 Genomes Imputation Cookbook]].&lt;br /&gt;
&lt;br /&gt;
== X Chromosome Imputation ==&lt;br /&gt;
minimac supports the imputation of genotypes on the X chromosome (non-pseudo-autosomal part).&lt;br /&gt;
&lt;br /&gt;
# Split the X chromosome pedigree file by sex.&lt;br /&gt;
## For females: follow the same protocol as for autosomes (phase with MaCH and impute with minimac).&lt;br /&gt;
## For males&lt;br /&gt;
### 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)&lt;br /&gt;
### Convert the pedigree file into a MaCH haplotype file (missing genotypes should be encoded as:  &amp;quot;0&amp;quot; or &amp;quot;.&amp;quot; or &amp;quot;N&amp;quot; ) and impute using minimac as described above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;Example of a male only pedigree file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: FAM1003   ID1234  0   0   M   A/A   A/A   C/C&lt;br /&gt;
:::: FAM1004   ID5678  0   0   M   0/0   C/0   G/G&lt;br /&gt;
::::  ...&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;End of pedigree file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:::: &#039;&#039;Note that, consistent with the Merlin convention, hemizygous males are listed as if they were homozygous.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;Example of the corresponding haplotype file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
::::  FAM1003-&amp;gt;ID1234 HAPLO1 AAC&lt;br /&gt;
::::  FAM1003-&amp;gt;ID1234 HAPLO2 AAC&lt;br /&gt;
::::  FAM1004-&amp;gt;ID5678 HAPLO1 0CG&lt;br /&gt;
::::  FAM1004-&amp;gt;ID5678 HAPLO2 0CG&lt;br /&gt;
::::  ...&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;End of the corresponding haplotype file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Post-imputation Association Analysis =&lt;br /&gt;
== Quantitative Traits ==&lt;br /&gt;
Please use [http://csg.sph.umich.edu/yli/mach/download/mach2qtl.source.V108.tgz mach2qtl].&lt;br /&gt;
&lt;br /&gt;
== Binary Traits ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&lt;br /&gt;
If you use [[minimac]] or [[minimac2]] please cite: &lt;br /&gt;
&lt;br /&gt;
Fuchsberger C, Abecasis GR, Hinds DA. minimac2: faster genotype imputation. Bioinformatics 2014 [http://bioinformatics.oxfordjournals.org/content/early/2014/10/22/bioinformatics.btu704.short]&lt;br /&gt;
&lt;br /&gt;
Howie B, Fuchsberger C, Stephens M, Marchini J, and Abecasis GR.&lt;br /&gt;
Fast and accurate genotype imputation in genome-wide association studies&lt;br /&gt;
through pre-phasing. Nature Genetics 2012 [http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.2354.html]&lt;br /&gt;
&lt;br /&gt;
= Questions and Comments =&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:goncalo@umich.edu Goncalo Abecasis] or [mailto:cfuchsb@umich.edu Christian Fuchsberger].&lt;br /&gt;
&lt;br /&gt;
= Related Pages =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are looking for a low calorie version of the Big Mac sandwich, you&#039;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&#039;ll probably find some company on the web [http://mcchronicles.blogspot.com/2009/08/mini-mac-experiment-searching-for-big.html].&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Minimac&amp;diff=14662</id>
		<title>Minimac</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Minimac&amp;diff=14662"/>
		<updated>2017-03-01T19:28:54Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page is about the original version of Minimac.  You may want to learn about new and improved [[Minimac3]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;minimac&#039;&#039;&#039; 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, &amp;quot;mini&amp;quot;, refers to the modest amount of computational resources it requires. The second, &amp;quot;mac&amp;quot;, is short hand for [[MaCH]], our widely used algorithm for genotype imputation.&lt;br /&gt;
&lt;br /&gt;
There are several minimac related pages on this wiki. The major ones are:&lt;br /&gt;
&lt;br /&gt;
* [[Minimac]] - This page, the main minimac page.&lt;br /&gt;
* [[Minimac: Tutorial]] - A short minimac tutorial.&lt;br /&gt;
* [[Minimac: 1000 Genomes Imputation Cookbook]] - Cookbook instructions for 1000 Genomes Imputation with Minimac&lt;br /&gt;
* [[Minimac Command Reference]] - Summary of minimac options&lt;br /&gt;
* [[Minimac Diagnostics]] - Summary of diagnostics for imputation performance generated by minimac&lt;br /&gt;
&lt;br /&gt;
*[https://imputationserver.sph.umich.edu Imputation server] - We are running imputation (and pre-phasing) for you!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Download =&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
== Multiprocessor Version ==&lt;br /&gt;
&lt;br /&gt;
The current version of minimac comes in two flavours, &amp;lt;code&amp;gt;minimac&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;minimac-omp&amp;lt;/code&amp;gt;. The latter version uses the [[OpenMP]] protocol to support multi-threading, resulting in faster throughput.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Change log ==&lt;br /&gt;
&lt;br /&gt;
2013.7.17&lt;br /&gt;
&lt;br /&gt;
- minor bug fixes&lt;br /&gt;
&lt;br /&gt;
-- all variants (SNPs, InDels, SVs) in the reference VCF will be imputed - independent from the FILTER column setting&lt;br /&gt;
&lt;br /&gt;
- improved performance (Thanks to David Hinds - see also [[minimac2]] for the full set of performance improvements)&lt;br /&gt;
&lt;br /&gt;
2012.11.16&lt;br /&gt;
&lt;br /&gt;
- minor bug fixes&lt;br /&gt;
&lt;br /&gt;
2012.10.9&lt;br /&gt;
&lt;br /&gt;
- added: improved support for [http://www.shapeit.fr ShapeIT] phased haplotypes&lt;br /&gt;
&lt;br /&gt;
2012.10.3&lt;br /&gt;
&lt;br /&gt;
- added: full support for reference panel based chunking&lt;br /&gt;
&lt;br /&gt;
2012.9.22&lt;br /&gt;
&lt;br /&gt;
- fixed: chunk chromosome bug&lt;br /&gt;
&lt;br /&gt;
2012.8.6 (early adopter)&lt;br /&gt;
&lt;br /&gt;
- added: chromosome X support&lt;br /&gt;
&lt;br /&gt;
2012.3.14&lt;br /&gt;
&lt;br /&gt;
- fixed: problem with --startposition &lt;br /&gt;
&lt;br /&gt;
2012.2.29&lt;br /&gt;
&lt;br /&gt;
- added: VCF support&lt;br /&gt;
&lt;br /&gt;
- added: IDR (Insertion, Deletion, Reference) support&lt;br /&gt;
&lt;br /&gt;
== Questions and Comments ==&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:goncalo@umich.edu Goncalo Abecasis] or [mailto:cfuchsb@umich.edu Christian Fuchsberger].&lt;br /&gt;
&lt;br /&gt;
= Performance =&lt;br /&gt;
&lt;br /&gt;
== Pre-phasing ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! States&lt;br /&gt;
! Cost per round&lt;br /&gt;
|- &lt;br /&gt;
| 100 states&lt;br /&gt;
| 3 min&lt;br /&gt;
|- &lt;br /&gt;
| 200 states&lt;br /&gt;
| 12 min = (3 min * 2&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|- &lt;br /&gt;
| 400 states&lt;br /&gt;
| 48 min = (3 min * 4&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|- &lt;br /&gt;
| 500 states&lt;br /&gt;
| 75 min = (3 min * 5&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
So, in this case running haplotyping with 500 states and 10 rounds would require 75 min * 10 = 750 min.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
== Imputation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
E(\mbox{Run Time in Hours}) = N_{markers} * N_{individuals} * N_{haplotypes} * 10^{-11}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These statistics refer to a single core in a modern Intel CPU core and, although your mileage will vary, most modern CPUs should be no more than a few times faster (or slower) than that. &lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
E(\mbox{Run Time in Hours}) = N_{markers} * ({N_{individuals} + N_{rounds} * N_{states} * 0.75 }) * N_{haplotypes} * 10^{-11}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this updated formula, N&amp;lt;sub&amp;gt;rounds&amp;lt;/sub&amp;gt; represents the number of iterations used for parameter refinement and N&amp;lt;sub&amp;gt;states&amp;lt;/sub&amp;gt; represents the maximum number of reference and target haplotypes considered for each update.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
Using minimac for genotype imputation involves two steps. First, you will have to estimate haplotypes for your entire sample -- this will be the more computationally demanding step. Once that is done, you will be ready to quickly impute missing genotypes using the reference panel of your choice. &lt;br /&gt;
&lt;br /&gt;
== Estimating Haplotypes for Your Sample ==&lt;br /&gt;
&lt;br /&gt;
For the haplotyping step, we current recommend using [[MaCH]] with the --phase command line option. As input [[MaCH]] will need [[Merlin]] format pedigree and data files. All markers should be ordered according to their physical position and alleles should be labeled on the forward strand. &lt;br /&gt;
&lt;br /&gt;
=== Preparing Your Data ===&lt;br /&gt;
&lt;br /&gt;
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://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin Tutorial]. &lt;br /&gt;
&lt;br /&gt;
Within each file, markers should be stored by chromosome position. Alleles should be stored in the forward strand and can be encoded as &#039;A&#039;, &#039;C&#039;, &#039;G&#039; or &#039;T&#039; (there is no need to use numeric identifiers for each allele). &lt;br /&gt;
&lt;br /&gt;
We recommend that, if at all possible, you should phase your chromosomes according to NCBI build 37. Future releases of the 1000 Genomes Reference panel and other public sets of reference haplotypes are expected to use this genome build.&lt;br /&gt;
&lt;br /&gt;
If figuring out position and strand for each marker seems like hard work, don&#039;t despair. For you, this should be the hardest bit of the entire process! For the computer, the fun is about to start.&lt;br /&gt;
&lt;br /&gt;
==== NCBI build 36 / NCBI build 37 ====&lt;br /&gt;
The 1000G June reference panel is on build 36, future 1000G reference panels will be on build 37. This has also some impact on the pre-phasing:&lt;br /&gt;
some SNPs will ordered differently in each genome build (we expect order will be more accurate in more recent builds!). Purists will claim that imputation using NCBI build 36 and NCBI build 37 reference panels requires phasing using the exact same reference panel -- others will claim this makes little difference.&lt;br /&gt;
&lt;br /&gt;
=== Running MaCH ===&lt;br /&gt;
&lt;br /&gt;
A typical MaCH command line to estimate phased haplotypes might look like this:&lt;br /&gt;
&lt;br /&gt;
  mach1 -d sample.dat -p sample.ped --rounds 20 --states 200 --phase --interim 5 --sample 5 --compact&lt;br /&gt;
&lt;br /&gt;
This will request that MaCH estimate haplotypes for your sample, using 20 iterations of its Markov sampler and conditioning each update on up to 200 haplotypes. A summary description of these parameters follows (but for a more complete description, you should go to the MaCH website):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! Parameter &lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
|style=white-space:nowrap|&amp;lt;code&amp;gt;-d sample.dat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Data file in [http://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin format]. Markers should be listed according to their order along the chromosome.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;-p sample.ped&amp;lt;/code&amp;gt;&lt;br /&gt;
| Pedigree file in [http://csg.sph.umich.edu/abecasis/Merlin/tour/input_files.html Merlin format]. Alleles should be labeled on the forward strand.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--states 200&amp;lt;/code&amp;gt;&lt;br /&gt;
| Number of haplotypes to consider during each update. Increasing this value will typically lead to better haplotypes, but can dramatically increase computing time and memory use. A value of 200 - 400 is typical. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--rounds 20&amp;lt;/code&amp;gt;&lt;br /&gt;
| Iterations of the Markov sampler to use for haplotyping. Typically, using 20 - 30 rounds should give good results. To obtain better results, it is usually better to increase the &amp;lt;code&amp;gt;--states&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--interim 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Request that intermediate results should be saved to disk periodically. These will facilitate analyses in case a run doesn&#039;t complete.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--sample 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Request that random (but plausible) sets of haplotypes for each individual should be drawn every 5 iterations. This parameter is optional, but for some rare variant analyses, these alternative haplotypes can be very useful.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--phase&amp;lt;/code&amp;gt; &lt;br /&gt;
| Tell [[MaCH]] to estimate phased haplotypes for each individual.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compact&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reduce memory use at the cost of approximately doubling runtime. This option is recommended for most GWAS scale datasets and computing platforms.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Imputation into Phased Haplotypes ==&lt;br /&gt;
&lt;br /&gt;
Imputing genotypes using &#039;&#039;&#039;minimac&#039;&#039;&#039; is an easy and straightforward process: after selecting a set of reference haplotypes, plugging-in the target haplotypes from the previous step and setting the number of rounds to use for the model parameter estimation, imputation should proceed rapidly.&lt;br /&gt;
&lt;br /&gt;
=== Creating SNP List File ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Minimac&#039;&#039;&#039; requires a file listing markers in the haplotype file. This file can be easily generated by extracting the second column from the .dat file. In a standard Unix system, a command like this should do:&lt;br /&gt;
&lt;br /&gt;
  cut -f 2 -d &amp;quot; &amp;quot; sample.dat &amp;gt; target.snps&lt;br /&gt;
&lt;br /&gt;
=== Running Minimac ===&lt;br /&gt;
&lt;br /&gt;
A typical minimac command line might look like this:&lt;br /&gt;
&lt;br /&gt;
==== using a VCF reference panel  ====&lt;br /&gt;
  minimac --vcfReference --refHaps ref.vcf.gz --haps target.hap.gz --snps target.snps.gz --rounds 5 --states 200 --prefix results&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: GWAS SNPs (file --snps target.snps.gz) are by default expected to be in the chr:pos format e.g. 1:1000 and on build37/hg19; otherwise, please set the --rs flag&lt;br /&gt;
&lt;br /&gt;
==== using a MaCH reference panel  ====&lt;br /&gt;
&lt;br /&gt;
  minimac --refHaps ref.hap.gz --refSnps ref.snps.gz --haps target.hap.gz --snps target.snps.gz --rounds 5 --states 200 --prefix results&lt;br /&gt;
&lt;br /&gt;
A detailed description of all minimac options is available [[Minimac Command Reference|elsewhere]]. Here is a brief description of the above parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;lightgray&amp;quot;&lt;br /&gt;
! Parameter &lt;br /&gt;
! Description&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--refSnps ref.snps.gz &amp;lt;/code&amp;gt; &lt;br /&gt;
| List of SNPs in the reference panel &lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--refHaps ref.hap.gz &amp;lt;/code&amp;gt; &lt;br /&gt;
| Reference haplotypes (e.g. from [http://csg.sph.umich.edu/abecasis/MACH/download/ MaCH download page])&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--vcfReference &amp;lt;/code&amp;gt; &lt;br /&gt;
| This option specifies that the provided --refHaps file is provided in VCF format , no --refSNPs file needed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--rs &amp;lt;/code&amp;gt; &lt;br /&gt;
| In combination with --vcfReference, allows to use rs GWAS SNP identifiers&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--snps target.snps.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| SNPs in phased haplotypes. These should largely be a subset of the SNPs in the reference panel.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--haps target.hap.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| Phased haplotypes where missing genotypes will be imputed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--sample target.sample &amp;lt;/code&amp;gt;&lt;br /&gt;
| Sample list in ShapeIT format.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--shape_haps target.hap.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
| ShapeIT phased haplotypes where missing genotypes will be imputed.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--chr 22&amp;lt;/code&amp;gt;&lt;br /&gt;
| Chromosome for which we will carry out imputation (needed to run ShapeIT with chr:pos identifiers - default setting).&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--rounds 5&amp;lt;/code&amp;gt;&lt;br /&gt;
| Rounds of optimization for model parameters, which describe population recombination rates and per SNP error rates.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--states 200&amp;lt;/code&amp;gt;&lt;br /&gt;
| Maximum number of reference (or target) haplotypes to be examined during parameter optimization.&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--prefix imputed&amp;lt;/code&amp;gt;&lt;br /&gt;
| Optionally, a string that is used to help generate output file names.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Reference Haplotypes ===&lt;br /&gt;
&lt;br /&gt;
Reference haplotypes generated by the 1000 Genomes project and formatted so that they are ready for analysis are available from the [http://csg.sph.umich.edu/abecasis/MACH/download/ MaCH download page]. As of this writing, the most recent set of haplotypes are based on genotype calls were generated in May 2011 and are an interim analysis of Project&#039;s Phase I data.&lt;br /&gt;
&lt;br /&gt;
=== Imputation quality evaluation ===&lt;br /&gt;
To evaluate imputation quality, Minimac hides data for each genotyped SNP in turn and calculates 3 statistics:&lt;br /&gt;
* looRSQ - this is the estimated rsq for that SNP (as if SNP weren&#039;t typed). &lt;br /&gt;
* empR - this is the empirical correlation between true and imputed genotypes for the SNP. If this is negative, the SNP is probably flipped. &lt;br /&gt;
* empRSQ - this is the actual R2 value, comparing imputed and true genotypes. &lt;br /&gt;
&lt;br /&gt;
These statistics can be found in the .info file&lt;br /&gt;
&lt;br /&gt;
=== Additional Sources of Information ===&lt;br /&gt;
&lt;br /&gt;
If the combination of MaCH 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. For information on how to put the resulting chunks back together, see [[Ligate Minimac|this page]].&lt;br /&gt;
&lt;br /&gt;
If you are especially interested in 1000 Genomes Imputation, then you should look at the [[Minimac: 1000 Genomes Imputation Cookbook]].&lt;br /&gt;
&lt;br /&gt;
== X Chromosome Imputation ==&lt;br /&gt;
minimac supports the imputation of genotypes on the X chromosome (non-pseudo-autosomal part).&lt;br /&gt;
&lt;br /&gt;
# Split the X chromosome pedigree file by sex.&lt;br /&gt;
## For females: follow the same protocol as for autosomes (phase with MaCH and impute with minimac).&lt;br /&gt;
## For males&lt;br /&gt;
### 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)&lt;br /&gt;
### Convert the pedigree file into a MaCH haplotype file (missing genotypes should be encoded as:  &amp;quot;0&amp;quot; or &amp;quot;.&amp;quot; or &amp;quot;N&amp;quot; ) and impute using minimac as described above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;Example of a male only pedigree file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:::: FAM1003   ID1234  0   0   M   A/A   A/A   C/C&lt;br /&gt;
:::: FAM1004   ID5678  0   0   M   0/0   C/0   G/G&lt;br /&gt;
::::  ...&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;End of pedigree file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:::: &#039;&#039;Note that, consistent with the Merlin convention, hemizygous males are listed as if they were homozygous.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;Example of the corresponding haplotype file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
::::  FAM1003-&amp;gt;ID1234 HAPLO1 AAC&lt;br /&gt;
::::  FAM1003-&amp;gt;ID1234 HAPLO2 AAC&lt;br /&gt;
::::  FAM1004-&amp;gt;ID5678 HAPLO1 0CG&lt;br /&gt;
::::  FAM1004-&amp;gt;ID5678 HAPLO2 0CG&lt;br /&gt;
::::  ...&lt;br /&gt;
::::  &#039;&#039;&#039;&amp;lt;End of the corresponding haplotype file&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Post-imputation Association Analysis =&lt;br /&gt;
== Quantitative Traits ==&lt;br /&gt;
Please use [http://csg.sph.umich.edu/yli/mach/download/mach2qtl.source.V108.tgz mach2qtl].&lt;br /&gt;
&lt;br /&gt;
== Binary Traits ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Reference =&lt;br /&gt;
&lt;br /&gt;
If you use [[minimac]] or [[minimac2]] please cite: &lt;br /&gt;
&lt;br /&gt;
Fuchsberger C, Abecasis GR, Hinds DA. minimac2: faster genotype imputation. Bioinformatics 2014 [http://bioinformatics.oxfordjournals.org/content/early/2014/10/22/bioinformatics.btu704.short]&lt;br /&gt;
&lt;br /&gt;
Howie B, Fuchsberger C, Stephens M, Marchini J, and Abecasis GR.&lt;br /&gt;
Fast and accurate genotype imputation in genome-wide association studies&lt;br /&gt;
through pre-phasing. Nature Genetics 2012 [http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.2354.html]&lt;br /&gt;
&lt;br /&gt;
= Questions and Comments =&lt;br /&gt;
&lt;br /&gt;
Please contact [mailto:goncalo@umich.edu Goncalo Abecasis] or [mailto:cfuchsb@umich.edu Christian Fuchsberger].&lt;br /&gt;
&lt;br /&gt;
= Related Pages =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you are looking for a low calorie version of the Big Mac sandwich, you&#039;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&#039;ll probably find some company on the web [http://mcchronicles.blogspot.com/2009/08/mini-mac-experiment-searching-for-big.html].&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Abecasis_Lab&amp;diff=14419</id>
		<title>Abecasis Lab</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Abecasis_Lab&amp;diff=14419"/>
		<updated>2016-10-26T22:37:24Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:AbecasisRetreat2016.jpg|700px|center|Group Photo 2016]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[Image:Abecasis2015Retreat.JPG|400px|center|Group Photo]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mission Statement ==&lt;br /&gt;
&lt;br /&gt;
We are developing and applying computational and statistical tools to further understanding of complex human diseases, such as cardiovascular disease and diabetes.&lt;br /&gt;
&lt;br /&gt;
== Leadership ==&lt;br /&gt;
&lt;br /&gt;
[[Goncalo Abecasis]] is currently the Felix Moore Collegiate Professor of Biostatistics at the University of Michigan School of Public Health.&lt;br /&gt;
&lt;br /&gt;
== Current Members ==&lt;br /&gt;
&lt;br /&gt;
=== Research Fellows ===&lt;br /&gt;
&lt;br /&gt;
[[File:Kuser.png|50px]] Christian Fuchsberger&lt;br /&gt;
&lt;br /&gt;
[[File:Sarah.jpg.jpg|50px]] Sarah Gagliano&lt;br /&gt;
&lt;br /&gt;
[[File:PicJingjing.jpg|50px]] Jingjing Yang&lt;br /&gt;
&lt;br /&gt;
=== Graduate Students ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:SaiChen.jpg|50px]] Sai Chen&lt;br /&gt;
&lt;br /&gt;
[[File:Kuser.png|50px]] Priscilla Geng&lt;br /&gt;
&lt;br /&gt;
[[File:HeadOfAlanKwong.jpg|50px]]  [[Alan Kwong]]&lt;br /&gt;
&lt;br /&gt;
[[File:Kuser.png|50px]] Sebanti Sengupta&lt;br /&gt;
&lt;br /&gt;
[[File:Kuser.png|50px]] Joshua Weinstock&lt;br /&gt;
&lt;br /&gt;
[[File:Gregory3.jpg|50px]] Greg Zajac&lt;br /&gt;
&lt;br /&gt;
[[File:Kuser.png|50px]] Fan Zhang&lt;br /&gt;
&lt;br /&gt;
[[File:Kuser.png|50px]] Wei Zhou&lt;br /&gt;
&lt;br /&gt;
[[File:Xutong.jpg|50px]] Xutong Zhao&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
&lt;br /&gt;
[[File:Irene_headshot.jpg|50px]] Irene Felicetti : Administrative Assistant Sr. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:TomBlackwell_crop.jpg|50px]]  [[Tom Blackwell]]  : Research Area Specialist Sr. &lt;br /&gt;
&lt;br /&gt;
[[File:Sean_head.jpg|50px]] [[Sean Caron]] : UNIX Systems Administrator&lt;br /&gt;
&lt;br /&gt;
[[File:Headshot-chris-clark-2 (3).jpg|50px]] Chris Clark : Applications Programmer/Analyst Sr.&lt;br /&gt;
&lt;br /&gt;
[[File:Kuser.png|50px]] Jonathon LeFaive  :  Applications Programmer/Analyst Sr.&lt;br /&gt;
&lt;br /&gt;
[[File:Kevin_Web-Profile.jpg ‎|50px]] Kevin Li  : Web Applications Developer&lt;br /&gt;
&lt;br /&gt;
[[File:IMG_4735.JPG|50px]] Anita Pandit  :  Research Computer Specialist&lt;br /&gt;
&lt;br /&gt;
[[File:Schmidt_small.jpg|50px]] Ellen Schmidt  :  Research Area Specialist Lead&lt;br /&gt;
&lt;br /&gt;
[[File:pjvh.jpg|50px]] Peter VandeHaar  :  Applications Programmer/Analyst Sr.&lt;br /&gt;
&lt;br /&gt;
[[File:MK_head.jpg|50px]] [[Mary Kate Wing]] : Applications Programmer working on GotCloud Pipelines, C++ library &amp;amp; tools (libStatGen, bamUtils)&lt;br /&gt;
&lt;br /&gt;
== Alumni ==&lt;br /&gt;
&lt;br /&gt;
=== Former Research Faculty ===&lt;br /&gt;
&lt;br /&gt;
* Hyun Min Kang (&#039;&#039;graduated in 2011&#039;&#039;), now Assistant Professor at the [http://www.sph.umich.edu/biostat/ University of Michigan School of Public Health, Department of Biostatistics].&lt;br /&gt;
&lt;br /&gt;
=== Former Research Fellows ===&lt;br /&gt;
&lt;br /&gt;
* Weimin Chen (graduated 2007), now Associate Professor at the [http://people.virginia.edu/~wc9c/ Department of Public Health Sciences &amp;amp; Center for Public Health Genomics, University of Virginia]&lt;br /&gt;
&lt;br /&gt;
* Goo Jun (graduated 2008), now Assistant Professor at the [https://scholar.google.com/citations?user=1wzhcEQAAAAJ&amp;amp;hl=en University of Texas Health Sciences Center]&lt;br /&gt;
&lt;br /&gt;
* Bingshan Li (graudated 2011), now Assistant Professor at the [https://medschool.vanderbilt.edu/cqs/people/Bingshan/Li/cqs-faculty-members Center for Quantitative Sciences, Vanderbilt University]&lt;br /&gt;
&lt;br /&gt;
* [[Dajiang Liu]] (graduated 2013), now Assistant Professor at the [http://www-personal.umich.edu/~dajiang/ Penn State University College of Medicine]&lt;br /&gt;
&lt;br /&gt;
* Serena Sanna (graduated 2007), now an investigator at the [http://www.serenasanna.com/ Istituto di Neurogenetica e Neurofarmacologia in Sardinia, Italy]&lt;br /&gt;
&lt;br /&gt;
* Paul Scheet (graduated 2008), now Associate Professor at [http://faculty.mdanderson.org/Paul_Scheet/Default.asp?SNID=221605974 Department of Epidemiology, University of Texas MD Anderson Cancer Center]&lt;br /&gt;
&lt;br /&gt;
* Carlo Sidore (graduated 2012), now an investigator at the [http://www.cnr.it/istituti/DatiGenerali.html?cds=060 Istituto di Neurogenetica e Neurofarmacologia in Sardinia, Italy]&lt;br /&gt;
&lt;br /&gt;
* Fabio Busonero (graduated 2012), now an investigator at the [http://www.cnr.it/istituti/DatiGenerali.html?cds=060 Istituto di Neurogenetica e Neurofarmacologia in Sardinia, Italy]&lt;br /&gt;
&lt;br /&gt;
* William Stewart (graduated 2008), now Assistant Professor at [http://www.mathmed.org/#William_Stewart Battelle Center for Computational Medicine, Departments of Statistics and Pediatrics, National Children&#039;s Hospital and Ohio State University]&lt;br /&gt;
&lt;br /&gt;
* Alex Tsoi (graduated 2014), now Research Assistant Professor at [https://www.med.umich.edu/DERM/faculty/alextsoi_pub.shtml University of Michigan Medical School]&lt;br /&gt;
&lt;br /&gt;
* [[Scott Vrieze]] (graduated 2014), now an Assistant Professor of Psychology and Neuroscience at [http://www.colorado.edu/ibg/people/471 University of Colorado, Boulder]&lt;br /&gt;
&lt;br /&gt;
* [[Lars Fritsche]] (graduated 2016), now an Associate Professor at [http://www.ntnu.edu/ism the Department of Public Health and General Practice at the Norwegian University of Science and Technology] in Trondheim, Norway&lt;br /&gt;
&lt;br /&gt;
=== Former Doctoral Students ===&lt;br /&gt;
&lt;br /&gt;
* Katharine Brieger, now Graduate Student, Epidemiology, School of Public Health, University of Michigan&lt;br /&gt;
&lt;br /&gt;
* Wei Chen (graduated 2011), now Assistant Professor at the [http://www.chp.edu/CHP/Chen%2C+Wei%2C+PhD Department of Pediatrics, University of Pittsburgh Medical Center]&lt;br /&gt;
&lt;br /&gt;
* Jun Ding (graduated 2010), now Staff Scientist / Facility Head at the [http://www.grc.nia.nih.gov/branches/lg/lg.htm Laboratory of Genetics, National Institute on Aging (NIH)].&lt;br /&gt;
&lt;br /&gt;
* Shuang Feng (graduated 2015), now Research Scientist at Big Data Lab at Hitachi America Ltd.&lt;br /&gt;
&lt;br /&gt;
* Weihua Guan (graduated 2010), now Assistant Professor at the [http://sph.umn.edu/faculty1/expertise/statistical-genetics/name/weihua-guan/ Department of Biostatistics, University of Minnesota School of Public Health].&lt;br /&gt;
&lt;br /&gt;
* Yun Li (graduated 2009), now Assistant Professor at the [http://www.sph.unc.edu/?option=com_profiles&amp;amp;Itemid=6138&amp;amp;profileAction=ProfDetail&amp;amp;pid=708777879 Department of Biostatistics, University of North Carolina].&lt;br /&gt;
&lt;br /&gt;
* Youna Hu (graduated 2012), now a Data Sciences Engineer at A9, a subsidiary of 23andMe, Inc.&lt;br /&gt;
&lt;br /&gt;
* Mingyao Li (graduated 2005), now Associate Professor at the [http://www.cceb.upenn.edu/faculty/index.php?id=159 Department of Biostatistics and Epidemiology, University of Pennsylvania]&lt;br /&gt;
&lt;br /&gt;
* Liming Liang (graduated 2009), now Associate Professor at the [http://www.hsph.harvard.edu/faculty/liming-liang/ Departments of Biostatistics and Epidemiology, Harvard University]&lt;br /&gt;
&lt;br /&gt;
* Tasha Fingerlin (graduated 2003), now Associate Professor at the [http://www.ucdenver.edu/academics/colleges/PublicHealth/departments/Epidemiology/About/Faculty/Pages/FingerlinT.aspx Section of Epidemiology and Community Health, University of Colorado Health Sciences Center]&lt;br /&gt;
&lt;br /&gt;
* Sara Rashkin (graduated 2015), now Post Doc at [http://wittelab.ucsf.edu/pages/people UCSF Witte Lab]&lt;br /&gt;
&lt;br /&gt;
* Andrew Skol (graduated 2006), now Assistant Professor at the [http://med-www02.bsd.uchicago.edu/339/FacultyPro/faculty_profile.aspx?empl_id=10164 Section of Genetic Medicine, University of Chicago]&lt;br /&gt;
&lt;br /&gt;
* [[Xiaowei Zhan]] (graduated 2014), now Assistant Professor at the [http://profiles.utsouthwestern.edu/profile/152189/xiaowei-zhan.html Department of Clinical Science, University of Texas - Southwestern Medical Center].&lt;br /&gt;
&lt;br /&gt;
* Jin Zheng (graduated 2009), now working in the Pharmaceutical Industry at Eli Lilly.&lt;br /&gt;
&lt;br /&gt;
=== Former Masters Students ===&lt;br /&gt;
&lt;br /&gt;
* Su Chu&lt;br /&gt;
&lt;br /&gt;
* Nate Cohen&lt;br /&gt;
&lt;br /&gt;
* Melinda Curran&lt;br /&gt;
&lt;br /&gt;
* Vesela Gateva&lt;br /&gt;
&lt;br /&gt;
* Xijing Han&lt;br /&gt;
&lt;br /&gt;
* Dan Hovelson&lt;br /&gt;
&lt;br /&gt;
* Elizabeth Jewell&lt;br /&gt;
&lt;br /&gt;
* Michelle Kleckner&lt;br /&gt;
&lt;br /&gt;
* Ben Lerch&lt;br /&gt;
&lt;br /&gt;
* Yanming Li&lt;br /&gt;
&lt;br /&gt;
* Heather Munro&lt;br /&gt;
&lt;br /&gt;
* Nick Seewald&lt;br /&gt;
&lt;br /&gt;
* Theresa Scott (nee Daigneault)&lt;br /&gt;
&lt;br /&gt;
* Matthew Snyder&lt;br /&gt;
&lt;br /&gt;
* Vivian Wang&lt;br /&gt;
&lt;br /&gt;
* Yuan Wei&lt;br /&gt;
&lt;br /&gt;
* Abigail Woodroffe&lt;br /&gt;
&lt;br /&gt;
* Zaojun Ye&lt;br /&gt;
&lt;br /&gt;
* Matthew Zawitowski&lt;br /&gt;
&lt;br /&gt;
* Anita Yu Zhao&lt;br /&gt;
&lt;br /&gt;
* Wanlin Zheng&lt;br /&gt;
&lt;br /&gt;
* Tingting Zhou&lt;br /&gt;
&lt;br /&gt;
=== Former Staff ===&lt;br /&gt;
&lt;br /&gt;
* Paul Anderson&lt;br /&gt;
&lt;br /&gt;
* Laura Baker&lt;br /&gt;
&lt;br /&gt;
* [[Jennifer Bragg-Gresham]]&lt;br /&gt;
&lt;br /&gt;
* Johanna Forster&lt;br /&gt;
&lt;br /&gt;
* Jan Wigginton&lt;br /&gt;
&lt;br /&gt;
=== Visitors ===&lt;br /&gt;
&lt;br /&gt;
* Qing Lu&lt;br /&gt;
&lt;br /&gt;
* Andrea Maschio&lt;br /&gt;
&lt;br /&gt;
* Giorgio Pistis&lt;br /&gt;
&lt;br /&gt;
* Eleanora Porcu&lt;br /&gt;
&lt;br /&gt;
* Toshiko Tanakato&lt;br /&gt;
&lt;br /&gt;
== Really Useful Stuff ==&lt;br /&gt;
&lt;br /&gt;
* [[Abecasis Group Awards]]&lt;br /&gt;
* [https://calendars.office.microsoft.com/pubcalstorage/m3n2kr0z1470909/Goncalo_Abecasis_Calendar(1).ics Goncalo&#039;s Calendar]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=File:Pjvh.jpg&amp;diff=14418</id>
		<title>File:Pjvh.jpg</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=File:Pjvh.jpg&amp;diff=14418"/>
		<updated>2016-10-26T22:37:06Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=CSG_Tech_Talks&amp;diff=14369</id>
		<title>CSG Tech Talks</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=CSG_Tech_Talks&amp;diff=14369"/>
		<updated>2016-07-29T01:46:30Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Center for Statistical Genetics (CSG) is hosting a series of talks to help people working in the field of statistical genetics, or applied statistics in general, become more knowledgeable about the technical tools available to them.  &lt;br /&gt;
&lt;br /&gt;
We will be hosting meetings during the summer on alternating Thursdays at 2pm at SPH2 (in room 1152 unless otherwise noted).&lt;br /&gt;
&lt;br /&gt;
To be notified of upcoming presentations, you may add your e-mail address to the csg-tech-talks@umich.edu mailing list on [https://mcommunity.umich.edu MCommunity]&lt;br /&gt;
&lt;br /&gt;
To suggest topic or volunteer to present, please email Matthew at mflick@umich.edu&lt;br /&gt;
&lt;br /&gt;
== Upcoming Schedule ==&lt;br /&gt;
&lt;br /&gt;
== Presentation Slides ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:Cplusplus11-features-and-tricks.pdf| C++11 Features and Tricks by Daniel Taliun (Jul 28, 2016)]]&lt;br /&gt;
* [[Media:ReproducibleResearch-TechTalk.pdf| Reproducible Research by Matthew Flickinger (Jul 14, 2016)]]&lt;br /&gt;
* [[Media:Julia_presentation.pdf| The Julia Manifesto by Jonathon LeFaive (Jun 30, 2016)]]&lt;br /&gt;
* [https://github.com/welchr/csg-jupyter-tutorial Quick introduction to the jupyter notebook by Ryan Welch (Jun 02, 2016)]&lt;br /&gt;
* [[Media:TechTalk-RTroubleshooting.pdf| What R You Doing? (Answering Your Own R Questions) by Matthew Flickinger (May 19, 2016)]]&lt;br /&gt;
* [[Media:Brooksisms.ppt| Brookisms And Other Nuggets of Programming Wisdom by Chris Clark (May 12, 2016)]]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=File:Cplusplus11-features-and-tricks.pdf&amp;diff=14368</id>
		<title>File:Cplusplus11-features-and-tricks.pdf</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=File:Cplusplus11-features-and-tricks.pdf&amp;diff=14368"/>
		<updated>2016-07-29T01:45:02Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=14140</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=14140"/>
		<updated>2016-04-01T20:40:26Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Pages that document or help with installation:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Pages that document steps in the GotCloud pipeline:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Sub-Pipelines&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options (sub-page)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_GenomeSTRiP_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Creating_a_New_Pipeline&lt;br /&gt;
&lt;br /&gt;
Pages that document pieces of GotCloud:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/PileupBasedVariantCalling&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/VcfCooker&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_VerifyBamID_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_QPLOT_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_vcf-summary_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
&lt;br /&gt;
Pages that explain configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo_Setup&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_Low_Pass_Sequence_Analysis&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Git_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Other pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Versions documents old versions&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Short_Workshops links to all of them (or their parents)&lt;br /&gt;
&lt;br /&gt;
Pages of which some ought to be hidden, deleted, or heavily re-worked:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/UMAKE&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Mount_S3_Volume&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_AMIs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GBR60vc.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13986</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13986"/>
		<updated>2016-01-12T19:24:10Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Organization of the GotCloud pages on this wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Pages that document or help with installation:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Pages that document steps in the GotCloud pipeline:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Sub-Pipelines&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options (sub-page)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_GenomeSTRiP_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Creating_a_New_Pipeline&lt;br /&gt;
&lt;br /&gt;
Pages that document pieces of GotCloud:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/PileupBasedVariantCalling&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/VcfCooker&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_VerifyBamID_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_QPLOT_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_vcf-summary_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
&lt;br /&gt;
Pages that explain configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo_Setup&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_Low_Pass_Sequence_Analysis&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Other pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Versions documents old versions&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Short_Workshops links to all of them (or their parents)&lt;br /&gt;
&lt;br /&gt;
Pages of which some ought to be hidden, deleted, or heavily re-worked:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/UMAKE&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Mount_S3_Volume&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_AMIs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GBR60vc.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13985</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13985"/>
		<updated>2016-01-12T15:51:10Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Next, prepare to use the Flux/Torque/PBS cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==How to run Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code style=&amp;quot;background:#f0f0f0&amp;quot;&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  It&#039;ll be hit by hundreds or thousands of emails, so I recommend that you don&#039;t use your main email address here.  &lt;br /&gt;
:* If you&#039;re in a hurry to finish your pipeline, you can find an email address that will text the emails to your phone.  Only use that in the second script, though, so that you don&#039;t receive thousands of text messages!&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Eg, &amp;lt;code&amp;gt;sph_flux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
:* This number will usually be between 20 and 1000.&lt;br /&gt;
&lt;br /&gt;
10. Figure out which steps to run first.  The steps go in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, it&#039;s not a problem, because &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident that everything will work beautifully, you can go straight to the step &amp;lt;code&amp;gt;allN&amp;lt;/code&amp;gt; (or just &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; as a shortcut).&lt;br /&gt;
:* For example, I used &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt; the first time I ran on Flux.  Then I ran &amp;lt;code&amp;gt;vcf1 vcf2...&amp;lt;/code&amp;gt;, and on down the list until finally &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Feel free to use the script &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  Let&#039;s name it &amp;lt;code&amp;gt;script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Finally, submit your jobs===&lt;br /&gt;
&lt;br /&gt;
13. Run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;qsub script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It&#039;s important that you run this in the same folder where &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; lives.&lt;br /&gt;
&lt;br /&gt;
14. Once that finishes, if any steps remain, then update YOUR_MAKEFILE_TARGETS_FROM_STEP_10 and go back to step 13.&lt;br /&gt;
&lt;br /&gt;
==How to monitor your jobs on Flux==&lt;br /&gt;
To see a summary of the states of your jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -u $USER -s&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;active&amp;lt;/code&amp;gt; means that a job is currently running.  This is good.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -n -v -u $USER -r&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eligible&amp;lt;/code&amp;gt; means that the scheduler will submit a job in a few minutes if you&#039;re not already using all of your processors.&lt;br /&gt;
** To see more information about eligible jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -n -v -u $USER -i&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;blocked&amp;lt;/code&amp;gt; is usually a bad thing.  It might mean that you have too many jobs waiting to run, and so the scheduler has blocked some.  Or it can mean that you broke some rule, and they&#039;ll never work.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -n -v -u $USER -b&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see more information about a particular job, copy its JOB_ID (eg, &amp;lt;code&amp;gt;17682208/17682208.nyx.arc-ts.umich.edu&amp;lt;/code&amp;gt;).  Then run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;checkjob JOB_ID&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13983</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13983"/>
		<updated>2016-01-08T06:54:30Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* How to monitor your jobs on Flux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==How to run Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code style=&amp;quot;background:#f0f0f0&amp;quot;&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  It&#039;ll be hit by hundreds or thousands of emails, so I recommend that you don&#039;t use your main email address here.  &lt;br /&gt;
:* If you&#039;re in a hurry to finish your pipeline, you can find an email address that will text the emails to your phone.  Only use that in the second script, though!&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Eg, &amp;lt;code&amp;gt;sph_flux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
:* This number will usually be between 20 and 1000.&lt;br /&gt;
&lt;br /&gt;
10. Figure out which steps to run first.  The steps go in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, it&#039;s not a problem, because &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident that everything will work beautifully, you can go straight to the step &amp;lt;code&amp;gt;allN&amp;lt;/code&amp;gt; (or just &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; as a shortcut).&lt;br /&gt;
:* For example, I used &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt; the first time I ran on Flux.  Then I ran &amp;lt;code&amp;gt;vcf1 vcf2...&amp;lt;/code&amp;gt;, and on down the list until finally &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Feel free to use the script &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  Let&#039;s name it &amp;lt;code&amp;gt;script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Finally, submit your jobs===&lt;br /&gt;
&lt;br /&gt;
13. Run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;qsub script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It&#039;s important that you run this in the same folder where &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; lives.&lt;br /&gt;
&lt;br /&gt;
14. Once that finishes, if any steps remain, then update YOUR_MAKEFILE_TARGETS_FROM_STEP_10 and go back to step 13.&lt;br /&gt;
&lt;br /&gt;
==How to monitor your jobs on Flux==&lt;br /&gt;
To see a summary of the states of your jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -u $USER -s&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;active&amp;lt;/code&amp;gt; means that a job is currently running.  This is good.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -n -v -u $USER -r&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eligible&amp;lt;/code&amp;gt; means that the scheduler will submit a job in a few minutes if you&#039;re not already using all of your processors.&lt;br /&gt;
** To see more information about eligible jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -n -v -u $USER -i&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;blocked&amp;lt;/code&amp;gt; is usually a bad thing.  It might mean that you have too many jobs waiting to run, and so the scheduler has blocked some.  Or it can mean that you broke some rule, and they&#039;ll never work.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;showq -n -v -u $USER -b&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see more information about a particular job, copy its JOB_ID (eg, &amp;lt;code&amp;gt;17682208/17682208.nyx.arc-ts.umich.edu&amp;lt;/code&amp;gt;).  Then run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;checkjob JOB_ID&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13982</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13982"/>
		<updated>2016-01-08T06:53:42Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* How to run Gotcloud on Flux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==How to run Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code style=&amp;quot;background:#f0f0f0&amp;quot;&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  It&#039;ll be hit by hundreds or thousands of emails, so I recommend that you don&#039;t use your main email address here.  &lt;br /&gt;
:* If you&#039;re in a hurry to finish your pipeline, you can find an email address that will text the emails to your phone.  Only use that in the second script, though!&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Eg, &amp;lt;code&amp;gt;sph_flux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
:* This number will usually be between 20 and 1000.&lt;br /&gt;
&lt;br /&gt;
10. Figure out which steps to run first.  The steps go in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, it&#039;s not a problem, because &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident that everything will work beautifully, you can go straight to the step &amp;lt;code&amp;gt;allN&amp;lt;/code&amp;gt; (or just &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; as a shortcut).&lt;br /&gt;
:* For example, I used &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt; the first time I ran on Flux.  Then I ran &amp;lt;code&amp;gt;vcf1 vcf2...&amp;lt;/code&amp;gt;, and on down the list until finally &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Feel free to use the script &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  Let&#039;s name it &amp;lt;code&amp;gt;script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Finally, submit your jobs===&lt;br /&gt;
&lt;br /&gt;
13. Run &amp;lt;code style=&amp;quot;background:#eee;white-space:nowrap&amp;quot;&amp;gt;qsub script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It&#039;s important that you run this in the same folder where &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; lives.&lt;br /&gt;
&lt;br /&gt;
14. Once that finishes, if any steps remain, then update YOUR_MAKEFILE_TARGETS_FROM_STEP_10 and go back to step 13.&lt;br /&gt;
&lt;br /&gt;
==How to monitor your jobs on Flux==&lt;br /&gt;
To see a summary of the states of your jobs, run &amp;lt;code&amp;gt;showq -u $USER -s&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;active&amp;lt;/code&amp;gt; means that a job is currently running.  This is good.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code&amp;gt;showq -n -v -u $USER -r&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eligible&amp;lt;/code&amp;gt; means that the scheduler will submit a job in a few minutes if you&#039;re not already using all of your processors.&lt;br /&gt;
** To see more information about eligible jobs, run &amp;lt;code&amp;gt;showq -n -v -u $USER -i&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;blocked&amp;lt;/code&amp;gt; is usually a bad thing.  It might mean that you have too many jobs waiting to run, and so the scheduler has blocked some.  Or it can mean that you broke some rule, and they&#039;ll never work.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code&amp;gt;showq -n -v -u $USER -b&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see more information about a particular job, copy its JOB_ID (eg, &amp;lt;code&amp;gt;17682208/17682208.nyx.arc-ts.umich.edu&amp;lt;/code&amp;gt;).  Then run &amp;lt;code&amp;gt;checkjob JOB_ID&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13981</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13981"/>
		<updated>2016-01-08T06:43:29Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Running Gotcloud on Flux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==How to run Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  It&#039;ll be hit by hundreds or thousands of emails, so I recommend that you don&#039;t use your main email address here.  &lt;br /&gt;
:* If you&#039;re in a hurry to finish your pipeline, you can find an email address that will text the emails to your phone.  Only use that in the second script, though!&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Eg, &amp;lt;code&amp;gt;sph_flux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
:* This number will usually be between 20 and 1000.&lt;br /&gt;
&lt;br /&gt;
10. Figure out which steps to run first.  The steps go in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, it&#039;s not a problem, because &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident that everything will work beautifully, you can go straight to the step &amp;lt;code&amp;gt;allN&amp;lt;/code&amp;gt; (or just &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; as a shortcut).&lt;br /&gt;
:* For example, I used &amp;lt;code&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt; the first time I ran on Flux.  Then I ran &amp;lt;code&amp;gt;vcf1 vcf2...&amp;lt;/code&amp;gt;, and on down the list until finally &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Feel free to use the script &amp;lt;code&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  Let&#039;s name it &amp;lt;code&amp;gt;script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Finally, submit your jobs===&lt;br /&gt;
&lt;br /&gt;
13. Run &amp;lt;code&amp;gt;qsub script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It&#039;s important that you run this in the same folder where &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; lives.&lt;br /&gt;
&lt;br /&gt;
14. Once that finishes, if any steps remain, then update YOUR_MAKEFILE_TARGETS_FROM_STEP_10 and go back to step 13.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to monitor your jobs on Flux==&lt;br /&gt;
To see a summary of the states of your jobs, run &amp;lt;code&amp;gt;showq -u $USER -s&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;active&amp;lt;/code&amp;gt; means that a job is currently running.  This is good.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code&amp;gt;showq -n -v -u $USER -r&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;eligible&amp;lt;/code&amp;gt; means that the scheduler will submit a job in a few minutes if you&#039;re not already using all of your processors.&lt;br /&gt;
** To see more information about eligible jobs, run &amp;lt;code&amp;gt;showq -n -v -u $USER -i&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;blocked&amp;lt;/code&amp;gt; is usually a bad thing.  It might mean that you have too many jobs waiting to run, and so the scheduler has blocked some.  Or it can mean that you broke some rule, and they&#039;ll never work.&lt;br /&gt;
** To see more information about active jobs, run &amp;lt;code&amp;gt;showq -n -v -u $USER -b&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see more information about a particular job, copy its JOB_ID (eg, &amp;lt;code&amp;gt;17682208/17682208.nyx.arc-ts.umich.edu&amp;lt;/code&amp;gt;).  Then run &amp;lt;code&amp;gt;checkjob JOB_ID&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13980</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13980"/>
		<updated>2016-01-08T06:33:55Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Next, prepare to use the Flux/Torque/PBS cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Running Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  It&#039;ll be hit by hundreds or thousands of emails, so I recommend that you don&#039;t use your main email address here.  &lt;br /&gt;
:* If you&#039;re in a hurry to finish your pipeline, you can find an email address that will text the emails to your phone.  Only use that in the second script, though!&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Eg, &amp;lt;code&amp;gt;sph_flux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
:* This number will usually be between 20 and 1000.&lt;br /&gt;
&lt;br /&gt;
10. Figure out which steps to run first.  The steps go in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, it&#039;s not a problem, because &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident that everything will work beautifully, you can go straight to the step &amp;lt;code&amp;gt;allN&amp;lt;/code&amp;gt; (or just &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; as a shortcut).&lt;br /&gt;
:* For example, I used &amp;lt;code&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt; the first time I ran on Flux.  Then I ran &amp;lt;code&amp;gt;vcf1 vcf2...&amp;lt;/code&amp;gt;, and on down the list until finally &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Feel free to use the script &amp;lt;code&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  Let&#039;s name it &amp;lt;code&amp;gt;script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Finally, submit your jobs===&lt;br /&gt;
&lt;br /&gt;
13. Run &amp;lt;code&amp;gt;qsub script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It&#039;s important that you run this in the same folder where &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; lives.&lt;br /&gt;
&lt;br /&gt;
14. Once that finishes, if any steps remain, then update YOUR_MAKEFILE_TARGETS_FROM_STEP_10 and go back to step 13.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13979</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13979"/>
		<updated>2016-01-08T06:33:31Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Next, prepare to use the Flux/Torque/PBS cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Running Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  It&#039;ll be hit by hundreds or thousands of emails, so I recommend that you don&#039;t use your main email address here.  &lt;br /&gt;
:* If you&#039;re in a hurry to finish your pipeline, you can find an email address that will text the emails to your phone.  Only use that in the second script, though!&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Eg, &amp;lt;code&amp;gt;sph_flux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
:* This number will usually be between 20 and 1000.&lt;br /&gt;
&lt;br /&gt;
10. Figure out which steps to run first.  The steps go in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, it&#039;s not a problem, because &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident that everything will work beautifully, you can go straight to the step &amp;lt;code&amp;gt;allN&amp;lt;/code&amp;gt; (or just &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; as a shortcut).&lt;br /&gt;
:* For example, I used &amp;lt;code&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt; the first time I ran on Flux.  Then I ran &amp;lt;code&amp;gt;vcf1 vcf2...&amp;lt;/code&amp;gt;, and on down the list until finally &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Feel free to use the script &amp;lt;code&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  Let&#039;s name it &amp;lt;code&amp;gt;script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
13. Run &amp;lt;code&amp;gt;qsub script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It&#039;s important that you run this in the same folder where &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; lives.&lt;br /&gt;
&lt;br /&gt;
14. Once that finishes, if any steps remain, then update YOUR_MAKEFILE_TARGETS_FROM_STEP_10 and go back to step 13.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13978</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13978"/>
		<updated>2016-01-08T06:32:51Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Next, prepare to use the Flux/Torque/PBS cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Running Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  It&#039;ll be hit by hundreds or thousands of emails, so I recommend that you don&#039;t use your main email address here.  &lt;br /&gt;
:* If you&#039;re in a hurry to finish your pipeline, you can find an email address that will text the emails to your phone.  Only use that in the second script, though!&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Eg, &amp;lt;code&amp;gt;sph_flux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
:* This number will usually be between 20 and 1000.&lt;br /&gt;
&lt;br /&gt;
10. Figure out which steps to run first.  The steps go in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, it&#039;s not a problem, because &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident that everything will work beautifully, you can go straight to the step &amp;lt;code&amp;gt;allN&amp;lt;/code&amp;gt; (or just &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt; as a shortcut).&lt;br /&gt;
:* For example, I used &amp;lt;code&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt; the first time I ran on Flux.  Then I ran &amp;lt;code&amp;gt;vcf1 vcf2...&amp;lt;code&amp;gt;, and on down the list until finally &amp;lt;code&amp;gt;all&amp;lt;/code&amp;gt;.&lt;br /&gt;
:* Feel free to use the script &amp;lt;code&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  Let&#039;s name it &amp;lt;code&amp;gt;script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
13. Run &amp;lt;code&amp;gt;qsub script_thats_in_charge.sh&amp;lt;/code&amp;gt;.  It&#039;s important that you run this in the same folder where &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; lives.&lt;br /&gt;
&lt;br /&gt;
14. Once that finishes, if any steps remain, then update YOUR_MAKEFILE_TARGETS_FROM_STEP_10 and go back to step 13.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13977</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13977"/>
		<updated>2016-01-08T06:14:46Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Next, prepare to use the Flux/Torque/PBS cluster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Running Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  I recommend that you don&#039;t use your primary one.&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
&lt;br /&gt;
10. Figure out which pipelines to run first.  They will run in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident you can go straight to the step allN.  If you want to babysit the jobs, do them one-at-a-time.  Your MAKEFILE_TARGETS will need one for each chromosome, like &amp;lt;code&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt;.  Feel free to use the script &amp;lt;code&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13976</id>
		<title>Using Gotcloud on Flux</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Using_Gotcloud_on_Flux&amp;diff=13976"/>
		<updated>2016-01-08T06:14:13Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: Created page with &amp;quot;__TOC__  ==Running Gotcloud on Flux==  ===First, Configure GotCloud like you would anywhere else===  1. Install GotCloud somewhere as instructed GotCloud#GotCloud_Setup_on_A...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Running Gotcloud on Flux==&lt;br /&gt;
&lt;br /&gt;
===First, Configure GotCloud like you would anywhere else===&lt;br /&gt;
&lt;br /&gt;
1. Install GotCloud somewhere as instructed [[GotCloud#GotCloud_Setup_on_Any_Linux_Machine|here]].&lt;br /&gt;
&lt;br /&gt;
2. Get access to the reference files from someone else, or download them as instructed [[GotCloud:_Genetic_Reference_and_Resource_Files#Downloadable_Reference_and_Resource_Files|here]].&lt;br /&gt;
&lt;br /&gt;
3. Make a configuration file as usual for your analysis.&lt;br /&gt;
&lt;br /&gt;
4. Include the line &amp;lt;code&amp;gt;BATCH_TYPE = pbs&amp;lt;/code&amp;gt; in that configuration file.&lt;br /&gt;
&lt;br /&gt;
===Next, prepare to use the Flux/Torque/PBS cluster===&lt;br /&gt;
&lt;br /&gt;
5. Run gotcloud with zero jobs to generate a Makefile.&lt;br /&gt;
: &amp;lt;code&amp;gt;/path/to/gotcloud/gotcloud snpcall --conf /path/to/configuration.conf --numjobs 0&amp;lt;/code&amp;gt;&lt;br /&gt;
:* The newly generated Makefile will be located in the directory &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt; that is specified in your configuration file.  It will be named &amp;lt;code&amp;gt;umake.snpcall.Makefile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
6. Make a new folder, where you&#039;ll run your jobs from.&lt;br /&gt;
&lt;br /&gt;
7. Make an email address to send your jobs&#039; status to.  I recommend that you don&#039;t use your primary one.  I&#039;m calling your email address.&lt;br /&gt;
&lt;br /&gt;
8. Figure out the name of the Flux account that you&#039;re going to use.  You can see which Flux accounts you have access to by running &amp;lt;code&amp;gt;mdiag -u $USER&amp;lt;/code&amp;gt; and looking at the list after &amp;lt;code&amp;gt;ALIST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
9. Figure out how many processors you&#039;re going to use at once.  Run &amp;lt;code&amp;gt;mdiag -a YOU_FLUX_ACCOUNT&amp;lt;/code&amp;gt;.  I recommend running &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; many jobs.  &amp;lt;code&amp;gt;MAXPROC&amp;lt;/code&amp;gt; is the number of processors on your account, and &amp;lt;code&amp;gt;MAXIJOB[USER]&amp;lt;/code&amp;gt; is the number of jobs that can sit idle in the queue waiting to be run (often 20).&lt;br /&gt;
&lt;br /&gt;
10. Figure out which pipelines to run first.  They will run in the order glfN, vcfN, pvcfN, filtN, svmN, splitN, allN where N is the name of a chromosome (ie, 1-22 and maybe X and Y).  If you skip a step, the &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will run it for you.  If you&#039;re confident you can go straight to the step allN.  If you want to babysit the jobs, do them one-at-a-time.  Your MAKEFILE_TARGETS will need one for each chromosome, like &amp;lt;code&amp;gt;glf1 glf2 glf3 glf4 glf5 glf6 glf7 glf8 glf9 glf10 glf11 glf12 glf13 glf14 glf15 glf16 glf17 glf18 glf19 glf20 glf21 glf22 &amp;lt;/code&amp;gt;.  Feel free to use the script &amp;lt;code&amp;gt;perl -e &#039;print &amp;quot;glf$_ &amp;quot; for 1..22&#039;&amp;lt;/code&amp;gt; to mitigate repetitive strain injuries.&lt;br /&gt;
&lt;br /&gt;
11. Inside that new folder, make a new file named &amp;lt;code&amp;gt;pbs.options&amp;lt;/code&amp;gt; that contains the following:&lt;br /&gt;
 #PBS -l nodes=1:ppn=1,walltime=10:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
&lt;br /&gt;
12. Still inside that folder, create a script that you will submit to flux.  It should look like this:&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 #PBS -l nodes=1:ppn=4,walltime=150:00:00,pmem=4gb,qos=YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -d .&lt;br /&gt;
 #PBS -m abe&lt;br /&gt;
 #PBS -M YOUR_EMAIL_FROM_STEP_7&lt;br /&gt;
 #PBS -q flux&lt;br /&gt;
 #PBS -l qos=flux&lt;br /&gt;
 #PBS -A YOUR_FLUX_ACCOUNT_FROM_STEP_8&lt;br /&gt;
 #PBS -V&lt;br /&gt;
 #PBS -j oe&lt;br /&gt;
 #PBS -N SOME_ARBITRARY_NAME_FOR_THIS_JOB&lt;br /&gt;
 &lt;br /&gt;
 make -w --warn-undefined-variables -k -f /path/to/that/Makefile/umake.snpcall.Makefile -j NUMBER_OF_JOBS_FROM_STEP_9 YOUR_MAKEFILE_TARGETS_FROM_STEP_10 &amp;gt; /path/to/wherever/standard_output 2&amp;gt; /path/to/wherever/standard_error&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;job ended with status $? at $(date)&amp;quot;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13975</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13975"/>
		<updated>2016-01-08T04:25:11Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Pages that document or help with installation:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Pages that document steps in the GotCloud pipeline:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Sub-Pipelines&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_GenomeSTRiP_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Creating_a_New_Pipeline&lt;br /&gt;
&lt;br /&gt;
Pages that document pieces of GotCloud:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/PileupBasedVariantCalling&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/VcfCooker&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_VerifyBamID_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_QPLOT_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_vcf-summary_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
&lt;br /&gt;
Pages that explain configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo_Setup&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_Low_Pass_Sequence_Analysis&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Other pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Versions documents old versions&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Short_Workshops links to all of them (or their parents)&lt;br /&gt;
&lt;br /&gt;
Pages of which some ought to be hidden, deleted, or heavily re-worked:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/UMAKE&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Mount_S3_Volume&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_AMIs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GBR60vc.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13974</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13974"/>
		<updated>2016-01-08T04:22:25Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Organization of the GotCloud pages on this wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Setup instructions and documentation:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Documentation of steps in the GotCloud pipeline:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Sub-Pipelines&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_GenomeSTRiP_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Creating_a_New_Pipeline&lt;br /&gt;
&lt;br /&gt;
Documentation of pieces of GotCloud:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/PileupBasedVariantCalling&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/VcfCooker&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_VerifyBamID_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_QPLOT_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_vcf-summary_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo_Setup&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_Low_Pass_Sequence_Analysis&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Versions documents old versions&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Short_Workshops links to all of them (or their parents)&lt;br /&gt;
&lt;br /&gt;
Pages of which some ought to be hidden, deleted, or heavily re-worked:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/UMAKE&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Mount_S3_Volume&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_AMIs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GBR60vc.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13973</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13973"/>
		<updated>2016-01-08T04:21:15Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Setup instructions and documentation:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Documentation of steps in the GotCloud pipeline:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Sub-Pipelines&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_GenomeSTRiP_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Creating_a_New_Pipeline&lt;br /&gt;
&lt;br /&gt;
Documentation of pieces of GotCloud:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/PileupBasedVariantCalling&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/VcfCooker&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_VerifyBamID_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_QPLOT_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_vcf-summary_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo_Setup&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_Low_Pass_Sequence_Analysis&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Versions documents old versions&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Short_Workshops links to all of them (or their parents)&lt;br /&gt;
&lt;br /&gt;
Pages of which some ought to be hidden, deleted, or heavily re-worked:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/UMAKE&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Mount_S3_Volume&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_AMIs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GBR60vc.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13972</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13972"/>
		<updated>2016-01-08T04:19:17Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Setup instructions and documentation:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Documentation of pieces of GotCloud:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Sub-Pipelines&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/PileupBasedVariantCalling&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/VcfCooker&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_VerifyBamID_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_QPLOT_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_vcf-summary_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_GenomeSTRiP_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Creating_a_New_Pipeline&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo_Setup&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_Low_Pass_Sequence_Analysis&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Versions documents old versions&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Short_Workshops links to all of them (or their parents)&lt;br /&gt;
&lt;br /&gt;
Pages of which some ought to be hidden, deleted, or heavily re-worked:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/UMAKE&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Mount_S3_Volume&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_AMIs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GBR60vc.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13971</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13971"/>
		<updated>2016-01-08T04:17:02Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Setup instructions and documentation:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Documentation of pieces of GotCloud:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Sub-Pipelines&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/PileupBasedVariantCalling&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/VcfCooker&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_VerifyBamID_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_QPLOT_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Understanding_vcf-summary_output&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_GenomeSTRiP_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Creating_a_New_Pipeline&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo_Setup&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_Low_Pass_Sequence_Analysis&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_FAQs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Versions documents old versions&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Short_Workshops lists all of these&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/SeqShop:_May_2015 (and sub-pages)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/SeqShop:_December_2014 (and sub-pages)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/SeqShop:_June_2014 (and sub-pages)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud_UW_CMG&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_2&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_5&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_6&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_8&lt;br /&gt;
&lt;br /&gt;
Pages of which some ought to be hidden, deleted, or heavily re-worked:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/UMAKE&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Mount_S3_Volume&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_AMIs&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GBR60vc.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13970</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13970"/>
		<updated>2016-01-08T03:49:30Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Setup instructions:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Documentation of steps in the GotCloud pipeline:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Genetic_Reference_and_Resource_Files (documentation and instructions)&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
&lt;br /&gt;
Configuration:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Configure_GotCloud (mainly covers &amp;lt;code&amp;gt;BATCH_OPTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud_UW_CMG&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_2&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_5&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_6&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_8&lt;br /&gt;
&lt;br /&gt;
Pages that ought to be hidden or deleted:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files (&amp;lt;code&amp;gt;FA_REF&amp;lt;/code&amp;gt; has since been renamed.)&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13969</id>
		<title>Talk:GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:GotCloud&amp;diff=13969"/>
		<updated>2016-01-08T03:42:51Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: Created page with &amp;quot;==Organization of the GotCloud pages on this wiki==  The main page is http://genome.sph.umich.edu/wiki/GotCloud .  Setup pages: * http://genome.sph.umich.edu/wiki/GotCloud:_Bi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Organization of the GotCloud pages on this wiki==&lt;br /&gt;
&lt;br /&gt;
The main page is http://genome.sph.umich.edu/wiki/GotCloud .&lt;br /&gt;
&lt;br /&gt;
Setup pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Binary_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Source_Releases&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Reference_Files&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Single_Node&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Amazon_Storage&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/StarCluster&lt;br /&gt;
&lt;br /&gt;
Documentation of steps in the GotCloud pipeline:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Alignment_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Pipeline&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Variant_Calling_Options&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Filters&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_Amazon_Demo&lt;br /&gt;
&lt;br /&gt;
Pages for developers:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Releasing_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_an_AMI_on_EC2&lt;br /&gt;
&lt;br /&gt;
Event-specific pages:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud_UW_CMG&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_2&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_5&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_6&lt;br /&gt;
** http://genome.sph.umich.edu/wiki/Tutorial:_EMMAX_GotCloud_STOM:_Lecture_8&lt;br /&gt;
&lt;br /&gt;
Pages that ought to be hidden or deleted:&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/GotCloud:_RedHat_Package&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Tutorial:_GotCloud&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/AWS_Resources&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Amazon_Snapshot&lt;br /&gt;
* http://genome.sph.umich.edu/wiki/Creating_a_Snapshot_on_EC2&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Binary_Releases&amp;diff=13968</id>
		<title>GotCloud: Binary Releases</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Binary_Releases&amp;diff=13968"/>
		<updated>2016-01-08T03:29:33Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[GotCloud]] software has been developed and tested on Ubuntu Linux 12.04 and newer and Red Hat Enterprise Linux 6. While it should work on other Linux systems, they have not yet been tested.  It is not supported on Windows or Mac OS X.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you run into any problems with GotCloud, please check: [[GotCloud: FAQs]] or for problems/solutions for a specific version, [[GotCloud:_FAQs#Version_Problems|Version Problems]].&lt;br /&gt;
&lt;br /&gt;
=GotCloud Binary Releases=&lt;br /&gt;
GotCloud releases with the precompiled binary executables are available for download.&lt;br /&gt;
&lt;br /&gt;
The binaries were compiled on Linux Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you need the source, see [[GotCloud: Source Releases]] for information on obtaining the source.&lt;br /&gt;
&lt;br /&gt;
The Binary Releases are available as:&lt;br /&gt;
* [[#GotCloud_Debian_Packages|debian packages]] - require root access to install&lt;br /&gt;
* [[#Tar Binary Releases|tarballs]] - anyone can untar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GotCloud software is distributed in several packages. These can be installed on traditional Debian systems as well as Ubuntu (where it has been tested). The software should run on all versions from Ubuntu Lucid (9.04) through Oneric (12.10). It has not been tested on other Debian systems, but it is likely it will work on those systems too. This software should work on any Unix system - only requiring recompilation from the source files.&lt;br /&gt;
&lt;br /&gt;
The software is distributed in a single package including both the &#039;&#039;aligner&#039;&#039; and &#039;&#039;variant caller&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
There is also a separate package to test the installation. &lt;br /&gt;
&lt;br /&gt;
==GotCloud Debian Packages==&lt;br /&gt;
&lt;br /&gt;
If you would like to install from:&lt;br /&gt;
* tar&#039;d binary packages, see: [[#Tar Binary Releases|Tar Binary Releases]]&lt;br /&gt;
* source (does not require root access), see: [[GotCloud: Source Releases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installing Debian Packages ===&lt;br /&gt;
&lt;br /&gt;
The debian files are available for download from ftp://share.sph.umich.edu/gotcloud/ :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  gotcloud-bin_latest_amd64.deb          aligner and variant caller&lt;br /&gt;
  gotcloud-test_latest_amd64.deb         test data for software&lt;br /&gt;
  M.n/gotcloud-bin_M.n_amd64.deb         version M.n of aligner and variant caller&lt;br /&gt;
  M.n/gotcloud-test_M.n_amd64.deb        version M.n of test data for software&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Where &#039;M.n&#039; is replaced with the specific version numbers.&lt;br /&gt;
&lt;br /&gt;
Installing Debian packages normally requires root access, however, you &amp;lt;b&amp;gt;can&amp;lt;/b&amp;gt; install as a non-root user (see below).&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Versions]] for details on the changes for each version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Fetch the GotCloud Debian Packages====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #  The easiest way:&lt;br /&gt;
  &amp;lt;b&amp;gt;mkdir debs&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;cd debs&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;wget --retr-symlinks ftp://share.sph.umich.edu/gotcloud/gotcloud\*latest\*.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  #  Another way:&lt;br /&gt;
  &amp;lt;b&amp;gt;ftp share.sph.umich.edu&amp;lt;/b&amp;gt;&lt;br /&gt;
  Connected to share.sph.umich.edu.&lt;br /&gt;
  220 (vsFTPd 2.3.5)&lt;br /&gt;
  Name (share.sph.umich.edu:tpg): &amp;lt;b&amp;gt;anonymous&amp;lt;/b&amp;gt;&lt;br /&gt;
  230 Login successful.&lt;br /&gt;
  Remote system type is UNIX.&lt;br /&gt;
  Using binary mode to transfer files.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;prompt&amp;lt;/b&amp;gt;&lt;br /&gt;
  Interactive mode off.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;cd gotcloud&amp;lt;/b&amp;gt;&lt;br /&gt;
  250 Directory successfully changed.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;mget gotcloud*latest*.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;quit&amp;lt;/b&amp;gt;&lt;br /&gt;
  221 Goodbye.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Install the GotCloud Debian Packages====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Install Debian packages with root access&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation normally requires one to have &amp;lt;b&amp;gt;root access&amp;lt;/b&amp;gt; and uses &amp;lt;b&amp;gt;dpkg&amp;lt;/b&amp;gt; which Debian users will recognize.&lt;br /&gt;
We recommend you install the first one separately so you can easily&lt;br /&gt;
identify messages about prerequisite files that need to be installed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-bin_*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  Selecting previously unselected package gotcloud-bin.&lt;br /&gt;
  (Reading database ... 25372 files and directories currently installed.)&lt;br /&gt;
  Unpacking gotcloud-bin (from .../gotcloud-bin_1.0_amd64.deb) ...&lt;br /&gt;
  Setting up gotcloud-bin (1.0) ...&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;java&#039; is not installed, do &#039;sudo apt-get install java-common default-jre&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;make&#039; is not installed, do &#039;sudo apt-get install make&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;libssl0.9.8&#039; is not installed, do &#039;sudo apt-get install libssl0.9.8&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-test_*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Install Debian packages without root access&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installing Debian packages generally requires root access, however, you can install as a non-root user using the following instructions (bash commands shown here):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 tempdir=/tmp/$$.gotcloud.removeme     # Temp directory&lt;br /&gt;
 destdir=$HOME                         # Where you want GotCloud installed&lt;br /&gt;
 &lt;br /&gt;
 dpkg -x [path_to_deb_file]/gotcloud-bin_*_amd64.deb $tempdir&lt;br /&gt;
 rsync -av --delete $tempdir/usr/local/gotcloud/* $destdir/gotcloud || exit 1&lt;br /&gt;
 rm -rf $tempdir&lt;br /&gt;
 &lt;br /&gt;
 dpkg -x [path_to_deb_file]/gotcloud-test_*_amd64.deb $tempdir&lt;br /&gt;
 rsync -av --delete $tempdir/usr/local/gotcloud/* $destdir/gotcloud || exit 1&lt;br /&gt;
 rm -rf $tempdir&lt;br /&gt;
 &lt;br /&gt;
 $destdir/gotcloud/scripts/check_requirements.sh   # Check requirements&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there were messages about missing packages, install them with the commands shown by the script. Installing missing packages &amp;lt;b&amp;gt;will&amp;lt;/b&amp;gt; require root access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo apt-get update&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo apt-get install java-common default-jre make libssl0.9.8&amp;lt;/b&amp;gt;  # For example&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing the GotCloud Installation===&lt;br /&gt;
&lt;br /&gt;
We recommend that at least the first time, you install the test packages so you can&lt;br /&gt;
conveniently test the installation and make sure everything runs smoothly.&lt;br /&gt;
The tests run within a few minutes and are self checking, so unless you see obvious errors,&lt;br /&gt;
you can be reasonably sure everything is set up properly.&lt;br /&gt;
You only need to do this once, unless you have made significant changes to your Unix system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;  &lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-test*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  Selecting previously unselected package gotcloud-test.&lt;br /&gt;
  (Reading database ... 27376 files and directories currently installed.)&lt;br /&gt;
  Unpacking gotcloud-test (from .../gotcloud-test_1.0_amd64.deb) ...&lt;br /&gt;
  Setting up gotcloud-test (1.0) ...&lt;br /&gt;
  #======================================================================&lt;br /&gt;
  #   GotCloud README&lt;br /&gt;
  #======================================================================&lt;br /&gt;
  To test the GotCloud aligner, run:&lt;br /&gt;
    gotcloud align --test ~/testalign&lt;br /&gt;
  This will create/clear the output directory ~/testalign.&lt;br /&gt;
  Test results and a log file are put in this directory.&lt;br /&gt;
  Results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
  &lt;br /&gt;
  To test the GotCloud snp caller, run:&lt;br /&gt;
    gotcloud snpcall --test ~/testsnp&lt;br /&gt;
  This will create/clear the output directory ~/testsnp.&lt;br /&gt;
  Test results and a log file are put in this directory.&lt;br /&gt;
  Results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Login as a normal user (not as root) and do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #   Test the aligner (3 minutes +/- 1 minute)&lt;br /&gt;
  &#039;&#039;&#039;/usr/local/gotcloud/bin/gotcloud align -test ~/testalign&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testalign/aligntest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testalign/aligntest.log&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample2.Makefile&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample1.Makefile&lt;br /&gt;
  ---------------------------------------------------------------------&lt;br /&gt;
  Waiting while samples are processed...&lt;br /&gt;
  Processing finished in 63 secs with no errors reported&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testalign/diff_logfiles_results.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testalign/aligntest&#039; and &#039;/usr/local/gotcloud/test/align/expected/aligntest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testalign&#039;&#039;&#039;              # If no error&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  #   Test snp calling  (7 minutes +/-2 minute)&lt;br /&gt;
  &#039;&#039;&#039;/usr/local/gotcloud/bin/gotcloud snpcall --test ~/testsnp&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testsnp/umaketest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testsnp/umaketest.log&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testsnp/diff_logfiles_results_umake.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testsnp/umaketest&#039; and &#039;/usr/local/gotcloud/test/umake/expected/umaketest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testsnp&#039;&#039;&#039;              # If no error&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tar Binary Releases ==&lt;br /&gt;
&lt;br /&gt;
The tar binary releases contain the precompiled binaries and scripts necessary to run gotcloud.&lt;br /&gt;
&lt;br /&gt;
If you would like to install from:&lt;br /&gt;
* debian packages, see: [[#GotCloud Debian Packages|Debian Packages]]&lt;br /&gt;
* source, see: [[GotCloud: Source Releases]]&lt;br /&gt;
&lt;br /&gt;
=== Installing Tar Releases ===&lt;br /&gt;
&lt;br /&gt;
The tar files are available for download from ftp://share.sph.umich.edu/gotcloud/ :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  gotcloudBin_latest.tgz          aligner and variant caller&lt;br /&gt;
  gotcloudTest_latest.tgz         test data for software&lt;br /&gt;
  M.n/gotcloud-bin_M.n.tar.gz     version M.n of aligner and variant caller&lt;br /&gt;
  M.n/gotcloud-test_M.n.tar.gz    version M.n of test data for software&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Where &#039;M.n&#039; is replaced with the specific version numbers.&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Versions]] for details on the changes for each version.&lt;br /&gt;
&lt;br /&gt;
====Fetch the Tar Releases====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #  The easiest way:&lt;br /&gt;
  &amp;lt;b&amp;gt;wget --retr-symlinks ftp://share.sph.umich.edu/gotcloud/gotcloud-\*latest\*.tgz&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  #  Another way:&lt;br /&gt;
  &amp;lt;b&amp;gt;ftp share.sph.umich.edu&amp;lt;/b&amp;gt;&lt;br /&gt;
  Connected to share.sph.umich.edu.&lt;br /&gt;
  220 (vsFTPd 2.3.5)&lt;br /&gt;
  Name (share.sph.umich.edu:tpg): &amp;lt;b&amp;gt;anonymous&amp;lt;/b&amp;gt;&lt;br /&gt;
  230 Login successful.&lt;br /&gt;
  Remote system type is UNIX.&lt;br /&gt;
  Using binary mode to transfer files.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;prompt&amp;lt;/b&amp;gt;&lt;br /&gt;
  Interactive mode off.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;cd gotcloud&amp;lt;/b&amp;gt;&lt;br /&gt;
  250 Directory successfully changed.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;mget gotcloud-*latest*.tgz&amp;lt;/b&amp;gt;&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;quit&amp;lt;/b&amp;gt;&lt;br /&gt;
  221 Goodbye.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unpack the Tar Release====&lt;br /&gt;
&lt;br /&gt;
Unpack the realeases:&lt;br /&gt;
 tar xf gotcloud-*latest*.tgz&lt;br /&gt;
&lt;br /&gt;
===Testing the GotCloud Release===&lt;br /&gt;
&lt;br /&gt;
We recommend that at least the first time, you download the test packages so you can&lt;br /&gt;
conveniently test the installation and make sure everything runs smoothly.&lt;br /&gt;
The tests run within a few minutes and are self checking, so unless you see obvious errors,&lt;br /&gt;
you can be reasonably sure everything is set up properly.&lt;br /&gt;
You only need to do this once, unless you have made significant changes to your Unix system.&lt;br /&gt;
&lt;br /&gt;
The test case results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #   Test the aligner (3 minutes +/- 1 minute)&lt;br /&gt;
  &#039;&#039;&#039;gotcloud/bin/gotcloud align --test ~/testalign&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testalign/aligntest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testalign/aligntest.log&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample2.Makefile&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample1.Makefile&lt;br /&gt;
  ---------------------------------------------------------------------&lt;br /&gt;
  Waiting while samples are processed...&lt;br /&gt;
  Processing finished in 63 secs with no errors reported&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testalign/diff_logfiles_results.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testalign/aligntest&#039; and &#039;gotcloud/test/align/expected/aligntest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testalign&#039;&#039;&#039;              # If no error&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  #   Test snp calling  (7 minutes +/-2 minute)&lt;br /&gt;
  &#039;&#039;&#039;gotcloud/bin/gotcloud snpcall --test ~/testsnp&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testsnp/umaketest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testsnp/umaketest.log&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testsnp/diff_logfiles_results_umake.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testsnp/umaketest&#039; and &#039;gotcloud/test/umake/expected/umaketest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testsnp&#039;&#039;&#039;              # If no error&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Creating Your Own Debian Package From the Source=&lt;br /&gt;
&lt;br /&gt;
The process to create your own Debian package from the source files is straight-forward&lt;br /&gt;
for Debian users. The source files actually contain source for the executables,&lt;br /&gt;
the test data and the scripts and configuration files used by the users.&lt;br /&gt;
These steps build two debian package files - one for the test data (test) and one for the&lt;br /&gt;
binaries and scripts (bin).&lt;br /&gt;
&lt;br /&gt;
In order to simplify the building of two packages, the debian directory contains the control files for both packages (bin and test).&lt;br /&gt;
This requires that the normal control files (e.g. rules) be named rules.test and rules.bin&lt;br /&gt;
and the shell script (makedeb.sh) be aware of this nuance.&lt;br /&gt;
In addition the shell script can make an RPM file (using alien) and will help manage&lt;br /&gt;
the version for GotCloud.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch the Source Including the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #  The easiest way:&lt;br /&gt;
 wget ftp://share.sph.umich.edu/gotcloud/gotcloudWithTest_latest.tgz&lt;br /&gt;
&lt;br /&gt;
 #  Another way:&lt;br /&gt;
 ftp share.sph.umich.edu&lt;br /&gt;
 Connected to share.sph.umich.edu.&lt;br /&gt;
 220 (vsFTPd 2.3.5)&lt;br /&gt;
 Name (share.sph.umich.edu:tpg): anonymous&lt;br /&gt;
 230 Login successful.&lt;br /&gt;
 Remote system type is UNIX.&lt;br /&gt;
 Using binary mode to transfer files.&lt;br /&gt;
 ftp&amp;gt; prompt&lt;br /&gt;
 Interactive mode off.&lt;br /&gt;
 ftp&amp;gt; cd gotcloud&lt;br /&gt;
 250 Directory successfully changed.&lt;br /&gt;
 ftp&amp;gt; get gotcloudWithTest_latest.tgz&lt;br /&gt;
 ftp&amp;gt; quit&lt;br /&gt;
 221 Goodbye.&lt;br /&gt;
&lt;br /&gt;
 #  Extract the source files&lt;br /&gt;
 cd ~/src                 # Or wherever you want the source files&lt;br /&gt;
 tar xzf path/gotcloudWithTest_latest.tgz&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch the Source Excluding the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Follow the above logic, but use: gotcloud_latest.tgz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch just the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Follow the above logic, but use: gotcloudTest_latest.tgz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create the Debian Package Files===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;cd ~/src&#039;&#039;&#039;                 # Or wherever you put the source files&lt;br /&gt;
 &#039;&#039;&#039;cd gotcloud*&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 #   Add -replace only if rebuilding the same version&lt;br /&gt;
 &#039;&#039;&#039;debian/makedeb.sh  bin  =&#039;&#039;&#039; &lt;br /&gt;
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 ...&lt;br /&gt;
  dpkg-buildpackage: export C...&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Generate package: cd gotcloud-bin; dpkg-buildpackage -b -us -uc -rfakeroot&lt;br /&gt;
  ===&amp;gt; Version &#039;1.01 of &#039;gotcloud-bin&#039; will install into &#039;usr/local/gotcloud&#039;&lt;br /&gt;
  install -d debian/tmp/DEBIAN&lt;br /&gt;
  cp debian/control debian/postinst debian/postrm debian/tmp/DEBIAN&lt;br /&gt;
  install -d debian/tmp/usr/share/doc/gotcloud-bin_1.01&lt;br /&gt;
  sed -e s/99.99/1.01/g &amp;lt; debian/changelog &amp;gt; debian/changelog.new&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Converting symlinks into the actual executables to be distributed&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  dpkg-deb: building package `gotcloud-bin&#039; in `./gotcloud-bin_1.01_amd64.deb&#039;.&lt;br /&gt;
  Package file now in /home/myuser/dev/gotcloud&lt;br /&gt;
  -rw-r--r-- 1 myuser myuser 3592780 Feb 19 11:59 gotcloud-bin_1.01_amd64.deb&lt;br /&gt;
 &lt;br /&gt;
 #   Add -replace only if rebuilding the same version&lt;br /&gt;
 &#039;&#039;&#039;debian/makedeb.sh  test =&#039;&#039;&#039;&lt;br /&gt;
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 ...&lt;br /&gt;
  dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Generate package: cd gotcloud-test; dpkg-buildpackage -b -us -uc -rfakeroot&lt;br /&gt;
  ===&amp;gt; Version &#039;1.01 of &#039;gotcloud-test&#039; will install into &#039;usr/local/gotcloud&#039;&lt;br /&gt;
  install -d debian/tmp/DEBIAN&lt;br /&gt;
  cp debian/control debian/postinst debian/postrm debian/tmp/DEBIAN&lt;br /&gt;
  install -d debian/tmp/usr/share/doc/gotcloud-test_1.01&lt;br /&gt;
  sed -e s/99.99/1.01/g &amp;lt; debian/changelog &amp;gt; debian/changelog.new&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  dpkg-deb: building package `gotcloud-test&#039; in `./gotcloud-test_1.01_amd64.deb&#039;.&lt;br /&gt;
  Package file now in /home/myuser/dev/gotcloud&lt;br /&gt;
  -rw-r--r-- 1 myuser myuser 433269556 Feb 19 13:49 gotcloud-test_1.01_amd64.deb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The deb files will be created in the directory above the debian directory  (e.g. gotcloud)&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Binary_Releases&amp;diff=13967</id>
		<title>GotCloud: Binary Releases</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Binary_Releases&amp;diff=13967"/>
		<updated>2016-01-08T03:27:56Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* GotCloud Binary Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[GotCloud]] software has been developed and tested on Linux Ubuntu 12.10 and 12.04.2 LTS. While it should work on other Linux systems, they have not yet been tested.  It is not supported on Windows or Mac OS X.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you run into any problems with GotCloud, please check: [[GotCloud: FAQs]] or for problems/solutions for a specific version, [[GotCloud:_FAQs#Version_Problems|Version Problems]].&lt;br /&gt;
&lt;br /&gt;
=GotCloud Binary Releases=&lt;br /&gt;
GotCloud releases with the precompiled binary executables are available for download.&lt;br /&gt;
&lt;br /&gt;
The binaries were compiled on Linux Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you need the source, see [[GotCloud: Source Releases]] for information on obtaining the source.&lt;br /&gt;
&lt;br /&gt;
The Binary Releases are available as:&lt;br /&gt;
* [[#GotCloud_Debian_Packages|debian packages]] - require root access to install&lt;br /&gt;
* [[#Tar Binary Releases|tarballs]] - anyone can untar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GotCloud software is distributed in several packages. These can be installed on traditional Debian systems as well as Ubuntu (where it has been tested). The software should run on all versions from Ubuntu Lucid (9.04) through Oneric (12.10). It has not been tested on other Debian systems, but it is likely it will work on those systems too. This software should work on any Unix system - only requiring recompilation from the source files.&lt;br /&gt;
&lt;br /&gt;
The software is distributed in a single package including both the &#039;&#039;aligner&#039;&#039; and &#039;&#039;variant caller&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
There is also a separate package to test the installation. &lt;br /&gt;
&lt;br /&gt;
==GotCloud Debian Packages==&lt;br /&gt;
&lt;br /&gt;
If you would like to install from:&lt;br /&gt;
* tar&#039;d binary packages, see: [[#Tar Binary Releases|Tar Binary Releases]]&lt;br /&gt;
* source (does not require root access), see: [[GotCloud: Source Releases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installing Debian Packages ===&lt;br /&gt;
&lt;br /&gt;
The debian files are available for download from ftp://share.sph.umich.edu/gotcloud/ :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  gotcloud-bin_latest_amd64.deb          aligner and variant caller&lt;br /&gt;
  gotcloud-test_latest_amd64.deb         test data for software&lt;br /&gt;
  M.n/gotcloud-bin_M.n_amd64.deb         version M.n of aligner and variant caller&lt;br /&gt;
  M.n/gotcloud-test_M.n_amd64.deb        version M.n of test data for software&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Where &#039;M.n&#039; is replaced with the specific version numbers.&lt;br /&gt;
&lt;br /&gt;
Installing Debian packages normally requires root access, however, you &amp;lt;b&amp;gt;can&amp;lt;/b&amp;gt; install as a non-root user (see below).&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Versions]] for details on the changes for each version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Fetch the GotCloud Debian Packages====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #  The easiest way:&lt;br /&gt;
  &amp;lt;b&amp;gt;mkdir debs&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;cd debs&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;wget --retr-symlinks ftp://share.sph.umich.edu/gotcloud/gotcloud\*latest\*.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  #  Another way:&lt;br /&gt;
  &amp;lt;b&amp;gt;ftp share.sph.umich.edu&amp;lt;/b&amp;gt;&lt;br /&gt;
  Connected to share.sph.umich.edu.&lt;br /&gt;
  220 (vsFTPd 2.3.5)&lt;br /&gt;
  Name (share.sph.umich.edu:tpg): &amp;lt;b&amp;gt;anonymous&amp;lt;/b&amp;gt;&lt;br /&gt;
  230 Login successful.&lt;br /&gt;
  Remote system type is UNIX.&lt;br /&gt;
  Using binary mode to transfer files.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;prompt&amp;lt;/b&amp;gt;&lt;br /&gt;
  Interactive mode off.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;cd gotcloud&amp;lt;/b&amp;gt;&lt;br /&gt;
  250 Directory successfully changed.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;mget gotcloud*latest*.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;quit&amp;lt;/b&amp;gt;&lt;br /&gt;
  221 Goodbye.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Install the GotCloud Debian Packages====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Install Debian packages with root access&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation normally requires one to have &amp;lt;b&amp;gt;root access&amp;lt;/b&amp;gt; and uses &amp;lt;b&amp;gt;dpkg&amp;lt;/b&amp;gt; which Debian users will recognize.&lt;br /&gt;
We recommend you install the first one separately so you can easily&lt;br /&gt;
identify messages about prerequisite files that need to be installed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-bin_*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  Selecting previously unselected package gotcloud-bin.&lt;br /&gt;
  (Reading database ... 25372 files and directories currently installed.)&lt;br /&gt;
  Unpacking gotcloud-bin (from .../gotcloud-bin_1.0_amd64.deb) ...&lt;br /&gt;
  Setting up gotcloud-bin (1.0) ...&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;java&#039; is not installed, do &#039;sudo apt-get install java-common default-jre&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;make&#039; is not installed, do &#039;sudo apt-get install make&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;libssl0.9.8&#039; is not installed, do &#039;sudo apt-get install libssl0.9.8&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-test_*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Install Debian packages without root access&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installing Debian packages generally requires root access, however, you can install as a non-root user using the following instructions (bash commands shown here):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 tempdir=/tmp/$$.gotcloud.removeme     # Temp directory&lt;br /&gt;
 destdir=$HOME                         # Where you want GotCloud installed&lt;br /&gt;
 &lt;br /&gt;
 dpkg -x [path_to_deb_file]/gotcloud-bin_*_amd64.deb $tempdir&lt;br /&gt;
 rsync -av --delete $tempdir/usr/local/gotcloud/* $destdir/gotcloud || exit 1&lt;br /&gt;
 rm -rf $tempdir&lt;br /&gt;
 &lt;br /&gt;
 dpkg -x [path_to_deb_file]/gotcloud-test_*_amd64.deb $tempdir&lt;br /&gt;
 rsync -av --delete $tempdir/usr/local/gotcloud/* $destdir/gotcloud || exit 1&lt;br /&gt;
 rm -rf $tempdir&lt;br /&gt;
 &lt;br /&gt;
 $destdir/gotcloud/scripts/check_requirements.sh   # Check requirements&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there were messages about missing packages, install them with the commands shown by the script. Installing missing packages &amp;lt;b&amp;gt;will&amp;lt;/b&amp;gt; require root access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo apt-get update&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo apt-get install java-common default-jre make libssl0.9.8&amp;lt;/b&amp;gt;  # For example&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing the GotCloud Installation===&lt;br /&gt;
&lt;br /&gt;
We recommend that at least the first time, you install the test packages so you can&lt;br /&gt;
conveniently test the installation and make sure everything runs smoothly.&lt;br /&gt;
The tests run within a few minutes and are self checking, so unless you see obvious errors,&lt;br /&gt;
you can be reasonably sure everything is set up properly.&lt;br /&gt;
You only need to do this once, unless you have made significant changes to your Unix system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;  &lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-test*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  Selecting previously unselected package gotcloud-test.&lt;br /&gt;
  (Reading database ... 27376 files and directories currently installed.)&lt;br /&gt;
  Unpacking gotcloud-test (from .../gotcloud-test_1.0_amd64.deb) ...&lt;br /&gt;
  Setting up gotcloud-test (1.0) ...&lt;br /&gt;
  #======================================================================&lt;br /&gt;
  #   GotCloud README&lt;br /&gt;
  #======================================================================&lt;br /&gt;
  To test the GotCloud aligner, run:&lt;br /&gt;
    gotcloud align --test ~/testalign&lt;br /&gt;
  This will create/clear the output directory ~/testalign.&lt;br /&gt;
  Test results and a log file are put in this directory.&lt;br /&gt;
  Results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
  &lt;br /&gt;
  To test the GotCloud snp caller, run:&lt;br /&gt;
    gotcloud snpcall --test ~/testsnp&lt;br /&gt;
  This will create/clear the output directory ~/testsnp.&lt;br /&gt;
  Test results and a log file are put in this directory.&lt;br /&gt;
  Results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Login as a normal user (not as root) and do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #   Test the aligner (3 minutes +/- 1 minute)&lt;br /&gt;
  &#039;&#039;&#039;/usr/local/gotcloud/bin/gotcloud align -test ~/testalign&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testalign/aligntest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testalign/aligntest.log&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample2.Makefile&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample1.Makefile&lt;br /&gt;
  ---------------------------------------------------------------------&lt;br /&gt;
  Waiting while samples are processed...&lt;br /&gt;
  Processing finished in 63 secs with no errors reported&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testalign/diff_logfiles_results.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testalign/aligntest&#039; and &#039;/usr/local/gotcloud/test/align/expected/aligntest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testalign&#039;&#039;&#039;              # If no error&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  #   Test snp calling  (7 minutes +/-2 minute)&lt;br /&gt;
  &#039;&#039;&#039;/usr/local/gotcloud/bin/gotcloud snpcall --test ~/testsnp&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testsnp/umaketest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testsnp/umaketest.log&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testsnp/diff_logfiles_results_umake.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testsnp/umaketest&#039; and &#039;/usr/local/gotcloud/test/umake/expected/umaketest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testsnp&#039;&#039;&#039;              # If no error&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tar Binary Releases ==&lt;br /&gt;
&lt;br /&gt;
The tar binary releases contain the precompiled binaries and scripts necessary to run gotcloud.&lt;br /&gt;
&lt;br /&gt;
If you would like to install from:&lt;br /&gt;
* debian packages, see: [[#GotCloud Debian Packages|Debian Packages]]&lt;br /&gt;
* source, see: [[GotCloud: Source Releases]]&lt;br /&gt;
&lt;br /&gt;
=== Installing Tar Releases ===&lt;br /&gt;
&lt;br /&gt;
The tar files are available for download from ftp://share.sph.umich.edu/gotcloud/ :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  gotcloudBin_latest.tgz          aligner and variant caller&lt;br /&gt;
  gotcloudTest_latest.tgz         test data for software&lt;br /&gt;
  M.n/gotcloud-bin_M.n.tar.gz     version M.n of aligner and variant caller&lt;br /&gt;
  M.n/gotcloud-test_M.n.tar.gz    version M.n of test data for software&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Where &#039;M.n&#039; is replaced with the specific version numbers.&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Versions]] for details on the changes for each version.&lt;br /&gt;
&lt;br /&gt;
====Fetch the Tar Releases====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #  The easiest way:&lt;br /&gt;
  &amp;lt;b&amp;gt;wget --retr-symlinks ftp://share.sph.umich.edu/gotcloud/gotcloud-\*latest\*.tgz&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  #  Another way:&lt;br /&gt;
  &amp;lt;b&amp;gt;ftp share.sph.umich.edu&amp;lt;/b&amp;gt;&lt;br /&gt;
  Connected to share.sph.umich.edu.&lt;br /&gt;
  220 (vsFTPd 2.3.5)&lt;br /&gt;
  Name (share.sph.umich.edu:tpg): &amp;lt;b&amp;gt;anonymous&amp;lt;/b&amp;gt;&lt;br /&gt;
  230 Login successful.&lt;br /&gt;
  Remote system type is UNIX.&lt;br /&gt;
  Using binary mode to transfer files.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;prompt&amp;lt;/b&amp;gt;&lt;br /&gt;
  Interactive mode off.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;cd gotcloud&amp;lt;/b&amp;gt;&lt;br /&gt;
  250 Directory successfully changed.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;mget gotcloud-*latest*.tgz&amp;lt;/b&amp;gt;&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;quit&amp;lt;/b&amp;gt;&lt;br /&gt;
  221 Goodbye.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unpack the Tar Release====&lt;br /&gt;
&lt;br /&gt;
Unpack the realeases:&lt;br /&gt;
 tar xf gotcloud-*latest*.tgz&lt;br /&gt;
&lt;br /&gt;
===Testing the GotCloud Release===&lt;br /&gt;
&lt;br /&gt;
We recommend that at least the first time, you download the test packages so you can&lt;br /&gt;
conveniently test the installation and make sure everything runs smoothly.&lt;br /&gt;
The tests run within a few minutes and are self checking, so unless you see obvious errors,&lt;br /&gt;
you can be reasonably sure everything is set up properly.&lt;br /&gt;
You only need to do this once, unless you have made significant changes to your Unix system.&lt;br /&gt;
&lt;br /&gt;
The test case results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #   Test the aligner (3 minutes +/- 1 minute)&lt;br /&gt;
  &#039;&#039;&#039;gotcloud/bin/gotcloud align --test ~/testalign&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testalign/aligntest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testalign/aligntest.log&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample2.Makefile&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample1.Makefile&lt;br /&gt;
  ---------------------------------------------------------------------&lt;br /&gt;
  Waiting while samples are processed...&lt;br /&gt;
  Processing finished in 63 secs with no errors reported&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testalign/diff_logfiles_results.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testalign/aligntest&#039; and &#039;gotcloud/test/align/expected/aligntest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testalign&#039;&#039;&#039;              # If no error&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  #   Test snp calling  (7 minutes +/-2 minute)&lt;br /&gt;
  &#039;&#039;&#039;gotcloud/bin/gotcloud snpcall --test ~/testsnp&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testsnp/umaketest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testsnp/umaketest.log&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testsnp/diff_logfiles_results_umake.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testsnp/umaketest&#039; and &#039;gotcloud/test/umake/expected/umaketest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testsnp&#039;&#039;&#039;              # If no error&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Creating Your Own Debian Package From the Source=&lt;br /&gt;
&lt;br /&gt;
The process to create your own Debian package from the source files is straight-forward&lt;br /&gt;
for Debian users. The source files actually contain source for the executables,&lt;br /&gt;
the test data and the scripts and configuration files used by the users.&lt;br /&gt;
These steps build two debian package files - one for the test data (test) and one for the&lt;br /&gt;
binaries and scripts (bin).&lt;br /&gt;
&lt;br /&gt;
In order to simplify the building of two packages, the debian directory contains the control files for both packages (bin and test).&lt;br /&gt;
This requires that the normal control files (e.g. rules) be named rules.test and rules.bin&lt;br /&gt;
and the shell script (makedeb.sh) be aware of this nuance.&lt;br /&gt;
In addition the shell script can make an RPM file (using alien) and will help manage&lt;br /&gt;
the version for GotCloud.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch the Source Including the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #  The easiest way:&lt;br /&gt;
 wget ftp://share.sph.umich.edu/gotcloud/gotcloudWithTest_latest.tgz&lt;br /&gt;
&lt;br /&gt;
 #  Another way:&lt;br /&gt;
 ftp share.sph.umich.edu&lt;br /&gt;
 Connected to share.sph.umich.edu.&lt;br /&gt;
 220 (vsFTPd 2.3.5)&lt;br /&gt;
 Name (share.sph.umich.edu:tpg): anonymous&lt;br /&gt;
 230 Login successful.&lt;br /&gt;
 Remote system type is UNIX.&lt;br /&gt;
 Using binary mode to transfer files.&lt;br /&gt;
 ftp&amp;gt; prompt&lt;br /&gt;
 Interactive mode off.&lt;br /&gt;
 ftp&amp;gt; cd gotcloud&lt;br /&gt;
 250 Directory successfully changed.&lt;br /&gt;
 ftp&amp;gt; get gotcloudWithTest_latest.tgz&lt;br /&gt;
 ftp&amp;gt; quit&lt;br /&gt;
 221 Goodbye.&lt;br /&gt;
&lt;br /&gt;
 #  Extract the source files&lt;br /&gt;
 cd ~/src                 # Or wherever you want the source files&lt;br /&gt;
 tar xzf path/gotcloudWithTest_latest.tgz&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch the Source Excluding the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Follow the above logic, but use: gotcloud_latest.tgz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch just the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Follow the above logic, but use: gotcloudTest_latest.tgz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create the Debian Package Files===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;cd ~/src&#039;&#039;&#039;                 # Or wherever you put the source files&lt;br /&gt;
 &#039;&#039;&#039;cd gotcloud*&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 #   Add -replace only if rebuilding the same version&lt;br /&gt;
 &#039;&#039;&#039;debian/makedeb.sh  bin  =&#039;&#039;&#039; &lt;br /&gt;
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 ...&lt;br /&gt;
  dpkg-buildpackage: export C...&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Generate package: cd gotcloud-bin; dpkg-buildpackage -b -us -uc -rfakeroot&lt;br /&gt;
  ===&amp;gt; Version &#039;1.01 of &#039;gotcloud-bin&#039; will install into &#039;usr/local/gotcloud&#039;&lt;br /&gt;
  install -d debian/tmp/DEBIAN&lt;br /&gt;
  cp debian/control debian/postinst debian/postrm debian/tmp/DEBIAN&lt;br /&gt;
  install -d debian/tmp/usr/share/doc/gotcloud-bin_1.01&lt;br /&gt;
  sed -e s/99.99/1.01/g &amp;lt; debian/changelog &amp;gt; debian/changelog.new&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Converting symlinks into the actual executables to be distributed&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  dpkg-deb: building package `gotcloud-bin&#039; in `./gotcloud-bin_1.01_amd64.deb&#039;.&lt;br /&gt;
  Package file now in /home/myuser/dev/gotcloud&lt;br /&gt;
  -rw-r--r-- 1 myuser myuser 3592780 Feb 19 11:59 gotcloud-bin_1.01_amd64.deb&lt;br /&gt;
 &lt;br /&gt;
 #   Add -replace only if rebuilding the same version&lt;br /&gt;
 &#039;&#039;&#039;debian/makedeb.sh  test =&#039;&#039;&#039;&lt;br /&gt;
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 ...&lt;br /&gt;
  dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Generate package: cd gotcloud-test; dpkg-buildpackage -b -us -uc -rfakeroot&lt;br /&gt;
  ===&amp;gt; Version &#039;1.01 of &#039;gotcloud-test&#039; will install into &#039;usr/local/gotcloud&#039;&lt;br /&gt;
  install -d debian/tmp/DEBIAN&lt;br /&gt;
  cp debian/control debian/postinst debian/postrm debian/tmp/DEBIAN&lt;br /&gt;
  install -d debian/tmp/usr/share/doc/gotcloud-test_1.01&lt;br /&gt;
  sed -e s/99.99/1.01/g &amp;lt; debian/changelog &amp;gt; debian/changelog.new&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  dpkg-deb: building package `gotcloud-test&#039; in `./gotcloud-test_1.01_amd64.deb&#039;.&lt;br /&gt;
  Package file now in /home/myuser/dev/gotcloud&lt;br /&gt;
  -rw-r--r-- 1 myuser myuser 433269556 Feb 19 13:49 gotcloud-test_1.01_amd64.deb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The deb files will be created in the directory above the debian directory  (e.g. gotcloud)&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Binary_Releases&amp;diff=13966</id>
		<title>GotCloud: Binary Releases</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Binary_Releases&amp;diff=13966"/>
		<updated>2016-01-08T03:25:01Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The [[GotCloud]] software has been developed and tested on Linux Ubuntu 12.10 and 12.04.2 LTS. While it should work on other Linux systems, they have not yet been tested.  It is not supported on Windows or Mac OS X.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you run into any problems with GotCloud, please check: [[GotCloud: FAQs]] or for problems/solutions for a specific version, [[GotCloud:_FAQs#Version_Problems|Version Problems]].&lt;br /&gt;
&lt;br /&gt;
=GotCloud Binary Releases=&lt;br /&gt;
GotCloud releases with the precompiled binary executables are available for download.&lt;br /&gt;
&lt;br /&gt;
The binaries were compiled on Linux Ubuntu.&lt;br /&gt;
&lt;br /&gt;
If you need the source, see [[GotCloud: Source Releases]] for information on obtaining the source.&lt;br /&gt;
&lt;br /&gt;
The Binary Releases are available as:&lt;br /&gt;
* [[#Debian Packages|debian packages]] - require root access to install&lt;br /&gt;
* [[#Tar Binary Releases|tarballs]] - anyone can untar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GotCloud software is distributed in several packages. These can be installed on traditional Debian systems as well as Ubuntu (where it has been tested). The software should run on all versions from Ubuntu Lucid (9.04) through Oneric (12.10). It has not been tested on other Debian systems, but it is likely it will work on those systems too. This software should work on any Unix system - only requiring recompilation from the source files.&lt;br /&gt;
&lt;br /&gt;
The software is distributed in a single package including both the &#039;&#039;aligner&#039;&#039; and &#039;&#039;variant caller&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
There is also a separate package to test the installation. &lt;br /&gt;
&lt;br /&gt;
==GotCloud Debian Packages==&lt;br /&gt;
&lt;br /&gt;
If you would like to install from:&lt;br /&gt;
* tar&#039;d binary packages, see: [[#Tar Binary Releases|Tar Binary Releases]]&lt;br /&gt;
* source (does not require root access), see: [[GotCloud: Source Releases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installing Debian Packages ===&lt;br /&gt;
&lt;br /&gt;
The debian files are available for download from ftp://share.sph.umich.edu/gotcloud/ :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  gotcloud-bin_latest_amd64.deb          aligner and variant caller&lt;br /&gt;
  gotcloud-test_latest_amd64.deb         test data for software&lt;br /&gt;
  M.n/gotcloud-bin_M.n_amd64.deb         version M.n of aligner and variant caller&lt;br /&gt;
  M.n/gotcloud-test_M.n_amd64.deb        version M.n of test data for software&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Where &#039;M.n&#039; is replaced with the specific version numbers.&lt;br /&gt;
&lt;br /&gt;
Installing Debian packages normally requires root access, however, you &amp;lt;b&amp;gt;can&amp;lt;/b&amp;gt; install as a non-root user (see below).&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Versions]] for details on the changes for each version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Fetch the GotCloud Debian Packages====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #  The easiest way:&lt;br /&gt;
  &amp;lt;b&amp;gt;mkdir debs&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;cd debs&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;wget --retr-symlinks ftp://share.sph.umich.edu/gotcloud/gotcloud\*latest\*.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  #  Another way:&lt;br /&gt;
  &amp;lt;b&amp;gt;ftp share.sph.umich.edu&amp;lt;/b&amp;gt;&lt;br /&gt;
  Connected to share.sph.umich.edu.&lt;br /&gt;
  220 (vsFTPd 2.3.5)&lt;br /&gt;
  Name (share.sph.umich.edu:tpg): &amp;lt;b&amp;gt;anonymous&amp;lt;/b&amp;gt;&lt;br /&gt;
  230 Login successful.&lt;br /&gt;
  Remote system type is UNIX.&lt;br /&gt;
  Using binary mode to transfer files.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;prompt&amp;lt;/b&amp;gt;&lt;br /&gt;
  Interactive mode off.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;cd gotcloud&amp;lt;/b&amp;gt;&lt;br /&gt;
  250 Directory successfully changed.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;mget gotcloud*latest*.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;quit&amp;lt;/b&amp;gt;&lt;br /&gt;
  221 Goodbye.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Install the GotCloud Debian Packages====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Install Debian packages with root access&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation normally requires one to have &amp;lt;b&amp;gt;root access&amp;lt;/b&amp;gt; and uses &amp;lt;b&amp;gt;dpkg&amp;lt;/b&amp;gt; which Debian users will recognize.&lt;br /&gt;
We recommend you install the first one separately so you can easily&lt;br /&gt;
identify messages about prerequisite files that need to be installed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-bin_*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  Selecting previously unselected package gotcloud-bin.&lt;br /&gt;
  (Reading database ... 25372 files and directories currently installed.)&lt;br /&gt;
  Unpacking gotcloud-bin (from .../gotcloud-bin_1.0_amd64.deb) ...&lt;br /&gt;
  Setting up gotcloud-bin (1.0) ...&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;java&#039; is not installed, do &#039;sudo apt-get install java-common default-jre&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;make&#039; is not installed, do &#039;sudo apt-get install make&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #============================================================&lt;br /&gt;
  #   &#039;libssl0.9.8&#039; is not installed, do &#039;sudo apt-get install libssl0.9.8&#039;&lt;br /&gt;
  #============================================================&lt;br /&gt;
 &lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-test_*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Install Debian packages without root access&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installing Debian packages generally requires root access, however, you can install as a non-root user using the following instructions (bash commands shown here):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 tempdir=/tmp/$$.gotcloud.removeme     # Temp directory&lt;br /&gt;
 destdir=$HOME                         # Where you want GotCloud installed&lt;br /&gt;
 &lt;br /&gt;
 dpkg -x [path_to_deb_file]/gotcloud-bin_*_amd64.deb $tempdir&lt;br /&gt;
 rsync -av --delete $tempdir/usr/local/gotcloud/* $destdir/gotcloud || exit 1&lt;br /&gt;
 rm -rf $tempdir&lt;br /&gt;
 &lt;br /&gt;
 dpkg -x [path_to_deb_file]/gotcloud-test_*_amd64.deb $tempdir&lt;br /&gt;
 rsync -av --delete $tempdir/usr/local/gotcloud/* $destdir/gotcloud || exit 1&lt;br /&gt;
 rm -rf $tempdir&lt;br /&gt;
 &lt;br /&gt;
 $destdir/gotcloud/scripts/check_requirements.sh   # Check requirements&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there were messages about missing packages, install them with the commands shown by the script. Installing missing packages &amp;lt;b&amp;gt;will&amp;lt;/b&amp;gt; require root access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo apt-get update&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;b&amp;gt;sudo apt-get install java-common default-jre make libssl0.9.8&amp;lt;/b&amp;gt;  # For example&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing the GotCloud Installation===&lt;br /&gt;
&lt;br /&gt;
We recommend that at least the first time, you install the test packages so you can&lt;br /&gt;
conveniently test the installation and make sure everything runs smoothly.&lt;br /&gt;
The tests run within a few minutes and are self checking, so unless you see obvious errors,&lt;br /&gt;
you can be reasonably sure everything is set up properly.&lt;br /&gt;
You only need to do this once, unless you have made significant changes to your Unix system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;  &lt;br /&gt;
  &amp;lt;b&amp;gt;sudo dpkg -i ~/debs/gotcloud-test*_amd64.deb&amp;lt;/b&amp;gt;&lt;br /&gt;
  Selecting previously unselected package gotcloud-test.&lt;br /&gt;
  (Reading database ... 27376 files and directories currently installed.)&lt;br /&gt;
  Unpacking gotcloud-test (from .../gotcloud-test_1.0_amd64.deb) ...&lt;br /&gt;
  Setting up gotcloud-test (1.0) ...&lt;br /&gt;
  #======================================================================&lt;br /&gt;
  #   GotCloud README&lt;br /&gt;
  #======================================================================&lt;br /&gt;
  To test the GotCloud aligner, run:&lt;br /&gt;
    gotcloud align --test ~/testalign&lt;br /&gt;
  This will create/clear the output directory ~/testalign.&lt;br /&gt;
  Test results and a log file are put in this directory.&lt;br /&gt;
  Results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
  &lt;br /&gt;
  To test the GotCloud snp caller, run:&lt;br /&gt;
    gotcloud snpcall --test ~/testsnp&lt;br /&gt;
  This will create/clear the output directory ~/testsnp.&lt;br /&gt;
  Test results and a log file are put in this directory.&lt;br /&gt;
  Results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Login as a normal user (not as root) and do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #   Test the aligner (3 minutes +/- 1 minute)&lt;br /&gt;
  &#039;&#039;&#039;/usr/local/gotcloud/bin/gotcloud align -test ~/testalign&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testalign/aligntest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testalign/aligntest.log&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample2.Makefile&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample1.Makefile&lt;br /&gt;
  ---------------------------------------------------------------------&lt;br /&gt;
  Waiting while samples are processed...&lt;br /&gt;
  Processing finished in 63 secs with no errors reported&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testalign/diff_logfiles_results.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testalign/aligntest&#039; and &#039;/usr/local/gotcloud/test/align/expected/aligntest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testalign&#039;&#039;&#039;              # If no error&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  #   Test snp calling  (7 minutes +/-2 minute)&lt;br /&gt;
  &#039;&#039;&#039;/usr/local/gotcloud/bin/gotcloud snpcall --test ~/testsnp&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testsnp/umaketest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testsnp/umaketest.log&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testsnp/diff_logfiles_results_umake.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testsnp/umaketest&#039; and &#039;/usr/local/gotcloud/test/umake/expected/umaketest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testsnp&#039;&#039;&#039;              # If no error&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tar Binary Releases ==&lt;br /&gt;
&lt;br /&gt;
The tar binary releases contain the precompiled binaries and scripts necessary to run gotcloud.&lt;br /&gt;
&lt;br /&gt;
If you would like to install from:&lt;br /&gt;
* debian packages, see: [[#GotCloud Debian Packages|Debian Packages]]&lt;br /&gt;
* source, see: [[GotCloud: Source Releases]]&lt;br /&gt;
&lt;br /&gt;
=== Installing Tar Releases ===&lt;br /&gt;
&lt;br /&gt;
The tar files are available for download from ftp://share.sph.umich.edu/gotcloud/ :&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  gotcloudBin_latest.tgz          aligner and variant caller&lt;br /&gt;
  gotcloudTest_latest.tgz         test data for software&lt;br /&gt;
  M.n/gotcloud-bin_M.n.tar.gz     version M.n of aligner and variant caller&lt;br /&gt;
  M.n/gotcloud-test_M.n.tar.gz    version M.n of test data for software&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Where &#039;M.n&#039; is replaced with the specific version numbers.&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Versions]] for details on the changes for each version.&lt;br /&gt;
&lt;br /&gt;
====Fetch the Tar Releases====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #  The easiest way:&lt;br /&gt;
  &amp;lt;b&amp;gt;wget --retr-symlinks ftp://share.sph.umich.edu/gotcloud/gotcloud-\*latest\*.tgz&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  #  Another way:&lt;br /&gt;
  &amp;lt;b&amp;gt;ftp share.sph.umich.edu&amp;lt;/b&amp;gt;&lt;br /&gt;
  Connected to share.sph.umich.edu.&lt;br /&gt;
  220 (vsFTPd 2.3.5)&lt;br /&gt;
  Name (share.sph.umich.edu:tpg): &amp;lt;b&amp;gt;anonymous&amp;lt;/b&amp;gt;&lt;br /&gt;
  230 Login successful.&lt;br /&gt;
  Remote system type is UNIX.&lt;br /&gt;
  Using binary mode to transfer files.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;prompt&amp;lt;/b&amp;gt;&lt;br /&gt;
  Interactive mode off.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;cd gotcloud&amp;lt;/b&amp;gt;&lt;br /&gt;
  250 Directory successfully changed.&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;mget gotcloud-*latest*.tgz&amp;lt;/b&amp;gt;&lt;br /&gt;
  ftp&amp;gt; &amp;lt;b&amp;gt;quit&amp;lt;/b&amp;gt;&lt;br /&gt;
  221 Goodbye.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unpack the Tar Release====&lt;br /&gt;
&lt;br /&gt;
Unpack the realeases:&lt;br /&gt;
 tar xf gotcloud-*latest*.tgz&lt;br /&gt;
&lt;br /&gt;
===Testing the GotCloud Release===&lt;br /&gt;
&lt;br /&gt;
We recommend that at least the first time, you download the test packages so you can&lt;br /&gt;
conveniently test the installation and make sure everything runs smoothly.&lt;br /&gt;
The tests run within a few minutes and are self checking, so unless you see obvious errors,&lt;br /&gt;
you can be reasonably sure everything is set up properly.&lt;br /&gt;
You only need to do this once, unless you have made significant changes to your Unix system.&lt;br /&gt;
&lt;br /&gt;
The test case results are self-checked and if errors should occur, it will be obvious.&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  #   Test the aligner (3 minutes +/- 1 minute)&lt;br /&gt;
  &#039;&#039;&#039;gotcloud/bin/gotcloud align --test ~/testalign&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testalign/aligntest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testalign/aligntest.log&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample2.Makefile&lt;br /&gt;
  Created /home/myuser/testalign/aligntest/Makefiles/align_Sample1.Makefile&lt;br /&gt;
  ---------------------------------------------------------------------&lt;br /&gt;
  Waiting while samples are processed...&lt;br /&gt;
  Processing finished in 63 secs with no errors reported&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testalign/diff_logfiles_results.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testalign/aligntest&#039; and &#039;gotcloud/test/align/expected/aligntest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testalign&#039;&#039;&#039;              # If no error&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  #   Test snp calling  (7 minutes +/-2 minute)&lt;br /&gt;
  &#039;&#039;&#039;gotcloud/bin/gotcloud snpcall --test ~/testsnp&#039;&#039;&#039;&lt;br /&gt;
  Removing any previous results from: /home/myuser/testsnp/umaketest&lt;br /&gt;
  Running GOTCLOUD TEST, test log in: /home/myuser/testsnp/umaketest.log&lt;br /&gt;
  Results from DIFF will be in /home/myuser/testsnp/diff_logfiles_results_umake.txt&lt;br /&gt;
  Successful comparison of data in &#039;/home/myuser/testsnp/umaketest&#039; and &#039;gotcloud/test/umake/expected/umaketest&#039;&lt;br /&gt;
  Successfully ran the test case, congratulations!&lt;br /&gt;
  &#039;&#039;&#039;rm -rf ~/testsnp&#039;&#039;&#039;              # If no error&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Creating Your Own Debian Package From the Source=&lt;br /&gt;
&lt;br /&gt;
The process to create your own Debian package from the source files is straight-forward&lt;br /&gt;
for Debian users. The source files actually contain source for the executables,&lt;br /&gt;
the test data and the scripts and configuration files used by the users.&lt;br /&gt;
These steps build two debian package files - one for the test data (test) and one for the&lt;br /&gt;
binaries and scripts (bin).&lt;br /&gt;
&lt;br /&gt;
In order to simplify the building of two packages, the debian directory contains the control files for both packages (bin and test).&lt;br /&gt;
This requires that the normal control files (e.g. rules) be named rules.test and rules.bin&lt;br /&gt;
and the shell script (makedeb.sh) be aware of this nuance.&lt;br /&gt;
In addition the shell script can make an RPM file (using alien) and will help manage&lt;br /&gt;
the version for GotCloud.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch the Source Including the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #  The easiest way:&lt;br /&gt;
 wget ftp://share.sph.umich.edu/gotcloud/gotcloudWithTest_latest.tgz&lt;br /&gt;
&lt;br /&gt;
 #  Another way:&lt;br /&gt;
 ftp share.sph.umich.edu&lt;br /&gt;
 Connected to share.sph.umich.edu.&lt;br /&gt;
 220 (vsFTPd 2.3.5)&lt;br /&gt;
 Name (share.sph.umich.edu:tpg): anonymous&lt;br /&gt;
 230 Login successful.&lt;br /&gt;
 Remote system type is UNIX.&lt;br /&gt;
 Using binary mode to transfer files.&lt;br /&gt;
 ftp&amp;gt; prompt&lt;br /&gt;
 Interactive mode off.&lt;br /&gt;
 ftp&amp;gt; cd gotcloud&lt;br /&gt;
 250 Directory successfully changed.&lt;br /&gt;
 ftp&amp;gt; get gotcloudWithTest_latest.tgz&lt;br /&gt;
 ftp&amp;gt; quit&lt;br /&gt;
 221 Goodbye.&lt;br /&gt;
&lt;br /&gt;
 #  Extract the source files&lt;br /&gt;
 cd ~/src                 # Or wherever you want the source files&lt;br /&gt;
 tar xzf path/gotcloudWithTest_latest.tgz&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch the Source Excluding the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Follow the above logic, but use: gotcloud_latest.tgz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fetch just the Test Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Follow the above logic, but use: gotcloudTest_latest.tgz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create the Debian Package Files===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;cd ~/src&#039;&#039;&#039;                 # Or wherever you put the source files&lt;br /&gt;
 &#039;&#039;&#039;cd gotcloud*&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 #   Add -replace only if rebuilding the same version&lt;br /&gt;
 &#039;&#039;&#039;debian/makedeb.sh  bin  =&#039;&#039;&#039; &lt;br /&gt;
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 ...&lt;br /&gt;
  dpkg-buildpackage: export C...&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Generate package: cd gotcloud-bin; dpkg-buildpackage -b -us -uc -rfakeroot&lt;br /&gt;
  ===&amp;gt; Version &#039;1.01 of &#039;gotcloud-bin&#039; will install into &#039;usr/local/gotcloud&#039;&lt;br /&gt;
  install -d debian/tmp/DEBIAN&lt;br /&gt;
  cp debian/control debian/postinst debian/postrm debian/tmp/DEBIAN&lt;br /&gt;
  install -d debian/tmp/usr/share/doc/gotcloud-bin_1.01&lt;br /&gt;
  sed -e s/99.99/1.01/g &amp;lt; debian/changelog &amp;gt; debian/changelog.new&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Converting symlinks into the actual executables to be distributed&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  dpkg-deb: building package `gotcloud-bin&#039; in `./gotcloud-bin_1.01_amd64.deb&#039;.&lt;br /&gt;
  Package file now in /home/myuser/dev/gotcloud&lt;br /&gt;
  -rw-r--r-- 1 myuser myuser 3592780 Feb 19 11:59 gotcloud-bin_1.01_amd64.deb&lt;br /&gt;
 &lt;br /&gt;
 #   Add -replace only if rebuilding the same version&lt;br /&gt;
 &#039;&#039;&#039;debian/makedeb.sh  test =&#039;&#039;&#039;&lt;br /&gt;
  dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 ...&lt;br /&gt;
  dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  Generate package: cd gotcloud-test; dpkg-buildpackage -b -us -uc -rfakeroot&lt;br /&gt;
  ===&amp;gt; Version &#039;1.01 of &#039;gotcloud-test&#039; will install into &#039;usr/local/gotcloud&#039;&lt;br /&gt;
  install -d debian/tmp/DEBIAN&lt;br /&gt;
  cp debian/control debian/postinst debian/postrm debian/tmp/DEBIAN&lt;br /&gt;
  install -d debian/tmp/usr/share/doc/gotcloud-test_1.01&lt;br /&gt;
  sed -e s/99.99/1.01/g &amp;lt; debian/changelog &amp;gt; debian/changelog.new&lt;br /&gt;
    [lines deleted]&lt;br /&gt;
  dpkg-deb: building package `gotcloud-test&#039; in `./gotcloud-test_1.01_amd64.deb&#039;.&lt;br /&gt;
  Package file now in /home/myuser/dev/gotcloud&lt;br /&gt;
  -rw-r--r-- 1 myuser myuser 433269556 Feb 19 13:49 gotcloud-test_1.01_amd64.deb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The deb files will be created in the directory above the debian directory  (e.g. gotcloud)&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud&amp;diff=13964</id>
		<title>GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud&amp;diff=13964"/>
		<updated>2015-12-15T22:09:32Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* GotCloud Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Genomes on the Cloud (GotCloud) Introduction==&lt;br /&gt;
&lt;br /&gt;
To handle the increasing volume of next generation sequencing and genotyping data, we created and developed software pipelines called &#039;&#039;&#039;Genomes on the Cloud (GotCloud).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
GotCloud contains Mapping &amp;amp; Variant Calling Pipelines.&lt;br /&gt;
&lt;br /&gt;
Key Features:&lt;br /&gt;
* Connects sequence analysis tools together in automated pipeline&lt;br /&gt;
** Alignment, quality control, variant calling&lt;br /&gt;
* Robust against unexpected system failure using GNU make&lt;br /&gt;
** easy restart after failure&lt;br /&gt;
* Massively parallel, can run hundreds of jobs&lt;br /&gt;
** Splits large jobs into many pieces&lt;br /&gt;
** Simplifies running on clusters&lt;br /&gt;
* Scalable to tens of thousands of samples&lt;br /&gt;
* Easy to use - Automates series of configurable steps&lt;br /&gt;
** user doesn&#039;t have to understand/configure/know the many tools required to create high quality results&lt;br /&gt;
* Available on Amazon Web Services (AWS) Elastic Compute Cloud (EC2)&lt;br /&gt;
* Run on local machines/clusters&lt;br /&gt;
&lt;br /&gt;
GotCloud incorporates the alignment and variant calling pipelines that we have been using at UM into one easy to use, publicly available tool.  GotCloud can run on a user&#039;s computer, on an instance in a &lt;br /&gt;
compute cloud, and/or can split the work up onto a cluster of machines or instances. &lt;br /&gt;
&lt;br /&gt;
[[File:Gotcloud.puzzles.v2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Getting Help with GotCloud ===&lt;br /&gt;
&lt;br /&gt;
Please join in the [http://groups.google.com/group/GotCloud GotCloud Google Group] to ask / discuss / comment about these pipelines.&lt;br /&gt;
&lt;br /&gt;
Currently the &amp;quot;join&amp;quot; button appears to be missing.  Click &amp;quot;NEW TOPIC&amp;quot;, then select &amp;quot;Join this group&amp;quot;.  You can then cancel the message post (or post a message).&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: FAQs]] if you have any questions.  If your questions are not answered there, join the google group and ask, or email Mary Kate Wing (mktrost@umich.edu).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sequence Analysis Background Information ===&lt;br /&gt;
&lt;br /&gt;
There are many essential steps in the analysis of next generation sequence data. &lt;br /&gt;
&lt;br /&gt;
Next generation sequence data analysis starts with [http://en.wikipedia.org/wiki/FASTQ_format FASTQ files], the typical format provided from your sequencing center containing the sequence &amp;amp; base quality information for your data.&lt;br /&gt;
&lt;br /&gt;
The fastq files are processed using the [[GotCloud: Alignment Pipeline|alignment pipeline]] which finds the most likely genomic location for each read and stores that information in a [[BAM|BAM (Binary Sequence Alignment/Map format) file]].  In addition to the sequence and base quality information contained in FASTQ files, a BAM file also contains the genomic location and some additional information about the mapping.  As part of the [[GotCloud: Alignment Pipeline|alignment pipeline]], the base qualities are adjusted to more accurately reflect the likelihood that the base is correct. &lt;br /&gt;
&lt;br /&gt;
The [[GotCloud: Alignment Pipeline|alignment pipeline]] can be skipped if you already have Deduped and Recalibrated BAM files.  If you have BAMs, but they needed to be deduped and recalibrated, you can use our [[GotCloud:_Alignment_Sub-Pipelines#recabQC_2|recabQC pipeline]].&lt;br /&gt;
&lt;br /&gt;
The [[GotCloud: Variant Calling Pipeline|variant calling pipeline]] processes the deduped and recalibrated BAM files produced by the alignment pipeline or that you provide it, generating an initial list of polymorphic sites and genotypes stored in a [http://www.1000genomes.org/wiki/Analysis/Variant%20Call%20Format/vcf-variant-call-format-version-41 VCF (Variant Call Format) file].  The [[GotCloud: Variant Calling Pipeline|variant calling pipeline]] then filters the  variants using both hard filters and a [[SVM Filtering|Support Vector Machine (SVM)]].  It then uses haplotype information to refine these genotypes in an updated VCF file.&lt;br /&gt;
&lt;br /&gt;
After completing the GotCloud Variant Calling Pipeline, [[EPACTS|EPACTS (Efficient and Parallelizable Association Container Toolbox)]] can be used to perform statistical tests to identify genome-wide association from sequence data.&lt;br /&gt;
&lt;br /&gt;
[[File:GotCloudDiagram.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publication ==&lt;br /&gt;
If you use GotCloud, please cite our publication: &lt;br /&gt;
[http://genome.cshlp.org/content/early/2015/04/14/gr.176552.114.abstract Jun, Goo, et al. &amp;quot;An efficient and scalable analysis framework for variant extraction and refinement from population scale DNA sequence data.&amp;quot; Genome research (2015): gr-176552.]&lt;br /&gt;
&lt;br /&gt;
== GotCloud Setup ==&lt;br /&gt;
&lt;br /&gt;
You may run the GotCloud software in several modes:&lt;br /&gt;
* On your own hardware running Ubuntu or Redhat/CentOS. See the instructions about installing the software below.&lt;br /&gt;
* On an Amazon Elastic Compute Cloud using Ubuntu or Redhat/CentOS if you do not have your own set of machines.&lt;br /&gt;
** See [[GotCloud: Amazon]] for more information.&lt;br /&gt;
** You can run on an EC2 cluster instance created by StarCluster. &lt;br /&gt;
&lt;br /&gt;
GotCloud has been developed and tested on Linux Ubuntu 12.10 and 12.04.2 LTS and Red Hat 6.6.  While it should work on other Linux systems, they have not yet been tested. &lt;br /&gt;
&lt;br /&gt;
=== GotCloud on Amazon ===&lt;br /&gt;
You can take advantage of GotCloud AMI&#039;s when running on Amazon.  The GotCloud already includes GotCloud and default reference files.&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Amazon]] for instructions on using GotCloud on Amazon.&lt;br /&gt;
&lt;br /&gt;
=== GotCloud Setup on Any Linux Machine ===&lt;br /&gt;
&lt;br /&gt;
==== GotCloud Dependencies ====&lt;br /&gt;
&lt;br /&gt;
GotCloud requires certain things to be installed in order to run:&lt;br /&gt;
* perl - gotcloud is a perl script and it calls many other perl scripts&lt;br /&gt;
** Zlib.pm - required for perl scripts to read compressed files.&lt;br /&gt;
* make - GNU make is used to run the pipelines&lt;br /&gt;
* java - required to run the beagle step of the ld-aware genotype refinement&lt;br /&gt;
* curses/ncurses (required for samtools)&lt;br /&gt;
** On Ubuntu: &amp;lt;code&amp;gt;sudo apt-get install libncurses5 libncurses5-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
* cmake (required for premo)&lt;br /&gt;
** On Ubuntu: &amp;lt;code&amp;gt;sudo apt-get install cmake&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check if your system has the proper software installed by invoking the command&lt;br /&gt;
 [gotcloud_path]/scripts/check_requirements.sh&lt;br /&gt;
&lt;br /&gt;
==== Install GotCloud Software ====&lt;br /&gt;
&lt;br /&gt;
You can install gotCloud on your system as (follow the links for the appropriate instructions):&lt;br /&gt;
* [[GotCloud: Source Releases|source release]] - contains the scripts and uncompiled source&lt;br /&gt;
* [[GotCloud: Binary Releases|binary release]] - contains the scripts and pre-compiled binaries (no source)&lt;br /&gt;
&lt;br /&gt;
[[GotCloud: Versions]] describes the changes added to each version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Amazon EC2, you can use one of the following sets of instructions:&lt;br /&gt;
* Create a machine instance based on the AMI we provide: [[Amazon Single Node]]&lt;br /&gt;
* Create an EC2 cluster instance using [[StarCluster|StarCluster]]&lt;br /&gt;
For more information on using GotCloud on Amazon, see: [[GotCloud: Amazon]]&lt;br /&gt;
&lt;br /&gt;
For more information on Amazon Web Services, see: https://aws.amazon.com/&lt;br /&gt;
&lt;br /&gt;
==== GotCloud Reference/Resource Files ====&lt;br /&gt;
In order to run gotCloud, you need to provide Genetic Reference and Resource Files.&lt;br /&gt;
&lt;br /&gt;
These include information about the reference sequence and dbnsp positions.&lt;br /&gt;
&lt;br /&gt;
See: [[GotCloud: Genetic Reference and Resource Files]] for information about the required files.  It contains a description of the required files, information about generating your own versions, as well as a downloadable set of files.&lt;br /&gt;
* When running on Amazon, a default set of reference files are included in the GotCloud AMI.&lt;br /&gt;
&lt;br /&gt;
==== Configure GotCloud ====&lt;br /&gt;
* [[Configure GotCloud|Configure Gotcloud]] for your installation&lt;br /&gt;
&lt;br /&gt;
== Running GotCloud Software ==&lt;br /&gt;
&lt;br /&gt;
* [[GotCloud: Alignment Pipeline|Alignment Pipeline]] &lt;br /&gt;
** [[GotCloud: Alignment Sub-Pipelines|Alignment Sub-Pipelines]] - for if you do not want to run the entire Alignment Pipeline&lt;br /&gt;
* [[GotCloud: Variant Calling Pipeline|Variant Calling Pipeline]]&lt;br /&gt;
* Indel Calling Pipeline&lt;br /&gt;
* [[GotCloud: GenomeSTRiP Pipeline|GenomeSTRiP Pipeline]] (Structural Variation)&lt;br /&gt;
* MEI Calling Pipeline - &#039;&#039;Ask if you&#039;re interested&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can also create your own pipelines.  Instructions are here:&lt;br /&gt;
* [[GotCloud: Creating a New Pipeline]] &lt;br /&gt;
&lt;br /&gt;
=== GotCloud Demos ===&lt;br /&gt;
GotCloud Demos (originally from our sequencing workshop):&lt;br /&gt;
* [[SeqShop: Sequence Mapping and Assembly Practical]]&lt;br /&gt;
* [[SeqShop: Variant Calling and Filtering for SNPs Practical]]&lt;br /&gt;
* [[SeqShop: Variant Calling and Filtering for INDELs Practical]]&lt;br /&gt;
* [[SeqShop: Analysis of Structural Variation Practical]]&lt;br /&gt;
&lt;br /&gt;
GotCloud on Amazon Demo (snpcall &amp;amp; indel):&lt;br /&gt;
* [[GotCloud: Amazon Demo]]&lt;br /&gt;
&lt;br /&gt;
Deprecated: [[Tutorial: GotCloud]]&lt;br /&gt;
&lt;br /&gt;
== UMich Development/Release How-To Notes ==&lt;br /&gt;
* [[Releasing GotCloud]]&lt;br /&gt;
* Amazon EC2&lt;br /&gt;
** [[Creating an AMI on EC2]]&lt;br /&gt;
** [[Creating a Snapshot on EC2]] (deprecated)&lt;br /&gt;
** [[Mount S3 Volume]]&lt;br /&gt;
** Notes on sequence data preparation in [[Amazon Storage|Amazon Storage]].&lt;br /&gt;
&lt;br /&gt;
* [[Git_FAQs#Subtrees|Upgrade Git Subtree]]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13895</id>
		<title>Releasing GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13895"/>
		<updated>2015-11-07T02:17:47Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
Software for GotCloud is kept in a &#039;&#039;&#039;git&#039;&#039;&#039; repository on &#039;&#039;&#039;github&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We also create a Debian package and tar file for GotCloud.&lt;br /&gt;
&lt;br /&gt;
To release a new version of GotCloud:&lt;br /&gt;
# I recommend creating a new directory:&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd ~/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git clone git@github.com:statgen/gotcloud.git&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd gotcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
# Build the source&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd src &amp;amp;&amp;amp; make &amp;amp;&amp;amp; cd ..&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run the tests, ensure they all succeed&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd src &amp;amp;&amp;amp; make test &amp;amp;&amp;amp; cd ..&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud test&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the version number (if you have not already).&lt;br /&gt;
#* Edit release_version.txt&lt;br /&gt;
#* Commit the new release number&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git add release_version.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git commit -m &amp;quot;Release 1.XX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Push to github&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Checkout latest branch and merge master &amp;amp; push&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout latest&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git merge master&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create and push a release tag&lt;br /&gt;
#: &amp;lt;code&amp;gt;git tag -a gotcloud.1.XX -m &#039;version 1.XX&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git push origin gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create the debian packages&lt;br /&gt;
#* Generate the packages&lt;br /&gt;
#*: &amp;lt;code&amp;gt; ./debian/makedeb.sh bin =&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt; ./debian/makedeb.sh test =&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the release notes on github&lt;br /&gt;
#: On github, login		&lt;br /&gt;
#::Goto Tags, Select &amp;quot;Draft New Release&amp;quot;&lt;br /&gt;
#::* Select the &amp;quot;Tag version&amp;quot; you created&lt;br /&gt;
#::* Fill in the release notes&lt;br /&gt;
# Update wiki release documentation (for full release)&lt;br /&gt;
#* http://genome.sph.umich.edu/wiki/GotCloud:_Versions&lt;br /&gt;
# Send Email to google group (for full release)&lt;br /&gt;
#* gotcloud@googlegroups.com &lt;br /&gt;
#* I usually do it from the groups site as an announcement &amp;amp; post on behalf of GotCloud (I may need to modify your permissions to do this)&lt;br /&gt;
#** https://groups.google.com/forum/?hl=en#!forum/gotcloud&lt;br /&gt;
# Install on mario&lt;br /&gt;
#* In the gotcloud directory where you generated the deb files, run:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;./debian/install_gotcloud_without_root.sh 1.16 /net/mario&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version&lt;br /&gt;
#*: &amp;lt;code&amp;gt;./debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Rename to the version name:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes&lt;br /&gt;
#* gotcloudUsers@umich.edu&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=VcfCooker&amp;diff=13887</id>
		<title>VcfCooker</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=VcfCooker&amp;diff=13887"/>
		<updated>2015-10-31T05:51:31Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Software|vcfCooker]]&lt;br /&gt;
&lt;br /&gt;
Please see [[GotCloud]] to download vcfCooker. Downloads are [https://github.com/statgen/gotcloud/releases on github].&lt;br /&gt;
&lt;br /&gt;
(Updated at 2012/01/20 10:47PM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vcfCooker&#039;&#039;&#039; is a software that converts VCF/BED file formats in various forms. vcfCooker is currently under development, and will be publicly released soon. The current documentation contains the minimal information of currently working functions.&lt;br /&gt;
&lt;br /&gt;
== Current Binary Location==&lt;br /&gt;
&lt;br /&gt;
Current binary version of vcfCooker is available at /usr/cluster/bin/vcfCooker (as an in-house software).&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
&lt;br /&gt;
 The following parameters are available.  Ones with &amp;quot;[]&amp;quot; are in effect:&lt;br /&gt;
&lt;br /&gt;
 Available Options&lt;br /&gt;
                          Recipes : --write-bed, --write-vcf, --upgrade,&lt;br /&gt;
                                    --summarize, --filter, --subset&lt;br /&gt;
                VCF Input options : --in-vcf []&lt;br /&gt;
                BED Input options : --in-bfile [], --in-bed [], --in-bim [],&lt;br /&gt;
                                    --in-fam [],&lt;br /&gt;
                                    --ref [/data/local/ref/karma.ref/human.g1k.v37.fa]&lt;br /&gt;
               Subsetting options : --in-subset [], --mono-subset,&lt;br /&gt;
                                    --filt-only-subset&lt;br /&gt;
                   Output Options : --out [./vcfCooker], --qGeno,&lt;br /&gt;
                                    --print-every [10000]&lt;br /&gt;
       Output compression Options : --plain [ON], --bgzf, --gzip&lt;br /&gt;
    Genotype-level Filter Options : --minGQ, --minGD&lt;br /&gt;
                   Filter Options : --winIndel, --indelVCF [], --minQUAL,&lt;br /&gt;
                                    --minMQ, --maxDP [2147483647], --minDP,&lt;br /&gt;
                                    --maxABL [100], --winFFRQ, --maxFFRQ,&lt;br /&gt;
                                    --winFVAR, --merFVAR, --maxFVAR, --minNS,&lt;br /&gt;
                                    --maxSTP [2147483647],&lt;br /&gt;
                                    --maxTTT [2147483647],&lt;br /&gt;
                                    --minTTT [-2147483648], --maxSTR [100],&lt;br /&gt;
                                    --minSTR [-100], --maxSTZ [2147483647],&lt;br /&gt;
                                    --minSTZ [-2147483648], --maxCBR [100],&lt;br /&gt;
                                    --minCBR [-100], --maxQBR [100],&lt;br /&gt;
                                    --minQBR [-100], --maxCBZ [2147483647],&lt;br /&gt;
                                    --maxCSR [100], --minCSR [-100],&lt;br /&gt;
                                    --maxLQZ [2147483647],&lt;br /&gt;
                                    --minLQZ [-2147483648],&lt;br /&gt;
                                    --maxRBZ [2147483647],&lt;br /&gt;
                                    --minRBZ [-2147483648],&lt;br /&gt;
                                    --maxIOZ [2147483647],&lt;br /&gt;
                                    --minIOR [-2147483648],&lt;br /&gt;
                                    --maxIOR [2147483647],&lt;br /&gt;
                                    --maxAOZ [2147483647],&lt;br /&gt;
                                    --maxAOI [2147483647], --maxMQ0 [100],&lt;br /&gt;
                                    --maxMQ10 [100], --maxMQ20 [100],&lt;br /&gt;
                                    --minFIC [-2147483648], --minABE [-100],&lt;br /&gt;
                                    --maxABE [100], --maxLQR [100],&lt;br /&gt;
                                    --minMBR [-100], --maxMBR [100],&lt;br /&gt;
                                    --minABZ [-2147483648],&lt;br /&gt;
                                    --maxABZ [2147483647],&lt;br /&gt;
                                    --maxBCS [2147483647], --keepFilter&lt;br /&gt;
&lt;br /&gt;
== Converting between VCF/PLINK file format ==&lt;br /&gt;
In order to convert from VCF to PLINK (binary PED) format, use the following command&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf-file] --out [output-bfile] --write-bed --verbose&lt;br /&gt;
&lt;br /&gt;
This command will convert the file to PLINK format. It will work correctly only on biallelic SNPs.&lt;br /&gt;
&lt;br /&gt;
In order to convert from PLINK (binary PED) format to VCF format, use the following command&lt;br /&gt;
 vcfCooker --in-bfile [input-bfile] --out [output-vcf] --write-vcf --bgzf --verbose &lt;br /&gt;
&lt;br /&gt;
This command will convert PLINK format into VCF format, matching the reference sequence assuming forward strand by default. More specifically&lt;br /&gt;
* If either of the two alleles matches with reference allele, it assumes forward strand and determine REF/ALT&lt;br /&gt;
* Otherwise, it try to see if strand flipping make either allele match to the reference allele. if it does, it flips the strand and determine REF/ALT&lt;br /&gt;
&lt;br /&gt;
 Additional Options Includes&lt;br /&gt;
 --ref [/data/local/ref/karma.ref/human.g1k.v37.fa] : To change the genome reference sequence to compare against&lt;br /&gt;
 --qGeno : Assigns genotype likelihood on the VCF file with fixed quality values (useful for data integration)&lt;br /&gt;
&lt;br /&gt;
== Subsetting the VCF file ==&lt;br /&gt;
&lt;br /&gt;
Suppose that you have the following index file consisting of subset of individuals in the VCF file as [subset-index]&lt;br /&gt;
&lt;br /&gt;
 IND_ID_1  GROUP1,GROUP2,GROUP3&lt;br /&gt;
 IND_ID_2  GROUP2&lt;br /&gt;
 IND_ID_3  GROUP1,GROUP3&lt;br /&gt;
 IND_ID_4  GROUP2,GROUP3&lt;br /&gt;
&lt;br /&gt;
If you run the following command:&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf-file] --out [output-prefix] --verbose --subset --in-subset [subset-index] --bgzf&lt;br /&gt;
&lt;br /&gt;
Will create the following set of files&lt;br /&gt;
 [output-prefix].GROUP1.vcf.gz&lt;br /&gt;
 [output-prefix].GROUP2.vcf.gz&lt;br /&gt;
 [output-prefix].GROUP3.vcf.gz&lt;br /&gt;
&lt;br /&gt;
Where each VCF contains a marker polymorphic only within the group (AC&amp;gt;0). AC and AN fields will be updated reflecting the changes in the subset.&lt;br /&gt;
&lt;br /&gt;
 Additional Options Includes&lt;br /&gt;
 --mono-subset : Includes monomorphic SNPs for the subsetting&lt;br /&gt;
 --filt-only-subset : Use PASS-filter SNPs only for subsetting.&lt;br /&gt;
&lt;br /&gt;
== Genotype-level filtering a VCF file ==&lt;br /&gt;
&lt;br /&gt;
If you want to filter individual genotypes base on genotype quality (GQ field) of genotype depth of (GD field), use either of the following commands&lt;br /&gt;
&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf] --out [output-vcf] --bgzf --minGD [GD_thres] --write-vcf &lt;br /&gt;
 vcfCooker --in-vcf [input-vcf] --out [output-vcf] --bgzf --minGQ [GQ_thres] --write-vcf &lt;br /&gt;
&lt;br /&gt;
This will generate vcf file by changing the genotypes below the threshold to missing (./.), updating the AN and AC entry in the INFO field accordingly&lt;br /&gt;
&lt;br /&gt;
== Site level filtering a VCF file ==&lt;br /&gt;
&lt;br /&gt;
The following options allows filtering a VCF file&lt;br /&gt;
&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf] --out [output-vcf] --bgzf --filter --write-vcf &lt;br /&gt;
&lt;br /&gt;
After filtering the FILTER column updated with a filter tag as combination of key name (uppercase for maximum bound and lowercase for minimum bound) and threshold value. For example, DP10000 means that the site was filtered by the criteria of --maxDP 10000. dp10 means that the site was filtered by --minDP 10.&lt;br /&gt;
&lt;br /&gt;
The following is currently supported filtering criteria (to PASS filters). Other criteria are not rigorously tested, so please use at your own risk&lt;br /&gt;
  --winIndel : Minimum distance with nearby INDELs (--indelVCF must be used together)&lt;br /&gt;
  --indelVCF : VCF file containing the known INDELs&lt;br /&gt;
  --minQUAL : Minimum SNP quality allows&lt;br /&gt;
  --minMQ : Minimum Mapping Quality&lt;br /&gt;
  --maxDP [2147483647] : Maximum Read Depth&lt;br /&gt;
  --minDP : Minimum Read Depth&lt;br /&gt;
  --maxABL [100] : Maximum % allele balance value based on genotype likelihood (formula by Tom Blackwell)&lt;br /&gt;
  --minNS : Minimum # of samples with positive depth&lt;br /&gt;
  --maxSTR [100] :  Maximum % strand balance correlation between REF/ALT and FWD/REV (-100 to 100) &lt;br /&gt;
  --minSTR [-100] :  Minimum % strand balance correlation between REF/ALT and FWD/REV (-100 to 100) &lt;br /&gt;
  --maxSTZ [2147483647] : Maximum Z score of the strand bias between REF/ALT and FWD/REV &lt;br /&gt;
  --minSTZ [-2147483648] : Minimum Z score of strand bias between REF/ALT and FWD/REV &lt;br /&gt;
  --maxCBR [100] : Maximum % cycle bias correlation between REF/ALT and read position&lt;br /&gt;
  --minCBR [-100] : Maximum % cycle bias correlation between REF/ALT and read position &lt;br /&gt;
  --maxLQR [100] : Maximum % of low-quality base (0-100) among all reads&lt;br /&gt;
  --maxAOI [2147483647] : Maximum z-score quantifying incorrect calibration of base qualities &lt;br /&gt;
  --maxMQ0 [100] : Maximum % of mapping quality = 0 reads&lt;br /&gt;
  --maxMQ10 [100] : Maximum % of mapping quality &amp;lt;= 10 reads&lt;br /&gt;
  --maxMQ20 [100] : Maximum % of mapping quality &amp;lt;= 20 reads&lt;br /&gt;
  --maxMQ30 [100] : Maximum % of mapping quality &amp;lt;= 30 reads&lt;br /&gt;
  --minFIC [-2147483648] : Minimum % inbreeding coefficient (-100 to 100)&lt;br /&gt;
  --minABE [0] : Minimum % allele balance (0 to 100) based on exact base quality&lt;br /&gt;
  --maxABE [100] : Minimum % allele balance (0 to 100) based on exact base quality&lt;br /&gt;
  --minABZ [-2147483648] : Minimum allele balance z-score based on exact base quality &lt;br /&gt;
  --maxABZ [-2147483648] : Maximum allele balance z-score based on exact base quality &lt;br /&gt;
  --keepFilter : Do not reset the filter, add filter tags to existing filter (default is OFF).&lt;br /&gt;
&lt;br /&gt;
== Upgrading glfMultiples outputs (v 3.3 to v 4.0)  ==&lt;br /&gt;
&lt;br /&gt;
If you have a output from glfMultiples (06-16-2010), you can upgrade the output files using the following command&lt;br /&gt;
&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf-file-from-glfMultiples] --upgrade --out [output-vcf-file]&lt;br /&gt;
&lt;br /&gt;
Upgraded VCFs will have the following improvements.&lt;br /&gt;
&lt;br /&gt;
* The additional tab between FORMAT field and genotype values will be removed, if exists&lt;br /&gt;
* The REF and ALT alleles will be presented as capital letters.&lt;br /&gt;
* The FORMAT field value, GT:GD:GQ will be changed to GT:DP:GQ:PL&lt;br /&gt;
* depth will be changed to DP in the INFO field&lt;br /&gt;
* mapQ will be changed to MQ in the INFO field&lt;br /&gt;
* MAF will be changed to AF (AlleleFrequency) in the INFO field, with proper changes if needed.&lt;br /&gt;
* NS (NumSamples) will be added as a new INFO field&lt;br /&gt;
* AC (AlleleCount) will be added as a new INFO field&lt;br /&gt;
* AN (NumAlleles) will be added as a new INFO field&lt;br /&gt;
* AB (AlleleBalance) will be added as a new INFO field (suggested by Tom Blackwell at [[Genotype_Likelihood_Based_Allele_Balance]])&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
vcfCooker is a result from collaborative effort by Hyun Min Kang, Matthew Flickinger, Matthew Snyder, Paul Anderson, Tom Blackwell, Mary Kate Wing, and Goncalo Abecasis. Please email to Hyun Min Kang [[mailto:hmkang@umich.edu| hmkang@umich.edu ]] for any questions.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=VcfCooker&amp;diff=13886</id>
		<title>VcfCooker</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=VcfCooker&amp;diff=13886"/>
		<updated>2015-10-31T05:50:56Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: add download link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Software|vcfCooker]]&lt;br /&gt;
&lt;br /&gt;
Please see [[GotCloud]] to download vcfCooker. Downloads are [[https://github.com/statgen/gotcloud/releases on github]].&lt;br /&gt;
&lt;br /&gt;
(Updated at 2012/01/20 10:47PM)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vcfCooker&#039;&#039;&#039; is a software that converts VCF/BED file formats in various forms. vcfCooker is currently under development, and will be publicly released soon. The current documentation contains the minimal information of currently working functions.&lt;br /&gt;
&lt;br /&gt;
== Current Binary Location==&lt;br /&gt;
&lt;br /&gt;
Current binary version of vcfCooker is available at /usr/cluster/bin/vcfCooker (as an in-house software).&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
&lt;br /&gt;
 The following parameters are available.  Ones with &amp;quot;[]&amp;quot; are in effect:&lt;br /&gt;
&lt;br /&gt;
 Available Options&lt;br /&gt;
                          Recipes : --write-bed, --write-vcf, --upgrade,&lt;br /&gt;
                                    --summarize, --filter, --subset&lt;br /&gt;
                VCF Input options : --in-vcf []&lt;br /&gt;
                BED Input options : --in-bfile [], --in-bed [], --in-bim [],&lt;br /&gt;
                                    --in-fam [],&lt;br /&gt;
                                    --ref [/data/local/ref/karma.ref/human.g1k.v37.fa]&lt;br /&gt;
               Subsetting options : --in-subset [], --mono-subset,&lt;br /&gt;
                                    --filt-only-subset&lt;br /&gt;
                   Output Options : --out [./vcfCooker], --qGeno,&lt;br /&gt;
                                    --print-every [10000]&lt;br /&gt;
       Output compression Options : --plain [ON], --bgzf, --gzip&lt;br /&gt;
    Genotype-level Filter Options : --minGQ, --minGD&lt;br /&gt;
                   Filter Options : --winIndel, --indelVCF [], --minQUAL,&lt;br /&gt;
                                    --minMQ, --maxDP [2147483647], --minDP,&lt;br /&gt;
                                    --maxABL [100], --winFFRQ, --maxFFRQ,&lt;br /&gt;
                                    --winFVAR, --merFVAR, --maxFVAR, --minNS,&lt;br /&gt;
                                    --maxSTP [2147483647],&lt;br /&gt;
                                    --maxTTT [2147483647],&lt;br /&gt;
                                    --minTTT [-2147483648], --maxSTR [100],&lt;br /&gt;
                                    --minSTR [-100], --maxSTZ [2147483647],&lt;br /&gt;
                                    --minSTZ [-2147483648], --maxCBR [100],&lt;br /&gt;
                                    --minCBR [-100], --maxQBR [100],&lt;br /&gt;
                                    --minQBR [-100], --maxCBZ [2147483647],&lt;br /&gt;
                                    --maxCSR [100], --minCSR [-100],&lt;br /&gt;
                                    --maxLQZ [2147483647],&lt;br /&gt;
                                    --minLQZ [-2147483648],&lt;br /&gt;
                                    --maxRBZ [2147483647],&lt;br /&gt;
                                    --minRBZ [-2147483648],&lt;br /&gt;
                                    --maxIOZ [2147483647],&lt;br /&gt;
                                    --minIOR [-2147483648],&lt;br /&gt;
                                    --maxIOR [2147483647],&lt;br /&gt;
                                    --maxAOZ [2147483647],&lt;br /&gt;
                                    --maxAOI [2147483647], --maxMQ0 [100],&lt;br /&gt;
                                    --maxMQ10 [100], --maxMQ20 [100],&lt;br /&gt;
                                    --minFIC [-2147483648], --minABE [-100],&lt;br /&gt;
                                    --maxABE [100], --maxLQR [100],&lt;br /&gt;
                                    --minMBR [-100], --maxMBR [100],&lt;br /&gt;
                                    --minABZ [-2147483648],&lt;br /&gt;
                                    --maxABZ [2147483647],&lt;br /&gt;
                                    --maxBCS [2147483647], --keepFilter&lt;br /&gt;
&lt;br /&gt;
== Converting between VCF/PLINK file format ==&lt;br /&gt;
In order to convert from VCF to PLINK (binary PED) format, use the following command&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf-file] --out [output-bfile] --write-bed --verbose&lt;br /&gt;
&lt;br /&gt;
This command will convert the file to PLINK format. It will work correctly only on biallelic SNPs.&lt;br /&gt;
&lt;br /&gt;
In order to convert from PLINK (binary PED) format to VCF format, use the following command&lt;br /&gt;
 vcfCooker --in-bfile [input-bfile] --out [output-vcf] --write-vcf --bgzf --verbose &lt;br /&gt;
&lt;br /&gt;
This command will convert PLINK format into VCF format, matching the reference sequence assuming forward strand by default. More specifically&lt;br /&gt;
* If either of the two alleles matches with reference allele, it assumes forward strand and determine REF/ALT&lt;br /&gt;
* Otherwise, it try to see if strand flipping make either allele match to the reference allele. if it does, it flips the strand and determine REF/ALT&lt;br /&gt;
&lt;br /&gt;
 Additional Options Includes&lt;br /&gt;
 --ref [/data/local/ref/karma.ref/human.g1k.v37.fa] : To change the genome reference sequence to compare against&lt;br /&gt;
 --qGeno : Assigns genotype likelihood on the VCF file with fixed quality values (useful for data integration)&lt;br /&gt;
&lt;br /&gt;
== Subsetting the VCF file ==&lt;br /&gt;
&lt;br /&gt;
Suppose that you have the following index file consisting of subset of individuals in the VCF file as [subset-index]&lt;br /&gt;
&lt;br /&gt;
 IND_ID_1  GROUP1,GROUP2,GROUP3&lt;br /&gt;
 IND_ID_2  GROUP2&lt;br /&gt;
 IND_ID_3  GROUP1,GROUP3&lt;br /&gt;
 IND_ID_4  GROUP2,GROUP3&lt;br /&gt;
&lt;br /&gt;
If you run the following command:&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf-file] --out [output-prefix] --verbose --subset --in-subset [subset-index] --bgzf&lt;br /&gt;
&lt;br /&gt;
Will create the following set of files&lt;br /&gt;
 [output-prefix].GROUP1.vcf.gz&lt;br /&gt;
 [output-prefix].GROUP2.vcf.gz&lt;br /&gt;
 [output-prefix].GROUP3.vcf.gz&lt;br /&gt;
&lt;br /&gt;
Where each VCF contains a marker polymorphic only within the group (AC&amp;gt;0). AC and AN fields will be updated reflecting the changes in the subset.&lt;br /&gt;
&lt;br /&gt;
 Additional Options Includes&lt;br /&gt;
 --mono-subset : Includes monomorphic SNPs for the subsetting&lt;br /&gt;
 --filt-only-subset : Use PASS-filter SNPs only for subsetting.&lt;br /&gt;
&lt;br /&gt;
== Genotype-level filtering a VCF file ==&lt;br /&gt;
&lt;br /&gt;
If you want to filter individual genotypes base on genotype quality (GQ field) of genotype depth of (GD field), use either of the following commands&lt;br /&gt;
&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf] --out [output-vcf] --bgzf --minGD [GD_thres] --write-vcf &lt;br /&gt;
 vcfCooker --in-vcf [input-vcf] --out [output-vcf] --bgzf --minGQ [GQ_thres] --write-vcf &lt;br /&gt;
&lt;br /&gt;
This will generate vcf file by changing the genotypes below the threshold to missing (./.), updating the AN and AC entry in the INFO field accordingly&lt;br /&gt;
&lt;br /&gt;
== Site level filtering a VCF file ==&lt;br /&gt;
&lt;br /&gt;
The following options allows filtering a VCF file&lt;br /&gt;
&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf] --out [output-vcf] --bgzf --filter --write-vcf &lt;br /&gt;
&lt;br /&gt;
After filtering the FILTER column updated with a filter tag as combination of key name (uppercase for maximum bound and lowercase for minimum bound) and threshold value. For example, DP10000 means that the site was filtered by the criteria of --maxDP 10000. dp10 means that the site was filtered by --minDP 10.&lt;br /&gt;
&lt;br /&gt;
The following is currently supported filtering criteria (to PASS filters). Other criteria are not rigorously tested, so please use at your own risk&lt;br /&gt;
  --winIndel : Minimum distance with nearby INDELs (--indelVCF must be used together)&lt;br /&gt;
  --indelVCF : VCF file containing the known INDELs&lt;br /&gt;
  --minQUAL : Minimum SNP quality allows&lt;br /&gt;
  --minMQ : Minimum Mapping Quality&lt;br /&gt;
  --maxDP [2147483647] : Maximum Read Depth&lt;br /&gt;
  --minDP : Minimum Read Depth&lt;br /&gt;
  --maxABL [100] : Maximum % allele balance value based on genotype likelihood (formula by Tom Blackwell)&lt;br /&gt;
  --minNS : Minimum # of samples with positive depth&lt;br /&gt;
  --maxSTR [100] :  Maximum % strand balance correlation between REF/ALT and FWD/REV (-100 to 100) &lt;br /&gt;
  --minSTR [-100] :  Minimum % strand balance correlation between REF/ALT and FWD/REV (-100 to 100) &lt;br /&gt;
  --maxSTZ [2147483647] : Maximum Z score of the strand bias between REF/ALT and FWD/REV &lt;br /&gt;
  --minSTZ [-2147483648] : Minimum Z score of strand bias between REF/ALT and FWD/REV &lt;br /&gt;
  --maxCBR [100] : Maximum % cycle bias correlation between REF/ALT and read position&lt;br /&gt;
  --minCBR [-100] : Maximum % cycle bias correlation between REF/ALT and read position &lt;br /&gt;
  --maxLQR [100] : Maximum % of low-quality base (0-100) among all reads&lt;br /&gt;
  --maxAOI [2147483647] : Maximum z-score quantifying incorrect calibration of base qualities &lt;br /&gt;
  --maxMQ0 [100] : Maximum % of mapping quality = 0 reads&lt;br /&gt;
  --maxMQ10 [100] : Maximum % of mapping quality &amp;lt;= 10 reads&lt;br /&gt;
  --maxMQ20 [100] : Maximum % of mapping quality &amp;lt;= 20 reads&lt;br /&gt;
  --maxMQ30 [100] : Maximum % of mapping quality &amp;lt;= 30 reads&lt;br /&gt;
  --minFIC [-2147483648] : Minimum % inbreeding coefficient (-100 to 100)&lt;br /&gt;
  --minABE [0] : Minimum % allele balance (0 to 100) based on exact base quality&lt;br /&gt;
  --maxABE [100] : Minimum % allele balance (0 to 100) based on exact base quality&lt;br /&gt;
  --minABZ [-2147483648] : Minimum allele balance z-score based on exact base quality &lt;br /&gt;
  --maxABZ [-2147483648] : Maximum allele balance z-score based on exact base quality &lt;br /&gt;
  --keepFilter : Do not reset the filter, add filter tags to existing filter (default is OFF).&lt;br /&gt;
&lt;br /&gt;
== Upgrading glfMultiples outputs (v 3.3 to v 4.0)  ==&lt;br /&gt;
&lt;br /&gt;
If you have a output from glfMultiples (06-16-2010), you can upgrade the output files using the following command&lt;br /&gt;
&lt;br /&gt;
 vcfCooker --in-vcf [input-vcf-file-from-glfMultiples] --upgrade --out [output-vcf-file]&lt;br /&gt;
&lt;br /&gt;
Upgraded VCFs will have the following improvements.&lt;br /&gt;
&lt;br /&gt;
* The additional tab between FORMAT field and genotype values will be removed, if exists&lt;br /&gt;
* The REF and ALT alleles will be presented as capital letters.&lt;br /&gt;
* The FORMAT field value, GT:GD:GQ will be changed to GT:DP:GQ:PL&lt;br /&gt;
* depth will be changed to DP in the INFO field&lt;br /&gt;
* mapQ will be changed to MQ in the INFO field&lt;br /&gt;
* MAF will be changed to AF (AlleleFrequency) in the INFO field, with proper changes if needed.&lt;br /&gt;
* NS (NumSamples) will be added as a new INFO field&lt;br /&gt;
* AC (AlleleCount) will be added as a new INFO field&lt;br /&gt;
* AN (NumAlleles) will be added as a new INFO field&lt;br /&gt;
* AB (AlleleBalance) will be added as a new INFO field (suggested by Tom Blackwell at [[Genotype_Likelihood_Based_Allele_Balance]])&lt;br /&gt;
&lt;br /&gt;
== Acknowledgements ==&lt;br /&gt;
&lt;br /&gt;
vcfCooker is a result from collaborative effort by Hyun Min Kang, Matthew Flickinger, Matthew Snyder, Paul Anderson, Tom Blackwell, Mary Kate Wing, and Goncalo Abecasis. Please email to Hyun Min Kang [[mailto:hmkang@umich.edu| hmkang@umich.edu ]] for any questions.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13885</id>
		<title>Releasing GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13885"/>
		<updated>2015-10-29T07:53:53Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
Software for GotCloud is kept in a &#039;&#039;&#039;git&#039;&#039;&#039; repository on &#039;&#039;&#039;github&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We also create a Debian package and tar file for GotCloud.&lt;br /&gt;
&lt;br /&gt;
To release a new version of GotCloud:&lt;br /&gt;
# I recommend creating a new directory:&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd ~/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git clone git@github.com:statgen/gotcloud.git&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd gotcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
# Build the source&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd src&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run the tests, ensure they all succeed&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud align --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud snpcall --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud ldrefine --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud indel --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the version number (if you have not already).&lt;br /&gt;
#* Edit release_version.txt&lt;br /&gt;
#* Commit the new release number&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git add release_version.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git commit -m &amp;quot;Release 1.XX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Push to github&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Checkout latest branch and merge master &amp;amp; push&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout latest&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git merge master&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create and push a release tag&lt;br /&gt;
#: &amp;lt;code&amp;gt;git tag -a gotcloud.1.XX -m &#039;version 1.XX&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git push origin gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create the debian packages&lt;br /&gt;
#* Generate the packages&lt;br /&gt;
#*: &amp;lt;code&amp;gt; ./debian/makedeb.sh bin =&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt; ./debian/makedeb.sh test =&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the release notes on github&lt;br /&gt;
#: On github, login		&lt;br /&gt;
#::Goto Tags, Select &amp;quot;Draft New Release&amp;quot;&lt;br /&gt;
#::* Select the &amp;quot;Tag version&amp;quot; you created&lt;br /&gt;
#::* Fill in the release notes&lt;br /&gt;
# Update wiki release documentation (for full release)&lt;br /&gt;
#* http://genome.sph.umich.edu/wiki/GotCloud:_Versions&lt;br /&gt;
# Send Email to google group (for full release)&lt;br /&gt;
#* gotcloud@googlegroups.com &lt;br /&gt;
#* I usually do it from the groups site as an announcement &amp;amp; post on behalf of GotCloud (I may need to modify your permissions to do this)&lt;br /&gt;
#** https://groups.google.com/forum/?hl=en#!forum/gotcloud&lt;br /&gt;
# Install on mario&lt;br /&gt;
#* In the gotcloud directory where you generated the deb files, run:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;./debian/install_gotcloud_without_root.sh 1.16 /net/mario&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version&lt;br /&gt;
#*: &amp;lt;code&amp;gt;./debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Rename to the version name:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes&lt;br /&gt;
#* gotcloudUsers@umich.edu&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13884</id>
		<title>Releasing GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13884"/>
		<updated>2015-10-29T07:40:31Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
Software for GotCloud is kept in a &#039;&#039;&#039;git&#039;&#039;&#039; repository on &#039;&#039;&#039;github&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We also create a Debian package and tar file for GotCloud.&lt;br /&gt;
&lt;br /&gt;
To release a new version of GotCloud:&lt;br /&gt;
# I recommend creating a new directory:&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd ~/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git clone git@github.com:statgen/gotcloud.git&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd gotcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
# Build the source&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd src&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run the tests, ensure they all succeed&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud align --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud snpcall --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud ldrefine --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud indel --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the version number (if you have not already).&lt;br /&gt;
#* Edit release_version.txt&lt;br /&gt;
#* Commit the new release number&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git add release_version.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git commit -m &amp;quot;Release 1.XX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Push to github&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Checkout latest branch and merge master &amp;amp; push&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout latest&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git merge master&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create and push a release tag&lt;br /&gt;
#: &amp;lt;code&amp;gt;git tag -a gotcloud.1.XX -m &#039;version 1.XX&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git push origin gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create the debian packages&lt;br /&gt;
#* Generate the packages&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh bin =&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh test =&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the release notes on github&lt;br /&gt;
#: On github, login		&lt;br /&gt;
#::Goto Tags, Select &amp;quot;Draft New Release&amp;quot;&lt;br /&gt;
#::* Select the &amp;quot;Tag version&amp;quot; you created&lt;br /&gt;
#::* Fill in the release notes&lt;br /&gt;
# Update wiki release documentation (for full release)&lt;br /&gt;
#* http://genome.sph.umich.edu/wiki/GotCloud:_Versions&lt;br /&gt;
# Send Email to google group (for full release)&lt;br /&gt;
#* gotcloud@googlegroups.com &lt;br /&gt;
#* I usually do it from the groups site as an announcement &amp;amp; post on behalf of GotCloud (I may need to modify your permissions to do this)&lt;br /&gt;
#** https://groups.google.com/forum/?hl=en#!forum/gotcloud&lt;br /&gt;
# Install on mario&lt;br /&gt;
#* In the gotcloud directory where you generated the deb files, run:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Rename to the version name:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes&lt;br /&gt;
#* gotcloudUsers@umich.edu&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13883</id>
		<title>Releasing GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13883"/>
		<updated>2015-10-29T07:38:56Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
Software for GotCloud is kept in a &#039;&#039;&#039;git&#039;&#039;&#039; repository on &#039;&#039;&#039;github&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We also create a Debian package and tar file for GotCloud.&lt;br /&gt;
&lt;br /&gt;
To release a new version of GotCloud:&lt;br /&gt;
# I recommend creating a new directory:&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd ~/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git clone git@github.com:statgen/gotcloud.git&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd gotcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
# Build the source&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd src&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run the tests, ensure they all succeed&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud align --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud snpcall --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud ldrefine --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud indel --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the version number (if you have not already).&lt;br /&gt;
#* Edit release_version.txt&lt;br /&gt;
#* Commit the new release number&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git add release_version.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git commit -m &amp;quot;Release 1.XX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Push to github&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Checkout latest branch and merge master &amp;amp; push&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout latest&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git merge master&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create and push a release tag&lt;br /&gt;
#: &amp;lt;code&amp;gt;git tag -a gotcloud.1.XX -m &#039;version 1.XX&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git push origin gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create the debian packages&lt;br /&gt;
#* Generate the packages&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh bin =&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh test =&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the release notes on github&lt;br /&gt;
#: On github, login		&lt;br /&gt;
#::Goto Tags, Select &amp;quot;Draft New Release&amp;quot;&lt;br /&gt;
#::* Select the &amp;quot;Tag version&amp;quot; you created&lt;br /&gt;
#::* Fill in the release notes&lt;br /&gt;
# Update wiki release documentation (for full release)&lt;br /&gt;
#* http://genome.sph.umich.edu/wiki/GotCloud:_Versions&lt;br /&gt;
# Send Email to google group (for full release)&lt;br /&gt;
#* gotcloud@googlegroups.com &lt;br /&gt;
#* I usually do it from the groups site as an announcement &amp;amp; post on behalf of GotCloud (I may need to modify your permissions to do this)&lt;br /&gt;
#** https://groups.google.com/forum/?hl=en#!forum/gotcloud&lt;br /&gt;
# Install on mario&lt;br /&gt;
#* In the gotcloud directory where you generated the deb files, run:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Rename to the version name:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes&lt;br /&gt;
#* gotcloudUsers@umich.edu&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13882</id>
		<title>Releasing GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13882"/>
		<updated>2015-10-29T07:34:48Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
Software for GotCloud is kept in a &#039;&#039;&#039;git&#039;&#039;&#039; repository on &#039;&#039;&#039;github&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We also create a Debian package and tar file for GotCloud.&lt;br /&gt;
&lt;br /&gt;
To release a new version of GotCloud:&lt;br /&gt;
# I recommend creating a new directory:&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd ~/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git clone git@github.com:statgen/gotcloud.git&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd gotcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
# Build the source&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd src&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run the tests, ensure they all succeed&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud align --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud snpcall --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud ldrefine --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud indel --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the version number (if you have not already).&lt;br /&gt;
#* Edit release_version.txt&lt;br /&gt;
#* Commit the new release number&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git add release_version.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git commit -m &amp;quot;Release 1.XX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Push to github&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Checkout latest branch and merge master &amp;amp; push&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout latest&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git merge master&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create a release tag&lt;br /&gt;
#: &amp;lt;code&amp;gt;git tag -a gotcloud.1.XX -m &#039;version 1.XX&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Push tag&lt;br /&gt;
#: &amp;lt;code&amp;gt; git push origin gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create the debian packages&lt;br /&gt;
#* Generate the packages&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh bin =&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh test =&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the release notes on github&lt;br /&gt;
#: On github, login		&lt;br /&gt;
#::Goto Tags, Select &amp;quot;Draft New Release&amp;quot;&lt;br /&gt;
#::* Select the &amp;quot;Tag version&amp;quot; you created&lt;br /&gt;
#::* Fill in the release notes&lt;br /&gt;
# Update wiki release documentation (for full release)&lt;br /&gt;
#* http://genome.sph.umich.edu/wiki/GotCloud:_Versions&lt;br /&gt;
# Send Email to google group (for full release)&lt;br /&gt;
#* gotcloud@googlegroups.com &lt;br /&gt;
#* I usually do it from the groups site as an announcement &amp;amp; post on behalf of GotCloud (I may need to modify your permissions to do this)&lt;br /&gt;
#** https://groups.google.com/forum/?hl=en#!forum/gotcloud&lt;br /&gt;
# Install on mario&lt;br /&gt;
#* In the gotcloud directory where you generated the deb files, run:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Rename to the version name:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes&lt;br /&gt;
#* gotcloudUsers@umich.edu&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13881</id>
		<title>Releasing GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Releasing_GotCloud&amp;diff=13881"/>
		<updated>2015-10-29T07:29:05Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
Software for GotCloud is kept in a &#039;&#039;&#039;git&#039;&#039;&#039; repository on &#039;&#039;&#039;github&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
We also create a Debian package and tar file for GotCloud.&lt;br /&gt;
&lt;br /&gt;
To release a new version of GotCloud:&lt;br /&gt;
# I recommend creating a new directory:&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd ~/dev&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; git clone git@github.com:statgen/gotcloud.git&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd gotcloud&amp;lt;/code&amp;gt;&lt;br /&gt;
# Build the source&lt;br /&gt;
#: &amp;lt;code&amp;gt; cd src&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt; make&amp;lt;/code&amp;gt;&lt;br /&gt;
# Run the tests, ensure they all succeed&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud align --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud snpcall --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud ldrefine --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;./gotcloud indel --test testDir&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update the version number (if you have not already).&lt;br /&gt;
#* Edit release_version.txt&lt;br /&gt;
#* Commit the new release number&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git add release_version.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git commit -m &amp;quot;Release 1.XX&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Push to github&lt;br /&gt;
#*: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Checkout latest branch and merge master &amp;amp; push&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout latest&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git merge master&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;&lt;br /&gt;
#: &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create a release tag&lt;br /&gt;
#: &amp;lt;code&amp;gt;git tag -a gotcloud.1.XX -m &#039;version 1.XX&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Push tag&lt;br /&gt;
#: &amp;lt;code&amp;gt; git push origin gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Create the debian packages&lt;br /&gt;
#* Generate the packages&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh bin =&amp;lt;/code&amp;gt;&lt;br /&gt;
#*: &amp;lt;code&amp;gt; debian/makedeb.sh test =&amp;lt;/code&amp;gt;&lt;br /&gt;
# Generate the release notes on github&lt;br /&gt;
#: On github, login		&lt;br /&gt;
#::Goto Tags, Select &amp;quot;Draft New Release&amp;quot;&lt;br /&gt;
#::* Select the &amp;quot;Tag version&amp;quot; you created&lt;br /&gt;
#::* Fill in the release notes&lt;br /&gt;
# Update wiki release documentation (for full release)&lt;br /&gt;
#* http://genome.sph.umich.edu/wiki/GotCloud:_Versions&lt;br /&gt;
# Send Email to google group (for full release)&lt;br /&gt;
#* gotcloud@googlegroups.com &lt;br /&gt;
#* I usually do it from the groups site as an announcement &amp;amp; post on behalf of GotCloud (I may need to modify your permissions to do this)&lt;br /&gt;
#** https://groups.google.com/forum/?hl=en#!forum/gotcloud&lt;br /&gt;
# Install on mario&lt;br /&gt;
#* In the gotcloud directory where you generated the deb files, run:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Install the latest gotcloud in the gotcloud.old directory (named by version) so someone can run a specific version&lt;br /&gt;
#*: &amp;lt;code&amp;gt;debian/install_gotcloud_without_root.sh 1.16 /net/mario/gotcloud.old&amp;lt;/code&amp;gt;&lt;br /&gt;
#* Rename to the version name:&lt;br /&gt;
#*: &amp;lt;code&amp;gt;mv /net/mario/gotcloud.old/gotcloud /net/mario/gotcloud.old/gotcloud.1.XX&amp;lt;/code&amp;gt;&lt;br /&gt;
# Send email to csg group to inform them of the newly installed version on the cluster and of any relevant changes&lt;br /&gt;
#* gotcloudUsers@umich.edu&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=BamUtil:_clipOverlap&amp;diff=13879</id>
		<title>BamUtil: clipOverlap</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=BamUtil:_clipOverlap&amp;diff=13879"/>
		<updated>2015-10-27T22:11:57Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Overview of the clipOverlap function of bamUtil */  grammar/usage.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:BamUtil|clipOverlap]]&lt;br /&gt;
[[Category:BAM Software]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
= Overview of the &amp;lt;code&amp;gt;clipOverlap&amp;lt;/code&amp;gt; function of &amp;lt;code&amp;gt;bamUtil&amp;lt;/code&amp;gt; =&lt;br /&gt;
The &amp;lt;code&amp;gt;clipOverlap&amp;lt;/code&amp;gt; option on the [[bamUtil]] executable clips overlapping read pairs.&lt;br /&gt;
&lt;br /&gt;
The input file and resulting output file are sorted by coordinate (or readName if specified in the options).&lt;br /&gt;
&lt;br /&gt;
When a read is clipped from the front:&lt;br /&gt;
* the read start position is updated to reflect the clipping.&lt;br /&gt;
* the mate&#039;s mate start position is updated to reflect the record&#039;s new position.&lt;br /&gt;
* the record is placed in the output file in the correct location based on the updated position.&lt;br /&gt;
&lt;br /&gt;
To handle coordinate-sorted files, SAM/BAM records are buffered up until it is known that all following records will have a later start position.  To prevent the program from running away with memory, a limit is set to the number of records that can be buffered, see [[#Set the SAM/BAMs record buffer size (--poolSize)|&amp;lt;code&amp;gt;--poolSize&amp;lt;/code&amp;gt;]] for more information.&lt;br /&gt;
&lt;br /&gt;
When two mates overlap, this tool will clip the record&#039;s whose clipped region would have the lowest average quality.&lt;br /&gt;
&lt;br /&gt;
It also checks strand. If a forward strand extends past the end of a reverse strand, that will be clipped.  Similarly, if a reverse strand starts before the forward strand, the region prior to the forward strand will be clipped. If the reverse strand occurs entirely before the forward strand, both strands will be entirely clipped.  If the [[#Mark entirely clipped reads as unmapped (--unmapped)|&amp;lt;code&amp;gt;--unmapped&amp;lt;/code&amp;gt;]] option is specified, then rather than clipping an entire read, it will be marked as unmapped.&lt;br /&gt;
&lt;br /&gt;
The qualities on the two strands remain unchanged even with clipping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ASSUMPTIONS/RESTRICTIONS ==&lt;br /&gt;
&lt;br /&gt;
*Assumes the file is sorted by Coordinate (or ReadName if using &amp;lt;code&amp;gt;--readName&amp;lt;/code&amp;gt; option)&lt;br /&gt;
*Assumes only 2 reads have matching ReadNames&lt;br /&gt;
**It matches in pairs, so if there are 3, the first 2 will be matched and compared, but the 3rd won&#039;t.  If there are 4, the first 2 will be matched and the last 2 will be matched and compared.&lt;br /&gt;
*Only mapped reads will be clipped&lt;br /&gt;
*Assumes that mate information in records are accurate&lt;br /&gt;
&lt;br /&gt;
= Rules for Clipping =&lt;br /&gt;
&lt;br /&gt;
== Clipping from the front==&lt;br /&gt;
The first operation after the softclip will be a Match/Mismatch, meaning that any trailing pads, deletions, insertions, or skips will also be soft clipped.&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Clip Location !! How it is handled&lt;br /&gt;
|-&lt;br /&gt;
|If the clip position falls in a skip/deletion&lt;br /&gt;
| Removes the entire skip/deletion&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately after the clip is a skip/deletion&lt;br /&gt;
| Also removes the skip/deletion&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately after the clip is an Insert&lt;br /&gt;
| Softclips the insert&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately after the clip is a Pad&lt;br /&gt;
| Removes the pad&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs at the last match/mismatch position of the read (the entire read is clipped)&lt;br /&gt;
| Entire read is soft clipped, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs after the read ends&lt;br /&gt;
| Entire read is soft clipped, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs before the read starts&lt;br /&gt;
| Nothing is clipped.  The read is not changed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Clipping from the back==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Clip Location !! How it is handled&lt;br /&gt;
|-&lt;br /&gt;
|If the clip position falls in a skip/deletion&lt;br /&gt;
| Removes the entire skip/deletion&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately before the clip is a deletion/skip/pad&lt;br /&gt;
| Remove the deletion/skip/pad&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately before the clip is an insertion&lt;br /&gt;
| Leave the insertion, even if it results in a 70M3I27S&lt;br /&gt;
|-&lt;br /&gt;
|Clip occurs at the first position of the read (the entire read is clipped)&lt;br /&gt;
| Entire read is soft clipped, preceding insertions remain, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs before the read starts&lt;br /&gt;
| Entire read is soft clipped, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs after the read ends&lt;br /&gt;
| Nothing is clipped.  The read is not changed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
 ./bam clipOverlap --in &amp;lt;inputFile&amp;gt; --out &amp;lt;outputFile&amp;gt; [--storeOrig &amp;lt;tag&amp;gt;] [--readName] [--stats] [--overlapsOnly] [--excludeFlags &amp;lt;flag&amp;gt;] [--poolSize &amp;lt;numRecords allowed to allocate&amp;gt;] [--poolSkipOverlap] [--noeof] [--params]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	Required Parameters:&lt;br /&gt;
		--in           : the SAM/BAM file to clip overlaping read pairs for&lt;br /&gt;
		--out          : the SAM/BAM file to be written&lt;br /&gt;
	Optional Parameters:&lt;br /&gt;
		--storeOrig    : Store the original cigar in the specified tag.&lt;br /&gt;
		--readName     : Original file is sorted by Read Name instead of coordinate.&lt;br /&gt;
		--stats        : Print some statistics on the overlaps.&lt;br /&gt;
		--overlapsOnly : Only output overlapping read pairs&lt;br /&gt;
		--excludeFlags : Skip records with any of the specified flags set, default 0x70C&lt;br /&gt;
                --unmapped     : Mark records that would be completely clipped as unmapped&lt;br /&gt;
 		--noeof        : Do not expect an EOF block on a bam file.&lt;br /&gt;
		--params       : Print the parameter settings to stderr&lt;br /&gt;
	Clipping By Coordinate Optional Parameters:&lt;br /&gt;
		--poolSize     : Maximum number of records the program is allowed to allocate&lt;br /&gt;
		                 for clipping on Coordinate sorted files. (Default: 1000000)&lt;br /&gt;
		--poolSkipClip : Skip clipping reads to free of usable records when the&lt;br /&gt;
		                 poolSize is hit. The default action is to just clip the&lt;br /&gt;
		                 first read in a pair to free up the record.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{PhoneHomeParamDesc}}&lt;br /&gt;
&lt;br /&gt;
== Required Parameters==&lt;br /&gt;
{{inBAMInputFile}}&lt;br /&gt;
{{outBAMOutputFile}}&lt;br /&gt;
&lt;br /&gt;
== Optional Parameters ==&lt;br /&gt;
=== Store the original cigar string in a tag (&amp;lt;code&amp;gt;--storeOrig&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;--storeOrig&amp;lt;/code&amp;gt; followed by the two character TAG to store the original CIGAR.&lt;br /&gt;
&lt;br /&gt;
It will be stored with the specified tag as a &amp;quot;Z&amp;quot; tag type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Work on SAM/BAMs sorted by Read Name instead of by coordinate (&amp;lt;code&amp;gt;--readName&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
If your file is sorted by read name rather than by coordinate, specify &amp;lt;code&amp;gt;--readName&amp;lt;/code&amp;gt;.  The resulting file will still be sorted by read name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Print Overlap Statistics (&amp;lt;code&amp;gt;--stats&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Print some basic overlap statistics to stderr.&lt;br /&gt;
&lt;br /&gt;
Output values&lt;br /&gt;
* count of the number of overlapping pairs that are clipped&lt;br /&gt;
* average of the number of overlapping reference bases that are clipped&lt;br /&gt;
* variance of the number of overlapping reference bases that are clipped&lt;br /&gt;
* number of times the forward strand is clipped when read pairs overlap&lt;br /&gt;
* number of times the reverse strand is clipped when read pairs overlap&lt;br /&gt;
* number of times the orientation causes clipping/additional clipping&lt;br /&gt;
** reads that are only clipped due to orientation are not counted in the other stats&lt;br /&gt;
&lt;br /&gt;
==== Example Output ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Overlap Statistics:&lt;br /&gt;
Number of overlapping pairs: 14&lt;br /&gt;
Average # Reference Bases Overlapped: 18.3571&lt;br /&gt;
Variance of Reference Bases overlapped: 39.1703&lt;br /&gt;
Number of times the forward strand was clipped: 6&lt;br /&gt;
Number of times the reverse strand was clipped: 8&lt;br /&gt;
Number of times orientation causes additional clipping: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Print Only Overlaping Reads (&amp;lt;code&amp;gt;--overlapsOnly&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Only output Read Pairs that overlap.  Drop all other records.&lt;br /&gt;
&lt;br /&gt;
=== Skip Records with any of the Specified Flags (&amp;lt;code&amp;gt;--excludeFlags&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Skip records with any of the specified flags set, default 0x70C&lt;br /&gt;
&lt;br /&gt;
By default skips reads with any of the following flags set:&lt;br /&gt;
* unmapped&lt;br /&gt;
* mate unmapped&lt;br /&gt;
* secondary alignment&lt;br /&gt;
* fails QC checks&lt;br /&gt;
* duplicate&lt;br /&gt;
&lt;br /&gt;
This parameter was added in version 1.0.10.&lt;br /&gt;
&lt;br /&gt;
=== Mark entirely clipped reads as unmapped (&amp;lt;code&amp;gt;--unmapped&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Specify this option if instead of marking reads as entirely clipped, mark them as unmapped.&lt;br /&gt;
&lt;br /&gt;
When marking a read as unmapped, it will:&lt;br /&gt;
* Set CIGAR to 0&lt;br /&gt;
* Set MapQ to 0&lt;br /&gt;
* Clear N/A flag fields:&lt;br /&gt;
** Proper pair&lt;br /&gt;
** Secondary Alignment&lt;br /&gt;
** Supplementary Alignment&lt;br /&gt;
* Update the Mate&#039;s flag to indicate:&lt;br /&gt;
** Mate Unmapped&lt;br /&gt;
** Not proper pair&lt;br /&gt;
&lt;br /&gt;
{{noeofBGZFParameter}}&lt;br /&gt;
{{paramsParameter}}&lt;br /&gt;
&lt;br /&gt;
==Clipping By Coordinate Optional Parameters==&lt;br /&gt;
=== Set the SAM/BAMs record buffer size (&amp;lt;code&amp;gt;--poolSize&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
To handle coordinate sorted files, SAM/BAM records are buffered until it is known that all following records will have a later start position.  To prevent the program from running away with memory, a limit is set to the number of records that can be buffered (defaults to 1000000).&lt;br /&gt;
&lt;br /&gt;
If the poolSize is exhausted, the code will write the earliest record awaiting its overlapping mate and any previous records that are being buffered.&lt;br /&gt;
&lt;br /&gt;
Depending on whether or not &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; is set, it will either, clip the end of the read at the position where the mate is supposed to start or it will not clip either read.  An error message is written to stderr to indicate that one of these has happened and an unsuccessful return value is returned (2: NO_MORE_RECS).&lt;br /&gt;
&lt;br /&gt;
The resulting file will still be sorted by coordinate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skip Clipping Coordinate Sorted Files When Out of Records (&amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
When clipping coordinate sorted SAM/BAM files, we can run out of buffers available in the pool (&amp;lt;code&amp;gt;--poolSize&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
By default when we run out of pooled records, we can no longer read in new records, so instead we release some of the stored records.  We do this by dropping the first record that is being held awaiting its mate.&lt;br /&gt;
&lt;br /&gt;
This record can either be:&lt;br /&gt;
* Clipped starting at its mate&#039;s start position until the end of the read (DEFAULT)&lt;br /&gt;
* Left as is with no clipping, leaving the mates mates overlapping (specify &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
With either option, the resulting file will still be sorted by coordinate.&lt;br /&gt;
&lt;br /&gt;
{{PhoneHomeParameters}}&lt;br /&gt;
&lt;br /&gt;
= Return Value =&lt;br /&gt;
&lt;br /&gt;
Returns -1 if input parameters are invalid.&lt;br /&gt;
&lt;br /&gt;
Returns the SamStatus for the reads/writes (0 for success, non-0 for failure).&lt;br /&gt;
&lt;br /&gt;
Returns SamStatus::NO_MORE_RECS, 2, if it was clipping files sorted by coordinate and it ran out of records in the pool so had to clip based on the &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; setting.&lt;br /&gt;
&lt;br /&gt;
= Output =&lt;br /&gt;
&lt;br /&gt;
All status messages are written to stderr.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Situation !! Sorted Type !! Output Message&lt;br /&gt;
|-&lt;br /&gt;
| Everything ran successfully&lt;br /&gt;
| ReadName/Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Completed ClipOverlap Successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Failed to allocate any records&lt;br /&gt;
| ReadName/Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Failed to allocate any records.&lt;br /&gt;
 Failed to complete ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Error writing a record&lt;br /&gt;
| ReadName&lt;br /&gt;
|&lt;br /&gt;
 Failed to complete ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Expected pair to overlap, but 2nd read was not found in the specified position (may be combined with output for running out of pooled records)&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Failed to find expected overlapping mates for XX records.&lt;br /&gt;
 Completed ClipOverlap Successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Ran out of pooled Records with &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; setting&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Due to hitting the max record poolSize, had to skip clipping XX records.&lt;br /&gt;
 Completed ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Ran out of pooled Records without &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; setting&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Due to hitting the max record poolSize, had to default clip XX records.&lt;br /&gt;
 Completed ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Any other error&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Failed to complete ClipOverlap.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example Output == &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Failed to find expected overlapping mates for 2 records.&lt;br /&gt;
Due to hitting the max record poolSize, had to default clip 9 records.&lt;br /&gt;
Completed ClipOverlap.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=BamUtil:_clipOverlap&amp;diff=13878</id>
		<title>BamUtil: clipOverlap</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=BamUtil:_clipOverlap&amp;diff=13878"/>
		<updated>2015-10-27T22:08:15Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Overview of the clipOverlap function of bamUtil */  Fix broken link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:BamUtil|clipOverlap]]&lt;br /&gt;
[[Category:BAM Software]]&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
= Overview of the &amp;lt;code&amp;gt;clipOverlap&amp;lt;/code&amp;gt; function of &amp;lt;code&amp;gt;bamUtil&amp;lt;/code&amp;gt; =&lt;br /&gt;
The &amp;lt;code&amp;gt;clipOverlap&amp;lt;/code&amp;gt; option on the [[bamUtil]] executable clips overlapping read pairs.&lt;br /&gt;
&lt;br /&gt;
The input file and resulting output file is sorted by coordinate (or readName if specified in the options).&lt;br /&gt;
&lt;br /&gt;
When a read is clipped from the front:&lt;br /&gt;
* the read start position is updated to reflect the clipping&lt;br /&gt;
* the mate&#039;s mate start position is updated to reflect the record&#039;s new position.&lt;br /&gt;
* the record is placed in the output file in the correct location based on the updated position.&lt;br /&gt;
&lt;br /&gt;
To handle coordinate sorted files, SAM/BAM records are buffered up until it is known that all following records will have a later start position.  To prevent the program from running away with memory, a limit is set to the number of records that can be buffered, see [[#Set the SAM/BAMs record buffer size (--poolSize)|&amp;lt;code&amp;gt;--poolSize&amp;lt;/code&amp;gt;]] for more information.&lt;br /&gt;
&lt;br /&gt;
When two mates overlap, this tool will clip the record&#039;s whose clipped region would has the lowest average quality.&lt;br /&gt;
&lt;br /&gt;
It also checks strand. If a forward strand extends past the end of a reverse strand, that will be clipped.  Similarly, if a reverse strand starts before the forward strand, the region prior to the forward strand will be clipped. If the reverse strand occurs entirely before the forward strand, both strands will be entirely clipped.  If the [[#Mark entirely clipped reads as unmapped (--unmapped)|&amp;lt;code&amp;gt;--unmapped&amp;lt;/code&amp;gt;]] option is specified rather than clipping an entire read, it will be marked as unmapped.&lt;br /&gt;
&lt;br /&gt;
The qualities on the two strands remain unchanged even with clipping.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ASSUMPTIONS/RESTRICTIONS ==&lt;br /&gt;
&lt;br /&gt;
*Assumes the file is sorted by Coordinate (or ReadName if using &amp;lt;code&amp;gt;--readName&amp;lt;/code&amp;gt; option)&lt;br /&gt;
*Assumes only 2 reads have matching ReadNames&lt;br /&gt;
**It matches in pairs, so if there are 3, the first 2 will be matched and compared, but the 3rd won&#039;t.  If there are 4, the first 2 will be matched and the last 2 will be matched and compared.&lt;br /&gt;
*Only mapped reads will be clipped&lt;br /&gt;
*Mate information in records are accurate&lt;br /&gt;
&lt;br /&gt;
= Rules for Clipping =&lt;br /&gt;
&lt;br /&gt;
== Clipping from the front==&lt;br /&gt;
The first operation after the softclip will be a Match/Mismatch, meaning that any trailing pads, deletions, insertions, or skips will also be soft clipped.&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Clip Location !! How it is handled&lt;br /&gt;
|-&lt;br /&gt;
|If the clip position falls in a skip/deletion&lt;br /&gt;
| Removes the entire skip/deletion&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately after the clip is a skip/deletion&lt;br /&gt;
| Also removes the skip/deletion&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately after the clip is an Insert&lt;br /&gt;
| Softclips the insert&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately after the clip is a Pad&lt;br /&gt;
| Removes the pad&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs at the last match/mismatch position of the read (the entire read is clipped)&lt;br /&gt;
| Entire read is soft clipped, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs after the read ends&lt;br /&gt;
| Entire read is soft clipped, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs before the read starts&lt;br /&gt;
| Nothing is clipped.  The read is not changed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Clipping from the back==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Clip Location !! How it is handled&lt;br /&gt;
|-&lt;br /&gt;
|If the clip position falls in a skip/deletion&lt;br /&gt;
| Removes the entire skip/deletion&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately before the clip is a deletion/skip/pad&lt;br /&gt;
| Remove the deletion/skip/pad&lt;br /&gt;
|-&lt;br /&gt;
|If the position immediately before the clip is an insertion&lt;br /&gt;
| Leave the insertion, even if it results in a 70M3I27S&lt;br /&gt;
|-&lt;br /&gt;
|Clip occurs at the first position of the read (the entire read is clipped)&lt;br /&gt;
| Entire read is soft clipped, preceding insertions remain, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs before the read starts&lt;br /&gt;
| Entire read is soft clipped, 0-based position is left as the original (not modified)&lt;br /&gt;
|-&lt;br /&gt;
| Clip occurs after the read ends&lt;br /&gt;
| Nothing is clipped.  The read is not changed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Usage =&lt;br /&gt;
 ./bam clipOverlap --in &amp;lt;inputFile&amp;gt; --out &amp;lt;outputFile&amp;gt; [--storeOrig &amp;lt;tag&amp;gt;] [--readName] [--stats] [--overlapsOnly] [--excludeFlags &amp;lt;flag&amp;gt;] [--poolSize &amp;lt;numRecords allowed to allocate&amp;gt;] [--poolSkipOverlap] [--noeof] [--params]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Parameters =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	Required Parameters:&lt;br /&gt;
		--in           : the SAM/BAM file to clip overlaping read pairs for&lt;br /&gt;
		--out          : the SAM/BAM file to be written&lt;br /&gt;
	Optional Parameters:&lt;br /&gt;
		--storeOrig    : Store the original cigar in the specified tag.&lt;br /&gt;
		--readName     : Original file is sorted by Read Name instead of coordinate.&lt;br /&gt;
		--stats        : Print some statistics on the overlaps.&lt;br /&gt;
		--overlapsOnly : Only output overlapping read pairs&lt;br /&gt;
		--excludeFlags : Skip records with any of the specified flags set, default 0x70C&lt;br /&gt;
                --unmapped     : Mark records that would be completely clipped as unmapped&lt;br /&gt;
 		--noeof        : Do not expect an EOF block on a bam file.&lt;br /&gt;
		--params       : Print the parameter settings to stderr&lt;br /&gt;
	Clipping By Coordinate Optional Parameters:&lt;br /&gt;
		--poolSize     : Maximum number of records the program is allowed to allocate&lt;br /&gt;
		                 for clipping on Coordinate sorted files. (Default: 1000000)&lt;br /&gt;
		--poolSkipClip : Skip clipping reads to free of usable records when the&lt;br /&gt;
		                 poolSize is hit. The default action is to just clip the&lt;br /&gt;
		                 first read in a pair to free up the record.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{PhoneHomeParamDesc}}&lt;br /&gt;
&lt;br /&gt;
== Required Parameters==&lt;br /&gt;
{{inBAMInputFile}}&lt;br /&gt;
{{outBAMOutputFile}}&lt;br /&gt;
&lt;br /&gt;
== Optional Parameters ==&lt;br /&gt;
=== Store the original cigar string in a tag (&amp;lt;code&amp;gt;--storeOrig&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;--storeOrig&amp;lt;/code&amp;gt; followed by the two character TAG to store the original CIGAR.&lt;br /&gt;
&lt;br /&gt;
It will be stored with the specified tag as a &amp;quot;Z&amp;quot; tag type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Work on SAM/BAMs sorted by Read Name instead of by coordinate (&amp;lt;code&amp;gt;--readName&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
If your file is sorted by read name rather than by coordinate, specify &amp;lt;code&amp;gt;--readName&amp;lt;/code&amp;gt;.  The resulting file will still be sorted by read name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Print Overlap Statistics (&amp;lt;code&amp;gt;--stats&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Print some basic overlap statistics to stderr.&lt;br /&gt;
&lt;br /&gt;
Output values&lt;br /&gt;
* count of the number of overlapping pairs that are clipped&lt;br /&gt;
* average of the number of overlapping reference bases that are clipped&lt;br /&gt;
* variance of the number of overlapping reference bases that are clipped&lt;br /&gt;
* number of times the forward strand is clipped when read pairs overlap&lt;br /&gt;
* number of times the reverse strand is clipped when read pairs overlap&lt;br /&gt;
* number of times the orientation causes clipping/additional clipping&lt;br /&gt;
** reads that are only clipped due to orientation are not counted in the other stats&lt;br /&gt;
&lt;br /&gt;
==== Example Output ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Overlap Statistics:&lt;br /&gt;
Number of overlapping pairs: 14&lt;br /&gt;
Average # Reference Bases Overlapped: 18.3571&lt;br /&gt;
Variance of Reference Bases overlapped: 39.1703&lt;br /&gt;
Number of times the forward strand was clipped: 6&lt;br /&gt;
Number of times the reverse strand was clipped: 8&lt;br /&gt;
Number of times orientation causes additional clipping: 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Print Only Overlaping Reads (&amp;lt;code&amp;gt;--overlapsOnly&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Only output Read Pairs that overlap.  Drop all other records.&lt;br /&gt;
&lt;br /&gt;
=== Skip Records with any of the Specified Flags (&amp;lt;code&amp;gt;--excludeFlags&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Skip records with any of the specified flags set, default 0x70C&lt;br /&gt;
&lt;br /&gt;
By default skips reads with any of the following flags set:&lt;br /&gt;
* unmapped&lt;br /&gt;
* mate unmapped&lt;br /&gt;
* secondary alignment&lt;br /&gt;
* fails QC checks&lt;br /&gt;
* duplicate&lt;br /&gt;
&lt;br /&gt;
This parameter was added in version 1.0.10.&lt;br /&gt;
&lt;br /&gt;
=== Mark entirely clipped reads as unmapped (&amp;lt;code&amp;gt;--unmapped&amp;lt;/code&amp;gt;)===&lt;br /&gt;
Specify this option if instead of marking reads as entirely clipped, mark them as unmapped.&lt;br /&gt;
&lt;br /&gt;
When marking a read as unmapped, it will:&lt;br /&gt;
* Set CIGAR to 0&lt;br /&gt;
* Set MapQ to 0&lt;br /&gt;
* Clear N/A flag fields:&lt;br /&gt;
** Proper pair&lt;br /&gt;
** Secondary Alignment&lt;br /&gt;
** Supplementary Alignment&lt;br /&gt;
* Update the Mate&#039;s flag to indicate:&lt;br /&gt;
** Mate Unmapped&lt;br /&gt;
** Not proper pair&lt;br /&gt;
&lt;br /&gt;
{{noeofBGZFParameter}}&lt;br /&gt;
{{paramsParameter}}&lt;br /&gt;
&lt;br /&gt;
==Clipping By Coordinate Optional Parameters==&lt;br /&gt;
=== Set the SAM/BAMs record buffer size (&amp;lt;code&amp;gt;--poolSize&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
To handle coordinate sorted files, SAM/BAM records are buffered until it is known that all following records will have a later start position.  To prevent the program from running away with memory, a limit is set to the number of records that can be buffered (defaults to 1000000).&lt;br /&gt;
&lt;br /&gt;
If the poolSize is exhausted, the code will write the earliest record awaiting its overlapping mate and any previous records that are being buffered.&lt;br /&gt;
&lt;br /&gt;
Depending on whether or not &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; is set, it will either, clip the end of the read at the position where the mate is supposed to start or it will not clip either read.  An error message is written to stderr to indicate that one of these has happened and an unsuccessful return value is returned (2: NO_MORE_RECS).&lt;br /&gt;
&lt;br /&gt;
The resulting file will still be sorted by coordinate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Skip Clipping Coordinate Sorted Files When Out of Records (&amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt;) ===&lt;br /&gt;
&lt;br /&gt;
When clipping coordinate sorted SAM/BAM files, we can run out of buffers available in the pool (&amp;lt;code&amp;gt;--poolSize&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
By default when we run out of pooled records, we can no longer read in new records, so instead we release some of the stored records.  We do this by dropping the first record that is being held awaiting its mate.&lt;br /&gt;
&lt;br /&gt;
This record can either be:&lt;br /&gt;
* Clipped starting at its mate&#039;s start position until the end of the read (DEFAULT)&lt;br /&gt;
* Left as is with no clipping, leaving the mates mates overlapping (specify &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
With either option, the resulting file will still be sorted by coordinate.&lt;br /&gt;
&lt;br /&gt;
{{PhoneHomeParameters}}&lt;br /&gt;
&lt;br /&gt;
= Return Value =&lt;br /&gt;
&lt;br /&gt;
Returns -1 if input parameters are invalid.&lt;br /&gt;
&lt;br /&gt;
Returns the SamStatus for the reads/writes (0 for success, non-0 for failure).&lt;br /&gt;
&lt;br /&gt;
Returns SamStatus::NO_MORE_RECS, 2, if it was clipping files sorted by coordinate and it ran out of records in the pool so had to clip based on the &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; setting.&lt;br /&gt;
&lt;br /&gt;
= Output =&lt;br /&gt;
&lt;br /&gt;
All status messages are written to stderr.&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
! Situation !! Sorted Type !! Output Message&lt;br /&gt;
|-&lt;br /&gt;
| Everything ran successfully&lt;br /&gt;
| ReadName/Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Completed ClipOverlap Successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Failed to allocate any records&lt;br /&gt;
| ReadName/Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Failed to allocate any records.&lt;br /&gt;
 Failed to complete ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Error writing a record&lt;br /&gt;
| ReadName&lt;br /&gt;
|&lt;br /&gt;
 Failed to complete ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Expected pair to overlap, but 2nd read was not found in the specified position (may be combined with output for running out of pooled records)&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Failed to find expected overlapping mates for XX records.&lt;br /&gt;
 Completed ClipOverlap Successfully.&lt;br /&gt;
|-&lt;br /&gt;
| Ran out of pooled Records with &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; setting&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Due to hitting the max record poolSize, had to skip clipping XX records.&lt;br /&gt;
 Completed ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Ran out of pooled Records without &amp;lt;code&amp;gt;--poolSkipClip&amp;lt;/code&amp;gt; setting&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Due to hitting the max record poolSize, had to default clip XX records.&lt;br /&gt;
 Completed ClipOverlap.&lt;br /&gt;
|-&lt;br /&gt;
| Any other error&lt;br /&gt;
| Coordinate&lt;br /&gt;
|&lt;br /&gt;
 Failed to complete ClipOverlap.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example Output == &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Failed to find expected overlapping mates for 2 records.&lt;br /&gt;
Due to hitting the max record poolSize, had to default clip 9 records.&lt;br /&gt;
Completed ClipOverlap.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:SeqShop:_Sequence_Mapping_and_Assembly_Practical,_May_2015&amp;diff=13777</id>
		<title>Talk:SeqShop: Sequence Mapping and Assembly Practical, May 2015</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:SeqShop:_Sequence_Mapping_and_Assembly_Practical,_May_2015&amp;diff=13777"/>
		<updated>2015-10-02T16:55:14Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: remove idea as impractical because of samtools, tabix, svtoolkit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Talk:SeqShop:_Sequence_Mapping_and_Assembly_Practical,_May_2015&amp;diff=13774</id>
		<title>Talk:SeqShop: Sequence Mapping and Assembly Practical, May 2015</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Talk:SeqShop:_Sequence_Mapping_and_Assembly_Practical,_May_2015&amp;diff=13774"/>
		<updated>2015-09-28T17:09:08Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: Created page with &amp;quot;TODO: put `gotcloud` into the path and remove the variable `$GC`.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TODO: put `gotcloud` into the path and remove the variable `$GC`.&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=SAM&amp;diff=13726</id>
		<title>SAM</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=SAM&amp;diff=13726"/>
		<updated>2015-09-11T20:10:24Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* What Information Does SAM/BAM Have for an Alignment */ turn text to link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is SAM ==&lt;br /&gt;
The &#039;&#039;&#039;SAM Format&#039;&#039;&#039; is a text format for storing sequence data in a series of tab delimited ASCII columns. &lt;br /&gt;
&lt;br /&gt;
Most often it is generated as a human readable version of its sister [[BAM]] format, which stores the same data in a compressed, indexed, binary form. &lt;br /&gt;
&lt;br /&gt;
Currently, most SAM format data is output from aligners that read FASTQ files and assign the sequences to a position with respect to a known reference genome.  In the future, SAM will also be used to archive unaligned sequence data generated directly from sequencing machines.&lt;br /&gt;
&lt;br /&gt;
The current definition of the format is at [[http://samtools.sourceforge.net/SAM1.pdf BAM/SAM Specification]].&lt;br /&gt;
&lt;br /&gt;
If you are writing software to read SAM or BAM data, our C++ [[C++ Library: libStatGen|libStatGen]] is a good resource to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What Information is in SAM &amp;amp; BAM ==&lt;br /&gt;
SAM files and BAM files contain the same information, but in a different format.  Refer to the specs to see a format description.&lt;br /&gt;
&lt;br /&gt;
Both SAM &amp;amp; BAM files contain an optional header section followed by the alignment section.&lt;br /&gt;
&lt;br /&gt;
The header section may contain information about the entire file and additional information for alignments.  The alignments then associate themselves with specific header information.&lt;br /&gt;
&lt;br /&gt;
The alignment section contains the information for each sequence about where/how it aligns to the reference genome.&lt;br /&gt;
&lt;br /&gt;
=== What Information Does SAM/BAM Have for an Alignment ===&lt;br /&gt;
Each Alignment has:&lt;br /&gt;
* query name, QNAME (SAM)/read_name (BAM).  It is used to group/identify alignments that are together, like paired alignments or a read that appears in multiple alignments.&lt;br /&gt;
* a bitwise set of information describing the alignment, FLAG.  Provides the following information:&lt;br /&gt;
** are there multiple fragments?&lt;br /&gt;
** are all fragments properly aligned?&lt;br /&gt;
** is this fragment unmapped?&lt;br /&gt;
** is the next fragment unmapped?&lt;br /&gt;
** is this query the reverse strand?&lt;br /&gt;
** is the next fragment the reverse strand?&lt;br /&gt;
** is this the 1st fragment?&lt;br /&gt;
** is this the last fragment?&lt;br /&gt;
** is this a secondary alignment?&lt;br /&gt;
** did this read fail quality controls?&lt;br /&gt;
** is this read a PCR or optical duplicate?&lt;br /&gt;
&lt;br /&gt;
Not all alignments contain The rest of the alignment fields may be set to default values if the information is unknown.&lt;br /&gt;
* reference sequence name, RNAME, often contains the Chromosome name.  &lt;br /&gt;
* leftmost position of where this alignment maps to the reference, POS.  For SAM, the reference starts at 1, so this value is 1-based, while for BAM the reference starts at 0,so this value is 0-based.  Beware to always use the correct base when referencing positions.&lt;br /&gt;
* mapping quality, MAPQ, which contains the &amp;quot;phred-scaled posterior probability that the mapping position&amp;quot; is wrong. (see [[http://samtools.sourceforge.net/SAM1.pdf]])&lt;br /&gt;
* string indicating alignment information that allows the storing of clipped, [[SAM#What is a CIGAR?|CIGAR]]&lt;br /&gt;
* the reference sequence name of the next alignment in this group, MRNM or RNEXT.  In paired alignments, it is the mate&#039;s reference sequence name. (A group is alignments with the same query name.)&lt;br /&gt;
* leftmost position of where the next alignment in this group maps to the reference, MPOS or PNEXT.  For SAM, the reference starts at 1, so this value is 1-based, while for BAM the reference starts at 0,so this value is 0-based.  Beware to always use the correct base when referencing positions.&lt;br /&gt;
* length of this group from the leftmost position to the rightmost position, ISIZE or TLEN&lt;br /&gt;
* the query sequence for this alignment, SEQ&lt;br /&gt;
* the query quality for this alignment, [[SAM#What is QUAL?|QUAL]], one for each base in the query sequence.&lt;br /&gt;
* Additional optional information is also contained within the alignment, [[SAM#What are TAGs?|TAGs]].  A bunch of different information can be stored here and they appear as key/value pairs.  See the spec for a detailed list of commonly used tags and what they mean.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== What is a CIGAR? ====&lt;br /&gt;
You may have heard the term CIGAR, but wondered what it means.  Hopefully this section will help clarify it.&lt;br /&gt;
&lt;br /&gt;
The sequence being aligned to a reference may have additional bases that are not in the reference or may be missing bases that are in the reference.  The CIGAR string is a sequence of of base lengths and the associated operation.  They are used to indicate things like which bases align (either a match/mismatch) with the reference, are deleted from the reference, and are insertions that are not in the reference.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
 RefPos:     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19&lt;br /&gt;
 Reference:  C  C  A  T  A  C  T  G  A  A  C  T  G  A  C  T  A  A  C&lt;br /&gt;
 Read: ACTAGAATGGCT&lt;br /&gt;
Aligning these two:&lt;br /&gt;
 RefPos:     1  2  3  4  5  6  7     8  9 10 11 12 13 14 15 16 17 18 19&lt;br /&gt;
 Reference:  C  C  A  T  A  C  T     G  A  A  C  T  G  A  C  T  A  A  C&lt;br /&gt;
 Read:                   A  C  T  A  G  A  A     T  G  G  C  T&lt;br /&gt;
With the alignment above, you get:&lt;br /&gt;
 POS: 5&lt;br /&gt;
 CIGAR: 3M1I3M1D5M&lt;br /&gt;
&lt;br /&gt;
The POS indicates that the read aligns starting at position 5 on the reference.&lt;br /&gt;
The CIGAR says that the first 3 bases in the read sequence align with the reference.  The next base in the read does not exist in the reference.  Then 3 bases align with the reference.  The next reference base does not exist in the read sequence, then 5 more bases align with the reference.  Note that at position 14, the base in the read is different than the reference, but it still counts as an M since it aligns to that position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== What is QUAL? ====&lt;br /&gt;
QUAL stands for query quality.  It is an indicator for how accurate each base in the query sequence (SEQ) is.  If QUAL is specified, there is a quality value for each base in SEQ.&lt;br /&gt;
&lt;br /&gt;
Quality is calculated based on the probability that a base is wrong, p, using the following formula:&lt;br /&gt;
 &amp;lt;math&amp;gt;quality = -10 \log_{10}p&amp;lt;/math&amp;gt;&lt;br /&gt;
This quality is called the [http://en.wikipedia.org/wiki/Phred_quality_score Phred Quality Score].&lt;br /&gt;
&lt;br /&gt;
Since a human readable format is desired for SAM, 33 is added to the calculated quality in order to make it a printable character ranging from ! - ~.&lt;br /&gt;
&lt;br /&gt;
So, for SAM, the QUAL field is:&lt;br /&gt;
 &amp;lt;math&amp;gt;QUAL = (-10 \log_{10}p) + 33&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Phred Quality is also found in a FASTQ file, described here: http://en.wikipedia.org/wiki/FASTQ_format#Quality&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== What are TAGs? ====&lt;br /&gt;
TAGs are optional fields on a SAM/BAM Alignment.&lt;br /&gt;
A TAG is comprised of a two character TAG key, they type of the value, and the value: &lt;br /&gt;
 [A-Za-z][A-za-z]:[AifZH]:.*&lt;br /&gt;
&lt;br /&gt;
The types, A, i, f, Z, H are used to indicate the type of value stored in the tag.&lt;br /&gt;
{| style=&amp;quot;margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot;&lt;br /&gt;
! &#039;&#039;&#039;Type&#039;&#039;&#039; !! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|A&lt;br /&gt;
|character&lt;br /&gt;
|-&lt;br /&gt;
|i&lt;br /&gt;
|signed 32-bit integer&lt;br /&gt;
|-&lt;br /&gt;
|f&lt;br /&gt;
|single-precision float&lt;br /&gt;
|-&lt;br /&gt;
|Z&lt;br /&gt;
|string&lt;br /&gt;
|-&lt;br /&gt;
|H&lt;br /&gt;
|hex string&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are a set of predefined tags that are general used in Alignments.  They are documented in the SAM Specification.&lt;br /&gt;
Predefined tags have been specified for storing information about the read or alignment.&lt;br /&gt;
Examples of things stored in predefined tags:&lt;br /&gt;
* Previous settings for various fields if they have been updated due to additional processing&lt;br /&gt;
* Mappings from the alignment to Header values, used to match to a read group or program.&lt;br /&gt;
* Additional information which may already be in the header like library and platform.&lt;br /&gt;
&lt;br /&gt;
A user can also use any additional tags to store any information they want.  TAGs starting with X, Y, or Z are reserved to be user defined.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
 XT:A:U  - user defined tag called XT.  It holds a character.  The value associated with this tag is &#039;U&#039;.&lt;br /&gt;
 NM:i:2  - predefined tag NM means: Edit distance to the reference (number of changes necessary to make this equal the reference, excluding clipping)&lt;br /&gt;
&lt;br /&gt;
=== What Information is in the SAM/BAM Header ===&lt;br /&gt;
&lt;br /&gt;
The SAM/BAM header is not required, but if it is there, it contains generic information for the SAM/BAM file.  &lt;br /&gt;
&lt;br /&gt;
The header may contain the version information for the SAM/BAM file and information regarding whether or not and how the file is sorted.&lt;br /&gt;
&lt;br /&gt;
It also contains supplemental information for alignment records like information about the reference sequences, the processing that was used to generate the various reads in the file, and the programs that have been used to process the different reads.  The alignment records may then point to this supplemental information identifying which ones the specific alignment is associated with.&lt;br /&gt;
&lt;br /&gt;
For example, a group of reads in the SAM/BAM file may all be assigned to the same reference sequence.  Rather than every alignment containing information about the reference sequence, this information is put in the header, and the alignment &amp;quot;points&amp;quot; to the appropriate reference sequence in the header via the RNAME field.  The header contains generic information about this reference like its length.&lt;br /&gt;
&lt;br /&gt;
The SAM/BAM Header also may contain comments which are free-form text lines that can contain any information.&lt;br /&gt;
&lt;br /&gt;
Header lines start with an &#039;@&#039;.&lt;br /&gt;
&lt;br /&gt;
== Example SAM ==&lt;br /&gt;
=== Example Header Lines ===&lt;br /&gt;
 @HD	VN:1.0	SO:coordinate&lt;br /&gt;
 @SQ	SN:1	LN:249250621	AS:NCBI37	UR:file:/data/local/ref/GATK/human_g1k_v37.fasta	M5:1b22b98cdeb4a9304cb5d48026a85128&lt;br /&gt;
 @SQ	SN:2	LN:243199373	AS:NCBI37	UR:file:/data/local/ref/GATK/human_g1k_v37.fasta	M5:a0d9851da00400dec1098a9255ac712e&lt;br /&gt;
 @SQ	SN:3	LN:198022430	AS:NCBI37	UR:file:/data/local/ref/GATK/human_g1k_v37.fasta	M5:fdfd811849cc2fadebc929bb925902e5&lt;br /&gt;
 @RG	ID:UM0098:1	PL:ILLUMINA	PU:HWUSI-EAS1707-615LHAAXX-L001	LB:80	DT:2010-05-05T20:00:00-0400	SM:SD37743	CN:UMCORE&lt;br /&gt;
 @RG	ID:UM0098:2	PL:ILLUMINA	PU:HWUSI-EAS1707-615LHAAXX-L002	LB:80	DT:2010-05-05T20:00:00-0400	SM:SD37743	CN:UMCORE&lt;br /&gt;
 @PG	ID:bwa	VN:0.5.4&lt;br /&gt;
 @PG	ID:GATK TableRecalibration	VN:1.0.3471	CL:Covariates=[ReadGroupCovariate, QualityScoreCovariate, CycleCovariate, DinucCovariate, TileCovariate], default_read_group=null, default_platform=null, force_read_group=null, force_platform=null, solid_recal_mode=SET_Q_ZERO, window_size_nqs=5, homopolymer_nback=7, exception_if_no_tile=false, ignore_nocall_colorspace=false, pQ=5, maxQ=40, smoothing=1&lt;br /&gt;
&lt;br /&gt;
In the alignment examples below, you will see that the 2nd alignment maps back to the RG line with ID UM0098.1, and all of the alignments point back to the SQ line with SN:1 because their RNAME is 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example Alignments ===&lt;br /&gt;
This is what the alignment section of a SAM file looks like:&lt;br /&gt;
&lt;br /&gt;
 1:497:R:-272+13M17D24M	113	1	497	37	37M	15	100338662	0	CGGGTCTGACCTGAGGAGAACTGTGCTCCGCCTTCAG	0;==-==9;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;=&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;=&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;	XT:A:U	NM:i:0	SM:i:37	AM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:37&lt;br /&gt;
 19:20389:F:275+18M2D19M	99	1	17644	0	37M	=	17919	314	TATGACTGCTAATAATACCTACACATGTTAGAACCAT	&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;4::&amp;gt;&amp;gt;:&amp;lt;9	RG:Z:UM0098:1	XT:A:R	NM:i:0	SM:i:0	AM:i:0	X0:i:4	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:37&lt;br /&gt;
 19:20389:F:275+18M2D19M	147	1	17919	0	18M2D19M	=	17644	-314	GTAGTACCAACTGTAAGTCCTTATCTTCATACTTTGT	;44999;499&amp;lt;8&amp;lt;8&amp;lt;&amp;lt;&amp;lt;8&amp;lt;&amp;lt;&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;lt;7&amp;lt;;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;	XT:A:R	NM:i:2	SM:i:0	AM:i:0	X0:i:4	X1:i:0	XM:i:0	XO:i:1	XG:i:2	MD:Z:18^CA19&lt;br /&gt;
 9:21597+10M2I25M:R:-209	83	1	21678	0	8M2I27M	=	21469	-244	CACCACATCACATATACCAAGCCTGGCTGTGTCTTCT	&amp;lt;;9&amp;lt;&amp;lt;5&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;gt;&amp;lt;9&amp;gt;&amp;gt;&amp;lt;&amp;gt;&amp;gt;&amp;gt;9&amp;gt;&amp;gt;&amp;gt;&amp;lt;&amp;gt;	XT:A:R	NM:i:2	SM:i:0	AM:i:0	X0:i:5	X1:i:0	XM:i:0	XO:i:1	XG:i:2	MD:Z:35&lt;br /&gt;
&lt;br /&gt;
In this example, the fields are:&lt;br /&gt;
{| style=&amp;quot;margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #f2f2f2; text-align: center;&amp;quot;&lt;br /&gt;
! &#039;&#039;&#039;Field&#039;&#039;&#039; !! &#039;&#039;&#039;Alignment 1&#039;&#039;&#039; !! &#039;&#039;&#039;Alignment 2&#039;&#039;&#039; !! &#039;&#039;&#039;Alignment 3&#039;&#039;&#039; !! &#039;&#039;&#039;Alignment 4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|QNAME&lt;br /&gt;
|1:497:R:-272+13M17D24M&lt;br /&gt;
|19:20389:F:275+18M2D19M&lt;br /&gt;
|19:20389:F:275+18M2D19M&lt;br /&gt;
|9:21597+10M2I25M:R:-209&lt;br /&gt;
|-&lt;br /&gt;
|FLAG&lt;br /&gt;
|113&lt;br /&gt;
|99&lt;br /&gt;
|147&lt;br /&gt;
|83&lt;br /&gt;
|-&lt;br /&gt;
|RNAME&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|POS&lt;br /&gt;
|497&lt;br /&gt;
|17644&lt;br /&gt;
|17919&lt;br /&gt;
|21678&lt;br /&gt;
|-&lt;br /&gt;
|MAPQ&lt;br /&gt;
|37&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|-&lt;br /&gt;
|CIGAR&lt;br /&gt;
|37M&lt;br /&gt;
|37M&lt;br /&gt;
|18M2D19M&lt;br /&gt;
|8M2I27M&lt;br /&gt;
|-&lt;br /&gt;
|MRNM/RNEXT&lt;br /&gt;
|15&lt;br /&gt;
|=&lt;br /&gt;
|=&lt;br /&gt;
|=&lt;br /&gt;
|-&lt;br /&gt;
|MPOS/PNEXT&lt;br /&gt;
|100338662&lt;br /&gt;
|17919&lt;br /&gt;
|17644&lt;br /&gt;
|21469&lt;br /&gt;
|-&lt;br /&gt;
|ISIZE/TLEN&lt;br /&gt;
|0&lt;br /&gt;
|314&lt;br /&gt;
|-314&lt;br /&gt;
|-244&lt;br /&gt;
|-&lt;br /&gt;
|SEQ&lt;br /&gt;
|CGGGTCTGACCTGAGGAGAACTGTGCTCCGCCTTCAG&lt;br /&gt;
|TATGACTGCTAATAATACCTACACATGTTAGAACCAT&lt;br /&gt;
|GTAGTACCAACTGTAAGTCCTTATCTTCATACTTTGT&lt;br /&gt;
|CACCACATCACATATACCAAGCCTGGCTGTGTCTTCT&lt;br /&gt;
|-&lt;br /&gt;
|QUAL&lt;br /&gt;
|0;==-==9;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;=&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;=&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
|&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;4::&amp;gt;&amp;gt;:&amp;lt;9&lt;br /&gt;
|;44999;499&amp;lt;8&amp;lt;8&amp;lt;&amp;lt;&amp;lt;8&amp;lt;&amp;lt;&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;lt;7&amp;lt;;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;&lt;br /&gt;
|&amp;lt;;9&amp;lt;&amp;lt;5&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&amp;lt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;gt;&amp;lt;9&amp;gt;&amp;gt;&amp;lt;&amp;gt;&amp;gt;&amp;gt;9&amp;gt;&amp;gt;&amp;gt;&amp;lt;&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|TAGs&lt;br /&gt;
|XT:A:U	NM:i:0	SM:i:37	AM:i:0	X0:i:1	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:37&lt;br /&gt;
|RG:Z:UM0098:1	XT:A:R	NM:i:0	SM:i:0	AM:i:0	X0:i:4	X1:i:0	XM:i:0	XO:i:0	XG:i:0	MD:Z:37&lt;br /&gt;
|XT:A:R	NM:i:2	SM:i:0	AM:i:0	X0:i:4	X1:i:0	XM:i:0	XO:i:1	XG:i:2	MD:Z:18^CA19&lt;br /&gt;
|XT:A:R	NM:i:2	SM:i:0	AM:i:0	X0:i:5	X1:i:0	XM:i:0	XO:i:1	XG:i:2	MD:Z:35&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tips/Tricks ==&lt;br /&gt;
*Calculating BAM Block Size&lt;br /&gt;
** Block Size = 8*4 + ReadNameLength(including null) + CigarLength*4 + (ReadLength+1)/2 + ReadLength + TagLength&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be a SAM expert :-)&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Git_FAQs&amp;diff=13717</id>
		<title>Git FAQs</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Git_FAQs&amp;diff=13717"/>
		<updated>2015-09-08T22:50:38Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Bring in changes from a subtree&amp;#039;s remote */  It won&amp;#039;t work if you only have the remote but not the branch.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git FAQs =&lt;br /&gt;
For more information on how to use git, see: [[How To Use Git]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Learn how a specific command works ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| git help &amp;lt;command&amp;gt;&lt;br /&gt;
| git help clone&lt;br /&gt;
|-&lt;br /&gt;
| man git-&amp;lt;command&amp;gt;&lt;br /&gt;
| man git-clone&lt;br /&gt;
|-&lt;br /&gt;
| git-&amp;lt;command&amp;gt; -h&lt;br /&gt;
| git-clone -h&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Turn an already existing directory into a Git Repository ==&lt;br /&gt;
&lt;br /&gt;
Its easy to turn an already existing directory into its own repository.&lt;br /&gt;
&lt;br /&gt;
# cd into your directory.&lt;br /&gt;
# Tell git to create a repository:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt;&lt;br /&gt;
# Add all your files to the repository:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git add .&amp;lt;/code&amp;gt;&lt;br /&gt;
# Check that you didn&#039;t add any undesired files:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove any undesired files (if necessary):&lt;br /&gt;
#* &amp;lt;code&amp;gt;git reset HEAD &#039;&#039;filename1 filename2&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit the files:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git commit -m &#039;&#039;Initialize the repository with all the files&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;code&amp;gt;shared&amp;lt;/code&amp;gt; parameter on &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt; allows everyone in the same group to push to this repository.  If this is the case, add that parameter.&lt;br /&gt;
&lt;br /&gt;
Continue to the next section if you want to create a bare repository for it to push to/pull from.&lt;br /&gt;
&lt;br /&gt;
== Create a remote bare Git repository for a repository to push to/pull from ==&lt;br /&gt;
&lt;br /&gt;
# cd to where you want the remote repository located.&lt;br /&gt;
# Create the bare repository.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git init --bare --shared &#039;&#039;bareRepoName&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#** The &amp;lt;code&amp;gt;shared&amp;lt;/code&amp;gt; parameter allows everyone in the same group to push to this repository.  Remove that option if this is not the case.&lt;br /&gt;
# cd to your repository that you want link to this bare repository.&lt;br /&gt;
# Set the remote.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git remote add origin &#039;&#039;path to/url for your bare repository&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Set the configuration for pulling.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git config branch.master.remote origin&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git config branch.master.merge refs/heads/master&amp;lt;/code&amp;gt;&lt;br /&gt;
# Push your files to the bare repository (must specify origin master since this is the first push to the empty repository)&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push origin master&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now operate as if you had cloned from bareRepoName.&lt;br /&gt;
&lt;br /&gt;
== Use a Previously Setup Repository ==&lt;br /&gt;
Clone it:&lt;br /&gt;
  git clone &amp;lt;repository to be cloned&amp;gt; [optional new directory name]&lt;br /&gt;
&lt;br /&gt;
== Update files ==&lt;br /&gt;
* Edit a file.&lt;br /&gt;
* When done editing, [[#Commit/Store Changes|commit the changes]]&lt;br /&gt;
&lt;br /&gt;
== Unmodify files == &lt;br /&gt;
Instructions are also given in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;git checkout -- &#039;&#039;fileName&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Identify non-committed changes ==&lt;br /&gt;
* Using Command-Line (2 ways)&lt;br /&gt;
** git status - list changed/removed/staged files&lt;br /&gt;
** git diff - lists the differences&lt;br /&gt;
* Using git-gui&lt;br /&gt;
** They are listed under Unstaged Changes&lt;br /&gt;
&lt;br /&gt;
== Stage files/changes prior to committing them ==&lt;br /&gt;
* Using Command-Line (multiple ways)&lt;br /&gt;
** git add &amp;lt;file1&amp;gt; &amp;lt;file2&amp;gt; (adds specified files)&lt;br /&gt;
** git add .  (adds all files)&lt;br /&gt;
*** first do a &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; to see what files will be staged&lt;br /&gt;
**** after, do a &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; to verify you want those files staged&lt;br /&gt;
* Using git-gui (multiple ways): Should see files move from Unstaged to Staged&lt;br /&gt;
** Click on the file icons in the Unstaged Changes window&lt;br /&gt;
** 2 Step process&lt;br /&gt;
**#Select the files to be staged in the Unstaged Changes Window;&lt;br /&gt;
**#Commit-&amp;gt;Stage To Commit&lt;br /&gt;
&lt;br /&gt;
== Unstage files ==&lt;br /&gt;
Instructions are also given in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;git reset HEAD &#039;&#039;filename1 filename2&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Commit/Store Changes ==&lt;br /&gt;
Files are already staged:&lt;br /&gt;
* To see staged files use:&lt;br /&gt;
** git diff --cached&lt;br /&gt;
* Using Command-Line&lt;br /&gt;
** git commit -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
*** if you do not specify -m, it will open up your default editor for you to enter the message, enter it, save, and exit&lt;br /&gt;
* Using git-gui&lt;br /&gt;
** Press the &amp;quot;Commit&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
Files are not already staged (2 ways):&lt;br /&gt;
* git commit -a -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
** Always do a git status first - all modified files will be committed.&lt;br /&gt;
* git add (adds to the index/stage); git commit -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Bringing in (Pulling) changes from source repository (the one you cloned from) ==&lt;br /&gt;
*In your local/working repository:&lt;br /&gt;
** git pull&lt;br /&gt;
** Resolve any unresolved merges &amp;amp; commit those resolutions.&lt;br /&gt;
&lt;br /&gt;
== Ignore files that you don&#039;t want to show up in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; == &lt;br /&gt;
Setup git to ignore files with certain names, extensions, etc&lt;br /&gt;
&lt;br /&gt;
If all users of the repository will want to ignore the files:&lt;br /&gt;
* Create/update a .gitignore file containing the files you want to ignore (use #&#039;s as comments), for example:&lt;br /&gt;
 # Ignore editor created temp files&lt;br /&gt;
 *~&lt;br /&gt;
 # ignore object files.&lt;br /&gt;
 *.o&lt;br /&gt;
&lt;br /&gt;
If the ignored files are specific for just you, add your ignores file (formatted like the .gitignore):&lt;br /&gt;
*git config core.excludesfile ~/git/config/ignoreFiles&lt;br /&gt;
&lt;br /&gt;
== Check Branches ==&lt;br /&gt;
*See what branches there are locally:&lt;br /&gt;
** git branch&lt;br /&gt;
** Current branch marked with &#039;*&#039;&lt;br /&gt;
&lt;br /&gt;
* To see all branches including remote branches:&lt;br /&gt;
** git branch -a&lt;br /&gt;
** Current branch marked with &#039;*&#039;&lt;br /&gt;
&lt;br /&gt;
== Create New Branch ==&lt;br /&gt;
First change to the branch (could be master, the default branch) you want your branch to start from.&lt;br /&gt;
&lt;br /&gt;
* 2 ways to create a new branch and switch to it:&lt;br /&gt;
** Create branch, then switch to it (default starting point is the same as the current branch):&lt;br /&gt;
**# Create the branch&lt;br /&gt;
**#* git branch &amp;lt;branch-name&amp;gt; [&amp;lt;start-point(branch/tag)&amp;gt;]&lt;br /&gt;
**# Switch to a Specified Branch&lt;br /&gt;
**#* git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
** Create and switch to the branch in one step&lt;br /&gt;
**# Create and switch to (checkout) a branch&lt;br /&gt;
**#* git checkout -b &amp;lt;branch-name&amp;gt; &amp;lt;start-point&amp;gt;&lt;br /&gt;
* See Your Branches - current one is marked with a &amp;quot;*&amp;quot;&lt;br /&gt;
** git branch&lt;br /&gt;
&#039;&#039;&#039;NOTES:&#039;&#039;&#039;&lt;br /&gt;
* If you switch to the branch in one window, it switches it in all&lt;br /&gt;
* Beware of switching branches when you have non-committed files.&lt;br /&gt;
** Until you commit the files, they will be in all branches.&lt;br /&gt;
** If a branch has a different head than your current branch for the non-committed files, the branch change fails.&lt;br /&gt;
&lt;br /&gt;
== Merging Changes ==&lt;br /&gt;
* Checkout the branch you want to merge into&lt;br /&gt;
** git checkout branchMergeInto&lt;br /&gt;
** Often: git checkout master&lt;br /&gt;
* Merge the other branch into it&lt;br /&gt;
** git merge branchMergingFrom&lt;br /&gt;
* Resolve and commit any merge conflicts.&lt;br /&gt;
* To Undo a merge before committing:&lt;br /&gt;
** git reset --hard HEAD&lt;br /&gt;
&lt;br /&gt;
Note: ”Fast forward” - no divergent work, just moves the pointer to &lt;br /&gt;
the latest commit on the other branch&lt;br /&gt;
&lt;br /&gt;
== Delete a Branch ==&lt;br /&gt;
Delete branch after merging &amp;amp; you are done with it&lt;br /&gt;
* git branch -d branchName&lt;br /&gt;
* Make sure you have merged first!&lt;br /&gt;
* Delete remote branch: &lt;br /&gt;
* git push origin :branchName&lt;br /&gt;
&lt;br /&gt;
== Share a Branch by pushing to the Remote ==&lt;br /&gt;
* git push origin &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Work on/Use a branch that exists on the remote ==&lt;br /&gt;
*To see all branches including remotes:&lt;br /&gt;
** git branch -a&lt;br /&gt;
* Base work on a remote branch/merge back to it&lt;br /&gt;
** git checkout -t origin/&#039;&#039;branchName&#039;&#039;&lt;br /&gt;
** Creates &amp;amp; checkouts branch called &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
* Now push &amp;amp; pull from your &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: A typical wrong way is: clone from the remote repository, then pull the branch&lt;br /&gt;
&lt;br /&gt;
Note: A local branch name is only informative to you.  There is no relationship between that branch name and the branches named at the repository that you initially did the pull from.  So you may, for example, name your local branch &amp;quot;fix_karma_paired_end&amp;quot; or anything else arbitrary even if the remote branch is &amp;quot;0.8.8S&amp;quot;.  As described above, the -t option will create a local branch named after the remote branch, also specify -b if you want to customize the name.&lt;br /&gt;
&lt;br /&gt;
== Resolve a merge/pull conflict ==&lt;br /&gt;
* Make appropriate changes&lt;br /&gt;
* Delete the &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;, =======, and &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
* Add to the staged files&lt;br /&gt;
** git add nowMergedFile&lt;br /&gt;
* Commit the merge&lt;br /&gt;
** git commit&lt;br /&gt;
** Update the default merge message with a description of how you &lt;br /&gt;
resolved the merge&lt;br /&gt;
* You can also use a mergetool: git mergetool&lt;br /&gt;
&lt;br /&gt;
== Create a tag ==&lt;br /&gt;
Tags can be used when releasing, if you want to mark that version so you can &lt;br /&gt;
go back to it&lt;br /&gt;
&lt;br /&gt;
* git tag -a tagName -m &#039;tag description&#039;&lt;br /&gt;
* Example: &lt;br /&gt;
 git tag -a v1.1 -m &#039;version 1.1 contains the first version&lt;br /&gt;
&lt;br /&gt;
== See what tags there are ==&lt;br /&gt;
* git tag&lt;br /&gt;
* git tag -l v1.1.*&lt;br /&gt;
&lt;br /&gt;
== Get info on a tag==&lt;br /&gt;
* git show &#039;&#039;tagName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Push Tag to remote ==&lt;br /&gt;
* Not automatically pushed to the remote&lt;br /&gt;
* git push origin &#039;&#039;tagName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Setup an email hook on pushes ==&lt;br /&gt;
* cd &#039;&#039;yourDirectory&#039;&#039;/.git/hooks&lt;br /&gt;
* cp post-receive.sample post-receive&lt;br /&gt;
* Uncomment the line at the end of post-receive that references post-receive-email&lt;br /&gt;
* Add the following to &#039;&#039;yourDirectory&#039;&#039;/.git/config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[hooks]&lt;br /&gt;
	mailinglist = &amp;quot;space delimited email addresses to email when changes are pushed&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Push rejected non-fast forward&amp;quot; ==&lt;br /&gt;
Two possible answers:&lt;br /&gt;
&lt;br /&gt;
(1). You did not pull the current branch before trying to push.&lt;br /&gt;
&lt;br /&gt;
Solution: do a &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;, then retry the &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2). You only pulled a branch but want to push it back to master branch.&lt;br /&gt;
&lt;br /&gt;
== Committed to the wrong branch ==&lt;br /&gt;
If you have NOT yet pushed to a public repository and it was the last commit:&lt;br /&gt;
*git reset --soft HEAD^&lt;br /&gt;
** puts the changes back to staged.&lt;br /&gt;
git checkout branch_you_want&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtrees == &lt;br /&gt;
=== Bring in changes from a subtree&#039;s remote ===&lt;br /&gt;
If the remote is not already a part of this git repo:&lt;br /&gt;
#Add other project as a branch and fetch (-f).&lt;br /&gt;
#:&amp;lt;pre&amp;gt;git remote add -f libStatGen_remote https://github.com/statgen/libStatGen.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Create &amp;amp; checkout a branch for the remote.&lt;br /&gt;
#* taking &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt;:&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout -b libStatGen_branch libStatGen_remote/master&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* taking a tag:&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout -b vt_branch_SWS tags/SWS&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the branch is already a part of this git repo:&lt;br /&gt;
#Checkout the branch&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout libStatGen_branch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Bring in the new version&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git pull&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Merge the changes from the subtree into the base repository ===&lt;br /&gt;
#Go back to the master branch&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout master&amp;lt;/pre&amp;gt;&lt;br /&gt;
#(Optional) Only if adding a new subdirectory, do:&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git read-tree --prefix=src/libStatGen -u libStatGen_branch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Merge in the new version.&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git merge --squash -s subtree --no-commit libStatGen_branch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:* --squash: do not merge histories&lt;br /&gt;
#:* -s subtree: merge strategy&lt;br /&gt;
#:*--no-commit: just merge, don’t commit the changes&lt;br /&gt;
#Commit the changes&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git commit -m “message”&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Git_FAQs&amp;diff=13693</id>
		<title>Git FAQs</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Git_FAQs&amp;diff=13693"/>
		<updated>2015-09-01T22:04:39Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Subtrees */ Format code.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git FAQs =&lt;br /&gt;
For more information on how to use git, see: [[How To Use Git]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Learn how a specific command works ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| git help &amp;lt;command&amp;gt;&lt;br /&gt;
| git help clone&lt;br /&gt;
|-&lt;br /&gt;
| man git-&amp;lt;command&amp;gt;&lt;br /&gt;
| man git-clone&lt;br /&gt;
|-&lt;br /&gt;
| git-&amp;lt;command&amp;gt; -h&lt;br /&gt;
| git-clone -h&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Turn an already existing directory into a Git Repository ==&lt;br /&gt;
&lt;br /&gt;
Its easy to turn an already existing directory into its own repository.&lt;br /&gt;
&lt;br /&gt;
# cd into your directory.&lt;br /&gt;
# Tell git to create a repository:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt;&lt;br /&gt;
# Add all your files to the repository:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git add .&amp;lt;/code&amp;gt;&lt;br /&gt;
# Check that you didn&#039;t add any undesired files:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove any undesired files (if necessary):&lt;br /&gt;
#* &amp;lt;code&amp;gt;git reset HEAD &#039;&#039;filename1 filename2&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit the files:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git commit -m &#039;&#039;Initialize the repository with all the files&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;code&amp;gt;shared&amp;lt;/code&amp;gt; parameter on &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt; allows everyone in the same group to push to this repository.  If this is the case, add that parameter.&lt;br /&gt;
&lt;br /&gt;
Continue to the next section if you want to create a bare repository for it to push to/pull from.&lt;br /&gt;
&lt;br /&gt;
== Create a remote bare Git repository for a repository to push to/pull from ==&lt;br /&gt;
&lt;br /&gt;
# cd to where you want the remote repository located.&lt;br /&gt;
# Create the bare repository.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git init --bare --shared &#039;&#039;bareRepoName&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#** The &amp;lt;code&amp;gt;shared&amp;lt;/code&amp;gt; parameter allows everyone in the same group to push to this repository.  Remove that option if this is not the case.&lt;br /&gt;
# cd to your repository that you want link to this bare repository.&lt;br /&gt;
# Set the remote.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git remote add origin &#039;&#039;path to/url for your bare repository&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Set the configuration for pulling.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git config branch.master.remote origin&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git config branch.master.merge refs/heads/master&amp;lt;/code&amp;gt;&lt;br /&gt;
# Push your files to the bare repository (must specify origin master since this is the first push to the empty repository)&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push origin master&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now operate as if you had cloned from bareRepoName.&lt;br /&gt;
&lt;br /&gt;
== Use a Previously Setup Repository ==&lt;br /&gt;
Clone it:&lt;br /&gt;
  git clone &amp;lt;repository to be cloned&amp;gt; [optional new directory name]&lt;br /&gt;
&lt;br /&gt;
== Update files ==&lt;br /&gt;
* Edit a file.&lt;br /&gt;
* When done editing, [[#Commit/Store Changes|commit the changes]]&lt;br /&gt;
&lt;br /&gt;
== Unmodify files == &lt;br /&gt;
Instructions are also given in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;git checkout -- &#039;&#039;fileName&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Identify non-committed changes ==&lt;br /&gt;
* Using Command-Line (2 ways)&lt;br /&gt;
** git status - list changed/removed/staged files&lt;br /&gt;
** git diff - lists the differences&lt;br /&gt;
* Using git-gui&lt;br /&gt;
** They are listed under Unstaged Changes&lt;br /&gt;
&lt;br /&gt;
== Stage files/changes prior to committing them ==&lt;br /&gt;
* Using Command-Line (multiple ways)&lt;br /&gt;
** git add &amp;lt;file1&amp;gt; &amp;lt;file2&amp;gt; (adds specified files)&lt;br /&gt;
** git add .  (adds all files)&lt;br /&gt;
*** first do a &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; to see what files will be staged&lt;br /&gt;
**** after, do a &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; to verify you want those files staged&lt;br /&gt;
* Using git-gui (multiple ways): Should see files move from Unstaged to Staged&lt;br /&gt;
** Click on the file icons in the Unstaged Changes window&lt;br /&gt;
** 2 Step process&lt;br /&gt;
**#Select the files to be staged in the Unstaged Changes Window;&lt;br /&gt;
**#Commit-&amp;gt;Stage To Commit&lt;br /&gt;
&lt;br /&gt;
== Unstage files ==&lt;br /&gt;
Instructions are also given in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;git reset HEAD &#039;&#039;filename1 filename2&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Commit/Store Changes ==&lt;br /&gt;
Files are already staged:&lt;br /&gt;
* To see staged files use:&lt;br /&gt;
** git diff --cached&lt;br /&gt;
* Using Command-Line&lt;br /&gt;
** git commit -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
*** if you do not specify -m, it will open up your default editor for you to enter the message, enter it, save, and exit&lt;br /&gt;
* Using git-gui&lt;br /&gt;
** Press the &amp;quot;Commit&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
Files are not already staged (2 ways):&lt;br /&gt;
* git commit -a -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
** Always do a git status first - all modified files will be committed.&lt;br /&gt;
* git add (adds to the index/stage); git commit -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Bringing in (Pulling) changes from source repository (the one you cloned from) ==&lt;br /&gt;
*In your local/working repository:&lt;br /&gt;
** git pull&lt;br /&gt;
** Resolve any unresolved merges &amp;amp; commit those resolutions.&lt;br /&gt;
&lt;br /&gt;
== Ignore files that you don&#039;t want to show up in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; == &lt;br /&gt;
Setup git to ignore files with certain names, extensions, etc&lt;br /&gt;
&lt;br /&gt;
If all users of the repository will want to ignore the files:&lt;br /&gt;
* Create/update a .gitignore file containing the files you want to ignore (use #&#039;s as comments), for example:&lt;br /&gt;
 # Ignore editor created temp files&lt;br /&gt;
 *~&lt;br /&gt;
 # ignore object files.&lt;br /&gt;
 *.o&lt;br /&gt;
&lt;br /&gt;
If the ignored files are specific for just you, add your ignores file (formatted like the .gitignore):&lt;br /&gt;
*git config core.excludesfile ~/git/config/ignoreFiles&lt;br /&gt;
&lt;br /&gt;
== Check Branches ==&lt;br /&gt;
*See what branches there are locally:&lt;br /&gt;
** git branch&lt;br /&gt;
** Current branch marked with &#039;*&#039;&lt;br /&gt;
&lt;br /&gt;
* To see all branches including remote branches:&lt;br /&gt;
** git branch -a&lt;br /&gt;
** Current branch marked with &#039;*&#039;&lt;br /&gt;
&lt;br /&gt;
== Create New Branch ==&lt;br /&gt;
First change to the branch (could be master, the default branch) you want your branch to start from.&lt;br /&gt;
&lt;br /&gt;
* 2 ways to create a new branch and switch to it:&lt;br /&gt;
** Create branch, then switch to it (default starting point is the same as the current branch):&lt;br /&gt;
**# Create the branch&lt;br /&gt;
**#* git branch &amp;lt;branch-name&amp;gt; [&amp;lt;start-point(branch/tag)&amp;gt;]&lt;br /&gt;
**# Switch to a Specified Branch&lt;br /&gt;
**#* git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
** Create and switch to the branch in one step&lt;br /&gt;
**# Create and switch to (checkout) a branch&lt;br /&gt;
**#* git checkout -b &amp;lt;branch-name&amp;gt; &amp;lt;start-point&amp;gt;&lt;br /&gt;
* See Your Branches - current one is marked with a &amp;quot;*&amp;quot;&lt;br /&gt;
** git branch&lt;br /&gt;
&#039;&#039;&#039;NOTES:&#039;&#039;&#039;&lt;br /&gt;
* If you switch to the branch in one window, it switches it in all&lt;br /&gt;
* Beware of switching branches when you have non-committed files.&lt;br /&gt;
** Until you commit the files, they will be in all branches.&lt;br /&gt;
** If a branch has a different head than your current branch for the non-committed files, the branch change fails.&lt;br /&gt;
&lt;br /&gt;
== Merging Changes ==&lt;br /&gt;
* Checkout the branch you want to merge into&lt;br /&gt;
** git checkout branchMergeInto&lt;br /&gt;
** Often: git checkout master&lt;br /&gt;
* Merge the other branch into it&lt;br /&gt;
** git merge branchMergingFrom&lt;br /&gt;
* Resolve and commit any merge conflicts.&lt;br /&gt;
* To Undo a merge before committing:&lt;br /&gt;
** git reset --hard HEAD&lt;br /&gt;
&lt;br /&gt;
Note: ”Fast forward” - no divergent work, just moves the pointer to &lt;br /&gt;
the latest commit on the other branch&lt;br /&gt;
&lt;br /&gt;
== Delete a Branch ==&lt;br /&gt;
Delete branch after merging &amp;amp; you are done with it&lt;br /&gt;
* git branch -d branchName&lt;br /&gt;
* Make sure you have merged first!&lt;br /&gt;
* Delete remote branch: &lt;br /&gt;
* git push origin :branchName&lt;br /&gt;
&lt;br /&gt;
== Share a Branch by pushing to the Remote ==&lt;br /&gt;
* git push origin &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Work on/Use a branch that exists on the remote ==&lt;br /&gt;
*To see all branches including remotes:&lt;br /&gt;
** git branch -a&lt;br /&gt;
* Base work on a remote branch/merge back to it&lt;br /&gt;
** git checkout -t origin/&#039;&#039;branchName&#039;&#039;&lt;br /&gt;
** Creates &amp;amp; checkouts branch called &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
* Now push &amp;amp; pull from your &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: A typical wrong way is: clone from the remote repository, then pull the branch&lt;br /&gt;
&lt;br /&gt;
Note: A local branch name is only informative to you.  There is no relationship between that branch name and the branches named at the repository that you initially did the pull from.  So you may, for example, name your local branch &amp;quot;fix_karma_paired_end&amp;quot; or anything else arbitrary even if the remote branch is &amp;quot;0.8.8S&amp;quot;.  As described above, the -t option will create a local branch named after the remote branch, also specify -b if you want to customize the name.&lt;br /&gt;
&lt;br /&gt;
== Resolve a merge/pull conflict ==&lt;br /&gt;
* Make appropriate changes&lt;br /&gt;
* Delete the &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;, =======, and &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
* Add to the staged files&lt;br /&gt;
** git add nowMergedFile&lt;br /&gt;
* Commit the merge&lt;br /&gt;
** git commit&lt;br /&gt;
** Update the default merge message with a description of how you &lt;br /&gt;
resolved the merge&lt;br /&gt;
* You can also use a mergetool: git mergetool&lt;br /&gt;
&lt;br /&gt;
== Create a tag ==&lt;br /&gt;
Tags can be used when releasing, if you want to mark that version so you can &lt;br /&gt;
go back to it&lt;br /&gt;
&lt;br /&gt;
* git tag -a tagName -m &#039;tag description&#039;&lt;br /&gt;
* Example: &lt;br /&gt;
 git tag -a v1.1 -m &#039;version 1.1 contains the first version&lt;br /&gt;
&lt;br /&gt;
== See what tags there are ==&lt;br /&gt;
* git tag&lt;br /&gt;
* git tag -l v1.1.*&lt;br /&gt;
&lt;br /&gt;
== Get info on a tag==&lt;br /&gt;
* git show &#039;&#039;tagName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Push Tag to remote ==&lt;br /&gt;
* Not automatically pushed to the remote&lt;br /&gt;
* git push origin &#039;&#039;tagName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Setup an email hook on pushes ==&lt;br /&gt;
* cd &#039;&#039;yourDirectory&#039;&#039;/.git/hooks&lt;br /&gt;
* cp post-receive.sample post-receive&lt;br /&gt;
* Uncomment the line at the end of post-receive that references post-receive-email&lt;br /&gt;
* Add the following to &#039;&#039;yourDirectory&#039;&#039;/.git/config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[hooks]&lt;br /&gt;
	mailinglist = &amp;quot;space delimited email addresses to email when changes are pushed&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Push rejected non-fast forward&amp;quot; ==&lt;br /&gt;
Two possible answers:&lt;br /&gt;
&lt;br /&gt;
(1). You did not pull the current branch before trying to push.&lt;br /&gt;
&lt;br /&gt;
Solution: do a &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;, then retry the &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2). You only pulled a branch but want to push it back to master branch.&lt;br /&gt;
&lt;br /&gt;
== Committed to the wrong branch ==&lt;br /&gt;
If you have NOT yet pushed to a public repository and it was the last commit:&lt;br /&gt;
*git reset --soft HEAD^&lt;br /&gt;
** puts the changes back to staged.&lt;br /&gt;
git checkout branch_you_want&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtrees == &lt;br /&gt;
=== Bring in changes from a subtree&#039;s remote ===&lt;br /&gt;
If the remote is not already a part of this git repo:&lt;br /&gt;
#Add other project as a branch and fetch (-f).&lt;br /&gt;
#:&amp;lt;pre&amp;gt;git remote add -f libStatGen_remote https://github.com/statgen/libStatGen.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Create &amp;amp; checkout a branch for the remote.&lt;br /&gt;
#* taking &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt;:&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout -b libStatGen_branch libStatGen_remote/master&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* taking a tag:&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout -b vt_branch_SWS tags/SWS&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the remote is already a part of this git repo:&lt;br /&gt;
#Checkout the branch&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout libStatGen_branch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Bring in the new version&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git pull&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Merge the changes from the subtree into the base repository ===&lt;br /&gt;
#Go back to the master branch&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git checkout master&amp;lt;/pre&amp;gt;&lt;br /&gt;
#(Optional) Only if adding a new subdirectory, do:&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git read-tree --prefix=src/libStatGen -u libStatGen_branch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Merge in the new version.&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git merge --squash -s subtree --no-commit libStatGen_branch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:* --squash: do not merge histories&lt;br /&gt;
#:* -s subtree: merge strategy&lt;br /&gt;
#:*--no-commit: just merge, don’t commit the changes&lt;br /&gt;
#Commit the changes&lt;br /&gt;
#: &amp;lt;pre&amp;gt;git commit -m “message”&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=Git_FAQs&amp;diff=13692</id>
		<title>Git FAQs</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=Git_FAQs&amp;diff=13692"/>
		<updated>2015-09-01T22:01:28Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Subtrees */  Format instructions for using git subtrees&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Git FAQs =&lt;br /&gt;
For more information on how to use git, see: [[How To Use Git]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Learn how a specific command works ==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| git help &amp;lt;command&amp;gt;&lt;br /&gt;
| git help clone&lt;br /&gt;
|-&lt;br /&gt;
| man git-&amp;lt;command&amp;gt;&lt;br /&gt;
| man git-clone&lt;br /&gt;
|-&lt;br /&gt;
| git-&amp;lt;command&amp;gt; -h&lt;br /&gt;
| git-clone -h&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Turn an already existing directory into a Git Repository ==&lt;br /&gt;
&lt;br /&gt;
Its easy to turn an already existing directory into its own repository.&lt;br /&gt;
&lt;br /&gt;
# cd into your directory.&lt;br /&gt;
# Tell git to create a repository:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt;&lt;br /&gt;
# Add all your files to the repository:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git add .&amp;lt;/code&amp;gt;&lt;br /&gt;
# Check that you didn&#039;t add any undesired files:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
# Remove any undesired files (if necessary):&lt;br /&gt;
#* &amp;lt;code&amp;gt;git reset HEAD &#039;&#039;filename1 filename2&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Commit the files:&lt;br /&gt;
#* &amp;lt;code&amp;gt;git commit -m &#039;&#039;Initialize the repository with all the files&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The &amp;lt;code&amp;gt;shared&amp;lt;/code&amp;gt; parameter on &amp;lt;code&amp;gt;git init&amp;lt;/code&amp;gt; allows everyone in the same group to push to this repository.  If this is the case, add that parameter.&lt;br /&gt;
&lt;br /&gt;
Continue to the next section if you want to create a bare repository for it to push to/pull from.&lt;br /&gt;
&lt;br /&gt;
== Create a remote bare Git repository for a repository to push to/pull from ==&lt;br /&gt;
&lt;br /&gt;
# cd to where you want the remote repository located.&lt;br /&gt;
# Create the bare repository.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git init --bare --shared &#039;&#039;bareRepoName&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
#** The &amp;lt;code&amp;gt;shared&amp;lt;/code&amp;gt; parameter allows everyone in the same group to push to this repository.  Remove that option if this is not the case.&lt;br /&gt;
# cd to your repository that you want link to this bare repository.&lt;br /&gt;
# Set the remote.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git remote add origin &#039;&#039;path to/url for your bare repository&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Set the configuration for pulling.&lt;br /&gt;
#* &amp;lt;code&amp;gt;git config branch.master.remote origin&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;git config branch.master.merge refs/heads/master&amp;lt;/code&amp;gt;&lt;br /&gt;
# Push your files to the bare repository (must specify origin master since this is the first push to the empty repository)&lt;br /&gt;
#* &amp;lt;code&amp;gt;git push origin master&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now operate as if you had cloned from bareRepoName.&lt;br /&gt;
&lt;br /&gt;
== Use a Previously Setup Repository ==&lt;br /&gt;
Clone it:&lt;br /&gt;
  git clone &amp;lt;repository to be cloned&amp;gt; [optional new directory name]&lt;br /&gt;
&lt;br /&gt;
== Update files ==&lt;br /&gt;
* Edit a file.&lt;br /&gt;
* When done editing, [[#Commit/Store Changes|commit the changes]]&lt;br /&gt;
&lt;br /&gt;
== Unmodify files == &lt;br /&gt;
Instructions are also given in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;git checkout -- &#039;&#039;fileName&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Identify non-committed changes ==&lt;br /&gt;
* Using Command-Line (2 ways)&lt;br /&gt;
** git status - list changed/removed/staged files&lt;br /&gt;
** git diff - lists the differences&lt;br /&gt;
* Using git-gui&lt;br /&gt;
** They are listed under Unstaged Changes&lt;br /&gt;
&lt;br /&gt;
== Stage files/changes prior to committing them ==&lt;br /&gt;
* Using Command-Line (multiple ways)&lt;br /&gt;
** git add &amp;lt;file1&amp;gt; &amp;lt;file2&amp;gt; (adds specified files)&lt;br /&gt;
** git add .  (adds all files)&lt;br /&gt;
*** first do a &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; to see what files will be staged&lt;br /&gt;
**** after, do a &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; to verify you want those files staged&lt;br /&gt;
* Using git-gui (multiple ways): Should see files move from Unstaged to Staged&lt;br /&gt;
** Click on the file icons in the Unstaged Changes window&lt;br /&gt;
** 2 Step process&lt;br /&gt;
**#Select the files to be staged in the Unstaged Changes Window;&lt;br /&gt;
**#Commit-&amp;gt;Stage To Commit&lt;br /&gt;
&lt;br /&gt;
== Unstage files ==&lt;br /&gt;
Instructions are also given in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;git reset HEAD &#039;&#039;filename1 filename2&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Commit/Store Changes ==&lt;br /&gt;
Files are already staged:&lt;br /&gt;
* To see staged files use:&lt;br /&gt;
** git diff --cached&lt;br /&gt;
* Using Command-Line&lt;br /&gt;
** git commit -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
*** if you do not specify -m, it will open up your default editor for you to enter the message, enter it, save, and exit&lt;br /&gt;
* Using git-gui&lt;br /&gt;
** Press the &amp;quot;Commit&amp;quot; button&lt;br /&gt;
&lt;br /&gt;
Files are not already staged (2 ways):&lt;br /&gt;
* git commit -a -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
** Always do a git status first - all modified files will be committed.&lt;br /&gt;
* git add (adds to the index/stage); git commit -m &amp;quot;your commit message&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Bringing in (Pulling) changes from source repository (the one you cloned from) ==&lt;br /&gt;
*In your local/working repository:&lt;br /&gt;
** git pull&lt;br /&gt;
** Resolve any unresolved merges &amp;amp; commit those resolutions.&lt;br /&gt;
&lt;br /&gt;
== Ignore files that you don&#039;t want to show up in &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt; == &lt;br /&gt;
Setup git to ignore files with certain names, extensions, etc&lt;br /&gt;
&lt;br /&gt;
If all users of the repository will want to ignore the files:&lt;br /&gt;
* Create/update a .gitignore file containing the files you want to ignore (use #&#039;s as comments), for example:&lt;br /&gt;
 # Ignore editor created temp files&lt;br /&gt;
 *~&lt;br /&gt;
 # ignore object files.&lt;br /&gt;
 *.o&lt;br /&gt;
&lt;br /&gt;
If the ignored files are specific for just you, add your ignores file (formatted like the .gitignore):&lt;br /&gt;
*git config core.excludesfile ~/git/config/ignoreFiles&lt;br /&gt;
&lt;br /&gt;
== Check Branches ==&lt;br /&gt;
*See what branches there are locally:&lt;br /&gt;
** git branch&lt;br /&gt;
** Current branch marked with &#039;*&#039;&lt;br /&gt;
&lt;br /&gt;
* To see all branches including remote branches:&lt;br /&gt;
** git branch -a&lt;br /&gt;
** Current branch marked with &#039;*&#039;&lt;br /&gt;
&lt;br /&gt;
== Create New Branch ==&lt;br /&gt;
First change to the branch (could be master, the default branch) you want your branch to start from.&lt;br /&gt;
&lt;br /&gt;
* 2 ways to create a new branch and switch to it:&lt;br /&gt;
** Create branch, then switch to it (default starting point is the same as the current branch):&lt;br /&gt;
**# Create the branch&lt;br /&gt;
**#* git branch &amp;lt;branch-name&amp;gt; [&amp;lt;start-point(branch/tag)&amp;gt;]&lt;br /&gt;
**# Switch to a Specified Branch&lt;br /&gt;
**#* git checkout &amp;lt;branch-name&amp;gt;&lt;br /&gt;
** Create and switch to the branch in one step&lt;br /&gt;
**# Create and switch to (checkout) a branch&lt;br /&gt;
**#* git checkout -b &amp;lt;branch-name&amp;gt; &amp;lt;start-point&amp;gt;&lt;br /&gt;
* See Your Branches - current one is marked with a &amp;quot;*&amp;quot;&lt;br /&gt;
** git branch&lt;br /&gt;
&#039;&#039;&#039;NOTES:&#039;&#039;&#039;&lt;br /&gt;
* If you switch to the branch in one window, it switches it in all&lt;br /&gt;
* Beware of switching branches when you have non-committed files.&lt;br /&gt;
** Until you commit the files, they will be in all branches.&lt;br /&gt;
** If a branch has a different head than your current branch for the non-committed files, the branch change fails.&lt;br /&gt;
&lt;br /&gt;
== Merging Changes ==&lt;br /&gt;
* Checkout the branch you want to merge into&lt;br /&gt;
** git checkout branchMergeInto&lt;br /&gt;
** Often: git checkout master&lt;br /&gt;
* Merge the other branch into it&lt;br /&gt;
** git merge branchMergingFrom&lt;br /&gt;
* Resolve and commit any merge conflicts.&lt;br /&gt;
* To Undo a merge before committing:&lt;br /&gt;
** git reset --hard HEAD&lt;br /&gt;
&lt;br /&gt;
Note: ”Fast forward” - no divergent work, just moves the pointer to &lt;br /&gt;
the latest commit on the other branch&lt;br /&gt;
&lt;br /&gt;
== Delete a Branch ==&lt;br /&gt;
Delete branch after merging &amp;amp; you are done with it&lt;br /&gt;
* git branch -d branchName&lt;br /&gt;
* Make sure you have merged first!&lt;br /&gt;
* Delete remote branch: &lt;br /&gt;
* git push origin :branchName&lt;br /&gt;
&lt;br /&gt;
== Share a Branch by pushing to the Remote ==&lt;br /&gt;
* git push origin &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Work on/Use a branch that exists on the remote ==&lt;br /&gt;
*To see all branches including remotes:&lt;br /&gt;
** git branch -a&lt;br /&gt;
* Base work on a remote branch/merge back to it&lt;br /&gt;
** git checkout -t origin/&#039;&#039;branchName&#039;&#039;&lt;br /&gt;
** Creates &amp;amp; checkouts branch called &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
* Now push &amp;amp; pull from your &#039;&#039;branchName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: A typical wrong way is: clone from the remote repository, then pull the branch&lt;br /&gt;
&lt;br /&gt;
Note: A local branch name is only informative to you.  There is no relationship between that branch name and the branches named at the repository that you initially did the pull from.  So you may, for example, name your local branch &amp;quot;fix_karma_paired_end&amp;quot; or anything else arbitrary even if the remote branch is &amp;quot;0.8.8S&amp;quot;.  As described above, the -t option will create a local branch named after the remote branch, also specify -b if you want to customize the name.&lt;br /&gt;
&lt;br /&gt;
== Resolve a merge/pull conflict ==&lt;br /&gt;
* Make appropriate changes&lt;br /&gt;
* Delete the &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;, =======, and &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
* Add to the staged files&lt;br /&gt;
** git add nowMergedFile&lt;br /&gt;
* Commit the merge&lt;br /&gt;
** git commit&lt;br /&gt;
** Update the default merge message with a description of how you &lt;br /&gt;
resolved the merge&lt;br /&gt;
* You can also use a mergetool: git mergetool&lt;br /&gt;
&lt;br /&gt;
== Create a tag ==&lt;br /&gt;
Tags can be used when releasing, if you want to mark that version so you can &lt;br /&gt;
go back to it&lt;br /&gt;
&lt;br /&gt;
* git tag -a tagName -m &#039;tag description&#039;&lt;br /&gt;
* Example: &lt;br /&gt;
 git tag -a v1.1 -m &#039;version 1.1 contains the first version&lt;br /&gt;
&lt;br /&gt;
== See what tags there are ==&lt;br /&gt;
* git tag&lt;br /&gt;
* git tag -l v1.1.*&lt;br /&gt;
&lt;br /&gt;
== Get info on a tag==&lt;br /&gt;
* git show &#039;&#039;tagName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Push Tag to remote ==&lt;br /&gt;
* Not automatically pushed to the remote&lt;br /&gt;
* git push origin &#039;&#039;tagName&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Setup an email hook on pushes ==&lt;br /&gt;
* cd &#039;&#039;yourDirectory&#039;&#039;/.git/hooks&lt;br /&gt;
* cp post-receive.sample post-receive&lt;br /&gt;
* Uncomment the line at the end of post-receive that references post-receive-email&lt;br /&gt;
* Add the following to &#039;&#039;yourDirectory&#039;&#039;/.git/config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[hooks]&lt;br /&gt;
	mailinglist = &amp;quot;space delimited email addresses to email when changes are pushed&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Push rejected non-fast forward&amp;quot; ==&lt;br /&gt;
Two possible answers:&lt;br /&gt;
&lt;br /&gt;
(1). You did not pull the current branch before trying to push.&lt;br /&gt;
&lt;br /&gt;
Solution: do a &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;, then retry the &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2). You only pulled a branch but want to push it back to master branch.&lt;br /&gt;
&lt;br /&gt;
== Committed to the wrong branch ==&lt;br /&gt;
If you have NOT yet pushed to a public repository and it was the last commit:&lt;br /&gt;
*git reset --soft HEAD^&lt;br /&gt;
** puts the changes back to staged.&lt;br /&gt;
git checkout branch_you_want&lt;br /&gt;
git commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subtrees == &lt;br /&gt;
=== Bring in changes from a subtree&#039;s remote ===&lt;br /&gt;
If the remote is not already a part of this git repo:&lt;br /&gt;
#Add other project as a branch and fetch (-f).&lt;br /&gt;
#:&amp;lt;code&amp;gt;git remote add -f libStatGen_remote https://github.com/statgen/libStatGen.git&amp;lt;/code&amp;gt;&lt;br /&gt;
#Create &amp;amp; checkout a branch for the remote.&lt;br /&gt;
#* taking &amp;lt;code&amp;gt;master&amp;lt;/code&amp;gt;:&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout -b libStatGen_branch libStatGen_remote/master&amp;lt;/code&amp;gt;&lt;br /&gt;
#* taking a tag:&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout -b vt_branch_SWS tags/SWS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the remote is already a part of this git repo:&lt;br /&gt;
#Checkout the branch&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout libStatGen_branch&amp;lt;/code&amp;gt;&lt;br /&gt;
#Bring in the new version&lt;br /&gt;
#: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Merge the changes from the subtree into the base repository ===&lt;br /&gt;
#Go back to the master branch&lt;br /&gt;
#: &amp;lt;code&amp;gt;git checkout master&amp;lt;/code&amp;gt;&lt;br /&gt;
#(Optional) Only if adding a new subdirectory, do:&lt;br /&gt;
#: &amp;lt;code&amp;gt;git read-tree --prefix=src/libStatGen -u libStatGen_branch&amp;lt;/code&amp;gt;&lt;br /&gt;
#Merge in the new version.&lt;br /&gt;
#: &amp;lt;code&amp;gt;git merge --squash -s subtree --no-commit libStatGen_branch&amp;lt;/code&amp;gt;&lt;br /&gt;
#:* --squash: do not merge histories&lt;br /&gt;
#:* -s subtree: merge strategy&lt;br /&gt;
#:*--no-commit: just merge, don’t commit the changes&lt;br /&gt;
#Commit the changes&lt;br /&gt;
#: &amp;lt;code&amp;gt;git commit -m “message”&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud&amp;diff=13691</id>
		<title>GotCloud</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud&amp;diff=13691"/>
		<updated>2015-09-01T21:43:17Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Running GotCloud Software */ Remove broken links. Update pipeline status.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Genomes on the Cloud (GotCloud) Introduction==&lt;br /&gt;
&lt;br /&gt;
To handle the increasing volume of next generation sequencing and genotyping data, we created and developed software pipelines called &#039;&#039;&#039;Genomes on the Cloud (GotCloud).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
GotCloud contains Mapping &amp;amp; Variant Calling Pipelines.&lt;br /&gt;
&lt;br /&gt;
Key Features:&lt;br /&gt;
* Connects sequence analysis tools together in automated pipeline&lt;br /&gt;
** Alignment, quality control, variant calling&lt;br /&gt;
* Robust against unexpected system failure using GNU make&lt;br /&gt;
** easy restart after failure&lt;br /&gt;
* Massively parallel, can run hundreds of jobs&lt;br /&gt;
** Splits large jobs into many pieces&lt;br /&gt;
** Simplifies running on clusters&lt;br /&gt;
* Scalable to tens of thousands of samples&lt;br /&gt;
* Easy to use - Automates series of configurable steps&lt;br /&gt;
** user doesn&#039;t have to understand/configure/know the many tools required to create high quality results&lt;br /&gt;
* Available on Amazon Web Services (AWS) Elastic Compute Cloud (EC2)&lt;br /&gt;
* Run on local machines/clusters&lt;br /&gt;
&lt;br /&gt;
GotCloud incorporates the alignment and variant calling pipelines that we have been using at UM into one easy to use, publicly available tool.  GotCloud can run on a user&#039;s computer, on an instance in a &lt;br /&gt;
compute cloud, and/or can split the work up onto a cluster of machines or instances. &lt;br /&gt;
&lt;br /&gt;
[[File:Gotcloud.puzzles.v2.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Getting Help with GotCloud ===&lt;br /&gt;
&lt;br /&gt;
Please join in the [http://groups.google.com/group/GotCloud GotCloud Google Group] to ask / discuss / comment about these pipelines.&lt;br /&gt;
&lt;br /&gt;
Currently the &amp;quot;join&amp;quot; button appears to be missing.  Click &amp;quot;NEW TOPIC&amp;quot;, then select &amp;quot;Join this group&amp;quot;.  You can then cancel the message post (or post a message).&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: FAQs]] if you have any questions.  If your questions are not answered there, join the google group and ask, or email Mary Kate Wing (mktrost@umich.edu).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sequence Analysis Background Information ===&lt;br /&gt;
&lt;br /&gt;
There are many essential steps in the analysis of next generation sequence data. &lt;br /&gt;
&lt;br /&gt;
Next generation sequence data analysis starts with [http://en.wikipedia.org/wiki/FASTQ_format FASTQ files], the typical format provided from your sequencing center containing the sequence &amp;amp; base quality information for your data.&lt;br /&gt;
&lt;br /&gt;
The fastq files are processed using the [[GotCloud: Alignment Pipeline|alignment pipeline]] which finds the most likely genomic location for each read and stores that information in a [[BAM|BAM (Binary Sequence Alignment/Map format) file]].  In addition to the sequence and base quality information contained in FASTQ files, a BAM file also contains the genomic location and some additional information about the mapping.  As part of the [[GotCloud: Alignment Pipeline|alignment pipeline]], the base qualities are adjusted to more accurately reflect the likelihood that the base is correct. &lt;br /&gt;
&lt;br /&gt;
The [[GotCloud: Alignment Pipeline|alignment pipeline]] can be skipped if you already have Deduped and Recalibrated BAM files.  If you have BAMs, but they needed to be deduped and recalibrated, you can use our [[GotCloud:_Alignment_Sub-Pipelines#recabQC_2|recabQC pipeline]].&lt;br /&gt;
&lt;br /&gt;
The [[GotCloud: Variant Calling Pipeline|variant calling pipeline]] processes the deduped and recalibrated BAM files produced by the alignment pipeline or that you provide it, generating an initial list of polymorphic sites and genotypes stored in a [http://www.1000genomes.org/wiki/Analysis/Variant%20Call%20Format/vcf-variant-call-format-version-41 VCF (Variant Call Format) file].  The [[GotCloud: Variant Calling Pipeline|variant calling pipeline]] then filters the  variants using both hard filters and a [[SVM Filtering|Support Vector Machine (SVM)]].  It then uses haplotype information to refine these genotypes in an updated VCF file.&lt;br /&gt;
&lt;br /&gt;
After completing the GotCloud Variant Calling Pipeline, [[EPACTS|EPACTS (Efficient and Parallelizable Association Container Toolbox)]] can be used to perform statistical tests to identify genome-wide association from sequence data.&lt;br /&gt;
&lt;br /&gt;
[[File:GotCloudDiagram.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Publication ==&lt;br /&gt;
If you use GotCloud, please cite our publication: &lt;br /&gt;
[http://genome.cshlp.org/content/early/2015/04/14/gr.176552.114.abstract Jun, Goo, et al. &amp;quot;An efficient and scalable analysis framework for variant extraction and refinement from population scale DNA sequence data.&amp;quot; Genome research (2015): gr-176552.]&lt;br /&gt;
&lt;br /&gt;
== GotCloud Setup ==&lt;br /&gt;
&lt;br /&gt;
You may run the GotCloud software in several modes:&lt;br /&gt;
* On your own hardware running Ubuntu or Redhat/CentOS. See the instructions about installing the software below.&lt;br /&gt;
* On an Amazon Elastic Compute Cloud using Ubuntu or Redhat/CentOS if you do not have your own set of machines.&lt;br /&gt;
** See [[GotCloud: Amazon]] for more information.&lt;br /&gt;
** You can run on an EC2 cluster instance created by StarCluster. &lt;br /&gt;
&lt;br /&gt;
GotCloud has been developed and tested on Linux Ubuntu 12.10 and 12.04.2 LTS.  While it should work on other Linux systems, they have not yet been tested. &lt;br /&gt;
&lt;br /&gt;
=== GotCloud on Amazon ===&lt;br /&gt;
You can take advantage of GotCloud AMI&#039;s when running on Amazon.  The GotCloud already includes GotCloud and default reference files.&lt;br /&gt;
&lt;br /&gt;
See [[GotCloud: Amazon]] for instructions on using GotCloud on Amazon.&lt;br /&gt;
&lt;br /&gt;
=== GotCloud Setup on Any Linux Machine ===&lt;br /&gt;
&lt;br /&gt;
==== GotCloud Dependencies ====&lt;br /&gt;
&lt;br /&gt;
GotCloud requires certain things to be installed in order to run:&lt;br /&gt;
* perl - gotcloud is a perl script and it calls many other perl scripts&lt;br /&gt;
** Zlib.pm - required for perl scripts to read compressed files.&lt;br /&gt;
* make - GNU make is used to run the pipelines&lt;br /&gt;
* java - required to run the beagle step of the ld-aware genotype refinement&lt;br /&gt;
* curses/ncurses (required for samtools)&lt;br /&gt;
** On Ubuntu: &amp;lt;code&amp;gt;sudo apt-get install libncurses5 libncurses5-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
* cmake (required for premo)&lt;br /&gt;
** On Ubuntu: &amp;lt;code&amp;gt;sudo apt-get install cmake&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check if your system has the proper software installed by invoking the command&lt;br /&gt;
 [gotcloud_path]/scripts/check_requirements.sh&lt;br /&gt;
&lt;br /&gt;
==== Install GotCloud Software ====&lt;br /&gt;
&lt;br /&gt;
You can install gotCloud on your system as (follow the links for the appropriate instructions):&lt;br /&gt;
* [[GotCloud: Source Releases|source release]] - contains the scripts and uncompiled source&lt;br /&gt;
* [[GotCloud: Binary Releases|binary release]] - contains the scripts and pre-compiled binaries (no source)&lt;br /&gt;
&lt;br /&gt;
[[GotCloud: Versions]] describes the changes added to each version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively if you are using Amazon EC2, you can use one of the following sets of instructions:&lt;br /&gt;
* Create a machine instance based on the AMI we provide: [[Amazon Single Node]]&lt;br /&gt;
* Create an EC2 cluster instance using [[StarCluster|StarCluster]]&lt;br /&gt;
For more information on using GotCloud on Amazon, see: [[GotCloud: Amazon]]&lt;br /&gt;
&lt;br /&gt;
For more information on Amazon Web Services, see: https://aws.amazon.com/&lt;br /&gt;
&lt;br /&gt;
==== GotCloud Reference/Resource Files ====&lt;br /&gt;
In order to run gotCloud, you need to provide Genetic Reference and Resource Files.&lt;br /&gt;
&lt;br /&gt;
These include information about the reference sequence and dbnsp positions.&lt;br /&gt;
&lt;br /&gt;
See: [[GotCloud: Genetic Reference and Resource Files]] for information about the required files.  It contains a description of the required files, information about generating your own versions, as well as a downloadable set of files.&lt;br /&gt;
* When running on Amazon, a default set of reference files are included in the GotCloud AMI.&lt;br /&gt;
&lt;br /&gt;
==== Configure GotCloud ====&lt;br /&gt;
* [[Configure GotCloud|Configure Gotcloud]] for your installation&lt;br /&gt;
&lt;br /&gt;
== Running GotCloud Software ==&lt;br /&gt;
&lt;br /&gt;
* [[GotCloud: Alignment Pipeline|Alignment Pipeline]] &lt;br /&gt;
** [[GotCloud: Alignment Sub-Pipelines|Alignment Sub-Pipelines]] - for if you do not want to run the entire Alignment Pipeline&lt;br /&gt;
* [[GotCloud: Variant Calling Pipeline|Variant Calling Pipeline]]&lt;br /&gt;
* Indel Calling Pipeline&lt;br /&gt;
* [[GotCloud: GenomeSTRiP Pipeline|GenomeSTRiP Pipeline]] (Structural Variation)&lt;br /&gt;
* MEI Calling Pipeline - &#039;&#039;Ask if you&#039;re interested&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can also create your own pipelines.  Instructions are here:&lt;br /&gt;
* [[GotCloud: Creating a New Pipeline]] &lt;br /&gt;
&lt;br /&gt;
=== GotCloud Demos ===&lt;br /&gt;
GotCloud Demos (originally from our sequencing workshop):&lt;br /&gt;
* [[SeqShop: Sequence Mapping and Assembly Practical]]&lt;br /&gt;
* [[SeqShop: Variant Calling and Filtering for SNPs Practical]]&lt;br /&gt;
* [[SeqShop: Variant Calling and Filtering for INDELs Practical]]&lt;br /&gt;
* [[SeqShop: Analysis of Structural Variation Practical]]&lt;br /&gt;
&lt;br /&gt;
GotCloud on Amazon Demo (snpcall &amp;amp; indel):&lt;br /&gt;
* [[GotCloud: Amazon Demo]]&lt;br /&gt;
&lt;br /&gt;
Deprecated: [[Tutorial: GotCloud]]&lt;br /&gt;
&lt;br /&gt;
== UMich Development/Release How-To Notes ==&lt;br /&gt;
* [[Releasing GotCloud]]&lt;br /&gt;
* Amazon EC2&lt;br /&gt;
** [[Creating an AMI on EC2]]&lt;br /&gt;
** [[Creating a Snapshot on EC2]] (deprecated)&lt;br /&gt;
** [[Mount S3 Volume]]&lt;br /&gt;
** Notes on sequence data preparation in [[Amazon Storage|Amazon Storage]].&lt;br /&gt;
&lt;br /&gt;
* [[Git_FAQs#Subtrees|Upgrade Git Subtree]]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Creating_a_New_Pipeline&amp;diff=13690</id>
		<title>GotCloud: Creating a New Pipeline</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Creating_a_New_Pipeline&amp;diff=13690"/>
		<updated>2015-08-31T18:55:25Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Command Line Parameters */ fix formatting about BAM_LIST&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Creating a New BAM Processing Pipeline ==&lt;br /&gt;
&lt;br /&gt;
GotCloud allows you to configure new basic BAM processing pipelines via configuration.&lt;br /&gt;
&lt;br /&gt;
To define new processing pipelines, you will use Configuration sections to define both the pipeline and each of the steps.  So first you need to understand how configuration sections work.&lt;br /&gt;
&lt;br /&gt;
=== GotCloud Configuration Sections ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GotCloud configuration files can be broken into sections:&lt;br /&gt;
* Section names are specified between square brakets (&amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt;)&lt;br /&gt;
*: &amp;lt;pre&amp;gt;[sectionName]&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Any configuration settings specified after the section header belong to that section&lt;br /&gt;
** A section can be specified multiple times in the file and the configuration settings are accumulated&lt;br /&gt;
** To access a value for a key defined in another section, use &amp;lt;code&amp;gt;$(otherSectionName/keyName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If a section is not specified, the configuration settings belong to the &amp;lt;code&amp;gt;global&amp;lt;/code&amp;gt; section&lt;br /&gt;
** The &amp;lt;code&amp;gt;global&amp;lt;/code&amp;gt; section does not need to be specified at the beginning of the file (it is the default section).&lt;br /&gt;
** Additional &amp;lt;code&amp;gt;global&amp;lt;/code&amp;gt; settings can be set later in the file after other settings, by defining the explicitly section:&lt;br /&gt;
**: &amp;lt;pre&amp;gt;[global]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Sections can be derived from another section&lt;br /&gt;
** All sections automatically derive from &amp;lt;code&amp;gt;[global]&amp;lt;/code&amp;gt;&lt;br /&gt;
** A derived section inherits all the configuration settings from its parent sections&lt;br /&gt;
*** Parent settings are overridden by redefining the configuration key/value pair&lt;br /&gt;
** A parent section is specified following a semicolon &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; on the section definition line:&lt;br /&gt;
**: &amp;lt;pre&amp;gt;[childSectionName] : parentSectionName&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Section specific configuration settings are specified on the lines following the section definition:&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;pre&amp;gt;[section1]&lt;br /&gt;
KEY1 = VAL1&lt;br /&gt;
KEY2 = VAL2&lt;br /&gt;
&lt;br /&gt;
[section2]&lt;br /&gt;
KEY1 = VAL1_2&lt;br /&gt;
KEY3 = VAL3&amp;lt;/pre&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
=== Defining a New Pipeline ===&lt;br /&gt;
&lt;br /&gt;
There are 2 parts for creating a new pipeline&lt;br /&gt;
# [[#Overall Pipeline Definition|Overall Pipeline Definition]]&lt;br /&gt;
#* Basics for the overall pipeline&lt;br /&gt;
#* &#039;&#039;&#039;NOTE: Currently, configurations set in the overall pipeline&#039;s section do not by default pass onto the step&#039;s configurations&#039;&#039;&#039;&lt;br /&gt;
# [[#Configure Each Step|Configure Each Step]]&lt;br /&gt;
&lt;br /&gt;
==== Overall Pipeline Definition ====&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Define a new configuration section for your pipeline&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Example:&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt; &amp;lt;pre&amp;gt;[pipelineName]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Define the steps in this pipeline using the key &amp;lt;code&amp;gt;STEPS&amp;lt;/code&amp;gt; under that section&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Example:&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;pre&amp;gt;[pipelineName]&lt;br /&gt;
STEPS = stepName1 stepName2 stepName3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Note: each step must have its own configuration section&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional Overall Pipeline Settings:&lt;br /&gt;
* BATCH_OPTS&lt;br /&gt;
* BATCH_TYPE&lt;br /&gt;
* IGNORE_SM_CHECK - turn off the default validation that the @RG SM tag matches the bam list sample name.&lt;br /&gt;
* IGNORE_REF_CHR_CHECK - turn off the default validation that checks that all of the BAM&#039;s chromosomes are in the reference file - eventually we may update to just validate those in CHRS.&lt;br /&gt;
* OUT_DIR&lt;br /&gt;
* BAM_LIST&lt;br /&gt;
* REF&lt;br /&gt;
* REF_FAI&lt;br /&gt;
* MULTIPLE_TARGET_MAP&lt;br /&gt;
* UNIFORM_TARGET_BED&lt;br /&gt;
* OFFSET_OFF_TARET&lt;br /&gt;
* CHRS - defines which chromosomes to run.&lt;br /&gt;
* UNIT_CHUNK&lt;br /&gt;
* NO_CRAM - do not allow CRAM files as input&lt;br /&gt;
* MAKE_BASE_NAME_PIPE - base makefile name&lt;br /&gt;
* MAKE_OPTS - options to pass to the make command that runs the jobs.&lt;br /&gt;
* BAM_DEPEND - set to TRUE if you want the BAM file to be included as a make dependency&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
* The BAM_LIST file can contain config values within it - the overall pipeline section will be checked for those config values.&lt;br /&gt;
* By default if a value is not defined in the section, it will check global.&lt;br /&gt;
&lt;br /&gt;
==== Configure Each Step ====&lt;br /&gt;
&#039;&#039;&#039;Create a section for each step&#039;&#039;&#039;&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;[stepName1]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Required keys for each step:====&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;DEPEND&amp;lt;/code&amp;gt; - dependencies for this step&lt;br /&gt;
#: Valid Values (separate multiple dependencies with a space):&lt;br /&gt;
#:*&amp;lt;code&amp;gt;BAM&amp;lt;/code&amp;gt;&lt;br /&gt;
#:*Name of step that must complete prior to this step&lt;br /&gt;
#:*PER_SAMPLE_BAM??? can only be BAM or PER_SAMPLE_BAM&lt;br /&gt;
#&amp;lt;code&amp;gt;OUTPUT&amp;lt;/code&amp;gt; - name of output file&lt;br /&gt;
#* See below for temporary keys for step iteration&lt;br /&gt;
#&amp;lt;code&amp;gt;CMD&amp;lt;/code&amp;gt; - command for running the step&lt;br /&gt;
#* See below for temporary keys for step iteration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Optional Step Settings:====&lt;br /&gt;
General Settings:&lt;br /&gt;
* &amp;lt;code&amp;gt;LOCAL&amp;lt;/code&amp;gt; - run the step locally rather than on the cluster&lt;br /&gt;
* &amp;lt;code&amp;gt;NEED_BAI&amp;lt;/code&amp;gt; - Set if a step requires a BAI file&lt;br /&gt;
** Per chromosome steps always require a BAI file&lt;br /&gt;
** Tells GotCloud to fail if a BAI can&#039;t be found&lt;br /&gt;
* &amp;lt;code&amp;gt;BAM_DEPEND&amp;lt;/code&amp;gt; - Add the BAM file as a Makefile dependency for this step&lt;br /&gt;
&lt;br /&gt;
Settings to limit which samples this step runs on:&lt;br /&gt;
* &amp;lt;code&amp;gt;SAMPLES&amp;lt;/code&amp;gt; - use this to define a step to run only for samples with a single BAM or multiple BAMs (merging)&lt;br /&gt;
*: Possible values:&lt;br /&gt;
*:* &amp;lt;code&amp;gt;MULTI_BAM&amp;lt;/code&amp;gt; - run the step only for samples that have multiple BAMs&lt;br /&gt;
*:* &amp;lt;code&amp;gt;SINGLE_BAM&amp;lt;/code&amp;gt; - run the step only for samples that have one BAM&lt;br /&gt;
*Deprecated settings - still in pipeline.pl and may or may not work:&lt;br /&gt;
** &amp;lt;code&amp;gt;MULTI_ONLY&amp;lt;/code&amp;gt; - set to non-blank if step should run if there are more than 1 input per output.&lt;br /&gt;
** &amp;lt;code&amp;gt;SINGLE_ONLY&amp;lt;/code&amp;gt; - set to non-blank if step should run if there is only 1 input per output.&lt;br /&gt;
&lt;br /&gt;
Joining multiple inputs for a single output:&lt;br /&gt;
* Can occur if there are multiple dependencies&lt;br /&gt;
* Can occur if a step runs at a more generic iteration level than a dependency&lt;br /&gt;
* &amp;lt;code&amp;gt;INPUT_JOIN&amp;lt;/code&amp;gt; - value to pass to perl &amp;quot;join&amp;quot; command for joining multiple inputs for each output.&lt;br /&gt;
** Looks across all dependencies&lt;br /&gt;
* &amp;lt;code&amp;gt;dependStepName_JOIN&amp;lt;/code&amp;gt; - how to join the &amp;quot;dependStepName&amp;quot;&#039;s output into the command line for a step that depends on it if there are multiple outputs per input of this step&lt;br /&gt;
** Substitutes &amp;lt;code&amp;gt;?(${depend}/OUTPUT)&amp;lt;/code&amp;gt; with perl &amp;quot;join&amp;quot; using the specified value to join multiple outputs for that dependency&lt;br /&gt;
&lt;br /&gt;
Log Output filenames&lt;br /&gt;
* &amp;lt;code&amp;gt;FILELIST&amp;lt;/code&amp;gt; - writes/appends the iteration&#039;s output file name into the specified file list.&lt;br /&gt;
** Typically will be used in a later &amp;quot;merge&amp;quot; step&lt;br /&gt;
** See below for temporary keys for step iteration that can be used in this filename&lt;br /&gt;
*** Temporary keys can be more general than those in OUTPUT, but cannot be more specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Iterating a command for each Bam/Sample/Chromosome/Region====&lt;br /&gt;
Temporary keys are used when iterating a command per BAM/sample/chromosome/region.&lt;br /&gt;
* Specify using &amp;lt;code&amp;gt;?()&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;$()&amp;lt;/code&amp;gt;&lt;br /&gt;
* Temporary keys can be used in:&lt;br /&gt;
** &amp;lt;code&amp;gt;OUTPUT&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;CMD&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;FILELIST&amp;lt;/code&amp;gt;&lt;br /&gt;
* They will be substituted as it iterates&lt;br /&gt;
* How to iterate a command is determined by the temporary keys in &amp;lt;code&amp;gt;OUTPUT&amp;lt;/code&amp;gt;&lt;br /&gt;
* Temporary Keys for determining iterations:&lt;br /&gt;
** &amp;lt;code&amp;gt;?(BAM)&amp;lt;/code&amp;gt; - per BAM per sample&lt;br /&gt;
** &amp;lt;code&amp;gt;?(SAMPLE)&amp;lt;/code&amp;gt; - per sample&lt;br /&gt;
** &amp;lt;code&amp;gt;?(CHR)&amp;lt;/code&amp;gt; - per chromosome&lt;br /&gt;
** &amp;lt;code&amp;gt;?(START)&amp;lt;/code&amp;gt; - Per region of a Chromosome (must also include &amp;lt;code&amp;gt;?(CHR)&amp;lt;/code&amp;gt;):&lt;br /&gt;
* Additional Temporary Keys:&lt;br /&gt;
** &amp;lt;code&amp;gt;?(END)&amp;lt;/code&amp;gt; - end of the region - only used if &amp;lt;code&amp;gt;?(START)&amp;lt;/code&amp;gt; is also specified.&lt;br /&gt;
** &amp;lt;code&amp;gt;?(INPUT)&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;?(${depend}/OUTPUT)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Currently each step iteration will:&lt;br /&gt;
** be its own Makefile target/.OK file&lt;br /&gt;
** run independently on the cluster&lt;br /&gt;
&lt;br /&gt;
== Command Line Parameters ==&lt;br /&gt;
Required Parameters:&lt;br /&gt;
* &amp;lt;code&amp;gt;--name&amp;lt;/code&amp;gt; &amp;lt;pipelineName&amp;gt; - name of the pipeline to run&lt;br /&gt;
* &amp;lt;code&amp;gt;--conf&amp;lt;/code&amp;gt; &amp;lt;configuration file&amp;gt; - configuration file to use&lt;br /&gt;
&lt;br /&gt;
NOTE: Currently, any &amp;quot;overrides&amp;quot; are for the global setting only - not for the pipeline/step.&lt;br /&gt;
* this needs to be fixed so they can override the pipeline settings&lt;br /&gt;
&lt;br /&gt;
Optional Parameters:&lt;br /&gt;
* &amp;lt;code&amp;gt;--ignoreSmCheck&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;IGNORE_SM_CHECK&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--ignoreRefChrCheck&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;IGNORE_REF_CHR_CHECK&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--verbose&amp;lt;/code&amp;gt; &amp;lt;number&amp;gt; - verbose value passed to the loadConf method&lt;br /&gt;
&lt;br /&gt;
Optional Parameters like SnpCall:&lt;br /&gt;
* &amp;lt;code&amp;gt;--numjobs|numjobs&amp;lt;/code&amp;gt; &amp;lt;number&amp;gt; - number of jobs to run in parallel&lt;br /&gt;
* &amp;lt;code&amp;gt;--maxlocaljobs&amp;lt;/code&amp;gt; &amp;lt;number&amp;gt; - number of jobs to allow to run when batchtype is local (default 10) - does not validate for commands running LOCAL&lt;br /&gt;
* &amp;lt;code&amp;gt;--region&amp;lt;/code&amp;gt; &amp;lt;region to process&amp;gt; - like snpcall, specifies a single region to process&lt;br /&gt;
* &amp;lt;code&amp;gt;--bam_list|list|bamlist|bam_index|bamindex&amp;lt;/code&amp;gt; &amp;lt;bam list file&amp;gt; - overrides &amp;lt;code&amp;gt;BAM_LIST&amp;lt;/code&amp;gt;, the list of sample bam files to process&lt;br /&gt;
* &amp;lt;code&amp;gt;--out_dir|outdir&amp;lt;/code&amp;gt; &amp;lt;output directory&amp;gt; - overrides &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--batchtype&amp;lt;/code&amp;gt; &amp;lt;type&amp;gt; - overrides &amp;lt;code&amp;gt;BATCHTYPE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--batchopts&amp;lt;/code&amp;gt; &amp;lt;options&amp;gt; - overrides &amp;lt;code&amp;gt;BATCHOPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--chrs|chroms&amp;lt;/code&amp;gt; &amp;lt;comma separated chromosomes&amp;gt; - overrides &amp;lt;code&amp;gt;CHRS&amp;lt;/code&amp;gt; (CHRS is space separated - commas are converted to spaces)&lt;br /&gt;
* &amp;lt;code&amp;gt;--ref_dir|refdir&amp;lt;/code&amp;gt; &amp;lt;reference directory&amp;gt; - overrides &amp;lt;code&amp;gt;REF_DIR&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--ref_prefix|refprefix&amp;lt;/code&amp;gt; &amp;lt;prefix&amp;gt; - overrides &amp;lt;code&amp;gt;REF_PREFIX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--bam_prefix|bamprefix&amp;lt;/code&amp;gt; &amp;lt;prefix&amp;gt; - overrides &amp;lt;code&amp;gt;BAM_PREFIX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--base_prefix|baseprefix&amp;lt;/code&amp;gt; &amp;lt;prefix&amp;gt; - overrides &amp;lt;code&amp;gt;BASE_PREFIX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--gotcloudroot|gcroot&amp;lt;/code&amp;gt; &amp;lt;path to gotcloud&amp;gt; - by default gotcloud root is determined from the path to the pipeline script, but this setting overrides that.&lt;br /&gt;
* &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt; - print Usage&lt;br /&gt;
* &amp;lt;code&amp;gt;--test&amp;lt;/code&amp;gt; &amp;lt;test directory&amp;gt; - run the test code (just for indel right now)&lt;br /&gt;
&lt;br /&gt;
Unused command line options:&lt;br /&gt;
* In the code, but are not actually used:&lt;br /&gt;
* &amp;lt;code&amp;gt;--keeptmp&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;KEEP_TMP&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--keeplog&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;KEEP_LOG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Pipelines Created ==&lt;br /&gt;
Look for sections &amp;amp; &amp;lt;code&amp;gt;STEPS&amp;lt;/code&amp;gt; in the defaults.&lt;br /&gt;
 https://github.com/statgen/gotcloud/blob/master/bin/gotcloudDefaults.conf&lt;br /&gt;
 https://github.com/statgen/gotcloud/blob/alignPrep/bin/gotcloudDefaults.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Creating_a_New_Pipeline&amp;diff=13689</id>
		<title>GotCloud: Creating a New Pipeline</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Creating_a_New_Pipeline&amp;diff=13689"/>
		<updated>2015-08-31T18:28:37Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: /* Overall Pipeline Definition */ spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Creating a New BAM Processing Pipeline ==&lt;br /&gt;
&lt;br /&gt;
GotCloud allows you to configure new basic BAM processing pipelines via configuration.&lt;br /&gt;
&lt;br /&gt;
To define new processing pipelines, you will use Configuration sections to define both the pipeline and each of the steps.  So first you need to understand how configuration sections work.&lt;br /&gt;
&lt;br /&gt;
=== GotCloud Configuration Sections ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GotCloud configuration files can be broken into sections:&lt;br /&gt;
* Section names are specified between square brakets (&amp;lt;code&amp;gt;[]&amp;lt;/code&amp;gt;)&lt;br /&gt;
*: &amp;lt;pre&amp;gt;[sectionName]&amp;lt;/pre&amp;gt;&lt;br /&gt;
** Any configuration settings specified after the section header belong to that section&lt;br /&gt;
** A section can be specified multiple times in the file and the configuration settings are accumulated&lt;br /&gt;
** To access a value for a key defined in another section, use &amp;lt;code&amp;gt;$(otherSectionName/keyName)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If a section is not specified, the configuration settings belong to the &amp;lt;code&amp;gt;global&amp;lt;/code&amp;gt; section&lt;br /&gt;
** The &amp;lt;code&amp;gt;global&amp;lt;/code&amp;gt; section does not need to be specified at the beginning of the file (it is the default section).&lt;br /&gt;
** Additional &amp;lt;code&amp;gt;global&amp;lt;/code&amp;gt; settings can be set later in the file after other settings, by defining the explicitly section:&lt;br /&gt;
**: &amp;lt;pre&amp;gt;[global]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Sections can be derived from another section&lt;br /&gt;
** All sections automatically derive from &amp;lt;code&amp;gt;[global]&amp;lt;/code&amp;gt;&lt;br /&gt;
** A derived section inherits all the configuration settings from its parent sections&lt;br /&gt;
*** Parent settings are overridden by redefining the configuration key/value pair&lt;br /&gt;
** A parent section is specified following a semicolon &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; on the section definition line:&lt;br /&gt;
**: &amp;lt;pre&amp;gt;[childSectionName] : parentSectionName&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Section specific configuration settings are specified on the lines following the section definition:&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;pre&amp;gt;[section1]&lt;br /&gt;
KEY1 = VAL1&lt;br /&gt;
KEY2 = VAL2&lt;br /&gt;
&lt;br /&gt;
[section2]&lt;br /&gt;
KEY1 = VAL1_2&lt;br /&gt;
KEY3 = VAL3&amp;lt;/pre&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
=== Defining a New Pipeline ===&lt;br /&gt;
&lt;br /&gt;
There are 2 parts for creating a new pipeline&lt;br /&gt;
# [[#Overall Pipeline Definition|Overall Pipeline Definition]]&lt;br /&gt;
#* Basics for the overall pipeline&lt;br /&gt;
#* &#039;&#039;&#039;NOTE: Currently, configurations set in the overall pipeline&#039;s section do not by default pass onto the step&#039;s configurations&#039;&#039;&#039;&lt;br /&gt;
# [[#Configure Each Step|Configure Each Step]]&lt;br /&gt;
&lt;br /&gt;
==== Overall Pipeline Definition ====&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Define a new configuration section for your pipeline&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Example:&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt; &amp;lt;pre&amp;gt;[pipelineName]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Define the steps in this pipeline using the key &amp;lt;code&amp;gt;STEPS&amp;lt;/code&amp;gt; under that section&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Example:&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;pre&amp;gt;[pipelineName]&lt;br /&gt;
STEPS = stepName1 stepName2 stepName3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Note: each step must have its own configuration section&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optional Overall Pipeline Settings:&lt;br /&gt;
* BATCH_OPTS&lt;br /&gt;
* BATCH_TYPE&lt;br /&gt;
* IGNORE_SM_CHECK - turn off the default validation that the @RG SM tag matches the bam list sample name.&lt;br /&gt;
* IGNORE_REF_CHR_CHECK - turn off the default validation that checks that all of the BAM&#039;s chromosomes are in the reference file - eventually we may update to just validate those in CHRS.&lt;br /&gt;
* OUT_DIR&lt;br /&gt;
* BAM_LIST&lt;br /&gt;
* REF&lt;br /&gt;
* REF_FAI&lt;br /&gt;
* MULTIPLE_TARGET_MAP&lt;br /&gt;
* UNIFORM_TARGET_BED&lt;br /&gt;
* OFFSET_OFF_TARET&lt;br /&gt;
* CHRS - defines which chromosomes to run.&lt;br /&gt;
* UNIT_CHUNK&lt;br /&gt;
* NO_CRAM - do not allow CRAM files as input&lt;br /&gt;
* MAKE_BASE_NAME_PIPE - base makefile name&lt;br /&gt;
* MAKE_OPTS - options to pass to the make command that runs the jobs.&lt;br /&gt;
* BAM_DEPEND - set to TRUE if you want the BAM file to be included as a make dependency&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTES:&lt;br /&gt;
* The BAM_LIST file can contain config values within it - the overall pipeline section will be checked for those config values.&lt;br /&gt;
* By default if a value is not defined in the section, it will check global.&lt;br /&gt;
&lt;br /&gt;
==== Configure Each Step ====&lt;br /&gt;
&#039;&#039;&#039;Create a section for each step&#039;&#039;&#039;&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;[stepName1]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Required keys for each step:====&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;DEPEND&amp;lt;/code&amp;gt; - dependencies for this step&lt;br /&gt;
#: Valid Values (separate multiple dependencies with a space):&lt;br /&gt;
#:*&amp;lt;code&amp;gt;BAM&amp;lt;/code&amp;gt;&lt;br /&gt;
#:*Name of step that must complete prior to this step&lt;br /&gt;
#:*PER_SAMPLE_BAM??? can only be BAM or PER_SAMPLE_BAM&lt;br /&gt;
#&amp;lt;code&amp;gt;OUTPUT&amp;lt;/code&amp;gt; - name of output file&lt;br /&gt;
#* See below for temporary keys for step iteration&lt;br /&gt;
#&amp;lt;code&amp;gt;CMD&amp;lt;/code&amp;gt; - command for running the step&lt;br /&gt;
#* See below for temporary keys for step iteration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Optional Step Settings:====&lt;br /&gt;
General Settings:&lt;br /&gt;
* &amp;lt;code&amp;gt;LOCAL&amp;lt;/code&amp;gt; - run the step locally rather than on the cluster&lt;br /&gt;
* &amp;lt;code&amp;gt;NEED_BAI&amp;lt;/code&amp;gt; - Set if a step requires a BAI file&lt;br /&gt;
** Per chromosome steps always require a BAI file&lt;br /&gt;
** Tells GotCloud to fail if a BAI can&#039;t be found&lt;br /&gt;
* &amp;lt;code&amp;gt;BAM_DEPEND&amp;lt;/code&amp;gt; - Add the BAM file as a Makefile dependency for this step&lt;br /&gt;
&lt;br /&gt;
Settings to limit which samples this step runs on:&lt;br /&gt;
* &amp;lt;code&amp;gt;SAMPLES&amp;lt;/code&amp;gt; - use this to define a step to run only for samples with a single BAM or multiple BAMs (merging)&lt;br /&gt;
*: Possible values:&lt;br /&gt;
*:* &amp;lt;code&amp;gt;MULTI_BAM&amp;lt;/code&amp;gt; - run the step only for samples that have multiple BAMs&lt;br /&gt;
*:* &amp;lt;code&amp;gt;SINGLE_BAM&amp;lt;/code&amp;gt; - run the step only for samples that have one BAM&lt;br /&gt;
*Deprecated settings - still in pipeline.pl and may or may not work:&lt;br /&gt;
** &amp;lt;code&amp;gt;MULTI_ONLY&amp;lt;/code&amp;gt; - set to non-blank if step should run if there are more than 1 input per output.&lt;br /&gt;
** &amp;lt;code&amp;gt;SINGLE_ONLY&amp;lt;/code&amp;gt; - set to non-blank if step should run if there is only 1 input per output.&lt;br /&gt;
&lt;br /&gt;
Joining multiple inputs for a single output:&lt;br /&gt;
* Can occur if there are multiple dependencies&lt;br /&gt;
* Can occur if a step runs at a more generic iteration level than a dependency&lt;br /&gt;
* &amp;lt;code&amp;gt;INPUT_JOIN&amp;lt;/code&amp;gt; - value to pass to perl &amp;quot;join&amp;quot; command for joining multiple inputs for each output.&lt;br /&gt;
** Looks across all dependencies&lt;br /&gt;
* &amp;lt;code&amp;gt;dependStepName_JOIN&amp;lt;/code&amp;gt; - how to join the &amp;quot;dependStepName&amp;quot;&#039;s output into the command line for a step that depends on it if there are multiple outputs per input of this step&lt;br /&gt;
** Substitutes &amp;lt;code&amp;gt;?(${depend}/OUTPUT)&amp;lt;/code&amp;gt; with perl &amp;quot;join&amp;quot; using the specified value to join multiple outputs for that dependency&lt;br /&gt;
&lt;br /&gt;
Log Output filenames&lt;br /&gt;
* &amp;lt;code&amp;gt;FILELIST&amp;lt;/code&amp;gt; - writes/appends the iteration&#039;s output file name into the specified file list.&lt;br /&gt;
** Typically will be used in a later &amp;quot;merge&amp;quot; step&lt;br /&gt;
** See below for temporary keys for step iteration that can be used in this filename&lt;br /&gt;
*** Temporary keys can be more general than those in OUTPUT, but cannot be more specific.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Iterating a command for each Bam/Sample/Chromosome/Region====&lt;br /&gt;
Temporary keys are used when iterating a command per BAM/sample/chromosome/region.&lt;br /&gt;
* Specify using &amp;lt;code&amp;gt;?()&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;$()&amp;lt;/code&amp;gt;&lt;br /&gt;
* Temporary keys can be used in:&lt;br /&gt;
** &amp;lt;code&amp;gt;OUTPUT&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;CMD&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;FILELIST&amp;lt;/code&amp;gt;&lt;br /&gt;
* They will be substituted as it iterates&lt;br /&gt;
* How to iterate a command is determined by the temporary keys in &amp;lt;code&amp;gt;OUTPUT&amp;lt;/code&amp;gt;&lt;br /&gt;
* Temporary Keys for determining iterations:&lt;br /&gt;
** &amp;lt;code&amp;gt;?(BAM)&amp;lt;/code&amp;gt; - per BAM per sample&lt;br /&gt;
** &amp;lt;code&amp;gt;?(SAMPLE)&amp;lt;/code&amp;gt; - per sample&lt;br /&gt;
** &amp;lt;code&amp;gt;?(CHR)&amp;lt;/code&amp;gt; - per chromosome&lt;br /&gt;
** &amp;lt;code&amp;gt;?(START)&amp;lt;/code&amp;gt; - Per region of a Chromosome (must also include &amp;lt;code&amp;gt;?(CHR)&amp;lt;/code&amp;gt;):&lt;br /&gt;
* Additional Temporary Keys:&lt;br /&gt;
** &amp;lt;code&amp;gt;?(END)&amp;lt;/code&amp;gt; - end of the region - only used if &amp;lt;code&amp;gt;?(START)&amp;lt;/code&amp;gt; is also specified.&lt;br /&gt;
** &amp;lt;code&amp;gt;?(INPUT)&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;?(${depend}/OUTPUT)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Currently each step iteration will:&lt;br /&gt;
** be its own Makefile target/.OK file&lt;br /&gt;
** run independently on the cluster&lt;br /&gt;
&lt;br /&gt;
== Command Line Parameters ==&lt;br /&gt;
Required Parameters:&lt;br /&gt;
* &amp;lt;code&amp;gt;--name&amp;lt;/code&amp;gt; &amp;lt;pipelineName&amp;gt; - name of the pipeline to run&lt;br /&gt;
* &amp;lt;code&amp;gt;--conf&amp;lt;/code&amp;gt; &amp;lt;configuration file&amp;gt; - configuration file to use&lt;br /&gt;
&lt;br /&gt;
NOTE: Currently, any &amp;quot;overrides&amp;quot; are for the global setting only - not for the pipeline/step.&lt;br /&gt;
* this needs to be fixed so they can override the pipeline settings&lt;br /&gt;
&lt;br /&gt;
Optional Parameters:&lt;br /&gt;
* &amp;lt;code&amp;gt;--ignoreSmCheck&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;IGNORE_SM_CHECK&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--ignoreRefChrCheck&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;IGNORE_REF_CHR_CHECK&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--verbose&amp;lt;/code&amp;gt; &amp;lt;number&amp;gt; - verbose value passed to the loadConf method&lt;br /&gt;
&lt;br /&gt;
Optional Parameters like SnpCall:&lt;br /&gt;
* &amp;lt;code&amp;gt;--numjobs|numjobs&amp;lt;/code&amp;gt; &amp;lt;number&amp;gt; - number of jobs to run in parallel&lt;br /&gt;
* &amp;lt;code&amp;gt;--maxlocaljobs&amp;lt;/code&amp;gt; &amp;lt;number&amp;gt; - number of jobs to allow to run when batchtype is local (default 10) - does not validate for commands running LOCAL&lt;br /&gt;
* &amp;lt;code&amp;gt;--region&amp;lt;/code&amp;gt; &amp;lt;region to process&amp;gt; - like snpcall, specifies a single region to process&lt;br /&gt;
* &amp;lt;code&amp;gt;--bam_list|list|bamlist|bam_index|bamindex&amp;lt;/code&amp;gt; &amp;lt;bam list file&amp;gt; - overrides &lt;br /&gt;
&amp;lt;code&amp;gt;BAM_LIST&amp;lt;/code&amp;gt; list of sample\tbam to process&lt;br /&gt;
* &amp;lt;code&amp;gt;--out_dir|outdir&amp;lt;/code&amp;gt; &amp;lt;output directory&amp;gt; - overrides &amp;lt;code&amp;gt;OUT_DIR&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--batchtype&amp;lt;/code&amp;gt; &amp;lt;type&amp;gt; - overrides &amp;lt;code&amp;gt;BATCHTYPE&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--batchopts&amp;lt;/code&amp;gt; &amp;lt;options&amp;gt; - overrides &amp;lt;code&amp;gt;BATCHOPTS&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--chrs|chroms&amp;lt;/code&amp;gt; &amp;lt;comma separated chromosomes&amp;gt; - overrides &amp;lt;code&amp;gt;CHRS&amp;lt;/code&amp;gt; (CHRS is space separated - commas are converted to spaces)&lt;br /&gt;
* &amp;lt;code&amp;gt;--ref_dir|refdir&amp;lt;/code&amp;gt; &amp;lt;reference directory&amp;gt; - overrides &amp;lt;code&amp;gt;REF_DIR&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--ref_prefix|refprefix&amp;lt;/code&amp;gt; &amp;lt;prefix&amp;gt; - overrides &amp;lt;code&amp;gt;REF_PREFIX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--bam_prefix|bamprefix&amp;lt;/code&amp;gt; &amp;lt;prefix&amp;gt; - overrides &amp;lt;code&amp;gt;BAM_PREFIX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--base_prefix|baseprefix&amp;lt;/code&amp;gt; &amp;lt;prefix&amp;gt; - overrides &amp;lt;code&amp;gt;BASE_PREFIX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--gotcloudroot|gcroot&amp;lt;/code&amp;gt; &amp;lt;path to gotcloud&amp;gt; - by default gotcloud root is determined from the path to the pipeline script, but this setting overrides that.&lt;br /&gt;
* &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt; - print Usage&lt;br /&gt;
* &amp;lt;code&amp;gt;--test&amp;lt;/code&amp;gt; &amp;lt;test directory&amp;gt; - run the test code (just for indel right now)&lt;br /&gt;
&lt;br /&gt;
Unused command line options:&lt;br /&gt;
* In the code, but are not actually used:&lt;br /&gt;
* &amp;lt;code&amp;gt;--keeptmp&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;KEEP_TMP&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--keeplog&amp;lt;/code&amp;gt; - overrides &amp;lt;code&amp;gt;KEEP_LOG&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example Pipelines Created ==&lt;br /&gt;
Look for sections &amp;amp; &amp;lt;code&amp;gt;STEPS&amp;lt;/code&amp;gt; in the defaults.&lt;br /&gt;
 https://github.com/statgen/gotcloud/blob/master/bin/gotcloudDefaults.conf&lt;br /&gt;
 https://github.com/statgen/gotcloud/blob/alignPrep/bin/gotcloudDefaults.conf&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
	<entry>
		<id>http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Amazon&amp;diff=13688</id>
		<title>GotCloud: Amazon</title>
		<link rel="alternate" type="text/html" href="http://genome.sph.umich.edu/w/index.php?title=GotCloud:_Amazon&amp;diff=13688"/>
		<updated>2015-08-31T17:55:52Z</updated>

		<summary type="html">&lt;p&gt;Pjvh: matching parenthesis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to Parent: [[GotCloud]]&lt;br /&gt;
&lt;br /&gt;
==Instructions for running on Amazon==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Amazon Single Node]]&#039;&#039;&#039; : Instructions for setting up a single node with the GotCloud AMI.&lt;br /&gt;
* Run the [[GotCloud: Amazon Demo]] (includes instructions for setting up a single node.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[Amazon Storage]]&#039;&#039;&#039; : Instructions for setting up storage&lt;br /&gt;
* Not all EC2 instances contain a lot of storage, so you may need more&lt;br /&gt;
* Clusters may need common storage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[StarCluster]]&#039;&#039;&#039; : Instructions for setting up a cluster&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Miscellaneous Instructions&#039;&#039;&#039;:&lt;br /&gt;
* If you don&#039;t want to use the GotCloud AMI, you can install GotCloud as you would on any system, following the steps at: [[GotCloud:_Source_Releases#Downloading_From_GitHub_Without_Git|Downloading GotCloud]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Developer Instructions&#039;&#039;&#039;:&lt;br /&gt;
* [[Creating an AMI on EC2]]&lt;br /&gt;
* Snapshot (deprecated)&lt;br /&gt;
** [[Amazon Snapshot]]&lt;br /&gt;
** [[Creating a Snapshot on EC2]]&lt;br /&gt;
* Old UM setup info: [[AWS Resources]]&lt;/div&gt;</summary>
		<author><name>Pjvh</name></author>
	</entry>
</feed>