Waking up early to commute to a job where I do nothing but filing, running small errands, and doing the work that none of the full-time employees wanted to do. A week before I started my first co-op, this was the co-op experience I mentally prepared myself for. Eight months later, as a Computational Biologist at Genome Sciences Centre, I created the most resource efficient software program capable of closing DNA gaps in the human genome. This is my co-op story.
Starting My Role
Back in May 2014, if you told me what I would have accomplished in my eight months at Genome Sciences Centre, I would have balked and laughed hysterically. I had good reason to have low expectations, which can be summarized by the following exchange during my interview between a trio of scientists (whom eventually became my supervisors and boss):
“Daniel, do you know what scripting is?” To which I answered, “No.”
“How about navigating around a Linux terminal?” Again I said, “No.”
“Are you comfortable with any programming languages?” I proclaimed, “Yes, I am experienced in Java!”
While it seems that paraphrased conversation ended on a good note, Java was in fact entirely unused in the software development team at Genome Sciences, where the majority of the coding was done in Python, Perl, or C++. None of which I had more than a day’s worth of knowledge. Now you can see why I was half expecting to be the intern that fetched everyone’s coffee.
It took me a week just to learn how to navigate around Linux terminal (for those unaware, Linux terminal is similar to Windows Command Prompt). It took me another week to learn enough Perl to create my own scripts and small programs.
Throughout the first two weeks of my co-op, my supervisors gave me background information about genomics. This was to prepare me for my project: develop a new, resource-efficient tool that closes gaps in genomes.
For those without a biology background, our DNA (also known as our genome) is composed of a series of nucleotide bases whose names are shortened to A, C, G, or T. Simply imagine a long metal chain, but each chain link is replaced by any of the 4 letters – that’s essentially what DNA is. Figuring out this long chain of letters is possible through new sequencing machines, but there are errors involved in the process. When there’s an error, instead of the displaying A, C, G, or T in the output of the machine, we see the letter N. Areas of N in a genome are called gaps. My new tool was to find a way figure out what these Ns are – to “close” the gaps.
By the end of June, I developed a prototype using Perl scripts. This surprised my supervisor; he wondered what they were going to do with me because I finished the project quickly. So he asked me to translate the Perl scripts into one single C++ program. By the end of July, I had a fully functional C++ program that performed admirably. In fact, we discovered that it performed better than existing gap-closing software available around the world thanks to its ability to process larger genomes. I named the program Sealer.
In the last four months of my co-op, I prepared a research paper about our new software. I performed the initial tests and analyses before I finished my co-op, and my supervisor performed more after I left. I wrote parts of the paper and my supervisor and peers edited or contributed to various sections. With a lot of hard work and a little luck, my co-op did not involve low profile tasks like I had initially expected, but rather I was given the opportunity to work on the bleeding edge of research.
What I Learned and Tips to Future Students
But all this success would not have happened had I not learned to work well with my team. Like every sports team, each person had a different job, but we needed to function as a single unit to accomplish large projects. I had to learn how to properly vocalize my ideas and concerns for a project, which took time and effort. For example, there were meetings every Thursday where my team would gather with our boss to inform him and other members of the progress of our projects. My initial presentations were quiet and without context; I would jump right into my results rather than reminding the team of my project and of the issues I had in the previous week. So instead of saying, “After the last meeting, I set out to fix this problem with my code. I have since resolved it and here are my new results,” I would say, “Here are my results.” In the latter, my team members were confused and thus unable to provide insight. But in the former, after I learned how to properly communicate at the meetings, my presentations became substantially more productive. Appropriate communication with co-workers was the most valuable skill I learned while I was at Genome Sciences Centre.
So for those entering a new co-op position, learn to communicate with your team. Get to know them. Your mornings will be brighter if you are going to work with people you know rather than co-worker A, co-worker B, etc. Ask questions when you need help; co-op is a learning experience and you will naturally not know how to do certain things. Lastly, make the most out of your time. Have you finished a project early? Ask your supervisor what else you can work on; showing initiative can only lead to good things. Who knows, maybe you will end up writing a research paper, too.