Two short “Agile Bioinformatics” talks

I have just come back from the Programming for Evolutionary Biology course in Leipzig, version 2013!! The course is still going on, but unfortunately this year I could not stay the whole duration three weeks, as I have stuff to do here in Barcelona.

This year, apart from the “Introduction to Linux” module, I also taught a short module on “Best Practices for programming in bioinformatics”. It was pure fun, I think I never enjoyed so much giving a talk. I explained a part about Version Control, and another about Scrum, and people were really excited about it. To make you understand how much people liked this talk, consider that three persons invited me a beer after that, which for me constitutes the maximum compliment for a talk.

I have uploaded the two slideshow on slideshare. Unfortunately, the best part of the talk was a live demonstration on how I use these practices during my daily work, but at the moment I can not make these example publicly available. However, you should be able to follow the slideshows anyway.

 

Posted in methodology | Leave a comment

Notes from a “Write it clearly” course

I recently took a course on improving English Writing skills for researchers. These are my notes, organized as a series of “Do and Do not” lists, plus some separate list for each section of a research paper.

Feel free to have a look at them and make use of them. If you have any comments, you can add them here or to table. Have an happy paper writing day!

click to access the notes.

Posted in methodology, Uncategorized | Leave a comment

I wrote a videogame for the Wii

I wrote a small web game for the “Week of Science 2012″ (Semana de la Ciencia), a science divulgation initiative organized in Spain. I participated to it as a member in the Institut of Biologia Evolutiva of Barcelona, the institution to which I belong to. The game is in Spanish, but I think anybody can understand it without translation. Click on the image to play with it:

The “Phylogenetic Tree” for the “Semana de la Ciencia” in Barcelona.

If the game is not shown correctly, click on this link: IBE phylogenetic game sc2012

In short, we had 15 minutes to explain to a class of college students (from 12 to 18 years old) how to make phylogenetic trees. This is how we organized the time:

  • In the first five minutes, we had a short presentation explaining that we all come from a common ancestor, and that our work of evolutionary biologist is to reconstruct the tree of life. We also explained what a phylogenetic tree is, and how we reconstruct it.
  • In the next three minutes, we played the first game. This game was quite easy, and was meant to check if the student understood how phylogenetic trees are constructed. During this first game, one volunteer student had to decide where to put a mammal, a bird and a jellyfish in a phylogenetic tree.
  • In the next minutes, we played the second game, which was a bit of a trick. Students had to reconstruct the phylogenetic tree of four protists. Have a look at the “Juego 2: protists” to see it. This game was tricky because there it is no way to come with the correct solution. In fact, after letting the students play for a while, we showed them that the only way to know the real phylogenetic tree was to use the DNA sequences. Then we had a few more slides explaining how mutations in DNA sequences can be used to reconstruct the history of changes in evolution.

To make things a bit more entertaining, we also connected a Wii remote to the computer, so the student who played the game had to use it as a mouse. This was fun to set up, and I think I will use a Wii remote in my next talk :-).

The activity was a bit condensed in 15 minutes, but I think that more or less all the students understood the basic concept. At least, some made questions, and in general, they seemed to like the game. I hope they will at least remember that DNA can be used to study how species have evolved :-).

If you want to customize the page, the code is available on bitbucket:

This was the first time I programmed something in Javascript, so the code is a terrible mess. There is a lot of code duplication, and a lot of patchy fixes. But as Agile Programmers say, “Code first and Refactore later”. I think I will work on cleaning this code for next year, so if you have any suggestions on how to make it better, please join the repository on bitbucket.

Posted in news, Uncategorized | Leave a comment

Gamestorming for bioinformatics

Most meetings in academic research groups are awful. I have attended meetings that lasted hours and hours, and didn’t produce any useful output. I know researchers who try to avoid meetings as much as they can, and prefer to work by themselves, because of too many bad experiences. In the end, the problem is that scientists are not very good communicators, and most PIs are not trained for being group leaders, so meetings end up being very boring and time wasting, more harmful than useful.

Fortunately  this year, thanks to a meetup group here in Barcelona, I discovered that there are many ways to improve meetings and make them more interesting. The most interesting is the concept of “Gamestorming”, which is based on transforming group meetings into “games”. If instead of inviting people to attend a meeting you ask them to participate to a short game, people are more likely to participate actively and make good contributions.

Most gamestorming techniques involve blackboards and post-its, and ask people to use them to explain their own opinion.  A simple example of a gamestorming meeting would be a planning meeting where the group leader splits a blackboard into three sections, one for listing different “Project Proposals”, and the other two for “Pros” and “Cons” of each project proposal, and asks the participant to fill the blackboard using post-its. If you want to have a good overview of techniques for brainstorming in general, I can recommend you the book “Gamestorming“, by Gray, Brown, Macanufo, from O’Reilly, which I am reading these days.

In any case, I have been thinking about which planning “games” can be adopted in bioinformatics, or by researchers in general. Here is a list of a what I introduced or planned to introduce to my group:

Continue reading

Posted in methodology | 1 Comment

N-Glycosylation – one pathway, two distinct selective constraints

Our group just published a new paper in BMC Systems Biology. The title is Distribution of events of positive selection and population differentiation in a metabolic pathway: the case of asparagine N-glycosylation. It is already on the journal’s web page.

The pathway of N-Glycosylation can be ideally splitted into two separate parts, one upstream and one downstream of a process known as Calnexin/Calreticulin Cycle, in which an intermediate product of the pathway is involved. In theory, given their function, we can hypothesize that the two parts of the pathway are exposed to different selective constraint, and evolve at different paces among human populations.

The biology and function of the two parts of the pathway are explained in details in the article, but I will try to summarize them here. The upstream part of this pathway is required for this Calnexin/Calreticulin Cycle, a mechanism of folding quality control, so we can expect that all of his genes are conserved among populations. On the other hand, the downstream part of the pathway is involved in host-pathogen interactions, and can be expected to be more variable when comparing populations that adapted to different environments. In the article we have shown that in fact, signatures of population differentiation are more abundant in the downstream part of the pathway.

Unfortunately I don’t have much time to prepare a good presentation to illustrate the paper, but I have uploaded a short resume to slideshare. Have a look at it if you are interested:


You can also check this previous post, where I explained briefly that the main theme of work done in our lab is to study how selective constraints are distributed along the genes of a pathway.

Posted in papers | Leave a comment

Introduction to Unix systems for Evolutionary Biologists – slides online

Here are the slides of the “Introduction to Unix-like systems” lecture I gave last Saturday at the “Programming for Evolutionary Biology” workshop in Leipzig.

In these slides, I did my best to communicate to the students what is philosophy behind the Unix systems and why they have been so important in the past. The Unix philosophy is in reality an approach to data analysis and programming: I am happy if I have been able to convince the students that, by studying how the first programmers have approached the problem of data analysis, they will be able to learn good programming practices, and avoid mistakes that have already been surpassed many years ago.

I would like to thank my colleague Brandon Invergo and my supervisor Hafid Laayouni for suggestions on how to improve the slides. Enjoy!


Continue reading

Posted in slideshows, talks | 2 Comments

Planning a 8-hours “Introduction to Linux” course with trello

Next week I am going to give a 8 hours “Introduction to Linux” course at the “Programming for Evolutionary Biology” workshop in Leipzig. In this post, I will describe how I have used a nice planning software called “trello” to make the schedule of the course.

You must know that I am a big fan of using small card papers to organize things. I started using CRC cards from the ExtremeProgramming techniques, and now the way I organize my time is similar to the KanBan technique, although I kind of evolved it independently. In simpler words, I have the habit of cutting A4 papers into 8 smaller A6 papers, the size of a post-it, and use them to take note and to plan my projects. If you visit my office, it is full of collections of “A6″ papers everywhere :-)

One day I may prepare a blog post about how I organize my projects with A6 papers. For now, just consider that trello basically allows me to do on a web page what I usually do on paper. Also, trello allows to share workflows with other people on Internet.. For example, I can show you the schedule of the Linux course that I have made:

my trello board for the "Introduction to Linux" course. Click to see it!

So, I used trello to make 5 distinct sets of cards, one for each of the 5 parts that compose the course. In each of this list, I filled some cards to describe the most important topics that I wanted to talk about in that part of the course. I have used some a red color label to highlight which is the most important message to transmit in each of the parts of the course, the “Take-Home” message.

Continue reading

Posted in methodology | 6 Comments

Origins of Evolutionary Innovations, chapter 5

The fifth chapter of prof A . Wagner’s “Origins of Evolutionary Innovations” tries to answer to the question: “Under which common principles do metabolic networks, regulatory circuits, and sequence folds evolve?“. It also formalizes a framework for a theory of innovations, to study how innovative phenotypes can be found by evolution.

Together, this chapter is a wonderful recapitulation of the previous four. Enjoy!


This is probably the last or the second last session for this book club. I will be away in the Leipzig course for the following two weeks, and then I will also be busy on May. I will maybe make another slideshow on chapter 6 in April, but I can not commit to it.

 

Posted in book club | Leave a comment

Origins of Evolutionary Innovations, chapter 4

The 4th chapter of “Origins of Evolutionary Innovations” discusses variation in protein and RNA sequences. How much aminoacids or nucleotides can I change in a sequence, without breaking its fold? How new fold and functions are found in evolution?

View more presentations fromGiovanni Dall’Olio
Posted in book club | Leave a comment

The genotype space – how does it looks like?

Today, in the metro, I have finally understood what is the form of a genotype space.

A genotype space is a representation of all the possible genotypes that can possibly exist, and in which two neighbor points are different only for one single mutation (Hamming distance is 1).

Until now, in the book club slides, I represented it as a matrix:

genotype space represented as a matrix

However, this representation has many flaws… it should be at least a multi-dimensional matrix, since each node should have exactly n neighbors (where n is the length of the genotype), while in a matrix they can have only 4 (or 8 if you count diagonals).

So, a better representation of the genotype space is a graph, like the following:

genotype space represented as a graph

In this graph, the “genotype” of an organism is a chromosome composed by only 5 bases, and in which each base can take only two values. Each node is connected only to the nodes that differ by a single position; for example, “00000” is connected to “10000”, “01000”, “00100”, “00010” and “00001”. Thanks to “jts” from Biostar, now I also know that this is an Hamming graph H(5, 2).

Now that we have a representation of the genotype space, we can take any phenotype of our interest, and mark it in the genotype space. For example, imagine that all the genotypes in green correspond to individuals that suffer a congenital disease:

a genotype network. All the green nodes correspond to genotypes that are affected by a congenital disease (for example)

The genotypes in green correspond to what A. Wagner calls “genotype network”, and other authors call “neutral network”. It is a set of genotypes that have the same phenotype, and that are connected by at least one change.

By exploring the topology and structure of a genotype network, we may be able to make some nice observations. For example, how big is the genotype network of a congenital disease, in human populations? Or, how can a population of individuals explore a genotype network?

There are really a lot of questions that come to my mind when looking at these representation. So, it is a good time for me to search on new literature!! :-)

note: I wrote a small python script to generate a Hamming Graph of binary strings. Here it is: https://gist.github.com/1854319

Posted in book club | Leave a comment