From djsmrhak@pusan.ac.kr Thu Nov 11 10:53:38 2010 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PGTqX-0002RA-RN>; Thu, 11 Nov 2010 10:53:34 +0100 Received: from sniper1.pusan.ac.kr ([164.125.7.131] helo=sniperdata.pusan.ac.kr) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PGTqW-0001Oc-Tb>; Thu, 11 Nov 2010 10:53:33 +0100 Received: from unknown (HELO webmail.pusan.ac.kr) (164.125.9.3) by 10.10.1.11 with SMTP; 11 Nov 2010 18:44:43 +0900 X-Original-SENDERIP: 164.125.9.3 X-Original-MAILFROM: djsmrhak@pusan.ac.kr Received: from 164.125.68.153 (164.125.68.153 [164.125.68.153]) by webmail.pusan.ac.kr (DeepMTA 3.6.48) with ESMTP id <000001cb8186$484c45b0$d8e4d110$@ac.kr> for ; Thu, 11 Nov 2010 18:49:07 +0900 From: =?ks_c_5601-1987?B?sei5zMGk?= To: Date: Thu, 11 Nov 2010 18:53:24 +0900 Message-ID: <000001cb8186$484c45b0$d8e4d110$@ac.kr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0001_01CB81D1.B833EDB0" X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcuBhke9HLsKrDJJTL+qopjrr5S06g== Content-Language: ko X-IP: 164.125.68.153 X-FROM-DOMAIN: pusan.ac.kr X-FROM-EMAIL: djsmrhak@pusan.ac.kr X-Originating-IP: 164.125.7.131 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1289469213-00000C0F-E860B4E7/0-0/0-0 X-Bogosity: Unsure, tests=bogofilter, spamicity=0.500002, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Benin.ZEDAT.-Berlin.DE X-Spam-Level: xxxx X-Spam-Status: No, score=4.1 required=5.0 tests=FU_BOGO_UNSURE,HTML_MESSAGE, HTML_WEB_BUGS,RCVD_BY_IP,RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS, TRACKER_ID X-Mailman-Approved-At: Fri, 12 Nov 2010 10:28:51 +0100 Subject: [Seqan-dev] I have a question !! :) X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Nov 2010 09:53:38 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_0001_01CB81D1.B833EDB0 Content-Type: text/plain; charset="ks_c_5601-1987" Content-Transfer-Encoding: quoted-printable =20 Hi, I=A1=AFm Mi jeong Kim and student from korea. I attend to class about Topics in Bioinformatics. We studied about convenience of alignment tool by using SeqAn at last w= eek and found the use of wildcard braces { }. But we couldn=A1=AFt use braces. =20 The core of this mail !! =20 We want to know the using of the braces at this situation. for example GCGTTGCGCGCGCTTTATCGTTGCGCTTATGC (GC) <- repeat =20 We tried many pattern=20 For example 1. needle =3D =A1=B0(GC){2, 4}=A1=B1 2. needle =3D =A1=B0GC{2, 4}=A1=B1 3. needle =3D =A1=B0GC{2, 4}+=A1=B1 4. needle =3D =A1=B0GC+{2, 4}=A1=B1 5. needle =3D =A1=B0(GC)+{2, 4}=A1=B1 =A1=A6=A1=A6=A1=A6 but this program didn=A1=AFt work. =20 Could you tell me how to use the braces at this situation ? =20 =20 Thank you for read my awkward mail and hope you to answer me. Have a nice day !=20 =20 =20 ------=_NextPart_000_0001_01CB81D1.B833EDB0 Content-Type: text/html; charset="ks_c_5601-1987" Content-Transfer-Encoding: quoted-printable

 

Hi, I=A1=AFm Mi jeong Kim and student from korea.<= /p>

I attend to class about Topi= cs in Bioinformatics.

We studied about convenience of alignment tool by using Seq= An at last week

and found the use of wildcard braces { }.

But we couldn=A1=AFt use braces.<= o:p>

 = ;

The core of t= his mail !!

 

We want to know the using of the braces at this situation.=

 

<= p class=3DMsoNormal>We tried many pattern

for example

GCGTTGCGCGCGCTTTATCGTTGCGCTTATGC

(GC) <- repeat

For example

1. =     ne= edle =3D =A1=B0(GC){2, 4}=A1=B1

2.     <= span lang=3DEN-US>needle =3D =A1=B0GC{2, 4}=A1=B1

=

3.     <= /span>needle =3D =A1=B0GC{2, 4}+=A1=B1

4.   &nb= sp; needle =3D =A1=B0= GC+{2, 4}=A1=B1

5. =     ne= edle =3D =A1=B0(GC)+{2, 4}=A1=B1

=A1=A6=A1=A6=A1=A6<= o:p>

but this program didn=A1=AFt work.

 

Could you tell me how to use the braces at th= is situation ?

 

 

T= hank you for read my awkward mail and hope you to answer me.=

Have a nice day !

 =

 

------=_NextPart_000_0001_01CB81D1.B833EDB0-- From matthias.dodt@mdc-berlin.de Tue Nov 16 15:41:05 2010 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMiW-0005bU-Fd>; Tue, 16 Nov 2010 15:41:04 +0100 Received: from sinope.bbbm.mdc-berlin.de ([141.80.25.23]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMiW-0005hf-D1>; Tue, 16 Nov 2010 15:41:04 +0100 Received: from localhost (localhost [127.0.0.1]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id 139CF17C8D4 for ; Tue, 16 Nov 2010 15:41:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= content-type:content-type:subject:subject:mime-version :user-agent:from:from:date:date:message-id:received:received :received:received; s=dkim1; t=1289918458; x=1291732858; bh=nKpp JTcnApOCbQ9APceuWM4gFfzmIsWdp82rnrigOAk=; b=J65tlfgsxg1/zYEEM6zQ rIfCtmKKonu4Le2plVEC6Mf6TOc+7/mvnELN2BnxYfaJ5KnquOSSOeHABxpqiubX sqy8xijf/AhixHwdcdt4wHz/TKTOkQQ+/bya/1Ro6oNrG5aeAlkkmy82aE7cLVrY k0A3vfFTANBYzooE1tLwygE= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from sinope.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e0IZ1VUsAwaJ for ; Tue, 16 Nov 2010 15:40:58 +0100 (CET) Received: from mdcmail.mdc-berlin.de (mab.citx.mdc-berlin.de [141.80.36.102]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id 8577917C89D for ; Tue, 16 Nov 2010 15:40:58 +0100 (CET) Received: from mdcexcl.mdc-berlin.net ([141.80.184.16]) by mdcmail.mdc-berlin.de with Microsoft SMTPSVC(6.0.3790.4675); Tue, 16 Nov 2010 15:42:09 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Tue, 16 Nov 2010 15:42:08 +0100 Message-ID: <4CE29840.7090204@mdc-berlin.de> Date: Tue, 16 Nov 2010 15:42:08 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.12) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de Content-Type: multipart/alternative; boundary="------------090105060903020602000207" X-OriginalArrivalTime: 16 Nov 2010 14:42:08.0235 (UTC) FILETIME=[71E3FBB0:01CB859C] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17770.002 X-TM-AS-Result: No--7.822600-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-Originating-IP: 141.80.25.23 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1289918464-00000C0F-7842208D/0-0/0-0 X-Bogosity: Unsure, tests=bogofilter, spamicity=0.467329, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Botsuana.ZEDAT.-Berlin.DE X-Spam-Level: xx X-Spam-Status: No, score=2.4 required=5.0 tests=FU_BOGO_UNSURE,HTML_50_60, HTML_MESSAGE,RATWARE_GECKO_BUILD Subject: [Seqan-dev] Graph visualization X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2010 14:41:05 -0000 This is a multi-part message in MIME format. --------------090105060903020602000207 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Hey Guys! I am experimenting with different Graphs in seqan. I would like to visualize the results on my graph in an easy way (like exporting the graph in a graph-file format or use some standardized way). Is there something built in with seqan? So far i only discovered "graphviz"... Thanks for any advice! Best, mat --------------090105060903020602000207 Content-Type: text/html; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Hey Guys!

I am experimenting with different Graphs in seqan. I would like to visualize the results on my graph in an easy way (like exporting the graph in a graph-file format or use some standardized way). Is there something built in with seqan? So far i only discovered "graphviz"...

Thanks for any advice!

Best,

mat
--------------090105060903020602000207-- From Knut.Reinert@fu-berlin.de Tue Nov 16 15:48:14 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMpR-0005qW-KI>; Tue, 16 Nov 2010 15:48:13 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMpR-0006qz-Hw>; Tue, 16 Nov 2010 15:48:13 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMpR-0002hc-Dg>; Tue, 16 Nov 2010 15:48:13 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Tue, 16 Nov 2010 15:48:13 +0100 From: "Reinert, Knut" To: SeqAn Development Date: Tue, 16 Nov 2010 15:48:11 +0100 Thread-Topic: [Seqan-dev] Graph visualization Thread-Index: AcuFnUrQkpT98LrSTMaoZ56jqD1r0g== Message-ID: In-Reply-To: <4CE29840.7090204@mdc-berlin.de> Accept-Language: en-US, de-DE Content-Language: de-DE X-MS-Has-Attach: yes X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.1.0.101012 acceptlanguage: en-US, de-DE Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="B_3372767291_2347911" MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1289918893-00000C0F-6F880D5B/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.007072, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Algerien.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,HTML_60_70, HTML_MESSAGE Subject: Re: [Seqan-dev] Graph visualization X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2010 14:48:14 -0000 --B_3372767291_2347911 Content-type: multipart/alternative; boundary="B_3372767291_2360222" --B_3372767291_2360222 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit You can output the graphs in dot format and use dotty. Knut Reinert Von: Mat Antworten an: SeqAn Development Datum: Tue, 16 Nov 2010 15:42:08 +0100 An: "seqan-dev@lists.fu-berlin.de" Betreff: [Seqan-dev] Graph visualization Hey Guys! I am experimenting with different Graphs in seqan. I would like to visualize the results on my graph in an easy way (like exporting the graph in a graph-file format or use some standardized way). Is there something built in with seqan? So far i only discovered "graphviz"... Thanks for any advice! Best, mat --B_3372767291_2360222 Content-type: text/html; charset="US-ASCII" Content-transfer-encoding: quoted-printable
You can output the graphs in= dot format and use dotty.

Knut Reinert
<= br>

Von: Mat <matthias.dodt@mdc-berlin.de>= ;
Antworten an: SeqAn Development = <seqan-dev@lists.fu-berlin.= de>
Datum: Tue, 16 Nov 2010= 15:42:08 +0100
An: "seqan-dev@lists.fu-berlin.de" <seqan-dev@lists.fu-berlin.de>= ;
Betreff: [Seqan-dev] Graph visua= lization

Hey Guys!

I am experimenting with different Graphs in seqan. I would like to visualize the results on my graph in an easy way (like exporting the graph in a graph-file format or use some standardized way). Is there something built in with seqan? So far i only discovered "graphviz"...

Thanks for any advice!

Best,

mat
--B_3372767291_2360222-- --B_3372767291_2347911 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIINuQYJKoZIhvcNAQcCoIINqjCCDaYCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC CzwwggX2MIIE3qADAgECAgQOPlW+MA0GCSqGSIb3DQEBBQUAMIG1MQswCQYDVQQGEwJERTEP MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZl cnNpdGFldCBCZXJsaW4xDjAMBgNVBAsTBVpFREFUMTAwLgYDVQQDEydGcmVpZSBVbml2ZXJz aXRhZXQgQmVybGluIC0gRlUtQ0EgLSBHMDExHjAcBgkqhkiG9w0BCQEWD2NhQEZVLUJlcmxp bi5ERTAeFw0wOTA1MjgxODMwMDZaFw0xMjA1MjcxODMwMDZaMIGaMQswCQYDVQQGEwJERTEP MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZl cnNpdGFldCBCZXJsaW4xLjAsBgNVBAsTJUZhY2hiZXJlaWNoIE1hdGhlbWF0aWsgdW5kIElu Zm9ybWF0aWsxFTATBgNVBAMTDEtudXQgUmVpbmVydDCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBANSoSXLdPvMwPkaXs9dSUjlWoapodmCfE1llSL8REST5FFIM/jOLuJhJN36+ KGso9iguTKE/LB0W3CMOKRJzdTT92vbViWYV2yJ7EdHljObOi12ixB23MzYPleMWhcwJuiUd bCeYeiw1qpodpZlKCRPZdcqcnXrea3+kJ725MrOF8IOA6eH/PbgGc526aN+hYA6kvOPBcyEV usL82rRbVcWIkP86UYIFi2DUSFsfY2YuQPS6xau/Qseoe21lNd4aVrvEE9shNXH0Z08NpbzV 3SkA5jVR7Vbm+wh3Rt76HiYohbwKYD5Emxg4tZ1zLVXj2/9cXeQhTDKKsCMB+OFtilcCAwEA AaOCAiUwggIhMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMCkGA1UdJQQiMCAGCCsGAQUFBwMC BggrBgEFBQcDBAYKKwYBBAGCNxQCAjAdBgNVHQ4EFgQUH92MgLYE+uBZU93Gyqu1jGbIOuAw HwYDVR0jBBgwFoAUBuE99G/0MLd6O1ewMQWJew1YWmwwgZEGA1UdEQSBiTCBhoEZa251dC5y ZWluZXJ0QGZ1LWJlcmxpbi5kZYEXcmVpbmVydEBtaS5mdS1iZXJsaW4uZGWBGHJlaW5lcnRA aW5mLmZ1LWJlcmxpbi5kZYEbcmVpbmVydEBjYW1wdXMuZnUtYmVybGluLmRlgRlLbnV0LlJl aW5lcnRAZnUtYmVybGluLmRlMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jZHAxLnBjYS5k Zm4uZGUvZnUtY2EvcHViL2NybC9jYWNybC5jcmwwNKAyoDCGLmh0dHA6Ly9jZHAyLnBjYS5k Zm4uZGUvZnUtY2EvcHViL2NybC9jYWNybC5jcmwwgZAGCCsGAQUFBwEBBIGDMIGAMD4GCCsG AQUFBzAChjJodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2Z1LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0 LmNydDA+BggrBgEFBQcwAoYyaHR0cDovL2NkcDIucGNhLmRmbi5kZS9mdS1jYS9wdWIvY2Fj ZXJ0L2NhY2VydC5jcnQwDQYJKoZIhvcNAQEFBQADggEBAHpL89pG6Pa8ULDIdREy0DMhVKKO A3JuBRF17wJdJPY1wpqvupHHLZERWPAHZtxidEB77083fV/3zVCsO+mK99UJHMzHy8/vWiYz b66OxHyl7DxkCPzg4lLsUfEPHDmGLJmagUdjxWQh31sDeCMjaDx3gckpYLsYzUlV0OfsTBM7 hHP+4jVtjI2l+VY0Wofc7j+oiaaoJ0pCerbWJWvvL4TUNXvwsfJPhRRe8Pu5xfnWS1oRrspS RIz6QXRo4degbR1gOgLCJwHpPMcyciJaF2ttI3mwKDceEXUOi42qqLxTEFmpwl1szlFqR9Qb 2fTT1zQ5woJDqiQgpajN6WRy88QwggU+MIIEJqADAgECAgQJzaUoMA0GCSqGSIb3DQEBBQUA MFoxCzAJBgNVBAYTAkRFMRMwEQYDVQQKEwpERk4tVmVyZWluMRAwDgYDVQQLEwdERk4tUEtJ MSQwIgYDVQQDExtERk4tVmVyZWluIFBDQSBHbG9iYWwgLSBHMDEwHhcNMDcwMTE3MTM0MTQ2 WhcNMTkwMTE1MDAwMDAwWjCBtTELMAkGA1UEBhMCREUxDzANBgNVBAgTBkJlcmxpbjEPMA0G A1UEBxMGQmVybGluMSIwIAYDVQQKExlGcmVpZSBVbml2ZXJzaXRhZXQgQmVybGluMQ4wDAYD VQQLEwVaRURBVDEwMC4GA1UEAxMnRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxpbiAtIEZVLUNB IC0gRzAxMR4wHAYJKoZIhvcNAQkBFg9jYUBGVS1CZXJsaW4uREUwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCNhQjTTjzMM16+SZeKkIONKkiv6wRuGJc/NadmcKeSYs6sQwVo 0NYNfqRxVDVU/vWikR8a5Hku1bQ/o34kzwTzLkdd1qnrZsPhh+DQpASaWH2+kxDvkFyRF5bv BEof821yuDyDCf3t3XsezyGBEaTxykFECzm/mFypFlyNHreYoKKyayOV3oxV1ZI1iFkmGlyd vR1XMxrcDtF/U6xcfANeuG6wI2mHX49rO7DZdsgpZIKwVLiqWEc6PlADfvmqTkiOOxSfDYWq WMuLOK73EHj+OFLHV/Pr7lFWdN7lNv0YxuTlFVH5289OfMX3pP/JbkOqwUgv7EFhDyO4WgFC iDczAgMBAAGjggGuMIIBqjAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4E FgQUBuE99G/0MLd6O1ewMQWJew1YWmwwHwYDVR0jBBgwFoAUSbfGz+g9H3/qRHsTKffxCnA+ 3mQwGgYDVR0RBBMwEYEPY2FARlUtQmVybGluLkRFMIGIBgNVHR8EgYAwfjA9oDugOYY3aHR0 cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY3JsL2NhY3JsLmNybDA9 oDugOYY3aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY3JsL2Nh Y3JsLmNybDCBogYIKwYBBQUHAQEEgZUwgZIwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jZHAxLnBj YS5kZm4uZGUvZ2xvYmFsLXJvb3QtY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MEcGCCsGAQUF BzAChjtodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jYWNlcnQv Y2FjZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAQEATIbsUIrz6hArw3FPuSeQOa3nzuGnQDk3 XEG0XunBcDPdAxq5dI9Sn7Y+KRdXsF54bFxvbVNWIax0mDee3iEuAEj4v44oz5yzyNQOxJta uhQPmbDIgCVkQ1hGtqKiljHgOUtrEWiivqyFgKZaJ3uOjn+4QtskUA6mCpLqlDaUIIA9WxIs t1RL6xnHrYP9vjY/nvKKk75AXunTyP8nWYkgN5z1DN9LOA2VrUtNzGGyHcfxX7MUKjziVuid eJU237y1wNdsRVIczDImju+u2r4vRCy1oYRwClr6zJKk929OXoGX5rJ9E06B6omRtHqDR65X 7shnEIwNpZYwqSMMxdWoUTGCAkUwggJBAgEBMIG+MIG1MQswCQYDVQQGEwJERTEPMA0GA1UE CBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZlcnNpdGFl dCBCZXJsaW4xDjAMBgNVBAsTBVpFREFUMTAwLgYDVQQDEydGcmVpZSBVbml2ZXJzaXRhZXQg QmVybGluIC0gRlUtQ0EgLSBHMDExHjAcBgkqhkiG9w0BCQEWD2NhQEZVLUJlcmxpbi5ERQIE Dj5VvjAJBgUrDgMCGgUAoF0wIwYJKoZIhvcNAQkEMRYEFIR/2DMw0xZfr5hNUqkXxV+rXcOt MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEwMTExNjE0NDgx MVowDQYJKoZIhvcNAQEBBQAEggEAU0HblCUpekdS5BOsiC3wUZkA+k4Gr7pSzYS6cmspNebK bNfdYD39b7rKOBpuElehhrnEtC0UXdpLNBKdMJ0Xc8jtl1/InVY/5orpFunSRBLqFJBP2PGH 6kSnlCdaAkTOVAVHWcz1zYyfW5E2jBHbUwe5BsTCq3spevCDs8AQwmBx0EA+bI4hok+V7YmD NSJGvJBvVSX/5j5L7RVe3ozQOrU9zzWhmgUIByi7wFEqYg5W0BEn9rYV2a82UG1waLnN+U9K sJfhoXY7jyXKxMSokoGbEScZp7k6BVGdGBDBVINRhimUa4jwq1k/nPkXigtxqWg9/nVgrTNp rpj3ydbPZA== --B_3372767291_2347911-- From Birte.Kehr@fu-berlin.de Tue Nov 16 15:48:46 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMpx-0005qx-LJ>; Tue, 16 Nov 2010 15:48:45 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMpx-0006yw-IZ>; Tue, 16 Nov 2010 15:48:45 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMpx-0002jU-EH>; Tue, 16 Nov 2010 15:48:45 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Tue, 16 Nov 2010 15:48:45 +0100 From: "Kehr, Birte" To: 'SeqAn Development' Date: Tue, 16 Nov 2010 15:48:43 +0100 Thread-Topic: [Seqan-dev] Graph visualization Thread-Index: AcuFnF79A768B+5cQu6vWNV7EglxbgAAD0ZQ Message-ID: References: <4CE29840.7090204@mdc-berlin.de> In-Reply-To: <4CE29840.7090204@mdc-berlin.de> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US, de-DE Content-Type: multipart/alternative; boundary="_000_DAD226CB6878494EABEFD5215AA102015570670187exchange6fube_" MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1289918925-00000C0F-332BEADB/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.004740, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Botsuana.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE Subject: Re: [Seqan-dev] Graph visualization X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2010 14:48:46 -0000 --_000_DAD226CB6878494EABEFD5215AA102015570670187exchange6fube_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Mat, you can write the graph to a dot-file and then open the file with graphviz: FILE* strmWrite =3D fopen("graph.dot", "w"); write(strmWrite, g, DotDrawing()); fclose(strmWrite); Other formats are not supported so far. Cheers, Birte From: Mat [mailto:matthias.dodt@mdc-berlin.de] Sent: Dienstag, 16. November 2010 15:42 To: seqan-dev@lists.fu-berlin.de Subject: [Seqan-dev] Graph visualization Hey Guys! I am experimenting with different Graphs in seqan. I would like to visualiz= e the results on my graph in an easy way (like exporting the graph in a gra= ph-file format or use some standardized way). Is there something built in w= ith seqan? So far i only discovered "graphviz"... Thanks for any advice! Best, mat --_000_DAD226CB6878494EABEFD5215AA102015570670187exchange6fube_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi Mat,

 

you can write the graph to a dot-file and then open the file with gra= phviz:

 

FILE* strmWrite = =3D fopen("graph.dot", "w");

write(strmWrite, g, DotDrawing(= ));

fclose(strmWrit= e);

&nbs= p;

Other formats a= re not supported so far.

 

Cheers,

Birte

 

 = ;

From: Mat [mailto:matthias.dodt@mdc-ber= lin.de]
Sent: Dienstag, 16. November 2010 15:42
To: se= qan-dev@lists.fu-berlin.de
Subject: [Seqan-dev] Graph visualizati= on

 <= /p>

Hey Guys!=

I am experimenting with different Graphs in seqan. I would like to = visualize the results on my graph in an easy way (like exporting the graph = in a graph-file format or use some standardized way). Is there something bu= ilt in with seqan? So far i only discovered "graphviz"...

= Thanks for any advice!

Best,

mat

= = --_000_DAD226CB6878494EABEFD5215AA102015570670187exchange6fube_-- From matthias.dodt@mdc-berlin.de Tue Nov 16 15:52:17 2010 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMtM-0005zj-LJ>; Tue, 16 Nov 2010 15:52:16 +0100 Received: from venus.bbbm.mdc-berlin.de ([141.80.25.30]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PIMtM-0007wE-Ib>; Tue, 16 Nov 2010 15:52:16 +0100 Received: from localhost (localhost [127.0.0.1]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id 404B2400A7 for ; Tue, 16 Nov 2010 15:52:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= content-type:content-type:in-reply-to:references:subject:subject :mime-version:user-agent:from:from:date:date:message-id:received :received:received:received; s=dkim1; t=1289919130; x= 1291733530; bh=pr3VWVqtNrLpKz8deT9OdhEn+XACdVL0R5KwoCV81b4=; b=Z 4e7V8x32MjnDfcRUxABv8H4VwfVXMRP/se8wcItyCCk5tuFBBaTBOjVhQ/EambFh 3slpFaIag1QmSvNhJjc85b8W/vQ7Spx60ydWRh4sufDQbVYz9hI2pTM2uoq3Dbyn YrOVMJXW0sZ1mH11blYxMZ4P8Sxqbk8GWEupEoyWk8= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from venus.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (venus.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fBhCbogh4G2s for ; Tue, 16 Nov 2010 15:52:10 +0100 (CET) Received: from mdcmail.mdc-berlin.de (mab.citx.mdc-berlin.de [141.80.36.102]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id 370CC40075 for ; Tue, 16 Nov 2010 15:52:10 +0100 (CET) Received: from mdcexcl.mdc-berlin.net ([141.80.184.16]) by mdcmail.mdc-berlin.de with Microsoft SMTPSVC(6.0.3790.4675); Tue, 16 Nov 2010 15:53:21 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Tue, 16 Nov 2010 15:53:19 +0100 Message-ID: <4CE29AE0.3020202@mdc-berlin.de> Date: Tue, 16 Nov 2010 15:53:20 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.12) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de References: <4CE29840.7090204@mdc-berlin.de> In-Reply-To: Content-Type: multipart/alternative; boundary="------------010300000004040207000400" X-OriginalArrivalTime: 16 Nov 2010 14:53:19.0900 (UTC) FILETIME=[023BEDC0:01CB859E] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17770.002 X-TM-AS-Result: No--6.547800-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-Originating-IP: 141.80.25.30 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1289919136-00000C0F-BCA6BC26/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.026109, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Benin.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=HTML_MESSAGE, RATWARE_GECKO_BUILD Subject: Re: [Seqan-dev] Graph visualization X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2010 14:52:17 -0000 This is a multi-part message in MIME format. --------------010300000004040207000400 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Wow, that was fast! Thanks Birte & Knut! That was exactly what i was looking for- have a nice day! best, mat Am 11/16/10 3:48 PM, schrieb Kehr, Birte: > > FILE* strmWrite = fopen(*"graph.dot"*, *"w"*); > > write(strmWrite, g, DotDrawing()); > > fclose(strmWrite); > --------------010300000004040207000400 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Wow, that was fast! Thanks Birte & Knut!

That was exactly what i was looking for-

have a nice day!

best,

mat

Am 11/16/10 3:48 PM, schrieb Kehr, Birte:

FILE* strmWrite = fopen("graph.dot", "w");

write(strmWrite, g, DotDrawing());

fclose(strmWrite);

--------------010300000004040207000400-- From f.buske@uq.edu.au Tue Nov 23 04:43:14 2010 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKjmi-0002uO-T1>; Tue, 23 Nov 2010 04:43:13 +0100 Received: from mailhub4.uq.edu.au ([130.102.149.131]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKjmi-0000I1-31>; Tue, 23 Nov 2010 04:43:12 +0100 Received: from smtp4.uq.edu.au (smtp4.uq.edu.au [130.102.128.19]) by mailhub4.uq.edu.au (8.13.8/8.13.8) with ESMTP id oAN3h7GL002990 for ; Tue, 23 Nov 2010 13:43:07 +1000 Received: from imb10-008701.imb.uq.edu.au (imb10-008701.imb.uq.edu.au [130.102.118.152]) (authenticated bits=0) by smtp4.uq.edu.au (8.13.8/8.13.8) with ESMTP id oAN3h5XG000855 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 23 Nov 2010 13:43:07 +1000 Message-ID: <4CEB3848.5020304@uq.edu.au> Date: Tue, 23 Nov 2010 13:43:04 +1000 From: Fabian Buske User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6 MIME-Version: 1.0 To: SeqAn Development Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-UQ-FilterTime: 1290483788 X-Scanned-By: MIMEDefang 2.58 on UQ Mailhub on 130.102.149.131 X-Originating-IP: 130.102.149.131 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290483792-00000C0F-B93D0D18/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.064436, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Botsuana.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=RATWARE_GECKO_BUILD Subject: [Seqan-dev] Skiplist does not find existing key X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Nov 2010 03:43:14 -0000 Hi, I observed a rather peculiar phenomenon for the Skiplist map specialisation, a data type I use quite extensively. Using a custom key class and comparator the skiplist sometimes does not find a key that has been inserted into the map. Since the skiplist is a randomised data structure this behaviour occurs by chance. When using the iterator to go through the Skiplist the element will actually be output. I observed that the order of the objects (keys) in the output is not the ordered lists of keys according to the comparator (which I was expecting) but to the order in which the keys where inserted into the map. I'm not sure if this is intended. I created a ticket for this phenomenon, which has an extended test_map class attached demonstrating this behaviour: http://trac.mi.fu-berlin.de/seqan/ticket/589 This phenomenon may have serious consequences on any application relying on Skiplists. Best, Fabian -- Fabian Buske Institute for Molecular Bioscience The University of Queensland Brisbane, Qld. 4072 Australia Phone: (61)-(7)-334-62608 From Knut.Reinert@fu-berlin.de Tue Nov 23 08:46:45 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKnaO-00028T-Hq>; Tue, 23 Nov 2010 08:46:44 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKnaO-0008Ga-Fp>; Tue, 23 Nov 2010 08:46:44 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKnaO-000454-AI>; Tue, 23 Nov 2010 08:46:44 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Tue, 23 Nov 2010 08:46:43 +0100 From: "Reinert, Knut" To: SeqAn Development Date: Tue, 23 Nov 2010 08:46:40 +0100 Thread-Topic: [Seqan-dev] Skiplist does not find existing key Thread-Index: AcuK4pH0yv6d6RDqQyCzAERC/WIpvA== Message-ID: In-Reply-To: <4CEB3848.5020304@uq.edu.au> Accept-Language: en-US, de-DE Content-Language: de-DE X-MS-Has-Attach: yes X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.1.0.101012 acceptlanguage: en-US, de-DE Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="B_3373346800_2648072" MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290498404-00000C0F-96595850/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.004752, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Botsuana.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED Subject: Re: [Seqan-dev] Skiplist does not find existing key X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Nov 2010 07:46:45 -0000 --B_3373346800_2648072 Content-type: text/plain; charset="ISO-8859-1" Content-transfer-encoding: quoted-printable Hm So beim direkten compilieren gibt es Fehler (s.u.) Compiliert das test file mit dem SVN head bei Dir? Building CXX object tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/test_m ap.cpp.o /Users/reinert/seqan/projects/tests/map/test_map_extended.h: In function =8Cvoid Test_Map_Complex_Key() [with TMap =3D seqan::Map, seqan::VectorSet > >]=B9: /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: instantiated from here /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue3=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue2=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue1=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: instantiated from here /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue3=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue2=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue1=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue3=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue2=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: =8Cstruct=20 seqan::Proxy, seqan::VectorSet > >, seqan::VectorSetIterator> > >=B9 has no member named =8Cvalue1=B9 /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface. h: At global scope: /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface. h: In instantiation of =8Cseqan::ValueSize >=B9: /Users/reinert/seqan/projects/library/seqan/map/map_vector.h:103: instantiated from =8Cseqan::Map >::Map() [with TValue =3D TestKey, TSpec =3D seqan::Alloc]=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:452: instantiated from =8Cvoid Test_Map_Complex_Key() [with TMap =3D seqan::Map, seqan::VectorSet > >]=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: instantiated from here /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface. h:963: warning: left shift count >=3D width of type /Users/reinert/seqan/projects/library/seqan/sequence/lexical.h: In function =8Cunsigned int seqan::ordValue(const TValue&) [with TValue =3D TestKey]=B9: /Users/reinert/seqan/projects/library/seqan/map/map_vector.h:328: instantiated from =8Ctypename seqan::Iterator >, typename seqan::DefaultIteratorSpec > >::Type>::Type seqan::find(seqan::Map >&, >const TKey&) [with TKey =3D TestKey, TKey2 =3D TestKeylong int>, TSpec =3D seqan::Alloc]=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:464: instantiated from =8Cvoid Test_Map_Complex_Key() [with TMap =3D seqan::Map, seqan::VectorSet > >]=B9 /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: instantiated from here /Users/reinert/seqan/projects/library/seqan/sequence/lexical.h:787: error: cannot convert =8Cconst TestKey=B9 to =8Cunsigned int=B9 in return make[3]: ***=20 [tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/test_ map.cpp.o] Error 1 make[2]: *** [tests/CMakeFiles/test_map.dir/all] Error 2 make[1]: *** [tests/CMakeFiles/test_map.dir/rule] Error 2 Am 11/23/10 4:43 AM schrieb "Fabian Buske" unter : >Hi, > >I observed a rather peculiar phenomenon for the Skiplist map >specialisation, a data type I use quite extensively. > >Using a custom key class and comparator the skiplist sometimes does not >find a key that has been inserted into the map. Since the skiplist is a >randomised data structure this behaviour occurs by chance. > >When using the iterator to go through the Skiplist the element will >actually be output. I observed that the order of the objects (keys) in >the output is not the ordered lists of keys according to the comparator >(which I was expecting) but to the order in which the keys where >inserted into the map. I'm not sure if this is intended. > >I created a ticket for this phenomenon, which has an extended test_map >class attached demonstrating this behaviour: >http://trac.mi.fu-berlin.de/seqan/ticket/589 > >This phenomenon may have serious consequences on any application relying >on Skiplists. > >Best, >Fabian > >--=20 > >Fabian Buske >Institute for Molecular Bioscience >The University of Queensland >Brisbane, Qld. 4072 Australia >Phone: (61)-(7)-334-62608 > > >_______________________________________________ >seqan-dev mailing list >seqan-dev@lists.fu-berlin.de >https://lists.fu-berlin.de/listinfo/seqan-dev --B_3373346800_2648072 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIINuQYJKoZIhvcNAQcCoIINqjCCDaYCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC CzwwggX2MIIE3qADAgECAgQOPlW+MA0GCSqGSIb3DQEBBQUAMIG1MQswCQYDVQQGEwJERTEP MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZl cnNpdGFldCBCZXJsaW4xDjAMBgNVBAsTBVpFREFUMTAwLgYDVQQDEydGcmVpZSBVbml2ZXJz aXRhZXQgQmVybGluIC0gRlUtQ0EgLSBHMDExHjAcBgkqhkiG9w0BCQEWD2NhQEZVLUJlcmxp bi5ERTAeFw0wOTA1MjgxODMwMDZaFw0xMjA1MjcxODMwMDZaMIGaMQswCQYDVQQGEwJERTEP MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZl cnNpdGFldCBCZXJsaW4xLjAsBgNVBAsTJUZhY2hiZXJlaWNoIE1hdGhlbWF0aWsgdW5kIElu Zm9ybWF0aWsxFTATBgNVBAMTDEtudXQgUmVpbmVydDCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBANSoSXLdPvMwPkaXs9dSUjlWoapodmCfE1llSL8REST5FFIM/jOLuJhJN36+ KGso9iguTKE/LB0W3CMOKRJzdTT92vbViWYV2yJ7EdHljObOi12ixB23MzYPleMWhcwJuiUd bCeYeiw1qpodpZlKCRPZdcqcnXrea3+kJ725MrOF8IOA6eH/PbgGc526aN+hYA6kvOPBcyEV usL82rRbVcWIkP86UYIFi2DUSFsfY2YuQPS6xau/Qseoe21lNd4aVrvEE9shNXH0Z08NpbzV 3SkA5jVR7Vbm+wh3Rt76HiYohbwKYD5Emxg4tZ1zLVXj2/9cXeQhTDKKsCMB+OFtilcCAwEA AaOCAiUwggIhMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMCkGA1UdJQQiMCAGCCsGAQUFBwMC BggrBgEFBQcDBAYKKwYBBAGCNxQCAjAdBgNVHQ4EFgQUH92MgLYE+uBZU93Gyqu1jGbIOuAw HwYDVR0jBBgwFoAUBuE99G/0MLd6O1ewMQWJew1YWmwwgZEGA1UdEQSBiTCBhoEZa251dC5y ZWluZXJ0QGZ1LWJlcmxpbi5kZYEXcmVpbmVydEBtaS5mdS1iZXJsaW4uZGWBGHJlaW5lcnRA aW5mLmZ1LWJlcmxpbi5kZYEbcmVpbmVydEBjYW1wdXMuZnUtYmVybGluLmRlgRlLbnV0LlJl aW5lcnRAZnUtYmVybGluLmRlMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jZHAxLnBjYS5k Zm4uZGUvZnUtY2EvcHViL2NybC9jYWNybC5jcmwwNKAyoDCGLmh0dHA6Ly9jZHAyLnBjYS5k Zm4uZGUvZnUtY2EvcHViL2NybC9jYWNybC5jcmwwgZAGCCsGAQUFBwEBBIGDMIGAMD4GCCsG AQUFBzAChjJodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2Z1LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0 LmNydDA+BggrBgEFBQcwAoYyaHR0cDovL2NkcDIucGNhLmRmbi5kZS9mdS1jYS9wdWIvY2Fj ZXJ0L2NhY2VydC5jcnQwDQYJKoZIhvcNAQEFBQADggEBAHpL89pG6Pa8ULDIdREy0DMhVKKO A3JuBRF17wJdJPY1wpqvupHHLZERWPAHZtxidEB77083fV/3zVCsO+mK99UJHMzHy8/vWiYz b66OxHyl7DxkCPzg4lLsUfEPHDmGLJmagUdjxWQh31sDeCMjaDx3gckpYLsYzUlV0OfsTBM7 hHP+4jVtjI2l+VY0Wofc7j+oiaaoJ0pCerbWJWvvL4TUNXvwsfJPhRRe8Pu5xfnWS1oRrspS RIz6QXRo4degbR1gOgLCJwHpPMcyciJaF2ttI3mwKDceEXUOi42qqLxTEFmpwl1szlFqR9Qb 2fTT1zQ5woJDqiQgpajN6WRy88QwggU+MIIEJqADAgECAgQJzaUoMA0GCSqGSIb3DQEBBQUA MFoxCzAJBgNVBAYTAkRFMRMwEQYDVQQKEwpERk4tVmVyZWluMRAwDgYDVQQLEwdERk4tUEtJ MSQwIgYDVQQDExtERk4tVmVyZWluIFBDQSBHbG9iYWwgLSBHMDEwHhcNMDcwMTE3MTM0MTQ2 WhcNMTkwMTE1MDAwMDAwWjCBtTELMAkGA1UEBhMCREUxDzANBgNVBAgTBkJlcmxpbjEPMA0G A1UEBxMGQmVybGluMSIwIAYDVQQKExlGcmVpZSBVbml2ZXJzaXRhZXQgQmVybGluMQ4wDAYD VQQLEwVaRURBVDEwMC4GA1UEAxMnRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxpbiAtIEZVLUNB IC0gRzAxMR4wHAYJKoZIhvcNAQkBFg9jYUBGVS1CZXJsaW4uREUwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCNhQjTTjzMM16+SZeKkIONKkiv6wRuGJc/NadmcKeSYs6sQwVo 0NYNfqRxVDVU/vWikR8a5Hku1bQ/o34kzwTzLkdd1qnrZsPhh+DQpASaWH2+kxDvkFyRF5bv BEof821yuDyDCf3t3XsezyGBEaTxykFECzm/mFypFlyNHreYoKKyayOV3oxV1ZI1iFkmGlyd vR1XMxrcDtF/U6xcfANeuG6wI2mHX49rO7DZdsgpZIKwVLiqWEc6PlADfvmqTkiOOxSfDYWq WMuLOK73EHj+OFLHV/Pr7lFWdN7lNv0YxuTlFVH5289OfMX3pP/JbkOqwUgv7EFhDyO4WgFC iDczAgMBAAGjggGuMIIBqjAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4E FgQUBuE99G/0MLd6O1ewMQWJew1YWmwwHwYDVR0jBBgwFoAUSbfGz+g9H3/qRHsTKffxCnA+ 3mQwGgYDVR0RBBMwEYEPY2FARlUtQmVybGluLkRFMIGIBgNVHR8EgYAwfjA9oDugOYY3aHR0 cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY3JsL2NhY3JsLmNybDA9 oDugOYY3aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY3JsL2Nh Y3JsLmNybDCBogYIKwYBBQUHAQEEgZUwgZIwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jZHAxLnBj YS5kZm4uZGUvZ2xvYmFsLXJvb3QtY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MEcGCCsGAQUF BzAChjtodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jYWNlcnQv Y2FjZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAQEATIbsUIrz6hArw3FPuSeQOa3nzuGnQDk3 XEG0XunBcDPdAxq5dI9Sn7Y+KRdXsF54bFxvbVNWIax0mDee3iEuAEj4v44oz5yzyNQOxJta uhQPmbDIgCVkQ1hGtqKiljHgOUtrEWiivqyFgKZaJ3uOjn+4QtskUA6mCpLqlDaUIIA9WxIs t1RL6xnHrYP9vjY/nvKKk75AXunTyP8nWYkgN5z1DN9LOA2VrUtNzGGyHcfxX7MUKjziVuid eJU237y1wNdsRVIczDImju+u2r4vRCy1oYRwClr6zJKk929OXoGX5rJ9E06B6omRtHqDR65X 7shnEIwNpZYwqSMMxdWoUTGCAkUwggJBAgEBMIG+MIG1MQswCQYDVQQGEwJERTEPMA0GA1UE CBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZlcnNpdGFl dCBCZXJsaW4xDjAMBgNVBAsTBVpFREFUMTAwLgYDVQQDEydGcmVpZSBVbml2ZXJzaXRhZXQg QmVybGluIC0gRlUtQ0EgLSBHMDExHjAcBgkqhkiG9w0BCQEWD2NhQEZVLUJlcmxpbi5ERQIE Dj5VvjAJBgUrDgMCGgUAoF0wIwYJKoZIhvcNAQkEMRYEFKzSu+FrHkUbdXMZpQb5fAanXOrF MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEwMTEyMzA3NDY0 MFowDQYJKoZIhvcNAQEBBQAEggEAG1G9ubpHrijxBAi1t0ewvuKZjiG9NkKNeQU219C4N1A6 wYFgByupQB5cFxNMR/unqYqBNWzGhDSdDkNwfEXwy+LzLodSd1K79YDgs9icHjQiS10++In0 1aOmlXLAUVJFibDggEc/k2UlhCPKnFC4/cRqldv6MqOea4s8fI9xu/TDkyhYwWTJmS2PigV3 s3hgyqK+rVn5LOaO/7VGfV/T00sk9uMpANP8Be48XlKP0w0QKDTKDdMMFVZkiMX8JubZghrA KtICpdqzKh1TYASaQ49/mvaynYM1uXLa2+Ux1QttpoT+cS5OdBN3r/YGunMQEeLHvgZU1mGT ErMG3iuV5g== --B_3373346800_2648072-- From Knut.Reinert@fu-berlin.de Tue Nov 23 10:06:47 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKopq-0004of-0f>; Tue, 23 Nov 2010 10:06:46 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKopp-0002a0-Uh>; Tue, 23 Nov 2010 10:06:46 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PKopp-0002FA-Oy>; Tue, 23 Nov 2010 10:06:45 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Tue, 23 Nov 2010 10:06:45 +0100 From: "Reinert, Knut" To: SeqAn Development Date: Tue, 23 Nov 2010 10:06:42 +0100 Thread-Topic: [Seqan-dev] Skiplist does not find existing key Thread-Index: AcuK7cAofcgXVy7HSuu7877hc2jPMg== Message-ID: In-Reply-To: Accept-Language: en-US, de-DE Content-Language: de-DE X-MS-Has-Attach: yes X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.1.0.101012 acceptlanguage: en-US, de-DE Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="B_3373351602_2818314" MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290503206-00000C0F-1D801BDA/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.001958, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Algerien.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED Subject: Re: [Seqan-dev] Skiplist does not find existing key X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Nov 2010 09:06:47 -0000 --B_3373351602_2818314 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable Dear Fabian, The skip lists are OK. Your operator< is wrong. For (4,3,2) < (2,4,4) it yields true, which is not what you intend. Here is the fixed version with which your test works. template bool TestKey::operator<(const TestKey & b) const { if (value1 < b.value1) return true; if (value1 > b.value1) return false; if (value2 < b.value2) return true; if (value2 > b.value2) return false;=20 if (value3 < b.value3) return true; if (value3 > b.value3) return false;=20 return false; } Cheers, Knut Am 11/23/10 8:46 AM schrieb "Reinert, Knut" unter : >Hm >So beim direkten compilieren gibt es Fehler (s.u.) > >Compiliert das test file mit dem SVN head bei Dir? > > > >Building CXX object >tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/test_ >m >ap.cpp.o >/Users/reinert/seqan/projects/tests/map/test_map_extended.h: In function >=C5=92void Test_Map_Complex_Key() [with TMap =3D seqan::Mapint>, seqan::VectorSet > >]=C2=B9: >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >instantiated from here >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value3=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value2=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value1=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >instantiated from here >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value3=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value2=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value1=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value3=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value2=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >=C5=92struct=20 >seqan::Proxyint>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>=C2=B9 has no member named =C5=92value1=C2=B9 >/Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface >. >h: At global scope: >/Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface >. >h: In instantiation of =C5=92seqan::ValueSize >=C2=B9: >/Users/reinert/seqan/projects/library/seqan/map/map_vector.h:103: >instantiated from =C5=92seqan::Map >::Map() >[with TValue =3D TestKey, TSpec =3D seqan::Alloc]=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:452: >instantiated from =C5=92void Test_Map_Complex_Key() [with TMap =3D >seqan::Map, seqan::VectorSet > >>]=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >instantiated from here >/Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface >. >h:963: warning: left shift count >=3D width of type >/Users/reinert/seqan/projects/library/seqan/sequence/lexical.h: In >function =C5=92unsigned int seqan::ordValue(const TValue&) [with TValue =3D >TestKey]=C2=B9: >/Users/reinert/seqan/projects/library/seqan/map/map_vector.h:328: >instantiated from =C5=92typename seqan::Iteratorseqan::VectorSet >, typename >seqan::DefaultIteratorSpec > >>::Type>::Type seqan::find(seqan::Map >&, >>const TKey&) [with TKey =3D TestKey, TKey2 =3D TestKey>long int>, TSpec =3D seqan::Alloc]=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:464: >instantiated from =C5=92void Test_Map_Complex_Key() [with TMap =3D >seqan::Map, seqan::VectorSet > >>]=C2=B9 >/Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >instantiated from here >/Users/reinert/seqan/projects/library/seqan/sequence/lexical.h:787: error: >cannot convert =C5=92const TestKey=C2=B9 to =C5=92unsigned int=C2=B9 in ret= urn >make[3]: ***=20 >[tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/test >_ >map.cpp.o] Error 1 >make[2]: *** [tests/CMakeFiles/test_map.dir/all] Error 2 >make[1]: *** [tests/CMakeFiles/test_map.dir/rule] Error 2 > > > >Am 11/23/10 4:43 AM schrieb "Fabian Buske" unter : > >>Hi, >> >>I observed a rather peculiar phenomenon for the Skiplist map >>specialisation, a data type I use quite extensively. >> >>Using a custom key class and comparator the skiplist sometimes does not >>find a key that has been inserted into the map. Since the skiplist is a >>randomised data structure this behaviour occurs by chance. >> >>When using the iterator to go through the Skiplist the element will >>actually be output. I observed that the order of the objects (keys) in >>the output is not the ordered lists of keys according to the comparator >>(which I was expecting) but to the order in which the keys where >>inserted into the map. I'm not sure if this is intended. >> >>I created a ticket for this phenomenon, which has an extended test_map >>class attached demonstrating this behaviour: >>http://trac.mi.fu-berlin.de/seqan/ticket/589 >> >>This phenomenon may have serious consequences on any application relying >>on Skiplists. >> >>Best, >>Fabian >> >>--=20 >> >>Fabian Buske >>Institute for Molecular Bioscience >>The University of Queensland >>Brisbane, Qld. 4072 Australia >>Phone: (61)-(7)-334-62608 >> >> >>_______________________________________________ >>seqan-dev mailing list >>seqan-dev@lists.fu-berlin.de >>https://lists.fu-berlin.de/listinfo/seqan-dev --B_3373351602_2818314 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIINuQYJKoZIhvcNAQcCoIINqjCCDaYCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC CzwwggX2MIIE3qADAgECAgQOPlW+MA0GCSqGSIb3DQEBBQUAMIG1MQswCQYDVQQGEwJERTEP MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZl cnNpdGFldCBCZXJsaW4xDjAMBgNVBAsTBVpFREFUMTAwLgYDVQQDEydGcmVpZSBVbml2ZXJz aXRhZXQgQmVybGluIC0gRlUtQ0EgLSBHMDExHjAcBgkqhkiG9w0BCQEWD2NhQEZVLUJlcmxp bi5ERTAeFw0wOTA1MjgxODMwMDZaFw0xMjA1MjcxODMwMDZaMIGaMQswCQYDVQQGEwJERTEP MA0GA1UECBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZl cnNpdGFldCBCZXJsaW4xLjAsBgNVBAsTJUZhY2hiZXJlaWNoIE1hdGhlbWF0aWsgdW5kIElu Zm9ybWF0aWsxFTATBgNVBAMTDEtudXQgUmVpbmVydDCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBANSoSXLdPvMwPkaXs9dSUjlWoapodmCfE1llSL8REST5FFIM/jOLuJhJN36+ KGso9iguTKE/LB0W3CMOKRJzdTT92vbViWYV2yJ7EdHljObOi12ixB23MzYPleMWhcwJuiUd bCeYeiw1qpodpZlKCRPZdcqcnXrea3+kJ725MrOF8IOA6eH/PbgGc526aN+hYA6kvOPBcyEV usL82rRbVcWIkP86UYIFi2DUSFsfY2YuQPS6xau/Qseoe21lNd4aVrvEE9shNXH0Z08NpbzV 3SkA5jVR7Vbm+wh3Rt76HiYohbwKYD5Emxg4tZ1zLVXj2/9cXeQhTDKKsCMB+OFtilcCAwEA AaOCAiUwggIhMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMCkGA1UdJQQiMCAGCCsGAQUFBwMC BggrBgEFBQcDBAYKKwYBBAGCNxQCAjAdBgNVHQ4EFgQUH92MgLYE+uBZU93Gyqu1jGbIOuAw HwYDVR0jBBgwFoAUBuE99G/0MLd6O1ewMQWJew1YWmwwgZEGA1UdEQSBiTCBhoEZa251dC5y ZWluZXJ0QGZ1LWJlcmxpbi5kZYEXcmVpbmVydEBtaS5mdS1iZXJsaW4uZGWBGHJlaW5lcnRA aW5mLmZ1LWJlcmxpbi5kZYEbcmVpbmVydEBjYW1wdXMuZnUtYmVybGluLmRlgRlLbnV0LlJl aW5lcnRAZnUtYmVybGluLmRlMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jZHAxLnBjYS5k Zm4uZGUvZnUtY2EvcHViL2NybC9jYWNybC5jcmwwNKAyoDCGLmh0dHA6Ly9jZHAyLnBjYS5k Zm4uZGUvZnUtY2EvcHViL2NybC9jYWNybC5jcmwwgZAGCCsGAQUFBwEBBIGDMIGAMD4GCCsG AQUFBzAChjJodHRwOi8vY2RwMS5wY2EuZGZuLmRlL2Z1LWNhL3B1Yi9jYWNlcnQvY2FjZXJ0 LmNydDA+BggrBgEFBQcwAoYyaHR0cDovL2NkcDIucGNhLmRmbi5kZS9mdS1jYS9wdWIvY2Fj ZXJ0L2NhY2VydC5jcnQwDQYJKoZIhvcNAQEFBQADggEBAHpL89pG6Pa8ULDIdREy0DMhVKKO A3JuBRF17wJdJPY1wpqvupHHLZERWPAHZtxidEB77083fV/3zVCsO+mK99UJHMzHy8/vWiYz b66OxHyl7DxkCPzg4lLsUfEPHDmGLJmagUdjxWQh31sDeCMjaDx3gckpYLsYzUlV0OfsTBM7 hHP+4jVtjI2l+VY0Wofc7j+oiaaoJ0pCerbWJWvvL4TUNXvwsfJPhRRe8Pu5xfnWS1oRrspS RIz6QXRo4degbR1gOgLCJwHpPMcyciJaF2ttI3mwKDceEXUOi42qqLxTEFmpwl1szlFqR9Qb 2fTT1zQ5woJDqiQgpajN6WRy88QwggU+MIIEJqADAgECAgQJzaUoMA0GCSqGSIb3DQEBBQUA MFoxCzAJBgNVBAYTAkRFMRMwEQYDVQQKEwpERk4tVmVyZWluMRAwDgYDVQQLEwdERk4tUEtJ MSQwIgYDVQQDExtERk4tVmVyZWluIFBDQSBHbG9iYWwgLSBHMDEwHhcNMDcwMTE3MTM0MTQ2 WhcNMTkwMTE1MDAwMDAwWjCBtTELMAkGA1UEBhMCREUxDzANBgNVBAgTBkJlcmxpbjEPMA0G A1UEBxMGQmVybGluMSIwIAYDVQQKExlGcmVpZSBVbml2ZXJzaXRhZXQgQmVybGluMQ4wDAYD VQQLEwVaRURBVDEwMC4GA1UEAxMnRnJlaWUgVW5pdmVyc2l0YWV0IEJlcmxpbiAtIEZVLUNB IC0gRzAxMR4wHAYJKoZIhvcNAQkBFg9jYUBGVS1CZXJsaW4uREUwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCNhQjTTjzMM16+SZeKkIONKkiv6wRuGJc/NadmcKeSYs6sQwVo 0NYNfqRxVDVU/vWikR8a5Hku1bQ/o34kzwTzLkdd1qnrZsPhh+DQpASaWH2+kxDvkFyRF5bv BEof821yuDyDCf3t3XsezyGBEaTxykFECzm/mFypFlyNHreYoKKyayOV3oxV1ZI1iFkmGlyd vR1XMxrcDtF/U6xcfANeuG6wI2mHX49rO7DZdsgpZIKwVLiqWEc6PlADfvmqTkiOOxSfDYWq WMuLOK73EHj+OFLHV/Pr7lFWdN7lNv0YxuTlFVH5289OfMX3pP/JbkOqwUgv7EFhDyO4WgFC iDczAgMBAAGjggGuMIIBqjAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4E FgQUBuE99G/0MLd6O1ewMQWJew1YWmwwHwYDVR0jBBgwFoAUSbfGz+g9H3/qRHsTKffxCnA+ 3mQwGgYDVR0RBBMwEYEPY2FARlUtQmVybGluLkRFMIGIBgNVHR8EgYAwfjA9oDugOYY3aHR0 cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY3JsL2NhY3JsLmNybDA9 oDugOYY3aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1jYS9wdWIvY3JsL2Nh Y3JsLmNybDCBogYIKwYBBQUHAQEEgZUwgZIwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jZHAxLnBj YS5kZm4uZGUvZ2xvYmFsLXJvb3QtY2EvcHViL2NhY2VydC9jYWNlcnQuY3J0MEcGCCsGAQUF BzAChjtodHRwOi8vY2RwMi5wY2EuZGZuLmRlL2dsb2JhbC1yb290LWNhL3B1Yi9jYWNlcnQv Y2FjZXJ0LmNydDANBgkqhkiG9w0BAQUFAAOCAQEATIbsUIrz6hArw3FPuSeQOa3nzuGnQDk3 XEG0XunBcDPdAxq5dI9Sn7Y+KRdXsF54bFxvbVNWIax0mDee3iEuAEj4v44oz5yzyNQOxJta uhQPmbDIgCVkQ1hGtqKiljHgOUtrEWiivqyFgKZaJ3uOjn+4QtskUA6mCpLqlDaUIIA9WxIs t1RL6xnHrYP9vjY/nvKKk75AXunTyP8nWYkgN5z1DN9LOA2VrUtNzGGyHcfxX7MUKjziVuid eJU237y1wNdsRVIczDImju+u2r4vRCy1oYRwClr6zJKk929OXoGX5rJ9E06B6omRtHqDR65X 7shnEIwNpZYwqSMMxdWoUTGCAkUwggJBAgEBMIG+MIG1MQswCQYDVQQGEwJERTEPMA0GA1UE CBMGQmVybGluMQ8wDQYDVQQHEwZCZXJsaW4xIjAgBgNVBAoTGUZyZWllIFVuaXZlcnNpdGFl dCBCZXJsaW4xDjAMBgNVBAsTBVpFREFUMTAwLgYDVQQDEydGcmVpZSBVbml2ZXJzaXRhZXQg QmVybGluIC0gRlUtQ0EgLSBHMDExHjAcBgkqhkiG9w0BCQEWD2NhQEZVLUJlcmxpbi5ERQIE Dj5VvjAJBgUrDgMCGgUAoF0wIwYJKoZIhvcNAQkEMRYEFNs7z0F23PhncFSc4ouOkvHMzSOJ MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEwMTEyMzA5MDY0 MlowDQYJKoZIhvcNAQEBBQAEggEAyOdgWWVq2aWeIruyTMiPm2uuQ7wQ7Y0BiyF6rN0pn+us pX6RhyrWlzhkzfUo10NjnsBFYoS5AJsXekIuHoEsMq+NtKqNGaFeBs9J6u9Twi3YFqEK56uB 2jBg4Ng0HKBZFdG1XwpIttIdKwEAPYFGiXKSYlww9EeIkJjUMW4IlGRK4UN6e/a1EiawMDZ5 COVWORDbxHI/24CcxrtmQ6Y2bNb4T27bOqVbY63hM1AliXzz6YYvcgPDnmxGWjcqvkEqac3G i8Ly/GNJV12nph0ywmkre8Ti6p2gA0gKsaS/N/Oy6T3qTiXr9EpMGWUkinRprKdqXqzAEihB SKAr4RsHuw== --B_3373351602_2818314-- From f.buske@uq.edu.au Tue Nov 23 22:47:40 2010 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PL0iA-0006vh-IR>; Tue, 23 Nov 2010 22:47:38 +0100 Received: from mailhub4.uq.edu.au ([130.102.149.131]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PL0i9-0008Fp-D6>; Tue, 23 Nov 2010 22:47:38 +0100 Received: from smtp3.uq.edu.au (smtp3.uq.edu.au [130.102.128.18]) by mailhub4.uq.edu.au (8.13.8/8.13.8) with ESMTP id oANLlXg2000938 for ; Wed, 24 Nov 2010 07:47:33 +1000 Received: from imb10-008701.imb.uq.edu.au (imb10-008701.imb.uq.edu.au [130.102.118.152]) (authenticated bits=0) by smtp3.uq.edu.au (8.13.8/8.13.8) with ESMTP id oANLlVOr004733 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 24 Nov 2010 07:47:33 +1000 Message-ID: <4CEC3673.3030604@uq.edu.au> Date: Wed, 24 Nov 2010 07:47:31 +1000 From: Fabian Buske User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6 MIME-Version: 1.0 To: SeqAn Development References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-UQ-FilterTime: 1290548853 X-Scanned-By: MIMEDefang 2.58 on UQ Mailhub on 130.102.149.131 X-Originating-IP: 130.102.149.131 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290548858-00000C0F-5AE8295F/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000069, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Algerien.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=RATWARE_GECKO_BUILD Subject: Re: [Seqan-dev] Skiplist does not find existing key X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Nov 2010 21:47:40 -0000 Doh! Thanks for the heads up, Knut. The VectorSet version still won't compile though even when the output via the iterator is removed from the test. Would be nice to get that one working just as well. Best, Fabian On 23/11/10 7:06 PM, Reinert, Knut wrote: > Dear Fabian, > > The skip lists are OK. > Your operator< is wrong. For (4,3,2)< (2,4,4) it yields true, which is > not what you intend. > > Here is the fixed version with which your test works. > > > template > bool TestKey::operator<(const TestKey & b) const { > if (value1< b.value1) return true; > if (value1> b.value1) return false; > if (value2< b.value2) return true; > if (value2> b.value2) return false; > if (value3< b.value3) return true; > if (value3> b.value3) return false; > return false; > } > > > Cheers, > > Knut > > > > > Am 11/23/10 8:46 AM schrieb "Reinert, Knut" unter > : > >> Hm >> So beim direkten compilieren gibt es Fehler (s.u.) >> >> Compiliert das test file mit dem SVN head bei Dir? >> >> >> >> Building CXX object >> tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/test_ >> m >> ap.cpp.o >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h: In function >> Œvoid Test_Map_Complex_Key() [with TMap = seqan::Map> int>, seqan::VectorSet > >]¹: >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >> instantiated from here >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue3¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue2¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue1¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >> instantiated from here >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue3¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue2¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue1¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue3¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue2¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >> Œstruct >> seqan::Proxy> int>, seqan::VectorSet > >, seqan::VectorSetIterator> > >>> ¹ has no member named Œvalue1¹ >> /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface >> . >> h: At global scope: >> /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface >> . >> h: In instantiation of Œseqan::ValueSize >¹: >> /Users/reinert/seqan/projects/library/seqan/map/map_vector.h:103: >> instantiated from Œseqan::Map >::Map() >> [with TValue = TestKey, TSpec = seqan::Alloc]¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:452: >> instantiated from Œvoid Test_Map_Complex_Key() [with TMap = >> seqan::Map, seqan::VectorSet > >>> ]¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >> instantiated from here >> /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interface >> . >> h:963: warning: left shift count>= width of type >> /Users/reinert/seqan/projects/library/seqan/sequence/lexical.h: In >> function Œunsigned int seqan::ordValue(const TValue&) [with TValue = >> TestKey]¹: >> /Users/reinert/seqan/projects/library/seqan/map/map_vector.h:328: >> instantiated from Œtypename seqan::Iterator> seqan::VectorSet >, typename >> seqan::DefaultIteratorSpec > >>> ::Type>::Type seqan::find(seqan::Map >&, >>> const TKey&) [with TKey = TestKey, TKey2 = TestKey>> long int>, TSpec = seqan::Alloc]¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:464: >> instantiated from Œvoid Test_Map_Complex_Key() [with TMap = >> seqan::Map, seqan::VectorSet > >>> ]¹ >> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >> instantiated from here >> /Users/reinert/seqan/projects/library/seqan/sequence/lexical.h:787: error: >> cannot convert Œconst TestKey¹ to Œunsigned int¹ in return >> make[3]: *** >> [tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/test >> _ >> map.cpp.o] Error 1 >> make[2]: *** [tests/CMakeFiles/test_map.dir/all] Error 2 >> make[1]: *** [tests/CMakeFiles/test_map.dir/rule] Error 2 >> >> >> >> Am 11/23/10 4:43 AM schrieb "Fabian Buske" unter: >> >>> Hi, >>> >>> I observed a rather peculiar phenomenon for the Skiplist map >>> specialisation, a data type I use quite extensively. >>> >>> Using a custom key class and comparator the skiplist sometimes does not >>> find a key that has been inserted into the map. Since the skiplist is a >>> randomised data structure this behaviour occurs by chance. >>> >>> When using the iterator to go through the Skiplist the element will >>> actually be output. I observed that the order of the objects (keys) in >>> the output is not the ordered lists of keys according to the comparator >>> (which I was expecting) but to the order in which the keys where >>> inserted into the map. I'm not sure if this is intended. >>> >>> I created a ticket for this phenomenon, which has an extended test_map >>> class attached demonstrating this behaviour: >>> http://trac.mi.fu-berlin.de/seqan/ticket/589 >>> >>> This phenomenon may have serious consequences on any application relying >>> on Skiplists. >>> >>> Best, >>> Fabian >>> >>> -- >>> >>> Fabian Buske >>> Institute for Molecular Bioscience >>> The University of Queensland >>> Brisbane, Qld. 4072 Australia >>> Phone: (61)-(7)-334-62608 >>> >>> >>> _______________________________________________ >>> seqan-dev mailing list >>> seqan-dev@lists.fu-berlin.de >>> https://lists.fu-berlin.de/listinfo/seqan-dev -- Fabian Buske Institute for Molecular Bioscience The University of Queensland Brisbane, Qld. 4072 Australia Phone: (61)-(7)-334-62608 From weese@campus.fu-berlin.de Thu Nov 25 13:26:34 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLauH-0001YP-8h>; Thu, 25 Nov 2010 13:26:33 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLauH-0002lw-6r>; Thu, 25 Nov 2010 13:26:33 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLauH-00012D-3V>; Thu, 25 Nov 2010 13:26:33 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Thu, 25 Nov 2010 13:26:32 +0100 From: "Weese, David" To: SeqAn Development Date: Thu, 25 Nov 2010 13:26:32 +0100 Thread-Topic: [Seqan-dev] Skiplist does not find existing key Thread-Index: AcuMm/5qiFtt9t/STrS+rZpuhfTDpg== Message-ID: <49DF9FF8-A4A6-4E9F-9D06-12D11AE55268@fu-berlin.de> References: <4CEC3673.3030604@uq.edu.au> In-Reply-To: <4CEC3673.3030604@uq.edu.au> Accept-Language: de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: de-DE Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290687993-00000C0F-7CA4128A/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.012170, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Algerien.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED Subject: Re: [Seqan-dev] Skiplist does not find existing key X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Nov 2010 12:26:34 -0000 Hi Fabian, VectorSets need a mapping from keys to ordinal numbers (function ordValue) = to work. They are designed for small or medium size alphabets and an effici= ent alternative to binary search based sets. They are not going to work on = your key set. ANFSCD, can you test cmake again on your machine. I hope I fixed the CUDA i= ssue. Cheers, David -- David Weese weese@inf.fu-berlin.de Freie Universit=E4t Berlin http://www.inf.fu-berlin.de/ Institut f=FCr Informatik Phone: +49 30 838 75246 Takustra=DFe 9 Algorithmic Bioinformatics 14195 Berlin Room 021=20 Am 23.11.2010 um 22:47 schrieb Fabian Buske: > Doh! Thanks for the heads up, Knut. >=20 > The VectorSet version still won't compile though even when the output=20 > via the iterator is removed from the test. Would be nice to get that one= =20 > working just as well. >=20 > Best, > Fabian >=20 >=20 > On 23/11/10 7:06 PM, Reinert, Knut wrote: >> Dear Fabian, >>=20 >> The skip lists are OK. >> Your operator< is wrong. For (4,3,2)< (2,4,4) it yields true, which is >> not what you intend. >>=20 >> Here is the fixed version with which your test works. >>=20 >>=20 >> template >> bool TestKey::operator<(const TestKey & b) const { >> if (value1< b.value1) return true; >> if (value1> b.value1) return false; >> if (value2< b.value2) return true; >> if (value2> b.value2) return false; >> if (value3< b.value3) return true; >> if (value3> b.value3) return false; >> return false; >> } >>=20 >>=20 >> Cheers, >>=20 >> Knut >>=20 >>=20 >>=20 >>=20 >> Am 11/23/10 8:46 AM schrieb "Reinert, Knut" unter >> : >>=20 >>> Hm >>> So beim direkten compilieren gibt es Fehler (s.u.) >>>=20 >>> Compiliert das test file mit dem SVN head bei Dir? >>>=20 >>>=20 >>>=20 >>> Building CXX object >>> tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/te= st_ >>> m >>> ap.cpp.o >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h: In functio= n >>> =8Cvoid Test_Map_Complex_Key() [with TMap =3D seqan::Map>> int>, seqan::VectorSet > >]=B9: >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >>> instantiated from here >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue3=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue2=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:470: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue1=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >>> instantiated from here >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue3=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue2=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:471: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue1=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue3=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue2=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:472: error: >>> =8Cstruct >>> seqan::Proxy>> int>, seqan::VectorSet > >, seqan::VectorSetIterat= or> > >>>> =B9 has no member named =8Cvalue1=B9 >>> /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interf= ace >>> . >>> h: At global scope: >>> /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interf= ace >>> . >>> h: In instantiation of =8Cseqan::ValueSize >=B9= : >>> /Users/reinert/seqan/projects/library/seqan/map/map_vector.h:103: >>> instantiated from =8Cseqan::Map >::M= ap() >>> [with TValue =3D TestKey, TSpec =3D seqan::Alloc]= =B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:452: >>> instantiated from =8Cvoid Test_Map_Complex_Key() [with TMap =3D >>> seqan::Map, seqan::VectorSet = > >>>> ]=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >>> instantiated from here >>> /Users/reinert/seqan/projects/library/seqan/basic/basic_alphabet_interf= ace >>> . >>> h:963: warning: left shift count>=3D width of type >>> /Users/reinert/seqan/projects/library/seqan/sequence/lexical.h: In >>> function =8Cunsigned int seqan::ordValue(const TValue&) [with TValue = =3D >>> TestKey]=B9: >>> /Users/reinert/seqan/projects/library/seqan/map/map_vector.h:328: >>> instantiated from =8Ctypename seqan::Iterator>> seqan::VectorSet >, typename >>> seqan::DefaultIteratorSpec > >>>> ::Type>::Type seqan::find(seqan::Map >= &, >>>> const TKey&) [with TKey =3D TestKey, TKey2 =3D TestKey<= long >>>> long int>, TSpec =3D seqan::Alloc]=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:464: >>> instantiated from =8Cvoid Test_Map_Complex_Key() [with TMap =3D >>> seqan::Map, seqan::VectorSet = > >>>> ]=B9 >>> /Users/reinert/seqan/projects/tests/map/test_map_extended.h:502: >>> instantiated from here >>> /Users/reinert/seqan/projects/library/seqan/sequence/lexical.h:787: err= or: >>> cannot convert =8Cconst TestKey=B9 to =8Cunsigned int=B9= in return >>> make[3]: *** >>> [tests/CMakeFiles/test_map.dir/Users/reinert/seqan/projects/tests/map/t= est >>> _ >>> map.cpp.o] Error 1 >>> make[2]: *** [tests/CMakeFiles/test_map.dir/all] Error 2 >>> make[1]: *** [tests/CMakeFiles/test_map.dir/rule] Error 2 >>>=20 >>>=20 >>>=20 >>> Am 11/23/10 4:43 AM schrieb "Fabian Buske" unter: >>>=20 >>>> Hi, >>>>=20 >>>> I observed a rather peculiar phenomenon for the Skiplist map >>>> specialisation, a data type I use quite extensively. >>>>=20 >>>> Using a custom key class and comparator the skiplist sometimes does no= t >>>> find a key that has been inserted into the map. Since the skiplist is = a >>>> randomised data structure this behaviour occurs by chance. >>>>=20 >>>> When using the iterator to go through the Skiplist the element will >>>> actually be output. I observed that the order of the objects (keys) in >>>> the output is not the ordered lists of keys according to the comparato= r >>>> (which I was expecting) but to the order in which the keys where >>>> inserted into the map. I'm not sure if this is intended. >>>>=20 >>>> I created a ticket for this phenomenon, which has an extended test_map >>>> class attached demonstrating this behaviour: >>>> http://trac.mi.fu-berlin.de/seqan/ticket/589 >>>>=20 >>>> This phenomenon may have serious consequences on any application relyi= ng >>>> on Skiplists. >>>>=20 >>>> Best, >>>> Fabian >>>>=20 >>>> --=20 >>>>=20 >>>> Fabian Buske >>>> Institute for Molecular Bioscience >>>> The University of Queensland >>>> Brisbane, Qld. 4072 Australia >>>> Phone: (61)-(7)-334-62608 >>>>=20 >>>>=20 >>>> _______________________________________________ >>>> seqan-dev mailing list >>>> seqan-dev@lists.fu-berlin.de >>>> https://lists.fu-berlin.de/listinfo/seqan-dev >=20 >=20 > --=20 > Fabian Buske > Institute for Molecular Bioscience > The University of Queensland > Brisbane, Qld. 4072 Australia > Phone: (61)-(7)-334-62608 >=20 >=20 > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev From weese@campus.fu-berlin.de Thu Nov 25 13:38:43 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLb61-0001xh-I2>; Thu, 25 Nov 2010 13:38:41 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp (envelope-from ) id <1PLb61-0005fY-Ep>; Thu, 25 Nov 2010 13:38:41 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) with esmtp (envelope-from ) id <1PLb61-0001yk-83>; Thu, 25 Nov 2010 13:38:41 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Thu, 25 Nov 2010 13:38:40 +0100 From: "Weese, David" To: SeqAn Development Date: Thu, 25 Nov 2010 13:38:39 +0100 Thread-Topic: [Seqan-dev] I have a question !! :) Thread-Index: AcuMnbBE43Tjv4hNSlK3HPSEfxwE4A== Message-ID: <0D7C2B29-3043-4D41-BEB0-4C4721E68062@fu-berlin.de> References: <000001cb8186$484c45b0$d8e4d110$@ac.kr> In-Reply-To: <000001cb8186$484c45b0$d8e4d110$@ac.kr> Accept-Language: de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: de-DE Content-Type: multipart/alternative; boundary="_000_0D7C2B2930434D41BEB04C4721E68062fuberlinde_" MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290688721-00000C0F-4A8C0FFD/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.049380, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Dschibuti.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE, HTML_TAG_EXIST_TBODY,HTML_WEB_BUGS Subject: Re: [Seqan-dev] I have a question !! :) X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Nov 2010 12:38:43 -0000 --_000_0D7C2B2930434D41BEB04C4721E68062fuberlinde_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNCkknbSBub3QgdGhlIGF1dGhvciBvZiB0aGlzIEZpbmRlciwgYnV0IHRoZSBzb3VyY2Ug Y29kZSBzZWVtcyB0byBhbGxvdyBvbmx5IHJlcGVhdHMgb2YgY2hhcmFjdGVyIGNsYXNzZXMuIFlv dSBuZWVkIHJlcGVhdGVkIHNlcXVlbmNlcy4NClBsZWFzZSBoYXZlIGEgbG9vayBhdCB0aGUgb3Jp Z2luYWwgcHVibGljYXRpb24gb2YgdGhlIHdpbGRjYXJkIHNoaWZ0LWFuZCBhbGdvcml0aG0gaW46 DQpOYXZhcnJvLCBSYWZmaW5vdCwgIkZsZXhpYmxlIFBhdHRlcm4gTWF0Y2hpbmcgaW4gU3RyaW5n cyIgKDIwMDIpLCBzZWN0aW9uIDQuMy4xDQoNClJlZ2FyZHMsDQpEYXZpZA0KDQoNCi0tDQpEYXZp ZCBXZWVzZSB3ZWVzZUBpbmYuZnUtYmVybGluLmRlPG1haWx0bzp3ZWVzZUBpbmYuZnUtYmVybGlu LmRlPg0KRnJlaWUgVW5pdmVyc2l0w6R0IEJlcmxpbiBodHRwOi8vd3d3LmluZi5mdS1iZXJsaW4u ZGUvDQpJbnN0aXR1dCBmw7xyIEluZm9ybWF0aWsgUGhvbmU6ICs0OSAzMCA4MzggNzUyNDYNClRh a3VzdHJhw59lIDkgQWxnb3JpdGhtaWMgQmlvaW5mb3JtYXRpY3MNCjE0MTk1IEJlcmxpbiBSb29t IDAyMQ0KDQpBbSAxMS4xMS4yMDEwIHVtIDEwOjUzIHNjaHJpZWIg6rmA66+47KCVOg0KDQoNCkhp LCBJ4oCZbSBNaSBqZW9uZyBLaW0gYW5kIHN0dWRlbnQgZnJvbSBrb3JlYS4NCkkgYXR0ZW5kIHRv IGNsYXNzIGFib3V0IFRvcGljcyBpbiBCaW9pbmZvcm1hdGljcy4NCldlIHN0dWRpZWQgYWJvdXQg Y29udmVuaWVuY2Ugb2YgYWxpZ25tZW50IHRvb2wgYnkgdXNpbmcgU2VxQW4gYXQgbGFzdCB3ZWVr DQphbmQgZm91bmQgdGhlIHVzZSBvZiB3aWxkY2FyZCBicmFjZXMgeyB9Lg0KQnV0IHdlIGNvdWxk buKAmXQgdXNlIGJyYWNlcy4NCg0KVGhlIGNvcmUgb2YgdGhpcyBtYWlsICEhDQoNCldlIHdhbnQg dG8ga25vdyB0aGUgdXNpbmcgb2YgdGhlIGJyYWNlcyBhdCB0aGlzIHNpdHVhdGlvbi4NCmZvciBl eGFtcGxlDQpHQ0dUVEdDR0NHQ0dDVFRUQVRDR1RUR0NHQ1RUQVRHQw0KKEdDKSA8LSByZXBlYXQN Cg0KDQpXZSB0cmllZCBtYW55IHBhdHRlcm4NCkZvciBleGFtcGxlDQoxLiAgICAgbmVlZGxlID0g 4oCcKEdDKXsyLCA0feKAnQ0KMi4gICAgIG5lZWRsZSA9IOKAnEdDezIsIDR94oCdDQozLiAgICAg bmVlZGxlID0g4oCcR0N7MiwgNH0r4oCdDQo0LiAgICAgbmVlZGxlID0g4oCcR0MrezIsIDR94oCd DQo1LiAgICAgbmVlZGxlID0g4oCcKEdDKSt7MiwgNH3igJ0NCuKApuKApuKApg0KDQpidXQgdGhp cyBwcm9ncmFtIGRpZG7igJl0IHdvcmsuDQoNCkNvdWxkIHlvdSB0ZWxsIG1lIGhvdyB0byB1c2Ug dGhlIGJyYWNlcyBhdCB0aGlzIHNpdHVhdGlvbiA/DQoNCg0KVGhhbmsgeW91IGZvciByZWFkIG15 IGF3a3dhcmQgbWFpbCBhbmQgaG9wZSB5b3UgdG8gYW5zd2VyIG1lLg0KSGF2ZSBhIG5pY2UgZGF5 ICENCg0KDQogPEFUVDAwMDAxLi50eHQ+DQoNCg== --_000_0D7C2B2930434D41BEB04C4721E68062fuberlinde_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+PGJhc2UgaHJlZj0ieC1tc2c6Ly8zNy8iPjwvaGVhZD48Ym9keSBzdHlsZT0i d29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJraXQt bGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7ICI+SGksPGRpdj48YnI+PC9kaXY+PGRpdj5J J20gbm90IHRoZSBhdXRob3Igb2YgdGhpcyBGaW5kZXIsIGJ1dCB0aGUgc291cmNlIGNvZGUgc2Vl bXMgdG8gYWxsb3cgb25seSByZXBlYXRzIG9mIGNoYXJhY3RlciBjbGFzc2VzLiBZb3UgbmVlZCBy ZXBlYXRlZCBzZXF1ZW5jZXMuPC9kaXY+PGRpdj5QbGVhc2UgaGF2ZSBhIGxvb2sgYXQgdGhlIG9y aWdpbmFsIHB1YmxpY2F0aW9uIG9mIHRoZSB3aWxkY2FyZCBzaGlmdC1hbmQgYWxnb3JpdGhtIGlu OjwvZGl2PjxkaXY+TmF2YXJybywgUmFmZmlub3QsICJGbGV4aWJsZSBQYXR0ZXJuIE1hdGNoaW5n IGluIFN0cmluZ3MiICgyMDAyKSwgc2VjdGlvbiA0LjMuMTwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk aXY+UmVnYXJkcyw8L2Rpdj48ZGl2PkRhdmlkPGJyPjxkaXY+DQo8YnI+PGJyPi0tPGJyPkRhdmlk IFdlZXNlPHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6IHBy ZTsgIj4JCQkJPC9zcGFuPjxhIGhyZWY9Im1haWx0bzp3ZWVzZUBpbmYuZnUtYmVybGluLmRlIj53 ZWVzZUBpbmYuZnUtYmVybGluLmRlPC9hPjxicj5GcmVpZSBVbml2ZXJzaXTDpHQgQmVybGluPHNw YW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6IHByZTsgIj4JCTwv c3Bhbj5odHRwOi8vd3d3LmluZi5mdS1iZXJsaW4uZGUvPGJyPkluc3RpdHV0IGbDvHIgSW5mb3Jt YXRpazxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOiBwcmU7 ICI+CQkJPC9zcGFuPlBob25lOiArNDkgMzAmbmJzcDs4MzggNzUyNDY8YnI+VGFrdXN0cmHDn2Ug OTxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOiBwcmU7ICI+ CQkJCQk8L3NwYW4+QWxnb3JpdGhtaWMmbmJzcDtCaW9pbmZvcm1hdGljczxicj4xNDE5NSBCZXJs aW48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlOyAi PgkJCQkJPC9zcGFuPlJvb20gMDIxJm5ic3A7DQo8L2Rpdj4NCjxicj48ZGl2PjxkaXY+QW0gMTEu MTEuMjAxMCB1bSAxMDo1MyBzY2hyaWViIOq5gOuvuOyglTo8L2Rpdj48YnIgY2xhc3M9IkFwcGxl LWludGVyY2hhbmdlLW5ld2xpbmUiPjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPjxzcGFuIGNsYXNz PSJBcHBsZS1zdHlsZS1zcGFuIiBzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsgZm9u dC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5v cm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgbGluZS1o ZWlnaHQ6IG5vcm1hbDsgb3JwaGFuczogMjsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAw cHg7IC13ZWJraXQtYm9yZGVyLWhvcml6b250YWwtc3BhY2luZzogMHB4OyAtd2Via2l0LWJvcmRl ci12ZXJ0aWNhbC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZl Y3Q6IG5vbmU7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsgLXdlYmtpdC10ZXh0LXN0 cm9rZS13aWR0aDogMHB4OyBmb250LXNpemU6IG1lZGl1bTsgIj48ZGl2IGxhbmc9IktPIiBsaW5r PSJibHVlIiB2bGluaz0icHVycGxlIj48ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiIHN0eWxlPSJw YWdlOiBXb3JkU2VjdGlvbjE7ICI+PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4t cmlnaHQ6IDBjbTsgbWFyZ2luLWJvdHRvbTogMC4wMDAxcHQ7IG1hcmdpbi1sZWZ0OiAwY207IHRl eHQtYWxpZ246IGp1c3RpZnk7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg 6rOg65SVJzsgIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgbWFyZ2lu LWJvdHRvbTogMC4wMDAxcHQ7IG1hcmdpbi1sZWZ0OiAwY207IHRleHQtYWxpZ246IGp1c3RpZnk7 IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg6rOg65SVJzsgIj48c3BhbiBs YW5nPSJFTi1VUyI+SGksIEnigJltIE1pIGplb25nIEtpbSBhbmQgc3R1ZGVudCBmcm9tIGtvcmVh LjxvOnA+PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsgbWFy Z2luLXJpZ2h0OiAwY207IG1hcmdpbi1ib3R0b206IDAuMDAwMXB0OyBtYXJnaW4tbGVmdDogMGNt OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAn66eR 7J2AIOqzoOuUlSc7ICI+PHNwYW4gbGFuZz0iRU4tVVMiPkkgYXR0ZW5kIHRvIGNsYXNzIGFib3V0 IFRvcGljcyBpbiBCaW9pbmZvcm1hdGljcy48bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0 eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAw LjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXpl OiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVT Ij5XZSBzdHVkaWVkIGFib3V0IGNvbnZlbmllbmNlIG9mIGFsaWdubWVudCB0b29sIGJ5IHVzaW5n IFNlcUFuIGF0IGxhc3Qgd2VlazxvOnA+PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9Im1h cmdpbi10b3A6IDBjbTsgbWFyZ2luLXJpZ2h0OiAwY207IG1hcmdpbi1ib3R0b206IDAuMDAwMXB0 OyBtYXJnaW4tbGVmdDogMGNtOyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBmb250LXNpemU6IDEwcHQ7 IGZvbnQtZmFtaWx5OiAn66eR7J2AIOqzoOuUlSc7ICI+PHNwYW4gbGFuZz0iRU4tVVMiPmFuZCBm b3VuZCB0aGUgdXNlIG9mIHdpbGRjYXJkIGJyYWNlcyB7IH0uPG86cD48L286cD48L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgbWFyZ2lu LWJvdHRvbTogMC4wMDAxcHQ7IG1hcmdpbi1sZWZ0OiAwY207IHRleHQtYWxpZ246IGp1c3RpZnk7 IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg6rOg65SVJzsgIj48c3BhbiBs YW5nPSJFTi1VUyI+QnV0IHdlIGNvdWxkbuKAmXQgdXNlIGJyYWNlcy48bzpwPjwvbzpwPjwvc3Bh bj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBt YXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVz dGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxz cGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl PSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAw MDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAx MHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVTIj5U aGUgY29yZSBvZiB0aGlzIG1haWwgISE8bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl PSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAw MDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAx MHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVTIj48 bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207 IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6 IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTog J+unkeydgCDqs6DrlJUnOyAiPjxiPjxzcGFuIGxhbmc9IkVOLVVTIj5XZSB3YW50IHRvIGtub3cg dGhlIHVzaW5nIG9mIHRoZSBicmFjZXMgYXQgdGhpcyBzaXR1YXRpb24uPG86cD48L286cD48L3Nw YW4+PC9iPjwvZGl2Pjx0YWJsZSBjbGFzcz0iTXNvVGFibGVHcmlkIiBib3JkZXI9IjEiIGNlbGxz cGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgc3R5bGU9ImJvcmRlci1jb2xsYXBzZTogY29sbGFw c2U7IGJvcmRlci10b3Atc3R5bGU6IG5vbmU7IGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTsgYm9y ZGVyLWJvdHRvbS1zdHlsZTogbm9uZTsgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7IGJvcmRlci13 aWR0aDogaW5pdGlhbDsgYm9yZGVyLWNvbG9yOiBpbml0aWFsOyAiPjx0Ym9keT48dHI+PHRkIHdp ZHRoPSI2MzciIHZhbGlnbj0idG9wIiBzdHlsZT0id2lkdGg6IDQ3Ny45cHQ7IGJvcmRlci10b3At c3R5bGU6IHNvbGlkOyBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyBib3JkZXItYm90dG9tLXN0 eWxlOiBzb2xpZDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItdG9wLWNvbG9yOiB3 aW5kb3d0ZXh0OyBib3JkZXItcmlnaHQtY29sb3I6IHdpbmRvd3RleHQ7IGJvcmRlci1ib3R0b20t Y29sb3I6IHdpbmRvd3RleHQ7IGJvcmRlci1sZWZ0LWNvbG9yOiB3aW5kb3d0ZXh0OyBib3JkZXIt dG9wLXdpZHRoOiAxcHQ7IGJvcmRlci1yaWdodC13aWR0aDogMXB0OyBib3JkZXItYm90dG9tLXdp ZHRoOiAxcHQ7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHQ7IHBhZGRpbmctdG9wOiAwY207IHBhZGRp bmctcmlnaHQ6IDUuNHB0OyBwYWRkaW5nLWJvdHRvbTogMGNtOyBwYWRkaW5nLWxlZnQ6IDUuNHB0 OyAiPjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsgbWFyZ2luLXJpZ2h0OiAwY207IG1hcmdp bi1ib3R0b206IDAuMDAwMXB0OyBtYXJnaW4tbGVmdDogMGNtOyB0ZXh0LWFsaWduOiBqdXN0aWZ5 OyBmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAn66eR7J2AIOqzoOuUlSc7ICI+PHNwYW4g bGFuZz0iRU4tVVMiPmZvciBleGFtcGxlPG86cD48L286cD48L3NwYW4+PC9kaXY+PGRpdiBzdHls ZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgbWFyZ2luLWJvdHRvbTogMC4w MDAxcHQ7IG1hcmdpbi1sZWZ0OiAwY207IHRleHQtYWxpZ246IGp1c3RpZnk7IGZvbnQtc2l6ZTog MTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg6rOg65SVJzsgdGV4dC1pbmRlbnQ6IDE1cHQ7ICI+ PHNwYW4gbGFuZz0iRU4tVVMiPkdDR1RUR0NHQ0dDR0NUVFRBVENHVFRHQ0dDVFRBVEdDPG86cD48 L286cD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4tcmln aHQ6IDBjbTsgbWFyZ2luLWJvdHRvbTogMC4wMDAxcHQ7IG1hcmdpbi1sZWZ0OiAwY207IHRleHQt YWxpZ246IGp1c3RpZnk7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg6rOg 65SVJzsgdGV4dC1pbmRlbnQ6IDE1cHQ7ICI+PHNwYW4gbGFuZz0iRU4tVVMiPihHQykgJmx0Oy0g cmVwZWF0PG86cD48L286cD48L3NwYW4+PC9kaXY+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48 ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90 dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9u dC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9 IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4t dG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFy Z2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250 LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVTIj5XZSB0cmllZCBt YW55IHBhdHRlcm48bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj48dGFibGUgY2xhc3M9Ik1zb1RhYmxl R3JpZCIgYm9yZGVyPSIxIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIHN0eWxlPSJi b3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBib3JkZXItdG9wLXN0eWxlOiBub25lOyBib3JkZXIt cmlnaHQtc3R5bGU6IG5vbmU7IGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7IGJvcmRlci1sZWZ0 LXN0eWxlOiBub25lOyBib3JkZXItd2lkdGg6IGluaXRpYWw7IGJvcmRlci1jb2xvcjogaW5pdGlh bDsgIj48dGJvZHk+PHRyPjx0ZCB3aWR0aD0iNjM3IiB2YWxpZ249InRvcCIgc3R5bGU9IndpZHRo OiA0NzcuOXB0OyBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXJpZ2h0LXN0eWxlOiBz b2xpZDsgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xp ZDsgYm9yZGVyLXRvcC1jb2xvcjogd2luZG93dGV4dDsgYm9yZGVyLXJpZ2h0LWNvbG9yOiB3aW5k b3d0ZXh0OyBib3JkZXItYm90dG9tLWNvbG9yOiB3aW5kb3d0ZXh0OyBib3JkZXItbGVmdC1jb2xv cjogd2luZG93dGV4dDsgYm9yZGVyLXRvcC13aWR0aDogMXB0OyBib3JkZXItcmlnaHQtd2lkdGg6 IDFwdDsgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB0OyBib3JkZXItbGVmdC13aWR0aDogMXB0OyBw YWRkaW5nLXRvcDogMGNtOyBwYWRkaW5nLXJpZ2h0OiA1LjRwdDsgcGFkZGluZy1ib3R0b206IDBj bTsgcGFkZGluZy1sZWZ0OiA1LjRwdDsgIj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1h cmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBj bTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+un keydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVTIj5Gb3IgZXhhbXBsZTxvOnA+PC9vOnA+ PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsgbWFyZ2luLXJpZ2h0OiAw Y207IG1hcmdpbi1ib3R0b206IDAuMDAwMXB0OyBtYXJnaW4tbGVmdDogMzNwdDsgdGV4dC1hbGln bjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUn OyB0ZXh0LWluZGVudDogLTE4cHQ7ICI+PHNwYW4gbGFuZz0iRU4tVVMiPjxzcGFuPjEuPHNwYW4g c3R5bGU9ImZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDdwdC9ub3JtYWwgJ1RpbWVzIE5ldyBS b21hbic7ICI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZl cnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGxhbmc9 IkVOLVVTIj5uZWVkbGUgPSDigJwoR0MpezIsIDR94oCdPG86cD48L286cD48L3NwYW4+PC9kaXY+ PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgbWFyZ2luLWJv dHRvbTogMC4wMDAxcHQ7IG1hcmdpbi1sZWZ0OiAzM3B0OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBm b250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAn66eR7J2AIOqzoOuUlSc7IHRleHQtaW5kZW50 OiAtMThwdDsgIj48c3BhbiBsYW5nPSJFTi1VUyI+PHNwYW4+Mi48c3BhbiBzdHlsZT0iZm9udDog bm9ybWFsIG5vcm1hbCBub3JtYWwgN3B0L25vcm1hbCAnVGltZXMgTmV3IFJvbWFuJzsgIj4mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPm5lZWRs ZSA9IOKAnEdDezIsIDR94oCdPG86cD48L286cD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0ibWFy Z2luLXRvcDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgbWFyZ2luLWJvdHRvbTogMC4wMDAxcHQ7 IG1hcmdpbi1sZWZ0OiAzM3B0OyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyBmb250LXNpemU6IDEwcHQ7 IGZvbnQtZmFtaWx5OiAn66eR7J2AIOqzoOuUlSc7IHRleHQtaW5kZW50OiAtMThwdDsgIj48c3Bh biBsYW5nPSJFTi1VUyI+PHNwYW4+My48c3BhbiBzdHlsZT0iZm9udDogbm9ybWFsIG5vcm1hbCBu b3JtYWwgN3B0L25vcm1hbCAnVGltZXMgTmV3IFJvbWFuJzsgIj4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDs8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PC9z cGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPm5lZWRsZSA9IOKAnEdDezIsIDR9 K+KAnTxvOnA+PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDBjbTsg bWFyZ2luLXJpZ2h0OiAwY207IG1hcmdpbi1ib3R0b206IDAuMDAwMXB0OyBtYXJnaW4tbGVmdDog MzNwdDsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTog J+unkeydgCDqs6DrlJUnOyB0ZXh0LWluZGVudDogLTE4cHQ7ICI+PHNwYW4gbGFuZz0iRU4tVVMi PjxzcGFuPjQuPHNwYW4gc3R5bGU9ImZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDdwdC9ub3Jt YWwgJ1RpbWVzIE5ldyBSb21hbic7ICI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PHNwYW4gY2xh c3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9z cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj5uZWVkbGUgPSDigJxHQyt7MiwgNH3igJ08bzpwPjwvbzpw Pjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDog MGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDMzcHQ7IHRleHQtYWxp Z246IGp1c3RpZnk7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg6rOg65SV JzsgdGV4dC1pbmRlbnQ6IC0xOHB0OyAiPjxzcGFuIGxhbmc9IkVOLVVTIj48c3Bhbj41LjxzcGFu IHN0eWxlPSJmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCA3cHQvbm9ybWFsICdUaW1lcyBOZXcg Um9tYW4nOyAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPSJBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBsYW5n PSJFTi1VUyI+bmVlZGxlID0g4oCcKEdDKSt7MiwgNH3igJ08bzpwPjwvbzpwPjwvc3Bhbj48L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4t Ym90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDE1cHQ7IHRleHQtYWxpZ246IGp1c3RpZnk7 IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg6rOg65SVJzsgIj48c3BhbiBs YW5nPSJFTi1VUyI+4oCm4oCm4oCmPG86cD48L286cD48L3NwYW4+PC9kaXY+PC90ZD48L3RyPjwv dGJvZHk+PC90YWJsZT48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDog MGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGln bjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUn OyAiPjxzcGFuIGxhbmc9IkVOLVVTIj5idXQgdGhpcyBwcm9ncmFtIGRpZG7igJl0IHdvcmsuPG86 cD48L286cD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4t cmlnaHQ6IDBjbTsgbWFyZ2luLWJvdHRvbTogMC4wMDAxcHQ7IG1hcmdpbi1sZWZ0OiAwY207IHRl eHQtYWxpZ246IGp1c3RpZnk7IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg 6rOg65SVJzsgIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgbWFyZ2lu LWJvdHRvbTogMC4wMDAxcHQ7IG1hcmdpbi1sZWZ0OiAwY207IHRleHQtYWxpZ246IGp1c3RpZnk7 IGZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICfrp5HsnYAg6rOg65SVJzsgIj48c3BhbiBs YW5nPSJFTi1VUyI+Q291bGQgeW91IHRlbGwgbWUgaG93IHRvIHVzZSB0aGUgYnJhY2VzIGF0IHRo aXMgc2l0dWF0aW9uID88bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4t dG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFy Z2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250 LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNw OzwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1y aWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4 dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDq s6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2Rp dj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4t Ym90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsg Zm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxh bmc9IkVOLVVTIj5UaGFuayB5b3UgZm9yIHJlYWQgbXkgYXdrd2FyZCBtYWlsIGFuZCBob3BlIHlv dSB0byBhbnN3ZXIgbWUuPG86cD48L286cD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2lu LXRvcDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgbWFyZ2luLWJvdHRvbTogMC4wMDAxcHQ7IG1h cmdpbi1sZWZ0OiAwY207IHRleHQtYWxpZ246IGp1c3RpZnk7IGZvbnQtc2l6ZTogMTBwdDsgZm9u dC1mYW1pbHk6ICfrp5HsnYAg6rOg65SVJzsgIj48c3BhbiBsYW5nPSJFTi1VUyI+SGF2ZSBhIG5p Y2UgZGF5ICE8bzpwPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAw Y207IG1hcmdpbi1yaWdodDogMGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxl ZnQ6IDBjbTsgdGV4dC1hbGlnbjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWls eTogJ+unkeydgCDqs6DrlJUnOyAiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpw Pjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAwY207IG1hcmdpbi1yaWdodDog MGNtOyBtYXJnaW4tYm90dG9tOiAwLjAwMDFwdDsgbWFyZ2luLWxlZnQ6IDBjbTsgdGV4dC1hbGln bjoganVzdGlmeTsgZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJ+unkeydgCDqs6DrlJUn OyAiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2Rpdj48L2Rp dj48aW1nIHNyYz0iaHR0cDovL3dlYm1haWwucHVzYW4uYWMua3IvY2dpLWJpbi9zZXRjb25maXJt LmNnaT9rPTEyODk0Njg5NDc4NjY4MzUxMTg1NTkmYW1wO3U9ZGpzbXJoYWsmYW1wO2Q9cHVzYW4u YWMua3IiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQt c3BhY2UiPiZuYnNwOzwvc3Bhbj48c3Bhbj4mbHQ7QVRUMDAwMDEuLnR4dCZndDs8L3NwYW4+PC9k aXY+PC9zcGFuPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PC9kaXY+PC9ib2R5PjwvaHRtbD4= --_000_0D7C2B2930434D41BEB04C4721E68062fuberlinde_-- From matthias.dodt@mdc-berlin.de Fri Nov 26 13:51:10 2010 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLxld-0007Zi-6K>; Fri, 26 Nov 2010 13:51:09 +0100 Received: from sinope.bbbm.mdc-berlin.de ([141.80.25.23]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLxld-0007N1-3R>; Fri, 26 Nov 2010 13:51:09 +0100 Received: from localhost (localhost [127.0.0.1]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id B97BC17C88D for ; Fri, 26 Nov 2010 13:51:08 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= content-type:content-type:subject:subject:mime-version :user-agent:from:from:date:date:message-id:received:received :received:received; s=dkim1; t=1290775863; x=1292590263; bh=IR2C mT3Jkz8+LgHEMrUmKUTMLrbXgD1zbrHxOYmav/k=; b=cWyk/HyWBvL3rQAwN7sJ IUiNO7kLdefsFt8DI7P2sl1/h8HnzuVNyrq3PElYtBa4rJGrwj7OG43PzZkzvjxk wh4fbsGy//khaGlxZcaM5nbBBuY4HfmXTwOYZuFVEbJjiIVpHSq62AsXM/hDs/D/ 3cwx/QXMWbLkjm7metqo/Eg= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from sinope.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ra-sUlbkwwYc for ; Fri, 26 Nov 2010 13:51:03 +0100 (CET) Received: from mdcmail.mdc-berlin.de (mab.citx.mdc-berlin.de [141.80.36.102]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Fri, 26 Nov 2010 13:51:02 +0100 (CET) Received: from mdcexcl.mdc-berlin.net ([141.80.184.16]) by mdcmail.mdc-berlin.de with Microsoft SMTPSVC(6.0.3790.4675); Fri, 26 Nov 2010 13:52:09 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Fri, 26 Nov 2010 13:52:08 +0100 Message-ID: <4CEFAD8A.6090006@mdc-berlin.de> Date: Fri, 26 Nov 2010 13:52:26 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.12) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de Content-Type: multipart/alternative; boundary="------------030606010308030003090100" X-OriginalArrivalTime: 26 Nov 2010 12:52:08.0400 (UTC) FILETIME=[BC369500:01CB8D68] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17790.003 X-TM-AS-Result: No--10.251200-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-Originating-IP: 141.80.25.23 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290775869-00000C0F-64EE9474/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.335515, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Algerien.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=HTML_40_50,HTML_MESSAGE, RATWARE_GECKO_BUILD Subject: [Seqan-dev] problem with interval tree - assertion failed X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Nov 2010 12:51:10 -0000 This is a multi-part message in MIME format. --------------030606010308030003090100 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Hey guys! I got a problem with the interval tree. I want to load contigs and create intervals of the contigs sizes: //Interval tree construction typedef int TValue; //position type typedef gip::MappedFragment TCargo; // interval id type typedef IntervalAndCargo TInterval;// interval type typedef IntervalTree TIntervalTree;// interval tree type std::cout << "Loading contigs file..." << std::endl; if(!loadContigs(fragStore,genomeFileName)){ std::cerr << "Error opening genome file!" << std::endl; return -1; } unsigned int numberOfContigs = length(fragStore.contigNameStore); std::cout << "Found " << numberOfContigs << " contigs in genome file." << std::endl; std::map contigMap; for(unsigned int n=0;n(pos) < static_cast(length(me)) was: 0 >= 0 (Trying to access an element behind the last one!) if i remove the "addInterval" statement i get the output for each contig... thanks! best, mat --------------030606010308030003090100 Content-Type: text/html; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit Hey guys!

I got a problem with the interval tree. I want to load contigs and create intervals of the contigs sizes:

    //Interval tree construction
    typedef int TValue; //position type
    typedef gip::MappedFragment TCargo; // interval id type
    typedef IntervalAndCargo<TValue, TCargo*> TInterval;// interval type
    typedef IntervalTree<TValue, TCargo*> TIntervalTree;// interval tree type

    std::cout << "Loading contigs file..." << std::endl;
    if(!loadContigs(fragStore,genomeFileName)){
            std::cerr << "Error opening genome file!" << std::endl;
            return -1;
    }

    unsigned int numberOfContigs = length(fragStore.contigNameStore);
    std::cout << "Found " << numberOfContigs << " contigs in genome file." << std::endl;

    std::map<CharString, TIntervalTree*> contigMap;

    for(unsigned int n=0;n<numberOfContigs;++n){
        std::cout << "NAME: " << fragStore.contigNameStore[n] << std::endl;
        std::cout << "LENGTH: " << length(fragStore.contigStore[n].seq) << std::endl;
        TIntervalTree *tree = new TIntervalTree;
        TInterval in;
        in.i1 = 0;
        in.i2 = length(fragStore.contigStore[n].seq);
        in.cargo = NULL;

        addInterval(*tree, in);

     }

output:
=======
Loading contigs file...
Found 40 contigs in genome file.
/Users/mat/cpp_develop/seqan-trunk/projects/library/seqan/sequence/string_base.hNAME: 1
LENGTH: 6844
:219 Assertion failed : static_cast<TStringPos>(pos) < static_cast<TStringPos>(length(me)) was: 0 >= 0 (Trying to access an element behind the last one!)

if i remove the "addInterval" statement i get the output for each contig...

thanks!

best,

mat
--------------030606010308030003090100-- From matthias.dodt@mdc-berlin.de Fri Nov 26 16:15:44 2010 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PM01W-0003y5-8C>; Fri, 26 Nov 2010 16:15:42 +0100 Received: from sinope.bbbm.mdc-berlin.de ([141.80.25.23]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PM01W-0005Tt-5S>; Fri, 26 Nov 2010 16:15:42 +0100 Received: from localhost (localhost [127.0.0.1]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id E951D17C89D for ; Fri, 26 Nov 2010 16:15:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= content-type:content-type:in-reply-to:references:subject:subject :mime-version:user-agent:from:from:date:date:message-id:received :received:received:received; s=dkim1; t=1290784535; x= 1292598935; bh=m8sZKK5/IqCPbK0g6S7yoIxwH02hfx4mYOafaHYcW5o=; b=H KXHMeXfYl/M9WebsjrHA9kK/4mZFG2VXledw3lvfx7Bj8YfUKTw1uXAycqWhuOUF Dm2lXPLlJq7h7s+Vxp/XNJG+jqLVJAQCpN7VuAXcq+u+SK3qJ8Mjs2bOKQv1hiMI 1E0pKkbTVtnRJREucz0mO0fzT/KdnOE7EcnGPsYGhs= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from sinope.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WZ-sfEUNwFiv for ; Fri, 26 Nov 2010 16:15:35 +0100 (CET) Received: from mdcmail.mdc-berlin.de (mab.citx.mdc-berlin.de [141.80.36.102]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Fri, 26 Nov 2010 16:15:35 +0100 (CET) Received: from mdcexcl.mdc-berlin.net ([141.80.184.16]) by mdcmail.mdc-berlin.de with Microsoft SMTPSVC(6.0.3790.4675); Fri, 26 Nov 2010 16:13:59 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Fri, 26 Nov 2010 16:13:58 +0100 Message-ID: <4CEFCEC8.9050202@mdc-berlin.de> Date: Fri, 26 Nov 2010 16:14:16 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.12) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de References: <4CEFAD8A.6090006@mdc-berlin.de> In-Reply-To: <4CEFAD8A.6090006@mdc-berlin.de> Content-Type: multipart/alternative; boundary="------------050102040002000805050207" X-OriginalArrivalTime: 26 Nov 2010 15:13:58.0906 (UTC) FILETIME=[8CDEBDA0:01CB8D7C] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17792.000 X-TM-AS-Result: No--21.965800-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-Originating-IP: 141.80.25.23 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290784542-00000C0F-F3C999DA/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.030944, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Dschibuti.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=HTML_40_50,HTML_MESSAGE, RATWARE_GECKO_BUILD Subject: Re: [Seqan-dev] problem with interval tree - assertion failed - how to use addInterval? X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Nov 2010 15:15:44 -0000 This is a multi-part message in MIME format. --------------050102040002000805050207 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Hi, Okay if i so it like in the examples, it works but: How do i access "intervals" later in case i want to add an interval to the tree? then i would have to resize the "intervals" String? How does addInterval work? thanks! best, mat 2nd version >>> for(unsigned int n=0;n intervals; resize(intervals,1); TInterval in; intervals[0].i1 = 0; intervals[0].i2 = length(fragStore.contigStore[n].seq); gip::MappedFragment f; intervals[0].cargo = f; TIntervalTree *tree = new TIntervalTree(intervals); contigMap[fragStore.contigNameStore[n]] = tree; } <<< Am 11/26/10 1:52 PM, schrieb Mat: > Hey guys! > > I got a problem with the interval tree. I want to load contigs and > create intervals of the contigs sizes: > > //Interval tree construction > typedef int TValue; //position type > typedef gip::MappedFragment TCargo; // interval id type > typedef IntervalAndCargo TInterval;// interval type > typedef IntervalTree TIntervalTree;// interval > tree type > > std::cout << "Loading contigs file..." << std::endl; > if(!loadContigs(fragStore,genomeFileName)){ > std::cerr << "Error opening genome file!" << std::endl; > return -1; > } > > unsigned int numberOfContigs = length(fragStore.contigNameStore); > std::cout << "Found " << numberOfContigs << " contigs in genome > file." << std::endl; > > std::map contigMap; > > for(unsigned int n=0;n std::cout << "NAME: " << fragStore.contigNameStore[n] << > std::endl; > std::cout << "LENGTH: " << > length(fragStore.contigStore[n].seq) << std::endl; > TIntervalTree *tree = new TIntervalTree; > TInterval in; > in.i1 = 0; > in.i2 = length(fragStore.contigStore[n].seq); > in.cargo = NULL; > > addInterval(*tree, in); > > } > > output: > ======= > Loading contigs file... > Found 40 contigs in genome file. > /Users/mat/cpp_develop/seqan-trunk/projects/library/seqan/sequence/string_base.hNAME: > 1 > LENGTH: 6844 > :219 Assertion failed : static_cast(pos) < > static_cast(length(me)) was: 0 >= 0 (Trying to access an > element behind the last one!) > > if i remove the "addInterval" statement i get the output for each > contig... > > thanks! > > best, > > mat > > > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev --------------050102040002000805050207 Content-Type: text/html; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit Hi,

Okay if i so it like in the examples, it works but: How do i access "intervals" later in case i want to add an interval to the tree? then i would have to resize the "intervals" String? How does addInterval work?

thanks!

best,

mat

2nd version >>>

for(unsigned int n=0;n<numberOfContigs;++n){
        std::cout << "NAME: " << fragStore.contigNameStore[n] << std::endl;
        std::cout << "LENGTH: " << length(fragStore.contigStore[n].seq) << std::endl;

        String<TInterval> intervals;
        resize(intervals,1);

        TInterval in;
        intervals[0].i1 = 0;
        intervals[0].i2 = length(fragStore.contigStore[n].seq);
        gip::MappedFragment f;
        intervals[0].cargo = f;


        TIntervalTree *tree = new TIntervalTree(intervals);
        contigMap[fragStore.contigNameStore[n]] = tree;
    }

<<<

Am 11/26/10 1:52 PM, schrieb Mat:
Hey guys!

I got a problem with the interval tree. I want to load contigs and create intervals of the contigs sizes:

    //Interval tree construction
    typedef int TValue; //position type
    typedef gip::MappedFragment TCargo; // interval id type
    typedef IntervalAndCargo<TValue, TCargo*> TInterval;// interval type
    typedef IntervalTree<TValue, TCargo*> TIntervalTree;// interval tree type

    std::cout << "Loading contigs file..." << std::endl;
    if(!loadContigs(fragStore,genomeFileName)){
            std::cerr << "Error opening genome file!" << std::endl;
            return -1;
    }

    unsigned int numberOfContigs = length(fragStore.contigNameStore);
    std::cout << "Found " << numberOfContigs << " contigs in genome file." << std::endl;

    std::map<CharString, TIntervalTree*> contigMap;

    for(unsigned int n=0;n<numberOfContigs;++n){
        std::cout << "NAME: " << fragStore.contigNameStore[n] << std::endl;
        std::cout << "LENGTH: " << length(fragStore.contigStore[n].seq) << std::endl;
        TIntervalTree *tree = new TIntervalTree;
        TInterval in;
        in.i1 = 0;
        in.i2 = length(fragStore.contigStore[n].seq);
        in.cargo = NULL;

        addInterval(*tree, in);

     }

output:
=======
Loading contigs file...
Found 40 contigs in genome file.
/Users/mat/cpp_develop/seqan-trunk/projects/library/seqan/sequence/string_base.hNAME: 1
LENGTH: 6844
:219 Assertion failed : static_cast<TStringPos>(pos) < static_cast<TStringPos>(length(me)) was: 0 >= 0 (Trying to access an element behind the last one!)

if i remove the "addInterval" statement i get the output for each contig...

thanks!

best,

mat
_______________________________________________ seqan-dev mailing list seqan-dev@lists.fu-berlin.de https://lists.fu-berlin.de/listinfo/seqan-dev
--------------050102040002000805050207-- From Anne-Katrin.Emde@fu-berlin.de Fri Nov 26 14:12:37 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLy6O-0008MS-SA>; Fri, 26 Nov 2010 14:12:36 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLy6O-0004hB-Ok>; Fri, 26 Nov 2010 14:12:36 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PLy6O-00027r-GO>; Fri, 26 Nov 2010 14:12:36 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Fri, 26 Nov 2010 14:12:36 +0100 From: "Emde, Anne-Katrin" To: SeqAn Development Date: Fri, 26 Nov 2010 14:12:36 +0100 Thread-Topic: [Seqan-dev] problem with interval tree - assertion failed Thread-Index: AcuNaJvPIxiKqltGTtC4dZyjjQGwXAAAPfWg Message-ID: <6AB91D0276C1E744892C72E49C9DFFF77EACB79027@exchange6.fu-berlin.de> References: <4CEFAD8A.6090006@mdc-berlin.de> In-Reply-To: <4CEFAD8A.6090006@mdc-berlin.de> Accept-Language: de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: de-DE Content-Type: multipart/alternative; boundary="_000_6AB91D0276C1E744892C72E49C9DFFF77EACB79027exchange6fube_" MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290777156-00000C0F-CEF81916/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.003778, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Benin.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE X-Mailman-Approved-At: Mon, 29 Nov 2010 09:32:52 +0100 Subject: Re: [Seqan-dev] problem with interval tree - assertion failed X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Nov 2010 13:12:38 -0000 --_000_6AB91D0276C1E744892C72E49C9DFFF77EACB79027exchange6fube_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Mat, there seems to be a problem with the addInterval function, when the interva= l tree is empty. I will fix that as soon as possible. However, in your case it would make sense to create a string of intervals, = and then construct the interval tree on the whole set of intervals at once.= This will be more efficient and may construct a more balanced tree. addInt= erval was originally meant to add intervals later on to an existing tree (a= nyway, it should of course also work on an empty tree!). You can see an example in demos/interval_tree.cpp. I'm copy&pasting the rel= evant part here: typedef CharString TCargo; // id type typedef int TValue; // position type typedef IntervalAndCargo TInterval; typedef IntervalTree TIntervalTree; String intervals; resize(intervals,3); // store gene annotation in intervals intervals[0].i1 =3D 5; intervals[0].i2 =3D 1000; intervals[0].cargo =3D "gene"; intervals[1].i1 =3D 50; intervals[1].i2 =3D 200; intervals[1].cargo =3D "exon"; intervals[2].i1 =3D 600; intervals[2].i2 =3D 800; intervals[2].cargo =3D "exon"; TIntervalTree tree(intervals); Best, Anne-Katrin ________________________________ From: Mat [mailto:matthias.dodt@mdc-berlin.de] Sent: Freitag, 26. November 2010 13:52 To: seqan-dev@lists.fu-berlin.de Subject: [Seqan-dev] problem with interval tree - assertion failed Hey guys! I got a problem with the interval tree. I want to load contigs and create i= ntervals of the contigs sizes: //Interval tree construction typedef int TValue; //position type typedef gip::MappedFragment TCargo; // interval id type typedef IntervalAndCargo TInterval;// interval type typedef IntervalTree TIntervalTree;// interval tree ty= pe std::cout << "Loading contigs file..." << std::endl; if(!loadContigs(fragStore,genomeFileName)){ std::cerr << "Error opening genome file!" << std::endl; return -1; } unsigned int numberOfContigs =3D length(fragStore.contigNameStore); std::cout << "Found " << numberOfContigs << " contigs in genome file." = << std::endl; std::map contigMap; for(unsigned int n=3D0;n(pos) < static_cast(length(me)) was: 0 >=3D 0 (Trying to access an element behind the last = one!) if i remove the "addInterval" statement i get the output for each contig... thanks! best, mat --_000_6AB91D0276C1E744892C72E49C9DFFF77EACB79027exchange6fube_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi Mat,

 

there seems to be a problem with the addInterval function, when the interval tree is empty. I w= ill fix that as soon as possible.

 

However, in your ca= se it would make sense to create a string of intervals, and then construct the interval tree on the whole set of intervals at once. This will be more efficient and may construct a more balanced tree. addInterval was originall= y meant to add intervals later on to an existing tree (anyway, it should of course also work on an empty tree!).

You can see an exam= ple in demos/interval_tree.cpp. I’m copy&pasting the relevant part here:=

 

 

   &= nbsp;    typedef CharString TCargo;      // id type

   &= nbsp;    typedef int TValue;         &n= bsp;   // position type

 

   &= nbsp;    typedef IntervalAndCargo<TValue, TCargo> TInterval;=

   &= nbsp;    typedef IntervalTree<TValue, TCargo> TIntervalTree;=

 

   &= nbsp;    String<TInterval> intervals;

   &= nbsp;    resize(intervals,3);

 

   &= nbsp;    // store gene annotation in intervals

   &= nbsp;    intervals[0].i1 =3D 5;   intervals[0].i2 =3D 1000;

   &= nbsp;    intervals[0].cargo =3D "gene";

 

   &= nbsp;    intervals[1].i1 =3D 50;  intervals[1].i2 =3D 200;

   &= nbsp;    intervals[1].cargo =3D "exon";

 

   &= nbsp;    intervals[2].i1 =3D 600; intervals[2].i2 =3D 800;<= /p>

   &= nbsp;    intervals[2].cargo =3D "exon";

 

   &= nbsp;    TIntervalTree tree(intervals);

 

Best,

Anne-Katrin

 

 

=  <= /span>

=  <= /span>


From: Mat [mailto:matthias.dodt@mdc-berlin.= de]
Sent: Freitag, 26. November = 2010 13:52
To: seqan-dev@lists.fu-berli= n.de
Subject: [Seqan-dev] problem= with interval tree - assertion failed

=  

Hey guys!

I got a problem with the interval tree. I want to load contigs and create intervals of the contigs sizes:

    //Interval tree construction
    typedef int TValue; //position type
    typedef gip::MappedFragment TCargo; // interval id type<= br>     typedef IntervalAndCargo<TValue, TCargo*> TInterva= l;// interval type
    typedef IntervalTree<TValue, TCargo*> TIntervalTre= e;// interval tree type

    std::cout << "Loading contigs file..." << std::endl;
    if(!loadContigs(fragStore,genomeFileName)){
            std::cerr << "Error opening genome file!" << std::endl;
            return -1;
    }

    unsigned int numberOfContigs =3D length(fragStore.contigNameStore);
    std::cout << "Found " << numberOfContigs << " contigs in genome file." << std::endl;

    std::map<CharString, TIntervalTree*> contigMap;
    for(unsigned int n=3D0;n<numberOfContigs;++n){
        std::cout << "NAME: " << fragStore.contigNameStore[n] << std::endl;
        std::cout << "LENGTH: &quo= t; << length(fragStore.contigStore[n].seq) << std::endl;
        TIntervalTree *tree =3D new TInterval= Tree;
        TInterval in;
        in.i1 =3D 0;
        in.i2 =3D length(fragStore.contigStore[n].seq);
        in.cargo =3D NULL;

        addInterval(*tree, in);

     }

output:
=3D=3D=3D=3D=3D=3D=3D
Loading contigs file...
Found 40 contigs in genome file.
/Users/mat/cpp_develop/seqan-trunk/projects/library/seqan/sequence/string_b= ase.hNAME: 1
LENGTH: 6844
:219 Assertion failed : static_cast<TStringPos>(pos) < static_cast<TStringPos>(length(me)) was: 0 >=3D 0 (Trying to acces= s an element behind the last one!)

if i remove the "addInterval" statement i get the output for each contig...

thanks!

best,

mat

--_000_6AB91D0276C1E744892C72E49C9DFFF77EACB79027exchange6fube_-- From Anne-Katrin.Emde@fu-berlin.de Fri Nov 26 18:57:45 2010 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PM2YK-000239-ML>; Fri, 26 Nov 2010 18:57:44 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PM2YK-0003zO-JC>; Fri, 26 Nov 2010 18:57:44 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by relay2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PM2YK-0006vH-Bj>; Fri, 26 Nov 2010 18:57:44 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Fri, 26 Nov 2010 18:57:44 +0100 From: "Emde, Anne-Katrin" To: "seqan-dev@lists.fu-berlin.de" Date: Fri, 26 Nov 2010 18:53:00 +0100 Thread-Topic: [Seqan-dev] problem with interval tree - assertion failed Thread-Index: AcuNaJvPIxiKqltGTtC4dZyjjQGwXAAAPfWgAAoEZYAAAEfEfQ== Message-ID: <6AB91D0276C1E744892C72E49C9DFFF77EACC58066@exchange6.fu-berlin.de> References: <6AB91D0276C1E744892C72E49C9DFFF77EACB79044@exchange6.fu-berlin.de> In-Reply-To: <6AB91D0276C1E744892C72E49C9DFFF77EACB79044@exchange6.fu-berlin.de> Accept-Language: de-DE Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: de-DE Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Originating-IP: 160.45.9.133 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1290794264-00000C0F-339B19B2/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.001054, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Dschibuti.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ALL_TRUSTED, TO_ADDRESS_EQ_REAL X-Mailman-Approved-At: Mon, 29 Nov 2010 09:32:52 +0100 Subject: [Seqan-dev] WG: problem with interval tree - assertion failed X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.11 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Nov 2010 17:57:45 -0000 Hi Mat, for some reason my earlier email seems not to have made it to the mailing l= ist. See the forwarded text below. I've checked in a little addition to the demo program interval_tree.cpp. Af= ter the tree is constructed, now another interval is added using addInterva= l.=20 You don't have to resize the intervals string, as the tree keeps track of a= ll intervals currently stored in it. Best regards, Anne-Katrin ----------------------------------------------- Anne-Katrin Emde +49 30 83875240 emde@inf.fu-berlin.de Algorithmic Bioinformatics Department of Computer Science Freie Universit=E4t Berlin ---------------------------------------------- ________________________________________ Von: Emde, Anne-Katrin [Anne-Katrin.Emde@fu-berlin.de] Gesendet: Freitag, 26. November 2010 18:45 An: emde@inf.fu-berlin.de Betreff: FW: [Seqan-dev] problem with interval tree - assertion failed ________________________________ From: Emde, Anne-Katrin Sent: Freitag, 26. November 2010 14:13 To: 'SeqAn Development' Subject: RE: [Seqan-dev] problem with interval tree - assertion failed Hi Mat, there seems to be a problem with the addInterval function, when the interva= l tree is empty. I will fix that as soon as possible. However, in your case it would make sense to create a string of intervals, = and then construct the interval tree on the whole set of intervals at once.= This will be more efficient and may construct a more balanced tree. addInt= erval was originally meant to add intervals later on to an existing tree (a= nyway, it should of course also work on an empty tree!). You can see an example in demos/interval_tree.cpp. I=92m copy&pasting the r= elevant part here: typedef CharString TCargo; // id type typedef int TValue; // position type typedef IntervalAndCargo TInterval; typedef IntervalTree TIntervalTree; String intervals; resize(intervals,3); // store gene annotation in intervals intervals[0].i1 =3D 5; intervals[0].i2 =3D 1000; intervals[0].cargo =3D "gene"; intervals[1].i1 =3D 50; intervals[1].i2 =3D 200; intervals[1].cargo =3D "exon"; intervals[2].i1 =3D 600; intervals[2].i2 =3D 800; intervals[2].cargo =3D "exon"; TIntervalTree tree(intervals); Best, Anne-Katrin ________________________________ From: Mat [mailto:matthias.dodt@mdc-berlin.de] Sent: Freitag, 26. November 2010 13:52 To: seqan-dev@lists.fu-berlin.de Subject: [Seqan-dev] problem with interval tree - assertion failed Hey guys! I got a problem with the interval tree. I want to load contigs and create i= ntervals of the contigs sizes: //Interval tree construction typedef int TValue; //position type typedef gip::MappedFragment TCargo; // interval id type typedef IntervalAndCargo TInterval;// interval type typedef IntervalTree TIntervalTree;// interval tree ty= pe std::cout << "Loading contigs file..." << std::endl; if(!loadContigs(fragStore,genomeFileName)){ std::cerr << "Error opening genome file!" << std::endl; return -1; } unsigned int numberOfContigs =3D length(fragStore.contigNameStore); std::cout << "Found " << numberOfContigs << " contigs in genome file." = << std::endl; std::map contigMap; for(unsigned int n=3D0;n(pos) < static_cast(length(me)) was: 0 >=3D 0 (Trying to access an element behind the last = one!) if i remove the "addInterval" statement i get the output for each contig... thanks! best, mat