[Bioperl-l] Map modules and IO

Chad Matsalla chad@sausage.usask.ca
Tue, 27 Nov 2001 11:10:33 -0600 (CST)


On Mon, 26 Nov 2001, Jason Eric Stajich wrote:

> We would really like to have your stuff in there.  SimpleMap and the MapI
> might need a more thorough evaluation - I don't want to change the API on
> you too much once you start using it so we should make sure the function
> names look okay to you.

Things looked good enough to play with, at the very least. If names
change, I am already really good friends with /bin/sed anyway. I'm happy
to just try it out.

>  We also need to get the Marker Inteface up there
> - it will inherit from MappableI and contain a list of PositionI's.
> Wasn't quite ready to push this stuff to production but I think we can
> start to work them towards your needs.

I have created Bio::Map::LinkageMap which ISA Bio::Map::MapI. Does anybody
have any ideas WRT implementation of the list that holds elements of the
map? I just used an array of Bio::Map::Marker::Microsatellite objects. Oh,
BTW, I created Bio::Map::Marker::Microsatellite. Maybe that will help in
the creation of a MarkerI.


> My philosophy is that we can should build parsers in the XXXIO flavor - ie
> SeqIO for Seq and TreeIO for Trees and AlignIO for SimpleAlign's and
> SearchIO for Bio::Search data - I would like to see Bio::MapIO::mapmaker
> for things parsing map results and have a factory interface in
> Bio::Factory::MapFactoryI which has methods next_map and write_map which
> operate on/return MapI objects.  Bio::MapIO should implement this
> MapFactoryI interface.  This is in the spirit of our current system and
> makes sense to me, but I am happy to convinced otherwise if you think this
> is too much overhead for writing something simple.  I just envision
> writing a number of parsers for different map formats (i.e. >2).

OK, should I create a Bio::MapIO in the spirit of Bio::SeqIO?

> You can see the object design ideas in the
> bioperl-live/modules/maps_and_markers.dia (or as PDF off the Docs link on
> bioperl mainpage)  My apologies for not writing a formal proposal with all
> the objects - most of this has been just conversations between Heikki,
> Lincoln and I, and some simplification of the LSR genomic maps proposal.

I remember seeing this in Copenhagen. It helps a lot in seeing the bigger
picture.

> As for the visualization and PS/PDF - I would like to think about putting
> anything that depends on external modules for GUI in a separate module
> like bioperl-gui, but am willing to be swayed on this one.  Part of the
> philosophy the CORE has taken wrt to bioperl modules is:
>   * building vanilla perl modules in bioperl-live
>   * putting db dependent stuff in bioperl-db
>   * gui dependent stuff in bioperl-gui,
>   * c-extensions in bioperl-ext....

Perhaps something like this could be put into /scripts. I think I was just
blathering while talking about my mapmangler, but i think the technique
could potentially be very useful- it uses GD-like command syntax but draws
vectors rather then rasterlines which potentially allows you to generate
extremely dense and complex structures. It allows the use of Acrobat to
see both zoomed-out and zoomed-in views without dealing with scaling and
such.

The guy who authored the module that renders the postscript is actually a
biologist- I should ask him to commit the module to BioPerl.

> If this seems to restrictive or annoying to you, please consider making an
> alternative proposal.  This policy is outlined briefly in the
> here:
> http://bioperl.org/pipermail/bioperl-l/2001-July/006026.html

No, I agree with this.

Chad Matsalla