[Bioperl-l] more fuzziness checked in

Jason Stajich jason@chg.mc.duke.edu
Fri, 26 Jan 2001 18:12:05 -0500 (EST)


more robust fuzzy and split feature handling checked in.

FTHelper will try and see if start==end, if it does and there is no
splitlocation delimiter then the code will return just a single number
representing the location ie

variation	500
		/allele="C"
		/allele="T"

Bio::Location::Split

- added method 'splittype' to capture more directives than just 'join'.
  ie 'order'.   This is then called in FTHelper when constituting a
  feature table for output.

Bio::Location::Fuzzy

- renamed methods to fuzzy_string, fuzzy_end, fuzzy_range which will
  return strings representing the fuzzy points and range type (. or ^).
  This method validates a string to be sure it is a valid type of fuzzy
  location or range delimiter and then stores it literally so it can be 
  returned later.  I also added methods called _fuzzypointencode and
  _fuzzyrangeencode which return integers intended to represent the type
  of fuzzy location, this doesn't put any burden on the parser to
  interpret the <3..12 means starting on the 5', etc.  

  All of these methods were added to the interface
  Bio::Location::FuzzyLocationI.
  
  So FTHelper just calls fuzzy_start and fuzzy_end to get the end points (
  sane numeric is returned if the point is not fuzzy).

  start/end were overridden by Location::Fuzzy to pass their values to
  fuzzy_start/end if they were indeed fuzzy and parses to get the basic
  integer out to store in start.  This means length will return something
  even if it is not technically correct ie for <3..12 length() will return
  9.  

Enjoy...
-Jason
 
Jason Stajich
jason@chg.mc.duke.edu
Center for Human Genetics
Duke University Medical Center 
http://www.chg.duke.edu/