Wednesday, February 24, 2010

Python workshop #2: Biopython

As promised, here are the slides from Monday's Biopython programming workshop:

This was another 2-hour session, with a short snack break in the middle this time -- which was also a nice opportunity to ask everyone about the pacing, and see if who's been following along with the examples in IPython (versus staring at a BSOD or lolcats -- which I didn't notice any of).

This went well:
  • Pacing
  • Using IPython to inspect objects and display documentation -- this lets some people "read ahead" and perhaps answer their own minor questions, leading to other, better questions
  • The general introductory pattern of:
    1. Demonstrate how to import a module and instantiate the basic class
    2. Review, in English, the core features of the module and why they exist
    3. Walk through a short script that uses real data to accomplish some simple but useful task(s)
    4. Display the result, completing the mental pipeline of input -> transformation -> output
Room for improvement:
  • I didn't always execute the final draft of each example, so there were a couple typos -- inconvenient for those following along in Python. (I've fixed them in the slides here.)
  • Consequently, I didn't have an output file to show at the end of each example -- so I had to describe or draft one on the spot.
  • The PDB module was the coolest part of the workshop, and I rushed it a bit. I was afraid the visitors from Genetics and Plant Bio would be bored with it, but I don't think they were, and the Bioinformatics folks were left wanting more.
I'm planning to host both Python workshops again in the next academic year, either 1 per semester (as it was this year) or both each semester, maybe 2 weeks apart. The Biopython workshop in particular will be different next time because Bio.Phylo will finally be included with the main Biopython distribution -- evolution is cool, and more of the pretty is always a good thing to have in a programming workshop.

No comments: