Free raw DNA converter
Convert a whole-genome BAM to 23andMe format
Many DNA sites only take chip files. Drop your whole-genome .bam and its .bai, and download your genotype at the positions the consumer chips read, in 23andMe’s layout (or AncestryDNA, MyHeritage, FamilyTreeDNA, PLINK), on GRCh37. Nothing is uploaded.
It runs in your browser. Your file is never uploaded, there is no account, and it is free. We count that a conversion ran, the two formats and the outcome, never the file, its name or any genotype.
Choose your .bam and its .bai index together
.bam + .bai
Run the full analysis on this file
The free DNA report reads the same file for ancestry across 15 world regions, traits, medication genes and both family lines. Your DNA story opens straight away with no account; the full report opens after a code sent to your email.
How the BAM is read
- Your browser reads the .bai index to find each chromosome’s reads in the BAM, then streams them off your disk in parallel and decompresses them, one chromosome per CPU core. Nothing is uploaded.
- It counts the bases on about two million known SNP positions: every position the 23andMe, AncestryDNA and other consumer chips read, and every position the free report reads. The list, with the reference letter in both GRCh37 and GRCh38, comes from dbSNP and the 1000 Genomes and Ensembl reference genomes.
- Reads are counted the way standard callers count them: mapping quality 20 or more, base quality 20 or more, no duplicates or secondary alignments, and a pair’s overlapping ends only once. Each position gets the most likely genotype and a quality for it; with too little evidence it stays a no-call.
- Checked against the Genome in a Bottle truth set for HG002 (30x, 22,500 positions on chromosome 20, on both GRCh37 and GRCh38): 99.996% of calls matched, with 99% of positions called.
Questions
How do I turn my whole genome BAM into a 23andMe raw data file?
Drop the .bam and .bai on healthosx.com/dna/convert/bam-to-23andme. The browser reads the reads, calls your genotype at every rsID position the 23andMe, AncestryDNA and other consumer chips read, and writes them in 23andMe’s tab-separated layout on GRCh37, as a chip file would be. A GRCh38 BAM is called at GRCh38 positions and written at the matching GRCh37 ones. Free, no account, never uploaded.
Can I convert 23andMe raw data to VCF?
Yes, for every position on our list of 2.17 million known sites. Every VCF row names the reference letter at its position, which a chip file doesn’t carry, so the converter takes it from the list (the GRCh37 reference at each site) and leaves out the rows that aren’t on it, rather than guessing. On an AncestryDNA v2 file that is about 95% of the rows. For every row of any chip, bcftools convert --tsv2vcf with a GRCh37 reference genome does the same on your computer.
Can I convert a BAM file to VCF?
Yes, at known positions. Drop the .bam and its .bai on healthosx.com/dna/convert/bam-to-vcf: your browser reads the reads and calls your genotype at about two million known SNPs (every position the consumer chips and the free report read), with the reference letter from the reference genome, and writes a VCF on GRCh37 or GRCh38. It is not a whole-genome variant call: for every rare variant, indels and structural variants, run GATK, DeepVariant or bcftools on the whole BAM. Free, no account, and the BAM is never uploaded.
Can it convert GRCh38 to GRCh37?
Yes, for the chip layouts and PLINK. Positions are moved with Ensembl’s GRCh38-to-GRCh37 map in your browser, the letters are flipped where the map crosses strands, and a position with no single GRCh37 match is left out rather than guessed. A VCF output keeps the build it came in, because a lifted VCF needs the GRCh37 reference letters.
Does converting change my genotypes?
No. The letters are copied as your file has them, and no-calls stay no-calls. Only the layout changes, and the positions if you choose GRCh37.
Is my DNA file uploaded?
No. The file is read and converted in your browser, and the download is made on your device. The GRCh38-to-GRCh37 map is the only thing downloaded, from this site, and only when you choose it.
Why does the FamilyTreeDNA layout have no header?
Because FamilyTreeDNA’s own file has none: its first line is the column names, and tools recognise it that way. The other layouts start with a few comment lines saying the file was converted and which genome build it is on.