Plotting Parasite Populations with HTML5 and Javascript

Posted: 27 May 2011 by Alistair Miles in Uncategorized
Tags: , , ,

This is fairly old news now, but there was an article in Wired magazine last year on MapSeq, which is a web application developed by Jacob, Olivo, Magnus and Dushy for working with genomic variation data from the malaria parasite.

MapSeq does quite a few fierce things, but the feature I like most is the interactive principal components analysis plot of genetic variation, which are done with the HTML5 canvas and a good dollop of Javascript (I believe – Jacob, correct me if I’m wrong). These show really clearly how parasites from different geographical regions (e.g., South-East Asia vs Africa) are genetically more distinct than parasites from within the same region. The screenshot below shows a PCA plot I just made which segregates samples from Africa (the group on the left) from samples from Thailand and Cambodia (the group on the right).

Principal Components Analysis plot showing genetic differences between malaria parasite populations

This is what you’d expect, because there is much more malaria transmission within a region than between different parts of the world. But the interactive plots really come into their own when you start to zoom in on a particular region. You can start to ask questions like, how different are the Thai and Cambodian populations from each other? Are there distinct sub-populations within Thailand or Cambodia?

Of course, the holy grail would be to add a temporal dimension to this. If we could see how parasite populations are changing genetically over time, and relate that to geographical location, we might be able to see drug resistance genes migrating from Cambodia to Thailand – evolution in action! But I’m getting ahead of myself, one step at a time…


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s