PCR is the process of taking a specific piece or segment of DNA or RNA(cDNA) and making billions of copies. This segment can be as short as a single gene, or much longer, depending on what it is that you are studying. For the sake of consistency, lets focus on the amplification of a single gene.
In order to run a PCR, we must first define what goes into to the reaction. First, there are the primers. Primers are the specific complement that matches the section of DNA/cDNA that comes directly BEFORE the gene we want to amplify. They allow us to target the gene specifically and provide a starting point for amplification. Next, there are dNTPs. These are better known as the “free nucleotide bases”, or “building blocks” that are used to piece together the complementary strand of DNA/cDNA. Last are the enzymes–the things that actually DO the building and copying! There are several enzymes and all of which usually end in -ase. For the sake of simplicity I will avoid diving into the pond of complication for now.
So we have a specific gene and we want to study it, but the problem is that we don’t have enough of it to run multiple tests! This is where PCR comes in. If we combine the primers, dNTPs and enzymes together with the sample gene, we can run it in a thermocycler and exponentially increase our amount of the gene.
A thermocycler machine is a brilliant invention. This one machine can maintain a certain temperature for a specific amount of time and then change to different temperatures at a set time–all of which can be programmed. The PCR cycle has 3 steps- denaturing, annealing and elongation. The first activates an enzyme that peels apart the double-strands of DNA, allowing the dNTPs and other enzymes to access the bases of the sample. The second step matches the primers to now-available bases and the third attaches the dNTPs and creates the complementary strand.
There is a wonderful animation on YouTube that displays it quite well: PCR Animation
Unfortunately, I have hit a bit of a snag with downloading a compiler for learning C++. However, I should be meeting up with a friend of mine later this week to get one from him.
On another note, I think it is time to delve into something more…biological. PCR! I’m going to give a short snippet here and then post a much more lengthy description later. For now, lets get the general concept.
PCR stands for Polymerase Chain Reaction. Yes, I know…that’s the reason we in the field say “PCR”! So now, what exactly does this mean in normal words? Well, lets just say in short it takes a small, very specific piece of DNA (or cDNA, but we’ll go into that later as well) and replicates it exponentially. That is the most basic definition for it right now, but I promise that I am working on a much bigger post that will include reasons WHY this concept is important.
Bioinformatics has become a sort of “marriage” between computer programming and biochemical divisions of science. The pursuit of this subject as a graduate degree field has led to an investigation of a new field for me. Computer science is brand-new for me and so I am learning as I go. The first thing I found out was that open-source software is an easy way to get program that are just as good (if not better) than most of the popular software out there. I’ve also discovered that object-oriented programming is the base from which I need to start my jump into this relative unknown.
Object-oriented programming is a series of objects interacting, whereas “conventional” programming is seen as a list of tasks to be done. Yeah, that still seems a bit mysterious to me too, but I promise to post an analogy once I get a better grasp on the concepts involved. In the mean time, I “Google-d” popular object oriented programming languages and found that C++ tends to always be listed in the top 3. (It also helps that my father knows the language “C” which is what C++ is developed from)
So now I am comparing the free compilers online for C++ language. In fact, Wikipedia (I know, not reliable, but at least it has external links that can be backed up) has a page titled “List of compilers” where it displays a table of the compiler, who makes it, whether it is free/open source, and what operating systems it works with. This was my starting point. I decided that I wanted to work with a compiler that I could use on both a Mac and a PC (in case I decide to convert between the two). Based on that I chose to look at Clang, CodeWarrior and GCC.
Clang is part of the Berkeley Software Distribution project, and is offered as a replacement to GCC. Google and Apple were both involved in the open source development of Clang, which strengthens its pro column in my opinion. CodeWarrior is a type of freeware–available for no cost, but usually limited usage rights. This prevents programmers outside the company from editing and sharing the program. Examples of freeware include Skype and Adobe Reader. Since I am looking for open-source, CodeWarrior is no longer an option for me. (**Open source is just my choice, as freeware compilers can be just as useful. With open source, once I get fluent, I can inspect the compiler ITSELF and discover how it is built.) Lastly, there is GCC, or GNU compiler collection. This is also a closed software like Code Warrior. The initial table in Wikipedia showed GPL which is the licensing for the software. While it is still free, this is a great example of double-checking Wikipedia.
Based on my research I will begin to download and investigate Clang. I found a helpful C++ Tutorial online which I will begin using to get a feel for the basics involved here.
Open-source software is a great way to get free software. It is the product of one or many programmers that can be edited and modified by anyone as well as downloaded directly from the Internet. The great thing is, this type of software can be edited to fit a specific need and can be found in a variety of subjects. For instance, there are several softwares available for bioinformatics, computer programming, statistics etc. Some of the popular open source software includes Mozilla Firefox (internet browser), GIMP/Paint.Net/Picasa (photo editing softwares), Audacity (music mixing software), and Linux (operating system). Open sourcing brings programmers together to work on a communal project. This can reduce errors within the code since we all know several thousand brains are better than one!
Compilers for programming can be open source as well. I am looking through a few that are offered and I plan to use one to start learning C++ language (which I will go into more detail in a later post).
I decided to start this blog to help merge my work life with my family life. As a scientist I often run into a problem–no one outside of my field understands what I do, what I want to do or even what I’ve learned. Unfortunately a lot of the problem stems from a pure lack of interest, but I believe that if the information was presented in a better way then it could be interesting and even exciting for others to learn.
Now, I am in a transitional part of my career, so this blog WILL be spastic at times. I am teaching myself skills and techniques while trying to perfect the basics of my field.
I hope you find it at least enlightening, even if you don’t visit my site as much as perhaps I would like, but who knows…maybe the world of science will open doors you never knew existed!