S: 18 Aug 2024 (b7.4) D: 18 Aug 2024 Main functions (--distance...) (--make-grm-bin...) (--ibs-test...) (--assoc, --model) (--mh, --mh2, --homog) (--assoc, --gxe) (--linear, --logistic) Core algorithms Quick index search |
File format referenceThis page describes specialized PLINK input and output file formats which are identifiable by file extension. (Most extensions not listed here have very simple one-entry-per-line text formats.) Jump to: .adjusted | .allele.no.snp | .assoc | .assoc.dosage | .assoc.fisher | .assoc.linear | .assoc.logistic | .auto.R | .bcf | .beagle.dat | .bed | .bim | .blocks* | .chr-*.dat | .chr-*.map | .clst | .clumped* | .cluster* | .cmh | .cmh2 | .cnv | .cnv.indiv | .cnv.overlap | .cnv.summary | .cov | .dfam | .diff | .dist | .dupvar | .eigenvec* | .epi.* | .fam | .flipscan | .frq | .frq.cc | .frq.count | .frq.strat | .frqx | .fst | .gen | .genome | .grm | .grm.N.bin | .grm.bin | .gvar | .het | .hh | .hom | .hom.indiv | .hom.overlap* | .hom.summary | .homog | .hwe | .ibc | .imiss | .info | .lasso | .ld | .ldset | .lgen | .list | .lmiss | .map | .mdist | .mdist.missing | .mds | .*mendel | .meta | .mibs | .missing | .missing.hap | .model | .mperm | .nearest | .occur.dosage | .out.dosage | .ped | .perm | .pphe | .prob | .profile | .qassoc | .qassoc.gxe | .qassoc.means | .qfam.* | .range.report | .raw | .recode.*.txt | .recode.phase.inp | .recode.strct_in | .ref | .rel | .rlist | .sample | .set | .set.{perm|mperm} | .set.table | .sexcheck | .simfreq | .tags.list | .tdt | .tdt.poo | .tfam | .tped | .traw | .twolocus | .var.ranges | .vcf .*.adjusted (basic multiple-testing corrections)Produced by --adjust. A text file with a header line, and then one line per set or polymorphic variant with the following 8-11 fields:
Variants/sets are sorted in p-value order. (As a result, if the QQ field is present, its values just increase linearly.) .allele.no.snp (allele mismatch report)Produced by --update-alleles when there is a mismatch between the loaded alleles for a variant and columns 2-3 of the --update-alleles input file. A text file with no header line, and one line per mismatching variant with the following three fields:
.assoc, .assoc.fisher (case/control association allelic test report)Produced by --assoc acting on a case/control phenotype. A text file with a header line, and then one line per variant typically with the following 9-10 fields:
If the 'counts' modifier is present, the 5th and 6th fields are replaced with:
If --ci 0.xy has also been specified, there are three additional fields at the end:
.assoc.dosage (dosage association analysis report)Produced by --dosage. A text file with a header line, and then usually one line per variant with the following 8-10 fields:
If the 'case-control-freqs' modifier is present, the FRQ column is replaced with FRQ_A and FRQ_U columns reporting case and control frequencies, respectively, and NCHROBS will not include missing-phenotype samples. (Unless the phenotype is quantitative instead of case/control; then phenotypes are ignored and FRQ_A and FRQ_U are both equal to the overall FRQ value.) .assoc.linear, .assoc.logistic (multi-covariate association analysis report)Produced by --linear/--logistic. A text file with a header line, and T lines per variant typically with the following nine fields (where T is normally the number of terms, but the 'genotypic' and 'hethom' modifiers and the --tests flag can change this):
If --ci 0.xy has also been specified, the following three fields are inserted before 'STAT':
Refer to the PLINK 1.07 documentation for more details. .auto.R (R plugin function results)Produced by --R. A text file with no header line, and one line per variant, each with at least four fields. The first four are:
Subsequent fields are defined by the plugin function. Lines are permitted to contain different numbers of fields. .bcf (1000 Genomes Project binary Variant Call Format, version 2)Variant information + sample ID + genotype call binary file, loaded with --bcf. Cannot currently be generated by PLINK; use "--recode vcf{,-fid,-iid}" to produce a VCF file for now. The specification for this format is at https://github.com/samtools/hts-specs. .beagle.dat, .chr-*.dat, .chr-*.map (BEAGLE unphased genotype and variant information files)Produced by "--recode beagle[-nomap]", for use by BEAGLE. In 'beagle' mode, one file pair is generated per autosome, while in 'beagle-nomap' mode, a single .beagle.dat file is generated containing all autosomes. This format cannot be loaded by PLINK. Each .dat file produced by PLINK is a text file with three header lines, followed by one line per variant with 2N+2 fields where N is the number of samples:
Each .chr-*.map file produced by PLINK is a text file with no header line, and one line per variant with the following four fields:
.bed (PLINK binary biallelic genotype table)Primary representation of genotype calls at biallelic variants. Must be accompanied by .bim and .fam files. Loaded with --bfile; generated in many situations, most notably when the --make-bed command is used. Do not confuse this with the UCSC Genome Browser's BED format, which is totally different. The first three bytes should be 0x6c, 0x1b, and 0x01 in that order. (There are old versions of the .bed format which start with a different "magic number"; PLINK 1.9 recognizes them, but will convert sample-major files to the current variant-major format on sight. See the bottom of the original .bed definition page for details; that page also contains a more verbose version of the discussion below.) The rest of the file is a sequence of V blocks of N/4 (rounded up) bytes each, where V is the number of variants and N is the number of samples. The first block corresponds to the first marker in the .bim file, etc. The low-order two bits of a block's first byte store the first sample's genotype code. ("First sample" here means the first sample listed in the accompanying .fam file.) The next two bits store the second sample's genotype code, and so on for the 3rd and 4th samples. The second byte stores genotype codes for the 5th-8th samples, the third byte stores codes for the 9th-12th, etc. The two-bit genotype codes have the following meanings:
If N is not divisible by four, the extra high-order bits in the last byte of each block are always zero. For example, consider the following text fileset: test.ped: test.map: If you load it in PLINK 1.9, a .bed file containing the following sequence of bytes will be autogenerated (you can view it with e.g. Unix xxd): 0x6c 0x1b 0x01 0xdc 0x0f 0xe7 0x0f 0x6b 0x01 and the following .bim file will accompany it: 1 snp1 0 1 G A (For brevity, we don't reproduce the .fam here.) We can decompose the .bed file as follows:
.bim (PLINK extended MAP file)Extended variant information file accompanying a .bed binary genotype table. (--make-just-bim can be used to update just this file.) A text file with no header line, and one line per variant with the following six fields:
Allele codes can contain more than one character. Variants with negative bp coordinates are ignored by PLINK. .blocks, .blocks.det (haplotype blocks, estimated using Haploview's default algorithm)Produced by --blocks. .blocks files contain one line per block, each with an asterisk followed by variant IDs. .blocks.det files have a header line, followed by one line per block with the following six fields:
.clst (cluster membership file)Produced by --write-cluster. Valid input for --within. A text file with no header line, and one line per sample with the following three fields:
Samples may not appear more than once. .clumped, .clumped.best, .clumped.ranges (reprocessed LD-clumped reports)Produced by --clump. The .clumped file normally has one header line, followed by one line per index variant (lowest p-values first) with the following 11-12 fields:
With --clump-verbose, the header line above is repeated for every clump, instead of just appearing once, and dashed line dividers are present between clumps. Also, each nonempty clump has its own subsection, with the different header line below, one line corresponding to the index variant (with '(INDEX)' before the variant ID), a blank line, and then one line for each other clump member with the following 6-7 fields:
Each nonempty clump also has the following 2-3 footer lines:
Finally, with --clump-range + --clump-verbose, there is a final footer line starting with 'GENES:', followed by names of regions physically overlapping the clump. (This is reported even for empty clumps.) If --clump-range is used without --clump-verbose, region overlaps are reported in a separate .clumped.ranges file instead. This has a header line, followed by one line per clump with the following seven fields:
Finally, if --clump-best is specified, a .clumped.best file is generated. This has a header line, followed by one line per clump with the following 7-8 fields:
.cluster1, .cluster2, .cluster3, .cluster3.missing (hierarchical clustering reports)--cluster normally generates three files, with the extensions .cluster1, .cluster2, and .cluster3[.missing]. The .cluster2 file shares the .clst format, so it is valid input for --within. The other two files are also text files with no header line. .cluster1 files contain one line per cluster, with a cluster name in front ('SOL-0', 'SOL-1', ...), followed by IDs of the cluster's members (formatted as FID + '_' + IID + possibly case/control status in parentheses). .cluster3[.missing] files contain one line per sample, with their FID and IID as the first two fields (not merged with an underscore here), followed by a sequence of nonnegative integers representing the sample's cluster assignment at each stage of the clustering process. .cmh (Cochran-Mantel-Haenszel 2x2xK test report)Produced by --mh/--bd. A text file with a header line, and then one line per variant with the following 12-14 fields (where 0.xy is the --ci parameter, or 0.95 if none was specified):
.cmh2 (Cochran-Mantel-Haenszel IxJxK test report)Produced by --mh2. A text file with a header line, and then one line per variant with the following five fields:
(DF was not directly reported by PLINK 1.07.) .cnv (segmental copy number variant data)Produced by postprocessing the output of Birdsuite or a similar package. Loaded with --cnv-list/--cfile. Must be accompanied by a .fam file. A text file with an optional header line, and one line per segmental call with the following eight fields:
.cnv.indiv (per-sample segment summary)Produced whenever --cfile/--cnv-list loading completes. A text file with a header line, and one line per sample with the following 6-7 fields:
.cnv.overlap (overlapping CNV segment report)Produced by --cnv-check-no-overlap. A text file with a header line, and one line per overlap with the following five fields:
.cnv.summary (per-variant CNV summary)Produced whenever --cfile/--cnv-list loading completes. A text file with a header line, and one line per variant with the following five fields:
.cov (covariate table)Produced by --write-covar, --make-bed, and --recode when an input covariate table has been named with --covar. Valid input for --covar. A text file with a header line, and one line per sample with the following 2+C or 6+C fields (where C is the number of covariates):
Note that --covar can also be used with files lacking a header row. .dfam (sib-TDT association report)Produced by --dfam. A text file with a header line, and then one line per variant with the following eight fields:
.diff (merge conflict report)Produced by --merge/--bmerge + --merge-mode 6 or 7. A text file with a header line, and then one line per conflict with the following five fields:
.dist (genomic Hamming distance matrix)Produced by --distance. A tab-delimited text file that is either lower-triangular (first line has only one entry containing the <genome 1-genome 2> Hamming distance, second line has two entries containing the <genome 1-genome 3> and <genome 2-genome 3> Hamming distances in that order, etc.) or square. If square, the upper-right triangle may be either zeroed out or the mirror-image of the lower-left triangle, depending on whether the 'square0' or 'square' modifier was used. When missing values are present, the affected raw Hamming distances are rescaled to be comparable to pairwise distances unaffected by missing data. .dupvar (duplicate-position-and-alleles variant report)Produced by --list-duplicate-vars. Normally a tab-delimited text file with a header line, followed by one line per duplicate variant group with the following 4 columns:
With the 'ids-only' modifier, the header and the position/allele columns are omitted; only space-delimited lists of variant IDs remain. (This form is directly usable with --extract/--exclude.) With 'require-same-ref' (and without 'ids-only'), the ALLELES column is replaced with the following two columns:
.eigenvec, .eigenvec.var (principal components)Produced by --pca. Accompanied by an .eigenval file, which contains one eigenvalue per line. The .eigenvec file is, by default, a space-delimited text file with no header line and 2+V columns per sample, where V is the number of requested principal components. The --pca 'header' modifier causes a header line to be written, and the 'tabs' modifier makes this file tab-delimited. The first two columns are the sample's FID/IID, and the rest are principal component scores in the same order as the .eigenval values (if the header line is present, these columns are titled 'PC1', 'PC2', ...). With the 'var-wts' modifier, an .eigenvec.var file is also generated. It replaces the FID/IID columns with 'CHR', 'VAR', 'A1', and 'A2' columns containing chromosome codes, variant IDs, A1 alleles, and A2 alleles, respectively; otherwise the formats are identical. .epi.{cc,co,qt}, .epi.{cc,co,qt}.summary (epistatic interaction scan reports)Produced by --epistasis and --fast-epistasis. 'cc' secondary extension indicates a case/control test, 'co' indicates "--fast-epistasis case-only", and 'qt' indicates --epistasis linear regression on a quantitative trait. The main report is normally a text file with a header line, followed by one line per variant pair clearing the --epi1 threshold with the following 5-7 fields:
The .summary file is a text file with a header line, followed by one line per variant (or just one line per variant in set #1, if 'set-by-set' or 'set-by-all' was specified) with the following 7-8 fields:
For the 'boost' test, the BEST_CHISQ/BEST_CHR/BEST_SNP entry occasionally doesn't correspond to lowest p-value, since DF is variable. For two-set tests, if variant v1 is in both sets but v2 is only in set #1, the v1-v2 test is only counted in the v2 summary row. (This is a change from PLINK 1.07.) .fam (PLINK sample information file)Sample information file accompanying a .bed binary genotype table. (--make-just-fam can be used to update just this file.) Also generated by "--recode lgen" and "--recode rlist". A text file with no header line, and one line per sample with the following six fields:
With the use of additional loading flag(s), PLINK can also correctly interpret some .fam files missing one or more of these fields. If there are any numeric phenotype values other than {-9, 0, 1, 2}, the phenotype is interpreted as a quantitative trait instead of case/control status. In this case, -9 normally still designates a missing phenotype; use --missing-phenotype if this is problematic. Several PLINK commands (e.g. --cluster) merge the FID and IID with an underscore in their reports; for example, a sample with FID = 'Chang' and IID = 'Christopher' would be referenced as 'Chang_Christopher'. We preserve this behavior for backwards compatibility, so you should avoid using underscores in FIDs and IIDs (consider '~' instead). If your case/control phenotype is encoded as '0' = control and '1' = case, you'll need to specify --1 to load it properly. .flipscan, .flipscan.verbose (case/control strand inconsistency report)Produced by --flip-scan. The .flipscan file is a text file with a header line, and one line per variant with the following 11 fields:
If the 'verbose' modifier is present, a .flipscan.verbose file is also generated. This is a text file with a header line, and one line per relevant variant pair (i.e. index variant has at least one negative LD match, and case and/or control correlation has sufficient absolute value) with the following nine fields:
.frq (basic allele frequency report)Produced by --freq. Valid input for --read-freq. A text file with a header line, and then one line per variant with the following six fields:
.frq.cc (case/control phenotype-stratified allele frequency report)Produced by "--freq case-control". Not valid input for --read-freq. A text file with a header line, and then one line per variant with the following eight fields:
.frq.count (basic allele count report)Produced by "--freq counts". Valid input for --read-freq. A text file with a header line, and then one line per variant with the following seven fields:
.frq.strat (cluster-stratified allele frequency report)Produced by --freq when used with --within/--family. Not valid input for --read-freq. A text file with a header line, and then C lines per variant (where C is the number of clusters) with the following 8-9 lines:
.frqx (genotype count report)Produced by --freqx. Valid input for --read-freq. A text file with a header line, and then one line per variant with the following ten fields:
.fst (fixation index report)Produced by --fst. A text file with a header line, and then one line per autosomal diploid variant with the following five fields:
.gen (Oxford genotype file format)Native text genotype file format for Oxford statistical genetics tools, such as IMPUTE2 and SNPTEST. Should always be accompanied by a .sample file. Loaded with --data/--gen, and produced by "--recode oxford". A text file with no header line, and one line per variant with either 3N+5 or 3N+6 fields where N is the number of samples. Each line stores information for a single SNP. In the 3N+5 case (corresponding to the original specification), the first five fields are:
Unless the chromosome code was declared with --oxford-single-chr (in which case the SNP ID column is ignored), PLINK has no choice but to assume that the "SNP ID" column actually stores chromosome codes. (This is the convention when PLINK exports a 5-leading-column .gen file.) The newer 3N+6 column flavor has a dedicated chromosome column in front. This was not supported by PLINK 1.9 or 2.0 before 16 Apr 2021. Each subsequent triplet of values then indicate likelihoods of homozygote A1, heterozygote, and homozygote A2 genotypes at this SNP, respectively, for one sample. If they add up to less than one, the remainder is a no-call probability weight. Since the PLINK 1 binary format cannot represent genotype probabilities, calls with uncertainty greater than 0.1 are currently treated as missing, and the rest are treated as hard calls. (This behavior can be changed with --hard-call-threshold.) Note that this limitation is removed in PLINK 2.0. .genome (identity-by-descent report)Produced by --genome. Valid input for --read-genome. A text file with a header line, and one line per pair of distinct samples typically with the following 14 fields:
The pedigree relationship type codes are as follows:
With the 'full' modifier, there are five additional fields at the end:
.grm (GCTA text relationship matrix)Produced by --make-grm-gz. Readable by --grm-gz. A text file with no header line, and one line per pair of samples (not necessarily distinct) with the following four fields:
.grm.N.bin, .grm.bin (GCTA 1.1+ triangular binary relationship matrix)Produced by --make-grm-bin. Readable by --grm-bin. These files contain single-precision (4-byte) floating point values. Using 1-based matrix indices, the first value in each file is the (1, 1) relationship value (.grm.bin) or observation count (.grm.N.bin); the second and third values are the (2, 1) and (2, 2) relationships/counts; the fourth through sixth values are the (3, 1), (3, 2) and (3, 3) relationships/counts in that order; and so on. Note that .grm.bin files generated by GCTA versions before 1.1 have a different format. .gvar (genetic variant format)Produced by packages such as Birdsuite. Loaded with --gfile. Must be accompanied by .fam and .map files. A text file with no header line, and one line per variant call with the following seven fields:
.het (method-of-moments F coefficient estimates)Produced by --het. A text file with a header line, and one line per sample with the following six fields:
.hh (heterozygous haploid and nonmale Y chromosome call list)Produced automatically when the input data contains heterozygous calls where they shouldn't be possible (haploid chromosomes, male X/Y), or there are nonmissing calls for nonmales on the Y chromosome. A text file with one line per error (sorted primarily by variant ID, secondarily by sample ID) with the following three fields:
.hom (run-of-homozygosity list)Produced when a flag in the --homozyg family is present. Accompanied by at least a .hom.indiv and a .hom.summary file. A text file with a header line, and one line per run with the following thirteen fields:
Note that PHOM + PHET can be less than 1 when missing calls are present. .hom.indiv (sample-based runs-of-homozygosity report)Produced when a flag in the --homozyg family is present. A text file with a header line, and one line per sample with the following six fields:
.hom.overlap (run-of-homozygosity pool list)Produced by "--homozyg group[-verbose]". .hom.overlap files contain a header line, and P+2 lines per segment pool (where P is the number of segments in the pool) with the following 13 fields:
The second-to-last line for each pool describes the consensus match segment, while the last line describes the union of all segments in the pool. Pools are separated by blank lines, and sorted primarily by pool size (largest first) and secondarily by physical position. The first pool in the file has ID 'S1', the second pool has ID 'S2', etc. PLINK 1.07's production of this file has a minor bug and a few quirks (pairwise allelic matches are judged from (<# mismatches on joint-homozygous overlapping variants> / <# of overlapping variants>) instead of (<# mismatches on joint-homozygous overlapping variants> / <# of joint-homozygous overlapping variants>), contrary to the documentation; pools are sorted by reverse physical position; some ID numbers are skipped; samples within an allelic-match group written in an unsorted order) which are not replicated by PLINK 1.9. .hom.overlap.S*.verbose (single ROH pool report)"--homozyg group-verbose" also produces one .hom.overlap.<pool ID>.verbose file per pool. (Be careful with this, lest you inadvertently fill up your entire hard drive.) These files each contain G+3 sections, where G is the number of allelic-match groups. (Note that this format was not really intended to be machine-readable; if there is sufficient interest, we may clean it up in the future.) The first section has a header line, followed by one line per sample in the pool with the following four fields:
It ends with a single blank line. The second section has a header line, followed by a blank line, followed by one line per variant in the segment union with the following P+1 fields:
There are single blank lines marking the beginning and end of the consensus match segment, and two consecutive blank lines at the end of this section. The next G sections each start with the following S+6 header lines (where g is the 1-based allelic-match group index, S is the size of the group, and p is the 1-based index assigned to the sample in the first field of the first section):
This is followed by one line per variant with the following S+2 fields:
Single blank lines mark the beginning and end of the consensus match segment, as well as the end of the section. The final section starts with two additional blank lines, followed by one line per variant with the following G+1 fields:
.hom.summary (SNP-based runs-of-homozygosity report)Produced when a flag in the --homozyg family is present. A text file with a header line, and one line per SNP with the following five fields:
Note that samples with missing phenotypes are counted in the 'UNAFF' column. If the phenotype is quantitative, everyone will be counted in 'UNAFF'. .homog (chi-square partitioning odds ratio homogeneity test report)Produced by --homog. A text file with a header line, followed by K+3 lines per variant with the following 13 fields (where K > 1 is the number of clusters):
.hwe (Hardy-Weinberg equilibrium exact test statistic report)Produced by --hardy. A text file with a header line, and one line per marker with the following nine fields:
.ibc (GCTA inbreeding coefficient report)Produced by --ibc. A text file with a header line, and one line per sample with the following six fields:
.imiss (sample-based missing data report)Produced by --missing, with a companion .lmiss file. A text file with a header line, and one line per sample with the following six fields:
.info (Haploview map file)Produced by "--recode HV[-1chr]", for use by Haploview. Accompanies a .ped file. With "--recode HV", one .ped + .info fileset is generated per chromosome, and the full file extensions are of the form .chr-<chromosome number>.info. This format cannot be loaded by PLINK. A text file with no header line, and one line per variant with the following two fields:
.lasso (LASSO variant effect size estimates)Produced by --lasso. Valid input for --score. A text file with a header line, and one line per variant with the following four fields:
.ld (inter-variant correlation table or matrix)Produced by --r/--r2. If a matrix format was requested, the output is structured like a .dist file (space-delimited instead of tab-delimited if 'spaces' was specified), or its binary equivalent if the file extension ends in .bin. (See the R code snippet under the --distance documentation for an example of how to load the binary form.) If a table report was requested instead, the file contains a header line, followed by one line per filtered variant pair with the following 7-11 fields:
.ldset (high-LD same-set variant pair report)Produced by --set-r2 when the 'write' modifier is present. A text file with no header line, and one section per set. A section has one line for each variant in the set, starting with the following two fields:
These are followed by a (space-delimited) list of ID(s) of other same-set variants which have pairwise r2 ≥ 0.5 with the current variant. Note that sets containing no significant variants are not present in this report; this is a change from PLINK 1.07's --write-set-r2's behavior. (Use "--set-p 1" if this is a problem.) .lgen (PLINK long-format genotype file)Produced by "--recode lgen" and "--recode lgen-ref". Accompanied by a .fam, .map, and possibly a .ref file. Loaded with --lfile. A text file with no header line, and one line per genotype call (or just not-homozygous-major calls if 'lgen-ref' was invoked) usually with the following five fields:
There are several variations which are also handled by PLINK; see the original discussion for details. .list (genotype list file)Produced by "--recode list". This format cannot be loaded by PLINK. A text file with no header line, and four lines per variant. Each line starts with the following three fields:
This is followed by two additional fields (FID, then IID) for each sample with the specified genotype call at the variant. .lmiss (variant-based missing data report)Produced by --missing, with a companion .imiss file. A text file with a header line, and K line(s) per variant with the following 5-7 fields (where K is the number of cluster(s) if --within/--family was specified, or 1 if it wasn't):
.map (PLINK text fileset variant information file)Variant information file accompanying a .ped text pedigree + genotype table. Also generated by "--recode rlist". A text file with no expected header line, and one line per variant with the following 3-4 fields:
All lines must have the same number of columns (so either no lines contain the morgans/centimorgans column, or all of them do). Lines starting with '#' are supposed to be treated as comments, but this was not consistently supported by PLINK 1.9 and 2.0 before Aug 2024. .mdist (genomic distance proportion matrix)Produced by "--distance 1-ibs" and --distance-matrix. A text file that is space-delimited if produced with --distance-matrix and tab-delimited otherwise. Shape and contents are identical to that of .dist files, except that all values are divided by twice the total variant count to convert them from Hamming distances to fractions between 0 and 1. .mdist.missing (identity-by-missingness matrix)Produced by "--cluster missing". A triangular space-delimited text file with identity-by-missingness coefficients. .mds (Haploview-friendly multidimensional scaling report)Produced by --mds-plot. A text file with a header line with the following D+3 fields (where D is the number of requested dimensions), and one line per sample with the same fields:
.mendel, .imendel, .fmendel, .lmendel (Mendel error reports)Produced by --mendel. The .mendel file is a text file with a header line, and one line per error with the following six columns:
Note that '*/*' in the error description does not (necessarily) refer to a missing genotype call; instead, it means a Mendel error is present regardless of what that parent's genotype is. The .lmendel file has a header line, and one line per variant with the following three columns:
The .imendel file has a header line, and one subsection per nuclear family. Each subsection contains one line per family member with the following three columns:
Samples may appear more than once in this file. Finally, the .fmendel file has a header line, and one line per nuclear family with the following five columns:
.meta (meta-analysis)Produced by --meta-analysis. A text file with a header line, and then one line per analyzed variant with the following 8-(F+14) fields (where F is the number of input files):
.mibs (identity-by-state matrix)Produced by "--distance ibs" and --ibs-matrix. A text file that is space-delimited if produced with --distance-matrix and tab-delimited otherwise. Possible shapes are the same as for .dist and .mdist files. Each identity-by-state value is just equal to one minus the corresponding .mdist value. .missing (case/control nonrandom missingness test report)Produced by --test-missing. A text file with a header line, and then one line per nondegenerate variant with the following 5 fields:
.missing.hap (adjacent variant-based nonrandom missingness test report)Produced by --test-mishap. A text file with a header line, and then one section per autosomal diploid variant with 5+ missing calls. Each section contains one line per considered flanking haplotype, followed by a 'HETERO' line covering flanking heterozygosity (just one flanking call needs to be heterozygous), with the following 9 fields:
Haplotype frequencies are estimated via the EM algorithm. .model (case/control full model association report)Produced by --model. A text file with a header line, and then 1-5 lines per variant with the following 8-10 fields:
Note that the Cochran-Armitage trend test is based on the full 2x3 genotype contingency table, even though only the 2x2 allele count table is displayed in the AFF/UNAFF columns on that line. .*.mperm (max(T) permutation test report)Produced by several association analysis commands when the 'mperm=<value>' modifier is used. A text file with a header line, and then typically one line per variant with the following four fields:
In the --linear/--logistic no-snp case, there is instead one line per variable with the following three fields:
.nearest (nearest neighbor distance report)Produced by --neighbour. A text file with a header line, and n2-n1+1 lines per sample with the following 7-8 fields:
.occur.dosage (dosage data variant occurrence report)Produced by "--dosage occur". A text file with no header line, and one line per variant with the following 2 fields:
.out.dosage (merged dosage data file)Produced by --write-dosage. A text file with a header line, and one line per variant with the following 3 initial fields:
This is followed by N 2-field blocks in the header line (with FID/IIDs), and N blocks of m dosage data fields in subsequent lines (where m is the --dosage 'format' parameter). .ped (PLINK/MERLIN/Haploview text pedigree + genotype table)Original standard text format for sample pedigree information and genotype calls. Normally must be accompanied by a .map file; Haploview requires an accompanying .info file instead. Loaded with --file, and produced by --recode. Contains no header line, and one line per sample with 2V+6 fields where V is the number of variants. The first six fields are the same as those in a .fam file. The seventh and eighth fields are allele calls for the first variant in the .map file ('0' = no call); the 9th and 10th are allele calls for the second variant; and so on. If all alleles are single-character, PLINK 1.9 will correctly parse the more compact "compound genotype" variant of this format, where each genotype call is represented as a single two-character string. This does not require the use of an additional loading flag. You can produce such a file with "--recode compound-genotypes". It is also possible to load .ped files missing some initial fields. Lines starting with '#' are treated as comments. .*.perm (adaptive permutation test report)Produced by several association analysis commands when the 'perm' modifier is used. A text file with a header line, and then one line per variant with the following 4-7 fields:
.pphe (phenotype permutations)Produced by --make-perm-pheno. Valid input for --pheno. A text file with no header line, and one line per sample with the following P+2 fields (where P is the requested number of permutations):
Missing phenotypes are always represented by the --[output-]missing-phenotype value (this is a very minor change from PLINK 1.07). .prob (meta-analysis rejected variant list)Produced by --meta-analysis, when at least one variant is rejected. A text file with no header line, and then one line per problem with the following 3 fields:
Multiple problems may be reported for a single (filename, variant ID) pair. .profile (allelic scoring results)Produced by --score. A text file with a header line, and then one line per sample with the following 4-6 fields:
.qassoc (quantitative trait association test report)Produced by --assoc acting on a quantitative phenotype. A text file with a header line, and then one line per variant with the following 9-11 fields:
.qassoc.gxe (quantitative trait interaction test report)Produced by --gxe. A text file with a header line, and then one line per variant with the following 10 fields:
.qassoc.means (quantitative trait association genotype-stratified mean report)Produced by "--assoc qt-means". A text file with a header line, and then five lines per variant with the following six fields:
.qfam.* (family-based quantitative trait association report)Produced by the --qfam family of commands. A .qfam.{within,parents,between,total} file has a header line, and one line per variant with the following nine fields:
A .qfam.{within,parents,between,total}.perm file is also generated. .range.report (reprocessed gene-based report)Produced by --gene-report. The .range.report file has one subsection per nonempty gene. Each subsection contains a header line of the form "<gene name> -- <start/end coordinate pairs, comma-separated if necessary> ( <kb length> ) [border description, if necessary]"; this is followed by a blank line, the original report's header line with 'DIST' inserted in front, and the lines in the original report which concerned SNPs in the gene (preceded by <current pos> - <gene start coordinate> DIST values). Subsections are separated by two blank lines. There are four small changes from PLINK 1.07:
.raw (additive + dominant component file)Produced by "--recode A" and "--recode AD", for use with R. This format cannot be loaded by PLINK. A text file with a header line, and then one line per sample with V+6 (for "--recode A") or 2V+6 (for "--recode AD") fields, where V is the number of variants. The first six fields are:
This is followed by one or two fields per variant:
If 'include-alt' was specified, the header line also names alternate allele codes in parentheses, e.g. 'rs5939319_G(/A)'. .recode.{geno,pheno,pos}.txt (BIMBAM genotype, phenotype, and variant position file)Produced by "--recode bimbam", for use by BIMBAM. This format cannot be loaded by PLINK. The .recode.geno.txt file produced by PLINK is a comma-delimited text file. It starts with two short header lines: N on its own line (where N is the number of samples), followed by number of variants on its own line. The third header line starts with 'IND', and is followed by the IIDs of all samples. The main body of the file has one line per variant with N+1 fields: the variant ID, followed by compound genotypes (with missing genotypes denoted by '??'). The .recode.pheno.txt file produced by PLINK is just a sequence of sample phenotype values, one per line. The .recode.pos.txt file produced by PLINK is a text file with no header line, and one line per variant with the following 2-3 (space-delimited) fields:
.recode.phase.inp (fastPHASE format)Produced by "--recode fastphase[-1chr]", for use by fastPHASE. With "--recode fastphase", one file is generated per chromosome, and the full file extensions are of the form .chr-<chromosome number>.recode.phase.inp. This format cannot be loaded by PLINK. Each .phase.inp file produced by PLINK starts with two short header lines: number of samples on its own line, followed by V on its own line (where V is the number of variants). The third header line starts with 'P', and is followed by the base-pair coordinates of all variants. The main body of the file has three lines per sample. The first line in each triplet is:
The second and third lines each have a single M-character string, with one character per allele call. Missing calls are coded as '?'. .recode.strct_in (Structure format)Produced by "--recode structure", for use by Structure. This format cannot be loaded by PLINK. A text file with two header lines: the first header line lists all V variant IDs, while each entry in the second line is the difference between the current variant's base-pair coordinate and the previous variant's bp coordinate (or -1 when the current variant starts a new chromosome). This is followed by one line per sample with the following 2V+2 fields:
.ref (long-format reference allele file)Reference allele file which accompanies a .lgen file when it's generated with "--recode lgen-ref". Loaded with --lfile + --reference. A text file with no header line, and one line per polymorphic variant with the following 2-3 fields:
.rel (text relationship matrix)Produced by --make-rel. Contents are identical to that of a .grm/.grm.bin file. Possible shapes are essentially the same as for .dist files; the only difference is that .dist files have an omitted or zero diagonal while .rel files do not. .rlist (rare genotype list file)Produced by "--recode rlist". Accompanied by .fam and .map files. This format cannot be loaded by PLINK. A text file with no header line, and 0-3 lines per variant. Each line starts with the following four fields:
This is followed by two additional fields (FID, then IID) for each sample with the specified genotype call at the variant. If there are no such samples, the entire line is omitted from the file. (As a result, any variants with nothing but homozygous major genotypes are not mentioned at all.) .sample (Oxford sample information file)Sample information file accompanying a .gen genotype dosage file. Loaded with --data/--sample, and produced by "--recode oxford". The .sample space-delimited files emitted by --recode have two header lines, and then one line per sample with 3-5 relevant fields:
A specification for this format is on the QCTOOL v2 website. .set ('END'-terminated variant set membership list file)Produced by --write-set, and loaded with --set. A text file with a sequence of variant set definitions. Each set definition starts with the set ID, followed by IDs of all variants in the set, followed by 'END'. Spaces, tabs, and newlines are acceptable and equivalent token delimiters; the files emitted by --write-set have a single token per line and a blank line between sets, but you can e.g. describe an entire set per line instead, and --set will still read the file correctly. For example, the .set file GENE1 assigns variants rs123456 and rs10912 to set 'GENE1', rs929292 and rs288222 to 'GENE2', and rs66222 to both sets. When multiple set definitions share the same set ID, that currently results in an error rather than a merge. .set.{perm|mperm} (set association permutation test report)Produced by --assoc/--model/--linear/--logistic/--tdt/--mh/--bd when run with the 'set-test' modifier. A text file with a header line, and then one line per set with the following 6-7 fields:
Calculation of NSIG is no longer cut short when the --set-max value is hit. .set.table (variant set membership table)Produced by --set-table. A tab-delimited text file with a header line, and then one line per variant with the following 3+S columns (where S is the number of sets):
Variants which aren't a member of any set still appear in the table. PLINK 1.07 wrote double-tabs on most lines between the 3rd and 4th columns; this no longer occurs. .sexcheck (X chromosome-based sex validity report)Produced by --check-sex/--impute-sex. A text file with a header line, and then one line per sample with the following 6-7 fields:
.simfreq (simulation parameter file)Produced by --simulate{-qt}, and can be reread by them. If generated by --simulate without the 'tags' or 'haps' modifier, it is a text file with no header line, and one line per SNP set with the following 6 fields:
With 'tags' or 'haps', each line has the following 9 fields instead:
With --simulate-qt, in both subcases the last two fields are replaced with:
.tags.list (tagging variant report)Produced by --show-tags, when used in 'all' mode or with the --list-all flag. A text file with a header line, and then one line per target variant with the following eight fields:
.tdt (transmission disequilibrium test report)Produced by --tdt (unless parent-of-origin analysis was requested). A text file with a header line, and then one line per autosomal/chrX variant typically with the following 14-15 fields:
The last five fields do not appear if no considered trio has parents with discordant phenotypes. If --ci 0.xy has also been specified, the following two fields are inserted after 'OR':
.tdt.poo (parent-of-origin analysis)Produced by "--tdt poo". A text file with a header line, and then one line per autosomal/chrX variant with the following 11 fields:
.tfam (PLINK sample information file)Sample information file accompanying a .tped file; identical format to .fam files. .tped (PLINK transposed text genotype table)Variant information + genotype call text file. Must be accompanied by a .tfam file. Loaded with --tfile, and produced by "--recode transpose". Contains no header line, and one line per variant with 2N+4 fields where N is the number of samples. The first four fields are the same as those in a .map file. The fifth and sixth fields are allele calls for the first sample in the .tfam file ('0' = no call); the 7th and 8th are allele calls for the second sample; and so on. .traw (variant-major additive component file)Produced by "--recode A-transpose", for use with R. This format can only be loaded by PLINK 2.0. A text file with a header line, and then one line per variant with the following N+6 fields (where N is the number of samples):
Since this format is new to PLINK 1.9, it is tab-delimited by default; use the 'spacex' modifier to force spaces. .twolocus (4x4 joint genotype count table, single variant pair)Produced by --twolocus. A text file with 1-3 sections, depending on whether cases and/or controls are present. The first section starts with two header lines:
This is followed by two tables. Each table has two header lines of its own:
then rows corresponding to A1/A1, A1/A2, A2/A2, and missing first variant genotypes, then a fifth row with (sub)totals. The first table contains raw counts, while the second table contains proportions of the grand total. This is followed by a 'Cases' section if there is at least one case, and finally a 'Controls' section if there is at least one control. .var.ranges (equal-size variant ranges)Produced by --write-var-ranges. A text file with a header line, and then one line per range with the following two fields:
.vcf (1000 Genomes Project text Variant Call Format)Variant information + sample ID + genotype call text file. Loaded with --vcf, and produced by "--recode vcf" (or vcf-fid/vcf-iid). Do not use PLINK for general-purpose VCF handling: all information in VCF files which cannot be represented by the PLINK 1 binary format is ignored. The VCFv4.2 files emitted by --recode normally start with 5+C header lines, where C is the number of chromosomes:
(The INFO line is omitted when --real-ref-alleles is specified.) This is followed by a tab-delimited header line with the following N+9 fields (where N is the number of samples), and one tab-delimited line per variant with the same fields:
Allele codes are supposed to either start with '<', only contain characters in the set {A,C,G,T,N,a,c,g,t,n}, or represent a breakend. --recode issues a warning if an allele code does not satisfy this restriction. The full VCFv4.2 specification is in the hts-specs GitHub repository. |