How my coffee shop solved my research problem

A while ago I told you I was stuck with my research beccause I could not afford to build a library on the moon. Yes, it’s a long story, but it comes down to the fact that the proteins that transmit and store information in our body do this by undergoing changes to their function, shape, chemistry, location etc.

Here, for instance, is my favourite protein, CaMKII, and some of the things that can happen to it:

CaMKII_monomer_states_anno

Actually, this picture does not show all of CaMKII, only about one twelfth of it (well, one twelfth of what matters). But even for this little part of a protein, there are a lot of options: Is a phosphate group attached to it or not? Is it active or inactive? Bound to another protein called calmodulin or not? That’s already 8 possible states that little protein subunit can be in. With each new possible modification, the number of possible states doubles, and soon you have a mindboggingly big number of possibilities (what we call “combinatorial explosion”). This makes those proteins difficult to model using a computer.

Unfortunately, modelling proteins using a computer is what I do for a living. Hence the dilemma. What did I decide to do? Go for a coffee, of course. But this turned out harder than I thought.

combinatorial explosion, as exemplified with a cup of coffee

What coffee do I want? Small or large? With or without milk? Drink in or take out?

That’s already 8 possible states that coffee can be in. With each new possible variation, the number of possible states doubles (or worse), and soon you have a mindboggingly big number of possibilities. Do you see where I’m going here?

How does my local coffee shop keep on top of the combinatorial explosion it has created? Well, two things really.

The first is that the coffee shop does not need to list every conceivable coffee combination. It only has to list the rules by which they are created. One such rule is

Add extra shot: 50 cent

It doesn’t matter whether you add your extra shot of espresso to a single espresso or to a tall choccocino with extra milk and extra sugar – whatever coffee you have, if you want it with an additional shot of espresso, you just add 50 cent. Easy!

This is actually a thing, and we call it “rule-based model specification” (well, those who write and use software and algorithms to model multi-state proteins call it that. I don’t know what the people who run the local coffee shop would say).

The second thing they do in the coffee shop is almost too embarrassingly obvious to even point out. Still, we have a fancy name for it: “particle-based rule evaluation”. What is it?

Well, the principle is simple: At each point in time, the person serving the coffee does not need to know about the bajillions of possible coffees that theoretically exist. All they need to know about is the handful of coffees that customers have recently ordered and are waiting for.

Well, same for modelling the functional states of biomolecules. Your computer program does not need to know about the bajillions of possible states of a protein that theoretically exist. All they need to know about is the few coffeesmolecules of that protein that are around in the cell, or compartment or test tube you are simulating at the moment. Easy! (Well, easy-ish. Easy, compared to the alternative. By the way, if you want to read more about how this works, check out our recent paper and wikipedia article.)

So, once again, coffee has saved my life. Well, coffee and the very awesome people who have been developing multi-state modelling software. But then again, they probably drink a lot of coffee too.

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s