This program exports a Stacks data set either as a set of observed haplotypes at each locus in the population, or with the haplotypes encoded into genotypes. The -r option allows only loci that exist in a certain number of population individuals to be exported. In a mapping context, raising or lowering this limit is an effective way to control the quality level of markers exported as genuine markers will be found in a large number of progeny. If exporting a set of observed haplotypes in a population, the -m option can be used to restict exported loci to those that have a minimum depth of reads.

By default, when executing the pipeline (either or the genotypes program will be executed last and will identify mappable markers in the population and export both a set of observed haplotypes and a set of generic genotypes with -r 1. If SQL interaction is enabled, these files will be uploaded to the database where Stacks will store the genotyping information in a neutral way. From the web interface, additional, manual corrections can be made, as well as marker annotations and all of this data can be exported directly from the web, after specifying a particular map type (if exporting data from a genetic cross).

Making Corrections

If enabled with the -c option, the genotypes program will make automated corrections to the data. Since loci are matched up in the population, the script can correct false-negative heterozygote alleles since it knows the existence of alleles at a particular locus in the other individuals. For example, the program will identify loci with SNPs that didn’t have high enough coverage to be identified by the SNP caller. It will also check that homozygous tags have a minimum depth of coverage, since a low-coverage polymorphic locus may appear homozygous simply because the other allele wasn’t sequenced.

Correction Thresholds

The thresholds for automatic corrections can be modified by changing the default values for the min_hom_seqs, min_het_seqs, and max_het_seqs parameters to genotypes. min_hom_seqs is the minimum number of reads required to consider a stack homozygous (default of 5). The min_het_seqs and max_het_seqs variables represent fractions. If the ratio of the depth of the the smaller allele to the bigger allele is greater than max_het_seqs (default of 1/10) a stack is called a het. If the ratio is less than min_het_seqs (default of 1/20) a stack is called homozygous. If the ratio is in between the two values it is is unknown and a genotype will not be assigned.

Automated corrections made by the program are shown in the output file in capital letters.

Making genotypes appear in the web interface

If the -s option is specified, a second file will be output containing the genotypes in SQL format — which can be imported back in to the database (into the catalog_genotypes table). These genotypes can then be seen in the web interface and additional, manual corrections can be made through the web. The manual corrections can then be included in the output by exporting the results directly from the web interface.

Program Options

genotypes -b batch_id -P path [-r min] [-m min] [-t map_type -o type] [-B blacklist] [-W whitelist] [-c] [-s] [-e renz] [-v] [-h]

Filtering options:

Automated corrections options:

Manual corrections options:

Example Usage

Exporting a set of observed haplotypes, with a minimum stack depth of 5 reads:

~/% genotypes -P ./stacks/ -b 1 -m 5 -r 3

Exporting a set of generic, map-agnostic genotypes, requiring a marker to be present in at least three progeny:

~/% genotypes -P ./stacks/ -b 1 -t gen -c -r 3 -s

Exporting a set of map-specific genotypes:

~/% genotypes -P ./stacks/ -b 1 -t BC1 -c -o joinmap -r 3 -s

Other Pipeline Programs

Raw reads


Execution control

Utility programs