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