[Bioperl-l] Inheritance Bio::Map::Physical

Chris Fields cjfields at uiuc.edu
Wed Nov 15 12:37:35 EST 2006


On Nov 15, 2006, at 9:52 AM, Nancy Hansen wrote:

> Keith Anthony Boroevich wrote:
>>
>> I am using an up-to-date bioperl-live.  The precise code is
>> insignificant so I wrote some additional (shorter) code to attempt to
>> explain my problem.  What I want to do is the following.  I want  
>> to add
>> some functionality to the Bio::Map::Physical module so i created a
>> module that inherits Physical module, Extended::FPC.pm.
>>
>> #----Test.pl-BEGIN---#
>> use strict;
>> use diagnostics;
>> use Extended::FPC;
>> my $mapio = new Extended::FPC(-format => "fpc",-file =>
>> $ARGV[0],-readcor => 1);
>> my $map = $mapio->next_map();
>> $map->fpc_test();
>> exit 0;
>> #---Test.pl-END------#
>
> You're right that your Extended::FPC should inherit from
> Bio::Map::Physical, but you really don't want to use it to parse  
> the fpc
> file (Bio::MapIO does that just fine, and gets all the data you  
> need into
> the Bio::Map::Physical object).  Try retrieving a Bio::Map::Physical
> object using Bio::MapIO, then forcing it to be an Extended::FPC, which
> will allow it to use your method(s):
>
> my $mapio = Bio::MapIO->new(-format => 'fpc',
>                             -file => $ARGV[0],
>                             -readcor => 1);
>
> my $fpc_map = $mapio->next_map();
>
> bless $fpc_map, Extended::FPC;
> my $ra_bands = $fpc_map->my_new_extended_method();
>
> I've actually written my own method to return the band sizes as  
> well, so
> it would probably make a good enhancement to Bio::Map::Physical, which
> already has a "matching_bands" method that returns the (scalar)  
> number of
> bands that match at a given tolerance.  If that method were  
> "enhanced" to
> return an array of matching band sizes rather than the scalar  
> number of
> bands, it would still return the number in scalar context, but give  
> you
> the matching band info in list context.  I'd be happy to submit a  
> patch
> for this if others think it's backwardly-compatible enough.
>
> 	--Nancy

Keith, Nancy,

Sendu Bala has taken over maintenance of the Bio::Map modules.  I  
have cc'd him this in case he has missed it (he's in the middle of  
getting a bioperl developer release put together).

In general we are more than happy to take new modules and patches for  
current ones.  There is a HOWTO on submitting patches and new code:

http://www.bioperl.org/wiki/HOWTO:SubmitPatch

If you plan on submitting a patch, you should also consider adding  
some tests as well.  I think the relevant tests for Bio::Map modules  
are in t/Map.t and t/MapIO.t.

chris

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign





More information about the Bioperl-l mailing list