Bioperl-guts: The BioPerl Cookbook: some thoughts/questions

Osborne, Brian brian.osborne@cadus.com
Mon, 30 Aug 1999 10:15:02 -0400


Aaron and Kris,

Quite so. A _very_ good idea, and, as Aaron says, the Perl Cookbook is an
excellent model itself as it deals with all levels of proficency. I would
also add something about installation problems, since that seems to be a
FAQ. You might also consider one of your last "chapters" to be something
about writing new modules. A pointer to documentation on DBI and DBD would
also be useful (such as
http://www.symbolstone.org/technology/perl/DBI/index.html
<http://www.symbolstone.org/technology/perl/DBI/index.html> ) since getting
these installing and running can be a bit trickier than for the typical
module.

Light on theory, heavy on examples and pointers, IMO.

Brian O.

OSI
777 Old Saw Mill River Rd.
Tarrytown NY 10591
brian.osborne@cadus.com
TEL 914 467 6291
FAX 914 345 3565

-----Original Message-----
From:	Aaron J Mackey [mailto:ajm6q@virginia.edu]
Sent:	Monday, August 30, 1999 9:48 AM
To:	Kris Boulez
Cc:	bioperl guts
Subject:	Re: Bioperl-guts: The BioPerl Cookbook: some
thoughts/questions


On Mon, 30 Aug 1999, Kris Boulez wrote:

> - What is the intended audience for such a BioPerl Cookbook (BPC)? Do we 
> expect the people readin this to have a no/limited/average/advanced/...
> level of Perl (or programming in general)? 

The Perl Cookbook starts simple and get's harder - often the recipes
contain multiple solutions, of increasing complexity.  I think in general
we are aiming at the limited/average group.

> Do we aim this at a biologist who has some knowledge about programming
> (but knows little or no Perl) or do we aim at an experienced programmer
> who has been asked by a biologist to code something.

Again, a little of both, I think.  Start simple and expand (many
programming books have "For the Expert" sections where the nitty gritty is
detailed if someone wants to read it).
 
> - Shouldn't the BPC also be some sort of Camel ('Programming Perl') for
>   BioPerl, as there isn't a real complete overview of the different
> modules and how they interact (there is a start of this in 'perldoc
> bioperl').

Yes, but in some sense that's what each module's pod documentation should
accomplish (in conjunction with the introductory information in
bioperl.pod)

> - Should the BPC contain a (short) introduction to OO (see also the
>   first question)?

Perhaps, but definitely short with pointers to existing Perl resources on
learning/using modules.

> - I see the BPC as a replacement/extension/... of what is now in
>   scripts/ and examples/ . Any comments?

Certainly, the BPC should incorporate and extend valuable code in scripts/
and examples/, and all the full recipes in BPC should coexist in
examples/.

> _ Does someone has a (good) idea for a real world problem that could be
> included in the BPC?

I have lots of bioperl tasks ranging from the mundane one-liner-solvable
to application level problems.  I think we should come up with some
general categories (i.e. chapters), and then start building simple to
complex tasks (this will also aid in development, to patch missing areas
of functionality).

Off the top of my head, here are some major chapter areas:

Basic Sequence Manipulation/Analysis
	(introduce the Seq.pm object, and all the basic operations that
	can be performed, restriction enzyme functions, etc.)

Sequence/Database Management
	(issues of reading/writing sequence files, obtaining sequences
	from remote sources, database indexing, etc)

Advanced Sequence Manipulation/Analysis
	(algorithms for codon usage/bias, hydrophobicity, other one
	sequence analysis stuff)

Sequence Similarity Methods
	(text matching algorithms (a la Gusfield), obtaining optimal local
	alignments with pSW.pm, searching databases with Bio::Search)

Basic Alignment Analysis
	(two sequence alignments, multiple alignments, consensus
	sequences, etc)

Similarity Search Post-Processing
	(fun with hit objects, alignments)

Other Biology-Related Perl Modules
	(Aceperl, BoulderIO, GFF, etc - introduction and pointers to
	their availability)

Advanced Applications
	(the "putting it all together" chapter)

I can think of at least 3 or 4 "simple" problems for most of the
categories above, but I'm sure everyone else can as well.  We should agree
on a basic set of categories and then start posting problems (and our
particular solutions) for review.

I think that we should assume an adequate knowledge of computational
biology - i.e. when demonstrating Bio::Search::HMMER, we need not
explain profile HMM's, but introduce them in a single definitive sentence
with the appropriate references.

This is a Great Thing (TM), and I'm real excited about it, Kris, keep up
on it!

-Aaron

-- 
 o ~   ~   ~   ~   ~   ~  o
/ Aaron J Mackey           \
\  Dr. Pearson Laboratory  / 
 \ University of Virginia  \     
 /  (804) 924-2821          \
 \  amackey@virginia.edu    /
  o ~   ~   ~   ~   ~   ~  o


=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl-guts.html
====================================================================
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl-guts.html
====================================================================