From mboxrd@z Thu Jan 1 00:00:00 1970 X-Sympa-To: caml-list@inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q1BNt3c5011869 for ; Sun, 12 Feb 2012 00:55:03 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkEBAEX/Nk/RVdQ2kGdsb2JhbABDnnuITQGIIwgiAQEBAQkJDQcUBCOBcgEBAQMBEgIsARsSCwEDAQsGBQQHAwoNISEBAREBBQEKEgYTEhCHWgmbGwqLcYJwhAA/iHMCBQuIOYMCMwofJAEBg10ghCQEglySVosQgxU9glSBLw X-IronPort-AV: E=Sophos;i="4.73,403,1325458800"; d="scan'208";a="143858629" Received: from mail-vw0-f54.google.com ([209.85.212.54]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 12 Feb 2012 00:54:57 +0100 Received: by vbbfa15 with SMTP id fa15so4694739vbb.27 for ; Sat, 11 Feb 2012 15:54:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=mfdpxCBUrhZ5FzuyFoz01I9i++qogqorf5mfRfUizQE=; b=vSlFdagycLLKADUXPV6DXJaZf3WIkSU3XJZ1ErM3ZqsFyVqy1IzMfxflGI3uNcpdA0 2CWdNxbVRokrcpbFcMQEiUH/WU2t+Hoypx+1X/VCEtXyLeV9BAukyzvNqLqHsXnFnzHV KUYeODDmuHfxt1z1vl4oQt92Rezi7DV3E1rZE= Received: by 10.52.70.175 with SMTP id n15mr5119774vdu.10.1329004495234; Sat, 11 Feb 2012 15:54:55 -0800 (PST) MIME-Version: 1.0 Received: by 10.52.90.140 with HTTP; Sat, 11 Feb 2012 15:54:35 -0800 (PST) In-Reply-To: <4F36D469.6070604@gmail.com> References: <4F346DB9.2070303@riken.jp> <20120210182914.GA17498@annexia.org> <87wr7tb77z.fsf@frosties.localnet> <4F36D469.6070604@gmail.com> From: Philippe Veber Date: Sun, 12 Feb 2012 00:54:35 +0100 Message-ID: To: Edgar Friendly Cc: caml-list@inria.fr Content-Type: multipart/alternative; boundary=20cf3071c934d7e7c504b8b8f8f5 X-Validation-by: philippe.veber@gmail.com Subject: Re: [Caml-list] Fwd: interval trees --20cf3071c934d7e7c504b8b8f8f5 Content-Type: text/plain; charset=ISO-8859-1 2012/2/11 Edgar Friendly > On 02/11/2012 12:38 PM, Goswin von Brederlow wrote: > >> On Fri, Feb 10, 2012 at 10:07:05AM +0900, Francois Berenger wrote: >>> >>>> I need to use an interval tree. >>>> >>>> Biocaml has one, batteries have imap/iset, nice! >>>> >>>> Anyone have something like this but for non-overlapping intervals and >> allowing interval insertion and removal with merging and spliting of the >> internaly used intervals? >> > > Yes, IMap / ISet (borrowed from camomile and improved) do this. I assume > biocaml's is the same. Actually no, biocaml_intervalTree keeps the inserted intervals untouched, it is in fact pretty similar to an interval multimap, with some specialized operations. In cases when we want to describe a set of integers (vs a set of intervals), we use ISet from Batteries. With these two structures we can describe an interesting range of genome annotations. > > > E. > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa-roc.inria.fr/**wws/info/caml-list > Beginner's list: http://groups.yahoo.com/group/**ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-**bugs > > --20cf3071c934d7e7c504b8b8f8f5 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

2012/2/11 Edgar Friendly <thelema314@gmail.com>=
On 02/11/2012 12:38 PM, Goswin von Brederlow wrote:
On Fri, Feb 10, 2012 at 10:07:05AM +0900, Francois Berenger wrote:
I need to use an interval tree.

Biocaml has one, batteries have imap/iset, nice!

Anyone have something like this but for non-overlapping intervals and
allowing interval insertion and removal with merging and spliting of the
internaly used intervals?

Yes, IMap / ISet (borrowed from camomile and improved) do this. =A0I assume= biocaml's is the same.
Actually no, biocaml_intervalT= ree keeps the inserted intervals untouched, it is in fact pretty similar to= an interval multimap, with some specialized operations. In cases when we w= ant to describe a set of integers (vs a set of intervals), we use ISet from= Batteries. With these two structures we can describe an interesting range = of genome annotations.

=A0


E.

--20cf3071c934d7e7c504b8b8f8f5--