Home

Advertisement

Customize

I'm brainy for Zombie Pops

Feb. 3rd, 2009

09:04 pm - dear LJ braintrust, xorg7.4, hal and putting control back in the right place

anyone in my lj brain trust know that the correct options to put in a hal .fdi file to get my control key mapped back over caps-lock?

Nov. 19th, 2008

11:15 am

damn you project euler!
there goes my day....

Oct. 31st, 2008

09:08 am

I'm proud to be an atheist, no matter what ignorant morons like Liddy Dole say, and I vote!

Oct. 15th, 2008

09:44 pm - Thank you Obama

thank you for calling for more funding in basic research!
and boo on McCain criticizing the planetarium projector in Illinois.

edit:
WTF? McCain isn't for the health of the mother?????

Oct. 3rd, 2008

03:44 pm - mainly for myself

quick wx dialog that lets you order a list how you want.

import wx

class orderedListDialog(wx.Dialog):
    def __init__(self,parent, list, title='Order Timecourse Data'):
        wx.Dialog.__init__(self, parent, -1, title) 
        num = len(list)
        self.items = list
        #self.sizer = wx.BoxSizer(wx.VERTICAL) 
        self.sizer = wx.GridSizer(num,1,0,0)
        self.pluses = {}
        self.minuses = {}
        self.order = []
        self.lines = {}
        for index in range(len(self.items)):
            panel = wx.Panel(self, -1)
            line = wx.BoxSizer(wx.HORIZONTAL)
            text = wx.StaticText(panel, -1, self.items[index])
            plus = wx.Button(panel, -1, '+')
            minus = wx.Button(panel, -1, '-')
            self.order.append( self.items[index])
            self.pluses[plus.GetId()] = self.items[index]
            self.minuses[minus.GetId()] = self.items[index]
            self.lines[self.items[index]] = panel
            
            self.Bind(wx.EVT_BUTTON, self.onPlus, plus)
            self.Bind(wx.EVT_BUTTON, self.onMinus, minus)
            
            line.Add(plus,0)
            line.Add(minus,0)
            line.Add(text,0)
            panel.SetSizer(line)
            self.sizer.Add(panel,0)
            
        self.ok = wx.Button(self, wx.ID_OK) 
        self.sizer.Add(self.ok,0)
        self.SetSizer(self.sizer)
        self.Layout()
        
    def onPlus(self, evt):
        id = evt.GetId()
        item = self.pluses[id]
        line = self.lines[item]
        print 'move %s up one' % item
        
        index = self.order.index(item)
        if index is not 0:
            if self.sizer.Remove(line):
                self.order.remove(item)
                self.order.insert(index-1, item)
                self.sizer.Insert(index-1, line)
                self.sizer.Layout()
            print self.order
        

    def onMinus(self, evt):
        id = evt.GetId()
        item = self.minuses[id]
        line = self.lines[item]
        print 'move %s down one' % item
        index = self.order.index(item)
        if index is not len(self.order)-1:
            if self.sizer.Remove(line):
                self.order.remove(item)
                self.order.insert(index+1, item)
                self.sizer.Insert(index+1, line)
                self.sizer.Layout()
            print self.order
            
            
if __name__ == '__main__':
    app = wx.PySimpleApp()
    dlg = orderedListDialog(None, ['a','b','c','d'])
    if dlg.ShowModal() == wx.ID_OK:
        print dlg.order

Current Mood: [mood icon] accomplished
Current Music: Phantom Creeps - Children of the candy corn

Sep. 16th, 2008

10:06 pm

*sigh*
so lets see, Bear_Stearns, Fannie and Freddie, and now AIG...
not to mention lehman brothers...

can some one please explain to me how 'the fundamentals of our economy are still strong' if all our banks (the people who allow us to use debt to drive the economy) are failing?

Sep. 15th, 2008

08:24 pm - damn you data!

you damn dirty data! co-operate! plot nicely! behave! Curses!

Sep. 14th, 2008

01:05 am - grimepoch is wrong

He just admitted it. He was wrong!
p*v = n*r*t

Current Mood: [mood icon] accomplished

Sep. 5th, 2008

10:00 am - In response to sarah palin's comments on community organizers..

I'd like to remind her, and the religious right trumpeting her ascendancy into national politics


Jesus was a community organizer.
Pontius Pilate was a governor.

Sep. 2nd, 2008

07:49 pm - grad school....

So since I finished my first official week of grad school (as opposed the the work I'd been doing in my rotation this summer), but I'm not really sure how i can describe it. It kind of is unlike anything else... I can say the classes are interesting, and some may actually be useful. My cohort is nice, a good bunch of people to be working with. But on the flip side to that, the stress is unique, and the impending work load impressive. And I've still to figure out what my research rotation this semester is going to be.

Current Mood: [mood icon] quixotic

Aug. 8th, 2008

09:24 am - FIRED!

the last 18 hours are just fired. Fired I tell you. kaput, out the door, unwelcome, don't call us we'll call you, and no I will not give them a reference.

the meeting I stayed late for at work (and spent all afternoon preparing data for) failed to happen, UPS can't get their shit consistent and can eat a dick, and to top it all off, my AC died last night.

fuckit, I am going to start the weekend drinking early.

cocktail any one?

Current Mood: [mood icon] aggravated

Jul. 22nd, 2008

11:28 am - since I'm a giant math geek...

since the new batman movie has a scene that seems straight out of a game theory text, it should be no surprise that people have started analyzing the game presented. Here's as couple of links to such analysis. I'll add more as I find them.
WARNING: some spoilers ahead.
http://scienceblogs.com/purepedantry/2008/07/game_theory_and_the_dark_knigh.php
http://www.quantitativepeace.com/blog/2008/07/the-dark-knight.html

discus

Jul. 10th, 2008

10:51 pm

The processes of Science
Step 1:
Identify a gap in knowledge
Step 2:
Science!
Step 3:
Publish


So at 120 min, several people were asking me about the research I'm doing in grad school and they said I should blog about it more. I'd considered it in the past but figured that what I was doing wouldn't be of that much interest to most people, due in part to the fairly complex nature of the work I'm doing and the requisite back ground (there's a huge amount of it that I'm still in the process of learning), and would fail to generate discussion (my opinions of blogs as community tools (via discussion) vs online public diary to be explored at a later time). But apparently I'm wrong, as some of you do seem interested. So I'm going to try and write about it a little more, which will hopefully amuse or entertain some of you, and help me, as if I can communicate what my research is to you all, it should improve my writings for publication.

So what am I spending my time doing this rotation?
To start with, I'm working with the computational immunology group here at Duke. They're interested, at the broadest level, of using computational biology tools, that is complex statistical analysis and modeling techniques coupled with information from biology, to answer questions in immunology. Specifically I'm working on projects in flow cytometry. I'm looking at developing statistical tools and models to help researchers speed up the currently arduous task of analyzing multi color flow data.

Some more background, starting with 'What is flow cytometry?' flow is one of the older high throughput techniques, and importantly one of the few in vivo high throughput techniques. flow allows you to observe the size, complexity, and through the use of fluorescent markers many other factors about a cell. In general in immunology, these fluorescent markers are used to attached to antibodies that will bind to specific receptors on the surface of the cell. By observing what receptors are present on the cell surface, the phenotype of the cell can be identified. How this is observed is by staining the cells with the florescent markers, and then having them fed past a laser, and recording how the cell fluoresces. Modern flow records many different florescent markers simultaneously, upwards of 6 markers (current records is apparently 18 markers and forward and side scatter). This produces a huge amount of data, that currently is analyzed by hand. Slowly and because of how it is analyzed, inconsistent.

So 'How is flow data traditionally analyzed?' The traditional method of analyzing flow data is to look at 2-d dot plots or 1d histograms and gate down to regions of interest (gating is selecting regions of interest). After multiple rounds of gating, looking at different florescent markers, hopefully you'll have collected one group that is of a specific cell type. This type of analysis is slow, and difficult. We've developed some basic statistical tools to identify these clusters using MCMC methods. It turns out that this, in our opinion, works pretty well. It overcomes a lot of the issues of looking at only two dimensions at a time that traditional methods use, by considering it as a n-dimensional vector, and clusters the data over all the channels simultaneously. We've even found some basic tools to fix some common problems the flow people have complained of, and we're trying to build even better statistical models.

So where are you at? Well we've just had out paper published on our software, and the group I'm working with had one published recently on our statistical model, which is great. But we think there is still room for improvement. We're looking at how we can scale up our ideas, and are building a wholly automated pipeline to do the analysis. We're also looking at how we can use biological knowledge to build better statistical tools. We're also interested in seeing if we can start identifying incredibly rare cell types. We're hoping to eventually (very long term here) try and incorporate machine learning into the pipeline to auto associate clusters with cell types.

I'm excited by my work. Computational flow work is a largely unexplored field, so everything we're doing is fairly novel. There is TONS of data to be analyzed. The flow group I'm working with is really excited by the work we're doing, which helps a lot too. Other flow groups also seem eager to see our work come to fruition. I'm also getting to do more math and statistics related work instead of just programming.

Next time I'll talk about the CFSE work within the flow stuff that I'm playing with.

Jun. 21st, 2008

10:28 am - img_1338.jpg


img_1338.jpg
Originally uploaded by jfrelinger
Heather shows she can hang with the Big Tiki outside Trader Mort's

10:26 am - Otters on Ice


Otters on Ice
Originally uploaded by jfrelinger
And otter escapes the heat with an ice bath.

10:25 am - Seal


Seal
Originally uploaded by jfrelinger
'cuse we're never gonna survive unless, we get a little crazy!

10:23 am - Hey Kid!


Hey Kid!
Originally uploaded by jfrelinger
Hey Kid, Don't lean over the railing!

10:21 am - *Urp* - Excuse me


*Urp* - Excuse me
Originally uploaded by jfrelinger
Cat looking apologetic.

09:52 am - Invisible Fish


Invisible Fish
Originally uploaded by jfrelinger
Its invisible fish. Photo of transparent fish from my trip to sea world!

Apr. 11th, 2008

08:23 am - from the who-philes.com

*heh*


Viva la Tardis!

Current Mood: [mood icon] amused