Sunday, May 18, 2008

Protein Folding with FoldIt

I have a new obsession :) Those who know me well have seen me do this many, many times. A new shiny thing comes along and I'm absolutely bonkers about it for a few weeks before moving on to the next thing. My new favourite is called FoldIt and it's a protein folding simulation.

Wow. Protein folding....mmmm...cancel the trip to Disney kids, lets fold protein instead! Whatthehell?

It's a game built around a real scientific problem, that of predicting what physical shape a teeny-tiny protein will fold into in nature. This is important because their shape determines their function, and by knowing the exact shape of a protein, you'll be able to tell what it will do inside a living being. It might cure you or kill you, or do nothing. Or cure cancer. The fly in the ointment is that it is astoundingly difficult to know what shape a protein will take. As you play the game, it calculates your score based on how much energy it takes for the protein to hold that shape (lower is better), and your score is immediately shared online against every else's best score, so there's a real feel of friendly competition.

By learning to play the game, you're also taking part in an experiment to see if human intuition about the way shapes fold together is better than the current automated 'brute-force' approach used by computers, which basically try every position they can think of and see which one is best. This takes a very long time and gets ridiculously slow on large proteins.

You can see videos of the game in action here and when I got a chance to ask one of the developers if the game had worked; if we'd come up with good protein designs quickly enough, he said they'd been blown away by how well we'd done. He didn't have time to elaborate, but I'd say that's good news. We'll soon be put into the CASP challenge, a biannual competition to see who's software can compute protein shapes the most accurately. It'll be very interesting to see if a swarm of barely trained people playing with shapes can beat the automatons, won't it?

It's really got into my brain and I've played it a lot this week: there were two nights I skipped dinner! I've got the current high score on a few of the current puzzles and top ten scores on several others, so I guess I've figured out some tricks that work pretty well. Eventually the developers want to figure out how to capture those "tricks" and put them into their software (which you can run on PC at home without even knowing its there - do it!)
Problems with giveio.sys on a reboot

There was a brief power interruption early this morning and afterwards my PC wouldn't start again (ARGH!) I went through the usual steps and the safe-mode startup gave me what I thought was a clue. The last message it gave before freezing up again was that it was loading a driver called giveio.sys, which was installed by a fan speed controlling program.

A quick google search revealed a bunch of people reporting the same thing. I followed the suggested fixes but nothing worked. I realized, though, that this was a red herring! I'm typing this on my resuscitated and fully working PC because I noticed something else was ACTUALLY wrong.

Loading giveio.sys was the last successful thing the boot process managed to do. It could be that it was trying to do something else that it didn't tell you it was trying to do and that's what froze up!

If you have this problem too, try the following:

1) Insert your Windows XP CD-ROM into the CD drive
2) Start the PC and let it boot from the CD.
3) Choose the "Repair" option - you'll be taken to the "Recovery Console"
4) type "c:" and press enter, then type "dir" and press enter.
5) Do the same with your other hard disks (d:, e: etc)
6) One of them (it was my windows drive) might not report its directory contents - instead you'll get "an error occurred during directory enumeration", meaning the disk is discombobulated.

Type "chkdsk" when you're "in" this drive and let it do its thing. Mine took a few minutes and when it was done I could do a "dir" command successfully. Type "exit" to leave the console and reboot, and you're back in action.

There's an interesting lesson to be learned here about reading log files; one I've seen confuse users in my own working life. If your software is about to try something that might fail, you should show that's what you're doing. Otherwise users will naturally assume that the last thing on the log file (giveio.sys in this case) is actually at fault, especially if you don't include a message that says you successfully completed that LAST task.

Wednesday, May 07, 2008

Thomas Barnett presents a talk at TED entitled The Pentagon's new map for war and peace. It's the first thing I've seen that makes me think the U.S military might one day stop making things up as they go along.

Many of the other presentations at TED.com are brilliant, so pick an area of interest and get into it.