Sunday, May 4, 2014

Blogging My Genome, episode 6: variant calling, filtering, and QC

This is the sixth in a series of blog posts about my genome, which I recently had sequenced through Illumina's Understand Your Genome program.

I'd previously generated mappings of my sequence reads to the hs37d5 reference assembly. The next step is variant calling, to systematically identify the differences between my genome and the reference. There's a variety of popular tools for this, from which I selected FreeBayes to try first. FreeBayes is an example of a relatively new generation of algorithms capable of considering many hypothetical combinations of genetic variation and sequence alignments to explain the short read data mapped to a genomic region - all within a Bayesian statistical model, per the name.

FreeBayes took my BAM file and the hs37d5 reference as input, and produced a VCF (Variant Call Format) file with genome-wide calls. This took about 32 core-hours (parallelized on an 8-core cloud instance) and produced a VCF file of 377 MiB compressed - tiny compared to my 63 GiB BAM file, as it doesn't preserve the individual reads. Here's the one-line entry of my VCF file corresponding to my ALDH2*2 variant from last time:

$ dx cat "My Genome Analysis:/C2K.deduplicated.vcf.gz" | zcat | grep "12[[:space:]]112241766"
12 112241766 . G A 1264 . AB=0;ABP=0;AC=2;AF=1;AN=2;AO=42;CIGAR=1X;DP=42;DPB=42;DPRA=0;EPP=23.691;EPPR=0;GTI=0;LEN=1;MEANALT=1;MQM=60;MQMR=0;NS=1;NUMALT=1;ODDS=58.5772;PAIRED=1;PAIREDR=0;PAO=0;PQA=0;PQR=0;PRO=0;QA=1467;QR=0;RO=0;RPP=4.87156;RPPR=0;RUN=1;SAF=27;SAP=10.4553;SAR=15;SRF=0;SRP=0;SRR=0;TYPE=snp;technology.ILLUMINA=1 GT:DP:RO:QR:AO:QA:GL 1/1:42:0:0:42:1467:-10,-10,0

This line indicates that, at position #112,241,766 on chromosome 12, the reference assembly has a G but my reads indicate I've got an A. Further, the "1/1" prefixing the last string indicates I'm homozygous for the A, as all of my reads show it. Most of the nearly five million calls in my VCF are biallelic single-nucleotide variants (SNVs) like this one, but FreeBayes also calls more complex variation like indels and regions with two different non-reference alleles. Unfortunately, not all of them can be trusted immediately.

Wednesday, April 2, 2014

Blogging My Genome, episode 5: the homozygous designated driver

This is the fifth in a series of blog posts about my genome, which I recently had sequenced through Illumina's Understand Your Genome program.

Last time, we manually examined some of my read mappings and called one A/A homozygous variant. I didn't choose this example at random, of course, but rather because it's an interesting variant with a fairly life-altering phenotype.

Tuesday, March 18, 2014

Blogging My Genome, episode 4: read mapping

This is the fourth in a series of blog posts about my genome, which I recently had sequenced through Illumina's Understand Your Genome program.

Last week's data wrangling produced eight FASTQ files containing the sequencing reads for my genome ($8=4 \times 2$, four lanes' worth of paired-end reads). The next step in making sense of these 1.3 billion reads is to map their positions of origin in the human reference genome assembly. This post will continue somewhat down in the weeds technically, but we'll end up in position to look at some interesting genetics next time.

If you're not interested in the technical minutiae - and that would be fair enough - you could skip to the last section.

Reads quality control with FastQC

Trust, but verify: since my data came from Illumina's CLIA lab, I wasn't terribly worried about gross quality problems - but some QC is always prudent before proceeding further. We have an app on DNAnexus to run reads through FastQC, which runs some essential sanity checks. I ran these on my four pairs of FASTQ files to get four FastQC reports. (It's worth examining the four lanes separately, because they could conceivably have independent quality issues.) Here's one representative plot:

Friday, March 14, 2014

MH370: the accidental π-day wisdom of NPR

Please find this exchange six minutes into the show:
ANCHOR: "How big is the search area, or areas, Tom?"
CORRESPONDENT: "Well the defined search area is about 31,000 square miles. But if you take into the possibility that this plane may have flown another four or five hours, then you're looking at a potential distance of 2500 miles, and then you've got to've got to get some mathematician from MIT to figure out every single direction from the point off South Vietnam, all the way in every possible direction, you seems to me the possibilities are endless there..."

But seriously. Where the plane could have gone depends not only on its headingairspeed, and endurance, but also on the wind. And at an airliner's cruising altitude, the wind commonly blows at 50-100 knots - faster than you drive down the freeway, and a severe hurricane at ground level. Not only that:

The wind vector field is actually four-dimensional, varying with altitude and time. By the way, the ground speed and endurance also vary with altitude. Integrating over a multidimensional infinity of possible flight paths, we'd need to find the maximum range when they're projected down to the surface of the Earth - accounting for its curvature and coriolis effect - and calculate some kind of polar integral over the resulting surface. If we're searching for debris, what about those ocean currents?

In conclusion, contingent on a certain understanding of "endless", the correspondent is entirely correct. Godspeed to all those searching for MH370.

Tuesday, March 11, 2014

Blogging My Genome, episode 3: data wrangling

After learning about Illumina's Understand Your Genome (UYG) program at ASHG 2013, I decided to sign up to get my genome sequenced. This is the third in a series of blog posts I'm writing about my own adventure in very personal genomics.

Along with my clinical report, Illumina delivered a portable hard drive (pictured) containing the underlying next-generation sequencing data. Given my computational genomics background, this was the product I'd most been looking forward to receiving. In fact, after picking it up, I found myself hastily biking five miles through the rain to get it to a computer!

The drive is protected using TrueCrypt, with the encryption key e-mailed separately. I installed the TrueCrypt on my Linux workstation, mounted the drive, and started to look around:

Thursday, March 6, 2014

Blogging My Genome, episode 2: scratching the surface

After learning about Illumina's Understand Your Genome (UYG) program at ASHG 2013, I decided to sign up to get my genome sequenced. This is the second in a series of blog posts I'll write about my own adventure in very personal genomics!

Three months after shipping my blood sample off to the lab for whole-genome sequencing (WGS), I got the long-awaited message to come in and go over my results. And so on a rainy Friday afternoon I biked over to Stanford for genetic counseling. I was very excited, and yet not without awareness of the ~1% chance I could see one of the known pathogenic findings on the American College of Medical Genetics list for genome sequencing reports, and perhaps up to ~5% chance of some other medically actionable finding.

Fortunately, nothing like that came up. In fact, my report is quite unremarkable, which is of course a good thing:

Saturday, March 1, 2014

Blogging My Genome, episode 1: parting with my blood (and treasure)

After learning about Illumina's Understand Your Genome (UYG) program at ASHG 2013, I decided to go ahead and sign up to get my genome sequenced. This is the first in a series of blog posts I'll write about my own adventure in very personal genomics!

UYG gets you:
  • "Deep" whole-genome squencing (WGS) from a blood sample
  • Bioinformatics and clinical interpretation through Illumina's CLIA lab
  • Report sent to your clinician
  • Raw data on a portable hard drive
  • Day-long workshop with other participants
  • iPad with the MyGenome app
...for $5,000, which isn't too bad given what's included. The pricing probably reflects that the program is mainly an outreach effort aimed at subject matter experts.

Sunday, January 5, 2014

Ribosome profiling confirms widespread stop codon readthrough in flies

A recent eLife paper from the Weissman lab at UCSF uses high-throughput ribosome profiling to show that many Drosophila melanogaster (fruitfly) genes undergo an unusual translation process called stop codon readthrough - confirming many of, and expanding on, our earlier predictions based on computational comparative genomics. Stop codon readthrough occurs when a translating ribosome reaches an in-frame stop codon in an mRNA but, instead of terminating as usual, continues on with translation - as if the stop codon were a sense codon. This gives rise to a protein isoform with an extended C-terminal region, potentially modifying its function or localization.

Stop codon readthrough is a long-known but fairly obscure "recoding" mechanism, which wasn't believed to play a widespread role in metazoan gene expression, save for selenoproteins and a few other intriguing but isolated examples. Now we know that it actually affects hundreds of fly genes - and moreover that, in many cases, the products confer biological functions conserved throughout many millions of years of evolution.