Picklist Editor 0.1

When you work with 2D gel electrophoresis in proteomics, you end dealing with "pick lists". For this purpose, I wrote Picklist Editor, a tool to help visualize and modify this pick list.

Picklist Editor 0.1 screenshot

As usual, software and source code are available here. Feel free to use it and report any bug or your wish list 🙂

(and if you didn’t understand everything above because you are not in the proteomics field, just go to the page too because I also wrote a small introduction)

I should change this blog title to “Version 0.1” since I recently released version 0.1 of many software tools 😉

catrss 0.1

One day, one has to sit at his/her table and try to really understand how to deal with XML. Since I think I can only learn with a project in mind, I took Alexandre Dulaunoy’s mergerss suggestion and tried to develop my own catrss.

As the name implies, catrss is one of the many descendants of the cat command. Catrss is used to concatenate RSS file(s) to standard output. In its most simple form, you simply have to give it some RSS files to parse and it will concatenate them for you ; the command is:

./catrss rssfile1.xml rssfile2.xml ...

If you want to see all the parameters you can set, just type “./catrss –help”. You’ll probably prefer to set your own title, link and description parameters since they are the only mandatory elements. One important point to keep in mind is that, by default, catrss only take the 10 most recent items (blog entries, e.g.) from all the files. You can change this value with the “-n” option.

For the moment, catrss is only available here (.tar.gz file, 16ko). The file contains the catrss program, its source code and two example of RSS files. Code is licensed under the GNU GPL. You need only Python 2.5 in order to run catrss (it’s probably already installed on any GNU/Linux computer).

Currently, it only works with RSS 2.0 files and it’s very picky with dates (for example, it’s not working with this blog RSS stream — what a shame!). But all this could be improved for version 0.2. Suggestions, bug reports and patches are welcome.

Finally, dealing with XML and Python is very easy. ElementTree documentation is quite good. And, except for other Unix-minded tools, there is plenty of other cool stuff one can do with XML: parse answers from the Yahoo API, deal with XML-RPC and other web services, …

Of course, it’s when you are struggling to feed XML into your program that you realize other people already developed what you are just doing: I’ve found at least 5 RSS parsers/generators [1, 2, 3, 4, 5] and 3 tutorials [1, 2, 3]. But I’m proud to say I didn’t used any of these references for catrss.

oncolour – a Flickr add-on for background

After discovering the Flickr API, I started coding oncolour this night and here is the result … oncolour is a PHP script that allows you to display your photos from Flickr on your own website and with a specific background colour. It’s better with an example … This URL "http://www.epot.org/flickr/oncolour.php?id=860125589," will give this result:

oncolour screenshot

Some other solutions have been developed and used (example) but this one is really free:

  • free for use (see here how to use it – even for your photos – and a description of all the options) and
  • free to re-use (see here how to download the script and use it on your own server).

Feel free to use it! 🙂

GeoPolis – watching the watchdogs

Quuxlabs is releasing the alpha version of GeoPolis, a web service to gather and show the ongoing police control. More info can be found on the project website and on the Quuxlabs blog. I made some comments regarding the service accuracy, automation, security and independence but I’ll be glad to use the service once I’ll be able to drive again.

Btw, in the same topic — watching the watchdogs, my map of cameras in Liege (see announcement and update) is now located on the CCLV website. The database management is also handed over to them. Moreover Christophe Cattelain is now systematically taking photos of those cameras in Liege and he publishes them on Flickr

Getting some TV news programmes

I told you it’s boring to lay down the whole day (see previous post). And even if I have a laptop, it’s very uncomfortable to type when you are on your bed with a leg on top of 3 pillows. Anyway, I’m not here to talk about my life but to share two small Python scripts. Their goal is to retrieve two television evening news programmes (from RTBF1 and France2, both in French). With that, I can directly watch evening news from my laptop (no need to browse their website nor install ad hoc Firefox plugin; everything can be done from the command line).

For the RTBF1 evening news, it was quite easy since they just rely on a 3rd-party hosting company to provide the video stream. One has just to find the correct URL and voilà: getRTBFvideo.py (446b).

For the France2 evening news, it was a little bit more tricky since they give the programme date in the URL. In my script, it gives yesterday URL if it’s launched before 9.00pm (their programme starts at 8.00pm every evening so it’s reasonable not to download today programme before 9.00pm). Here is the script: getF2video.py (889b).

Both scripts only give you the URL of the video stream. You need then to feed this URL into your favorite multimedia player (mplayer, e.g.). Please note you’ll still need proprietary codecs in order to view these streams.

Miro …

It’s so boring to lay down the whole day (sprain at left ankle), I decided to give a try to Miro, a software to “watch internet video channels as easy as to watch TV”. Before trying it, I tried to watch their video demonstration but it’s not working since it requires the proprietary Flash player …

Miro video demonstration not working without Flash

Now, if you want to try Miro, do not use “yum install Democracy” on Fedora 7 (Democracy Player is Miro former name). It will give you version 0.9.5.1-10 that will cause many problem (the main one being it won’t run).

If you want to try Miro, go to their download page and download the ad hoc package (i.e. version 0.9.8-1 when I’m writing this). Try to install it by typing “rpm -i Miro…” and resolve the dependencies (I had to download libfame). If, like me, you are already using Firefox 2.0.0.4, it will still require version 2.0.0.3. You can force the installation by typing “rpm -i –nodeps Miro…”. And it still doesn’t work. I get some errors apparently linked with dbus. I posted a comment on the Miro forum. I hope to get an answer soon …

Meanwhile, it’s still boring to lay down the whole day …

Francis Crick and the long-term storage of the memory trace

Since my Ph.D. is related to memory consolidation, I was interested in a strange idea from Francis Crick. He asked the question of long-term storage of the memory trace 1. How is this memory trace stored in our brain? And, more importantly, how is it protected against molecular turnover? In his view, Crick suggested three hypothesis:

  1. Memory could be encoded in alterations of some part of the cell DNA. This will imply that each neuron synapse would be represented by a part of the neuron DNA since the actual paradigm states that memory is encoded in the strength of individual synapse. This first hypothesis seems unlikely.
  2. Memory could otherwise be stored in a local piece of DNA or RNA, at the synapse (a bit like the mitochondrion has its own DNA). This piece would be immune to the molecular turnover. Although more logical, this hypothesis seems unlikely too.
  3. Finally, Crick’s last hypothesis states that molecules at the synapse level would interact in such a way they could be replaced by new ones, one at a time, without altering the general status (strength). The figure below shows a working example of this hypothesis …

In this figure, two monomers (squares) forms a hypothetical protein
highly involved in a memory process at the synapse level. Each monomer can be in two states: active (plus sign) or inactive (minus sign). Activation of the monomer could be done by phosphorylation (in this example ; any other modification could be applied here). The hypothetical protein can either be active (plus plus) or inactive. The key point in Crick’s hypothesis is an enzyme which will phosphorylate a monomer if the protein is in state (plus minus), giving an active (plus plus) protein, but not if it is in state (minus minus). This will counteract the molecular turnover which transform an active (plus plus) protein into an inactive (plus minus) one.

Of course, Crick’s hypothesis can be extended to proteins that are trimers, tetramers, … other process than phosphorylation could be used (methylation, glycosylation, …) and more conditions could also be added (anchoring, maturity, …).

What do you think of this hypothesis?

1 Crick F. “Neurobiology: Memory and molecular turnover” in Nature 312:101 (1984) – read the PDF