Code

Code

Tuesday, October 28, 2014

What Did You Accomplish This Week?

A few weeks ago I was jokingly asked by a friend (who has never set foot in a lab) if I had made any great discoveries that week. I had just finished confirming a genetic transformation, so I laughed and replied, "Well, I did make a new type of yeast." You may or may not consider that a bit of a stretch, but I thought it was a clever answer to an unexpected question. Apparently my exaggeration was enough to impress my friend, since I found out later that he went on to tell others about my "accomplishment." This brief interaction made me think about a couple things...

My first thoughts were about how annoying difficult it can seem to have enough things go right in a given week to really feel accomplished. You know those terrible Fridays when you look back on your week and think, "Where did it go, and why haven't I done anything?" Sure you do, we've all had them. But the question I was asking myself at that moment was "Is it unreasonable to consistently expect significant progress on a thesis project each week"? The answer obviously depends on the connotation of 'significant'. You probably won't add a line to your CV every week, and it's easy to default to a, "Well, science is hard and things go wrong," sort of attitude. The best answer I've found is a middle-of-the-road viewpoint is appropriate; I think it would be beneficial to note at least one achievement at the end of the week. This deed isn't to brag about, but to be self motivational.

I realized later that my friend was actually correct to be impressed with my statement. Not because I had done anything noteworthy, per se, but because the technique and the science behind it IS impressive. After a certain amount of time in the lab it becomes easy to lose sight of how awesome what we get to do is. You get into all of the little gritty details of thinking about the struggle of perfecting your sterile technique and ensuring that your epitubes are all properly labeled in your neatest tiny handwriting. You don't stop to consider that what you're doing. Taking traits from one organism and bestowing them on another could only be called magic a few generations ago. And there are people alive today who were born before this "mundane" task was ever done:

http://www.ncbi.nlm.nih.gov/pubmed/8150273.

For a slightly more humorous perspective, watch this Jimmy Kimmel clip:
https://www.youtube.com/watch?v=EzEr23XJwFY.

The point is, even the little things scientists do on a daily basis are awesome. My advice for this week, to myself as much as anyone, is to appreciate the opportunity you have to work in the field you do, and be sure to make the most out it.

Leave a comment below showcasing the most impressive thing you have accomplished in a week. Exaggerate at your own discretion.

Cheers  

Wednesday, October 22, 2014

Topic Results

For anyone who's curious how the survey is going, below is the current average with error bars showing one standard deviation.


I didn't bother with any t-tests, but I'm pretty sure that these aren't significantly different...

The survey was still a success, however. I received a large amount of advice that I should write whatever I want and focus on what interests me. So, that's exactly what I'm going to do. A big thanks to everyone who took the time to take the survey.

Be sure to stay tuned!

Sunday, October 19, 2014

A Prelude (Part II)

This second "housekeeping" post is the last I have planned for establishing the essence of this blog, I promise. In the coming weeks I'll get into some deeper topics and actually have something for you guys to look into and think about. But I do think that it's important to take some time to determine what I want this blog to be and what my goals are for it. I hope to at least keep this active through the entirety of graduate school, and I believe spelling out both the motivations and the purposes of the blog will contribute to ensuring that I make enough time for it each week. The first Prelude post covered the motivations, so now I want to not only tell you my ideas, but also get feedback from all of you on what you feel would be useful and interesting to read.

The suggested topics I have listed below are from what I would consider least to most technical:

(1) Personal journey through graduate school and related career advice.
     I'd like to chronicle my journey through graduate school and the interactions I have with others in the scientific community. Even though I'm just starting out, in a sense, I still have a story to tell and maybe even some advice to give about how to succeed in school and science... or at least fail gracefully. For those of you who want to keep up with me personally, this option might be the most interesting.

(2) Philosophical, cultural, and ethical issues in biological sciences.
     The social/cultural/ethical issues in biological sciences are something that every good scientist has a responsibility to consider. The earlier we recognize a problem the sooner we can begin to address it. For all of the wonders of science, it does seem to have a way of creating ever more difficulties. The spread of antibiotic bacteria, politics of health data privacy, and the potentials of genetic therapies are just a few of the issues that come to mind that need to continue to be discussed. These aren't theoretical hurdles for scientists to talk about over a late night beer, they are problems that society is going to have to solve whether they want to or not.

(3) Current and future applications of bioinformatics.
      I LOVE thinking about current and future bioinformatics based technologies. Their potential for enhancing people's lives are part of what "gets me out of bed in the morning" and pushes me to deal with all of the failures and difficulties that characterize research. Personalized healthcare, regenerative medicine, synthetic biology, and biologically inspired nanotechnology are mostly science fiction buzzwords for now. But science fiction seems to have a way of being closer than it seems. I'd enjoy sharing my take on where these applications are heading.

(4) Bioinformatics techniques and tutorials.
     As a computer-centric community, there are a large number of bioinformatics blogs focused on tutorials and techniques for others in the field to learn from. It's great, and I'd love to contribute my tiny drop of knowledge. Obviously this would be the most technical type post. While I greatly value the open source nature of the field, I don't want overwhelming technicalities or jargon to be a deterrent to others outside of the field.

Note that I WILL talk about all of these to some degree or another. So it's really a matter of how much emphasis I'll put on any give subject that's being considered here. Thank you very much for taking the time to read through this and vote.


Wednesday, October 15, 2014

Logistic Map


video

Been playing around with some of the math functions in Python. I think it's really cool how such a simple formula can create something so complicated. If you're interested, I've documented the code I used to make the video (apologies for the lack of syntax highlighting at the moment):


import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation

# Set up the figure, the axis, and the plot element
fig = plt.figure()
ax = plt.axes(xlim=(0, 60), ylim=(0, 1))
line, = ax.plot([], [], lw=1)

# initialization function: plot the background of each frame
def init():
    line.set_data([], [])
    return line,

# animation function. This is called sequentially
def animate(r):
    n = np.arange(0,60,1)
    x_n = .5 #initial value for x
    x_list = [] #initiate list

    for i in n:
        if i == 0:
            x_list.append(x_n) #initial value for x
        else:
            x_n1 = r*x_n*(1-x_n) #logisitic equation (the magic)
            x_list.append(x_n1) #add to x
            x_n = x_n1 #new x becomes old x
    x = np.array(x_list) #turn list into numpy array
    line.set_data(n, x)
    return line,

# specify array of parameter values
r = np.arange(2,4.5,.01)

# animate, save, show plot
anim = animation.FuncAnimation(fig, animate, init_func=init,
                               frames=r, interval=60, blit=True)
#anim.save('log_map2.mp4') #use default ffmpeg
plt.show()

Sunday, October 12, 2014

A Prelude (Part I)

Since there are multiple motivations for this blog, there are likely going to be several themes going on at once and different paths that the blog might take in the long term. So I think it might be helpful for everyone, myself included, if as an introductory post (or two) I spell out why I am doing a blog and what I think it's going to be about. 

The simplest reason I want to do this is because it seems enjoyable and a non-stressful outlet for some creativity and expression. I like to believe that I spend a decent amount of time thinking about things and being reflective; sometimes it's helpful to write your thoughts down, right? That's more or less the point of a blog. My other motivations are a bit more complicated...


22 is a really strange age in the American school/work system. If you have followed a "standard" education path, you have just graduated with a Bachelor's and you're supposed to go into the real world. After graduation, you're suddenly dumped into the "working adult" category where you're considered the same as everyone from age 22 to 65-ish. In college, a large majority of the people you associate with are other university students, following similar study schedules, living on or near campus, and likely between the ages of 18 and 22. I've escaped or postponed this transition to "working adult" to some degree by entering graduate school, but I haven't successfully avoided the "So what do you do?" question commonly associated with getting to know people. In college, when someone asks your major, you tell them, they nod, and you have a conversation whose length is directly proportional to the similarity of their major. The official title of my Ph.D. program is Bioinformatics and Computational Biology (BCB). So I generally tell people that, "I'm getting my Ph.D. in Bioinformatics." And as often as not they respond, "Um... What is Bioinformatics?"


This is a rather interesting phenomenon, which I hadn't considered before entering the field. If I had stayed in Chemistry, for example, people can think back to their high school chemistry class and recall that I do something with atoms. In one sense, you still haven't given them any actual information about what you do, but at least they know the word chemistry, and can nod in acknowledgement. Even with Biochemistry, people grasp that it is the combination of Biology and Chemistry, and move on. Bioinformatics leaves them at a loss though. 


I'm not implying that these people are stupid or ignorant. In fact, as a whole I'm referring to intelligent and well educated individuals. I'm just in a new, oddly-named field. Here are the advanced degrees offered by UNC:


http://gradschool.unc.edu/academics/degreeprograms/


The only major I don't have some idea about simply based on the name is Periodontology... (If anyone reading this is studying periodontology, I feel you.) At least for the other ~100 degrees, you don't have to start from the groundwork every time you want to tell people what you do. I understand that you go to graduate school to become particularly specialized in a field. But I don't think that implies that the field itself should be so specialized that it's unknown.


More importantly, the reason that I chose to study BCB is because I firmly believe the field is primed and ready to dictate the course of society in the coming century. Think about how computers have integrated themselves into all aspects of our daily lives over the last 50 years. Biology is going to do the same, because of the degree of control over biology provided to us by bioinformatics. I may be wrong, but I would assume that in 1950, virtually nobody knew the term Computer Science. It wasn't their fault. They were used to "computers" being humans who did calculations.


The point, then, is that I am writing this blog because I believe that Bioinformatics is a field that is important enough that it should be at least known to everyone. Furthermore, it is up to the scientist and students of the field to ensure that the public have a decent and accurate knowledge of what we do and how it effects them. I don't think scientists as a group have a great history of communication, but communication and conversation are going to become ever more important as technology becomes more pervasive.


Lastly, just graduating means that your friends for the last four years have dispersed across the country (or even the entire world). So you get to try to keep up with them, while making new friends, and finding time to call home once a week. For any of you who what to check in on what I'm up to recently, hopefully this can be a place you can visit. Graduate school is already living up to its promise of keeping me extremely busy, so my current plan is to post once a week on the weekends. Next week I'll share some of the ideas for the blog and what I want to talk about.


Cheers.