2013-10-20

A playground for actors and fellowship application progress

Lately, I have been in part busy with paperwork related to my postdoctoral fellowship applications. While investing quite myself into these applications, I am also researching and devising better ways to create massively parallel software tools for genomics. I came up with the idea of "RayPlatform Actor Playground" and implemented a illustrious set of classes that embody the ideas conveyed by the "Playground."
The user story that motivated this novel playground for actors is that of what I named "Ray Surveyor." The purpose of this workflow is to compare genomic content between samples using DNA content without any references implied.

This Surveyor business is simply called using a new option for Ray: "-run-surveyor". An example of command line is available here. All the required runtime code is implemented within 4 types of actors. These actor types are: Mother, CoalescenceManager, GenomeGraphReader, and StoreKeeper. Mothers are the only actors that are spawned by the system initially. They alone decide to spawn the other types.

The image below shows a typical messaging network that is used by these actors within many playgrounds at once.





Figure 1: The playground model for actors. Each RayPlatform node has 1 playground in which actors can send messages, receive messages, spawn new actors, or die from old age.


In Ray Surveyor, several patterns from the great book Enterprise Integration Patterns (the patterns from this book are available online !). In particular, the patterns Aggregator -- which is useful to group small related objects into a larger payload -- and Request-Reply -- which is a paramount requirement for regulating messaging processes in the presence of varyins transport bandwith and/or delivery latency -- are put to good use.

I plan to finish the first features of the surveyor this week. The thing will generate a Gramian matrix for a bunch of biological samples (for which we have DNA sequencing data).


Fellowship application progress

I have steadily made progress with my fellowship applications. Last week, I added two fellowships to the list of scholarships I am applying to. I wrote a fancy page with details about every fellowship I am submitting (or submitted) an application.

Backlog:

Fonds de recherche du Qu├ębec Postdoctoral research scholarship
Argonne National Laboratory Named Postdoctoral Fellowships
Banting Postdoctoral Fellowships I will complete this tomorrow.
Canadian Institutes of Health Research Fellowships
James Hardy Wilkinson Fellowship in Scientific Computing
Margaret Butler Fellowship in Computational Science

In summary, the Banting fellowships required the highest paperwork burden and mine is almost completed and submitted. The 3 remaining applications (CIHR Fellowships, Wilkinson Fellowship, and Butler Fellowship) require far less energy to fill and send.



Doctoral thesis: is the beginning of the end in sight ?

It sure is. My director completed his prelecture. My codirector is half-way into the abysses of my thesis. After that, it will be the initial deposit.


Bonus feature

To reward readers for consuming all the bits of this lengthy post, here is a nice picture of a metagenomic repeat that is unwinding for the greater good.