Big Data

With the right data you can predict the future.

Below is Nate Silvers 538 prediction and the actual results, side by side.

Screen Shot 2014-05-09 at 8.25.11 AM

Taking Action on Big Problems

Small problems can easily be solved, and solving them sequentially will give you the same answer as trying to solve everything together. In addition to getting the same answer, the amount of time is greatly reduced.

hand drawing an empty flow chart on virtual whiteboard


Current focus

Bringing your ideas to life. 

By building scalable web applications and data mining them for key business insights, I am ready to bring your ideas from the drawing board to fully functional software.

If you’re interested contact me at blakedallen ( at.) [gmail] .com


Excellent Code Writing

I recently spoke with Kevin Karplus a professor at UCSC about what constitutes excellent code writing. What Karplus stated was that, “clean decomposition into specific subproblems” was essential for excellent code.

No-one has completely summed it up so perfectly for me before. It seems so clear. When you make an engine for a car for instance, you don’t want the fuel tank to double as a radiator. Everything has been atomized into its specific components. So when making a program why would you have a main function that attempts to do fifty things? By breaking everything into functions and modules where appropriate… one can atomize their program and write more efficiently. Whats really important is that this style of writing can create a a stream of clarity.

Thanks Kevin!

Below I have included some of the code I use in Kevins BME 205 class. This function employs clear breakdown of subproblems in the main loop, where the use of a generator function maintains clearly legible code.

Screen Shot 2013-10-18 at 7.02.28 PM

How To Bioinformatics – New Site

Learning Bioinformatics can be a daunting task… learning how to program alone is very daunting for most people. I am now building a site to help people learn bioinformatics, its called how to bioinformatics

If you looking to learn how to get your foot in the door into complex sequence analysis, and your just learning how to program, check out my website for some free tutorials on python and getting started in bioinformatics.

There are no neutral mutations

Neutral (or silent or synonymous) mutations occur when the change of a single DNA nucleotide (A,T,C,G) within a gene does not affect the sequence of amino acids that make up the gene’s protein (15). The sequence of amino acids determines the 3-D structure of the protein, and that determines the function of the protein in the cell, and that determines the fitness of the organism. So, if the protein is not changed it will have no effect on the phenotype and the fitness of the organism. In other words: it will be neutral.

My thoughts: There are no neutral mutations. A mutation that creates a synonomous codon will still effect transcription frequency, either increasing frequency or decreasing frequency. The tRNA, responsible for retrieving a specific base, may be under or overexpressed for the mutated codon. Even though the codon codes for the same amino acid the speed at which a protein is translated will be effected. This could have many downstream effects.

Is Python the best programming language for Bioinformatics?


Is python the best programming language for Bioinformatics?

When your learning a programming language for bioinformatics, it’s important to pick one that will not only be useful now, but 5-10 years in the future. Currently python is the most popular scripting language for bioinformatics, and theres plenty of reasons why.

  1. it’s supported by a huge community so you can find an answer with a quick search, rather than spending hours scouring the internet.
  2. Python Syntax forces modularity, so you HAVE* write more professionally in small re-usable blocks
  3. It has great libraries that seamlessly integrate into it’s functionality

Speaking of great libraries, if you want to do something in python, just import it. (chances are someone has already written the low level stuff for you)

  1. Biopython contains hundreds of great tools to do bioinformatics
  2. Rpy connects python to R, the statistical modeling language, so you can run R using comfortable python syntax
  3. Python C, turns out Python can execute C code, or you can have your C code run your python Scripts, very useful so you can keep your scripts and still run the faster C code.

Check out this great strip from XKCD:


  1. Noticed up top how I said you HAVE to write modularly. If you don’t write like that in python, your going to be hurting. Remember Python is a scripting language… use it for small programs that do one task quickly and efficiently… dont build a complex system on it or you will regret it as python’s grip slithers around your neck.
  2. Whitespace. It’s part of the syntax. I personally don’t like this feature… why? Because you can’t see whitespace. Unless you activate invisible characters. It’s still a pain when you get an error because you indented one space too many. Or if you have a long block of code that needs an if statement at the top… better start indenting the entire block. Was this really better than just adding some brackets? I don’t think so, thats why I use perl as well. Luckily they can all work together… more on that soon.

coda c++ colors


Trying to use your favorite editor Coda (from Panic!) to write in C or C++?

After scouring the internet to find the answer I landed on this blog post by falken creative.

Here’s his easy to use solution to adding a color scheme for C/C++ and more… in Coda:

Step 1:

  • Visit the SubEthaEdit site, and download the older 2.2 version of SubEthaEdit (older version is required to get this to work)
  • Unzip the download, and then right click on the application and select “Show Package Contents”
  • Navigate to Contents > Resources > Modes, and copy the “C++.mode” file

Step 2:

  • Navigate to your applications folder, find Coda, and right click on the application and select “Show Package Contents”
  • Navigate to Contents > Resources > Modes, and paste the “C++.mode” file
  • Relaunch Coda if you already have it open

Step 3:

  • Enjoy!