[Bioperl-l] Bio::Location::Fuzzy, Bio::Location::Split
Jason Stajich
jason@chg.mc.duke.edu
Thu, 25 Jan 2001 11:27:39 -0500 (EST)
On Thu, 25 Jan 2001, Ewan Birney wrote:
> On Thu, 25 Jan 2001, Jason Stajich wrote:
>
> > On Wed, 24 Jan 2001, Hilmar Lapp wrote:
> >
> > > Jason Stajich wrote:
> > > >
> > > > I'd just like to reiterate - beware bioperl-live is development code.
> > > >
> > > > I added these handlers for Fuzzy and Split features. I decided to create
> > > > methods start_fuzzy,end_fuzzy for Bio::Location::Fuzzy to handle whether
> > > > or not we saw the <, > descriptors. I probably need some more test cases
> > >
> > > I may have missed the obvious solution, but how are we going to
> > > distinguish 'unknown start/end' and 'somewhere in between'? That is,
> > > '<150' meaning 'before position 150', making it non-obvious how to
> > > return a minimal start, and '120.130' meaning it's between two known
> > > positions. Will I have to test fuzzy_start() before I'm allowed to
> > > safely call min_start()? (no, I don't want to suggest exceptions ...
> > > :O)
> >
> > Hmm, perhaps I was confused. I thought Split Location would deal with
> > min_start/max_end. I believe fuzzy can have 3 qualities, a fuzzy start
> > (<150..100) a fuzzy end (90..<100) and fuzzy 'range' (1.12) [for lack of a
> > better word, suggestions welcome]. All 3 can be present in the same
> > location so they have to be independent operators. When you call
> > start, it will return what it thinks is the start but you'll have to
> > test to see if the range or the start is fuzzy ($loc->range_fuzzy ||
> > $loc->start_fuzzy). Perhaps that is too tedious? I'd rather not throw an
> > exception here, but can be persuaded.
>
> In my experience it is crucial to treat
> join((<10..100),(200..300),(400..500>)) as a class of SplitLocation, not
> as a class of FuzzyFeature.
>
> The above syntax is the most used "fuzziness" and nearly everyone discards
> the leading and trailing '<' '>' as it means "partial gene" with the
> coordinates interpreted in a hard way.
Okay I was interpreting this as a
SplitLocation with
3 LocationI objects
2 of which are Fuzzy Locations...
I just wasn't handling all the possible cases of
10..<100
10..100>
<10..100
10>..100
I consider this fuzzy -- since a start or end point is not well defined.
I also consider 5.12 fuzzy since its 'range' is not fuzzy.
>
>
>
>
> -----------------------------------------------------------------
> Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
> <birney@ebi.ac.uk>.
> -----------------------------------------------------------------
>
>
Jason Stajich
jason@chg.mc.duke.edu
Center for Human Genetics
Duke University Medical Center
http://www.chg.duke.edu/