[Bioperl-l] Teaching with BioPerl this summer

Jim Hu jimhu at tamu.edu
Fri May 4 18:08:02 UTC 2012


We (Rodolfo Aramayo and I) are going to teach an intensive summer course for undergrads at Texas A&M built around the idea of creating a learning community of students who will be able to help faculty with simple research and teaching projects involving computational biology.  I think I've convinced Rodolfo that this should be built around Perl because of BioPerl and the fact that we know more helpful people in the BioPerl community than for other BioYourFavoriteOtherLanguage groups.

Consider this a warning that this means I am likely to send a lot of questions to the list! 
---
The first dumb question:
For my own use, I tend to use BioPerl-live. But I thought it might be wiser to just use BioPerl 1.6.901 installed via cpan, so I looked at 

	http://www.bioperl.org/wiki/Installing_Bioperl_for_Unix#INSTALLING_BIOPERL_THE_EASY_WAY_USING_CPAN

and I'm wondering: why so complicated? Why not just 
	
	cpan>force install Bundle::BioPerl
---

Anyway, in case anyone is interested my tentative plan (which has to become a real plan in a couple of weeks) is:

- start with Hello World, but do it two ways: the usual STDOUT to shell way, plus a cgi-bin using Template Toolkit
	Actually, before we write hello.pl, I'm going to introduce perldoc.
	This will introduce the idea of instantiating objects and sending messages to them.
- next have them use Perl to calculate a simple math function (factorials). Again, make a shell and cgi-bin version.  For the cgi, use templates based on the RGraph javascript library to plot the data in an HTML5 canvas.  I like the idea of using HTML5 instead of GD making png files based on not having to link to images in a tmp directory.
	This will introduce loops, arrays, and join
- use CGI.pm for both shell and web input, ignoring shift etc.  Have them modify their graphing program to accept different ranges.  Note that I will NOT use CGI.pm to output HTML.  I think it doesn't separate logic from presentation enough.
- introduce BioPerl
- Use BioPerl and the graphing they learned earlier to count things about genomes they grab via SeqIO.  Mostly I'm thinking of having them make histograms (or pie charts).  Possible examples:
	histogram showing distribution of CDS sizes
	histogram showing distribution of # of introns
	histogram showing distribution of lengths of 5' or 3' UTRs.
	histogram showing CDS's using different start and stop codons and identities of aa 2.

I will probably use some of the other stuff from the HOWTOs, and I have the pdf of the CSHL course notes.  I also am thinking about having Perl write code to have paper.js draw things, but first I need to figure out how to do that myself.

We will make all this stuff publicly available via a website soon.  Feedback, suggestions, and ridicule are all welcome!  I'd especially be interested if anyone has experience in using Subversion to have students turn in assignments by committing their branches.

Jim
=====================================
Jim Hu
Professor
Dept. of Biochemistry and Biophysics
2128 TAMU
Texas A&M Univ.
College Station, TX 77843-2128
979-862-4054






More information about the Bioperl-l mailing list