Tuesday, June 3, 2014
Journal Paper on MAKER and Work Queue
Our paper on converting the MAKER bioinformatics analysis from MPI to Work Queue, done in collaboration with the Notre Dame Bioinformatics Laboratory was recently accepted for publication in the International Journal of Bioinformatics Research and Applications.
Tuesday, January 1, 2013
Scaling Up Comparative Genomics with Makeflow
The CoGe Comparative Genomics Portal
provides on-the-fly genomic analysis and comparative tools for nearly
20,000 genomes from 15,000 organisms and has become more and more
popular as genome sequence has become less expensive. The portal runs
about 10,000 workflows a month and needed a robust solution for
distributed computing of various workflows that range from simple to
complex. Using Makeflow,
the CoGe team is modularizing the workflows being run through CoGe, has
early wins in delivering value to the system by easily
monitoring/restarting workflows, and is now starting to work on
distributing computation across multiple types of compute resources.- Eric Lyons, University of Arizona
Tuesday, April 14, 2009
Distributed Genome Assembly on 1000 Computers
Here is what the genome assembly problem looks like from a computer science perspective. As you should remember from biology class, your entire genetic makeup is encoded into a long string of DNA, which is a chemical sequence of base pairs that we represent by the letters A, T, C, and G. A sequencing device takes a biological sample, and through some chemical manipulations can extract the DNA and produce your entire string of DNA, which is some 2 billion characters (bases) long:
AGTCGATCGATCGATAATCGATCCTAGCTAGCTACGA
Except that it isn't that simple. The chemical process of extracting the sequence runs out of energy after about 100-1000 characters. depending on the exact process in use. Instead what you end up with is a large set of "reads" which are random substrings from the entire genome. For example, here are three random substrings of the previous string:
1. ATCCTAGCTAGCTACGA
2. AGTCGATCGATCG
3. CGATCGATAATCGATCCTAG
Now, you have to examine all of the reads, and figure out which ones overlap. In principle, you want to compare all of them to each other with the All-Pairs framework, but that would be computationally infeasible. Instead, there are a number of heuristics that can be used to generate candidate pairs, which then can be matched in detail and then assembled. For example, the three reads from before overlap like this:
AGTCGATCGATCGATAATCGATCCTAGCTAGCTACGA
.....................................
AGTCGATCGATCG........................
.......CGATCGATAATCGATCCTAG..........
....................ATCCTAGCTAGCTACGA
There are many wide open questions of exactly what heuristics to use in selecting candidates, performing alignments, and completing the assembly. Our job is to give researchers a modular framework that allows them to try many different kinds of algorithms, using hundreds or thousands of CPUs to complete the job quickly.
We started with the work queue framework from the Wavefront abstraction. An assembly master process reads the candidates and sequences from disk, builds small units of work, and sends them out to worker processes running on various grids. No particular alignment code is baked into the system. Instead, the user provides an alignment program written in whatever language they find convenient. The system moves the executable and the necessary files out to the execution node, and puts it to work.
Here is an example of the system in action on a multi-institutional grid. The X axis shows time, and the various lines show number of tasks running (red), percent complete (blue), and cumulative speedup (green). We started by running a worker on one workstation, then another, then on a 32-node cluster, then on the Notre Dame campus grid, then on Condor pools at Purdue and Wisconsin, growing up to nearly 700 CPUs total. About halfway through, we forced a failure by unplugging the workstation running the master. Upon restarting, the master loaded the completed results, and picked up right where it left off.

I'm looking forward to putting our system into a production mode and attacking some really big problems.