[Bioperl-l] Teaching with BioPerl this summer

Jim Hu jimhu at tamu.edu
Fri May 4 20:02:40 UTC 2012


On May 4, 2012, at 2:17 PM, Fields, Christopher J wrote:

> On May 4, 2012, at 1:08 PM, Jim Hu wrote:
> 
>> 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! 
> 
> No problem, we'll do our best to help.

I was counting on that!

<snip>
> 
>> 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.
> 
> Ok, seems straightforward.  Regarding using CGI.pm that's fine as an introduction, but a good number of users seem to be switching to something like Plack/PSGI (though this may take more effort in terms of training).  
> 
> Also, OOP is a pretty big part of BioPerl, and seems to be what trips most new users up.  How much detail do you anticipate adding for that?

I am actually hoping to teach from an OOP perspective from the start.  That's part of the benefit of using Template::Toolkit in object style.  It gets to the idea of "programming to interface, not implementation".  Similarly, we will have them use the object style programming for CGI and BioPerl.  I'm not sure about getting to having them write their own object classes, but we could try that.

> 
>> 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.
> 
> Having this available publicly would be very nice!  Can't give much feedback on using svn branches for homework unfortunately, but I can help out from my end in making updates as needed (both code and documentation).  Let me know what you find.
> 
>> Jim
>> =====================================
>> Jim Hu
>> Professor
>> Dept. of Biochemistry and Biophysics
>> 2128 TAMU
>> Texas A&M Univ.
>> College Station, TX 77843-2128
>> 979-862-4054
>> 
> 
> 
> chris

=====================================
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