Saturday, February 4, 2012

I really like programming

For someone who avoided computer programming classes, it's funny that I work on a computer. Every. Single. Day. I am a bioinformatician. I study biology using computer programs. I write codes to analyze large data files. And I love it!

I don't know why it was so intimidating to me. I'd like to say it doesn't matter, but I think it does. I think there is a general bias in the US to think math (and computer science) are hard, and therefore unenjoyable. I think it's changing, with respect to computer science, so I hope it starts to change for math, but the only way to promote that is to show how much fun they really are.

Fun. Right.

Okay, I know you're skeptical, but hear me out. Programming and Math share the basic properties that they are based on logic, and therefore, doing either, is like playing a game. It really is fun trying to figure out the answer.

Right now I'm trying to figure out the best (i.e. most time and memory efficient) way to write a new program. What I have is a file with several coding gene sequences in it, and what I need is to know exactly where in the genome each DNA base pair of those sequences maps to (e.g. position 3112026 on chromosome 1). The challenge is that the sequences I have are pieces (exons) that are merged together (whereas in the genome, they will be separated by spaces that are called introns), and right now I don't know where the boundaries between the pieces lie. And, I have ten thousand of these genes. And, the genome is a big search space. So, I need to figure a way to do this quickly, and efficiently, with an algorithm. But, I also need to be careful that I only map unique matches (because there are duplicated genes in the genome, which add another layer of complexity). Exciting!!

Convinced?

Well, perhaps you can at least trust that it is something I, who avoided programming like the plague, have come to enjoy. I like tweaking my codes to make them run faster. I am amazed that, with a little thought, and a few lines of code, I can analyze hundreds of thousands of base pairs of DNA in minutes (or seconds even), something that really isn't feasible by hand. It's so cool!

1 comment:

PennStateGirl said...

I love this post! You rock.