You are browsing the archive for Nathan’s Blog.

Profile photo of nathan

by nathan

Journal Fight Club - June 5th

June 2, 2014 in Labwide Announcements, Nathan's Blog

Hello everyone,

My journal fight club talk will be on June 5th at 2pm in room G737. 

Biomed Central link to the article: http://www.biomedcentral.com/1471-2148/12/238

Cheers

- Nathan

Bring it.

Bring it.

Profile photo of nathan

by nathan

Refocus

July 3, 2013 in Labwide Announcements, Nathan's Blog

Since my last blog post, I have finished implementing the matrix exponential subroutine to generate P(t) in the sequence simulator. The reason that it was generating seemingly random data points was that (as Dr. de Koning pointed out) I forgot to clear one of the variables in my script. This caused it to work fine when testing the matrix exponential function in a single run, but also caused it to be unable to generate new matrices for different branch lengths.

As well, Aaron and I have been tweaking our mutation-selection models without population size. Each transition now scales properly based on π(codon) for each target state.

--------

Over the next couple of days/weeks I will be working on the following items:

  1. Check the implementation of the mutation-selection model (without population) into the previous simulations
  2. Develop a recursive program to simulate across entire trees rather than just single branch lengths
  3. Develop a linked-list (node) based program to read in and simulate against tree topology data.
  4. Doing steps 1-3 with a mutation-selection model involving population
Profile photo of nathan

by nathan

Mutation Selection Model

July 3, 2013 in Nathan's Blog

Profile photo of nathan

by nathan

First post and an update on the sequence simulations

June 20, 2013 in Nathan's Blog

Hey all,

I've been meaning to make a blog post for a while but didn't really know where to start. In my short time in the lab, I've already picked up one and a half new programming languages (Perl and sort of R), have written an abstract, and have dived head first into statistics, phylogenetics, and a ton of evolutionary concepts, all of which are completely new to me. I've also become closely acquainted with Ozzy and his variety of low and high-pitched fan sounds (from G to the B flat an octave above). The most important thing that I've learned so far is to try not to over-complicate things. All too often, I find myself spending hours trying to come up with an elegant but complex solution to simple problems when a simple for/while loop is sufficient.

----------------------------

IMAG0353

After giving up on the perl PDL library and its seemingly nonsensical ways of handling objects and references in memory, I spent about a week writing out a matrix.pm package to calculate the matrix exponential based on the Taylor series. Ultimately, this was to be used in the sequence simulator to generate a sampling matrix based on user-inputted true branch length. About halfway through this process, I found myself stuck in "programmer's hell" where none of the references were being thrown around properly and my variable scoping was completely out of whack. After a bit (a lot) of help from Dr. de Koning, I figured out how to handle arrays and arrays of arrays and arrays of arrays of arrays in perl. As painful as that was, I'm thankful for it in that it has taught me efficient and proper perl programming style and practices.

Although the matrix package works properly, I have yet to implement it properly into the sequence simulator. At the moment, it plots seemingly random data points.

----------------------------

IMAG0362

As well, @aaron and I have been working on implementing a mutation selection model with and without population size into these simulations - his in MATLAB and mine in perl. My code is a bit ugly at the moment but the model without population size is now working like it should. I had a bit of a problem because I was getting negative rates values but realized that it was because I was multiplying against the wrong 'mu' matrix.

----------------------------

In other news, @shams and I recently submitted abstracts for the CASCH conference in Banff at the beginning of September.

 

Until next time!

- Nathan

 

Skip to toolbar