Menu

#1 Add support for PLINK tped/tfam format

open
nobody
None
5
2013-01-28
2013-01-28
No

I find it strange that a recent program (most recent release 25th January 2013) still uses linkage-like input files (i.e. one line per individual) as default, particularly when it is designed for high-density SNP data where the number of markers can be in the hundreds of thousands or millions. This would produce input files (assuming a whole genome-wide dataset were in a single file) with hundreds of thousands of columns, having lines that might be over a million characters long.

PLINK has an alternative "transposed" format that I think would be more appropriate in this situation :

=== START QUOTE [http://pngu.mgh.harvard.edu/~purcell/plink/data.shtml#tr] ===
The first 4 columns of a TPED file are the same as a standard 4-column MAP file. Then all genotypes are listed for all individuals for each particular SNP on each line. The TFAM file is just the first six columns of a standard PED file. In otherwords, we have just taken the standard PED/MAP file format, but swapped all the genotype information between files, after rotating it 90 degrees. For each, the above example PED/MAP fileset

<---- normal.ped ----> <--- normal.map --->
1 1 0 0 1 1 A A G T 1 snp1 0 5000650
2 1 0 0 1 1 A C T G 1 snp2 0 5000830
3 1 0 0 1 1 C C G G
4 1 0 0 1 2 A C T T
5 1 0 0 1 2 C C G T
6 1 0 0 1 2 C C T T

would be represented as TPED/TFAM files:

<------------- trans.tped -------------> <- trans.tfam ->
1 snp1 0 5000650 A A A C C C A C C C C C 1 1 0 0 1 1
1 snp2 0 5000830 G T G T G G T T G T T T 2 1 0 0 1 1
3 1 0 0 1 1
4 1 0 0 1 2
5 1 0 0 1 2
6 1 0 0 1 2

This kind of format can be convenient to work with when there are very many more SNPs than individuals (i.e. WGAS data). In this case, the TPED file will be very long (as opposed to the PED file being very wide).
=== END QUOTE ===

Given that this program doesn't appear to need information for all markers at once, but does appear to need information for all individuals at once, would it be possible to implement support for this format? Could I help in any way to implement support for this input format?

FWIW, there's also a newer VCF format that has been made popular by the 1000 genomes format, which is becoming more common for NGS data processing pipelines. It is also one line per variant, but can include a lot more information in each line:

http://www.1000genomes.org/wiki/Analysis/Variant%20Call%20Format/vcf-variant-call-format-version-41

Discussion

MongoDB Logo MongoDB