[Bioperl-l] Teaching with BioPerl this summer

Fields, Christopher J cjfields at illinois.edu
Fri May 4 19:17:17 UTC 2012


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.

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

I wouldn't suggest force-installing some modules (XS-based ones for instance).  That aside, I don't think Bundle::Bioperl is up-to-date, so it's possible even if you install it there will be problems (e.g. missing deps added after the last Bundle::BioPerl update).  I can ask Chris Dagdigian about this, he's listed as the current maintainer.  

You could try something like './Build installdeps' from bioperl-live.  Theoretically, it should work, just haven't tested it.  

Finding discrepancies like this is a good thing to note, though.  The basic BioPerl documentation needs to be updated, and to include new tools like 'cpanm' and so on.

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



More information about the Bioperl-l mailing list