From maschulz@andrew.cmu.edu Wed Feb 01 02:08:06 2012 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 <1RsOg7-00026u-KK>; Wed, 01 Feb 2012 02:08:03 +0100 Received: from smtp.andrew.cmu.edu ([128.2.11.61]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1RsOg7-0002SN-9q>; Wed, 01 Feb 2012 02:08:03 +0100 Received: from Marcels-MacBook-Air.local (pool-108-17-82-170.pitbpa.fios.verizon.net [108.17.82.170]) (user=maschulz mech=PLAIN (0 bits)) by smtp.andrew.cmu.edu (8.14.4/8.14.4) with ESMTP id q1117uDc022867 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Tue, 31 Jan 2012 20:08:00 -0500 Message-ID: <4F289018.1020503@andrew.cmu.edu> Date: Tue, 31 Jan 2012 20:06:32 -0500 From: Marcel Schulz User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de References: <4F22B04A.6060003@mail.cryst.bbk.ac.uk> In-Reply-To: <4F22B04A.6060003@mail.cryst.bbk.ac.uk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version: 5.5.9.388399, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.3.18.170322 X-SMTP-Spam-Clean: 10% ( TO_IN_SUBJECT 0.5, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_2000_2999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, RDNS_GENERIC_POOLED 0, RDNS_POOLED 0, RDNS_SUSP 0, RDNS_SUSP_GENERIC 0, RDNS_SUSP_SPECIFIC 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CP_URI_IN_BODY 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MOZILLA_MSGID 0, __RDNS_POOLED_9 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NS , __USER_AGENT 0) X-SMTP-Spam-Score: 10% X-Scanned-By: MIMEDefang 2.60 on 128.2.11.61 X-Originating-IP: 128.2.11.61 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1328058483-000049E7-BDA8666C/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000217, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Burundi.ZEDAT.FU-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO Subject: Re: [Seqan-dev] PISA toolbox code 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: Wed, 01 Feb 2012 01:08:06 -0000 Am 27.01.12 09:10, schrieb John Reid: > Hi, > > I've recently become interested in variable order Markov chains. I > plan to develop some algorithms that extend and use these chains. I've > been using the SeqAn library for a while now and I wonder if there are > any plans to release the source code for the PISA toolbox. > > Regards, > John Reid. > > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev Hi John, I am the developer and maintainer of the code. Although I havent been working on the code for some time I know that it compiles with the most recent version of the library and I always had the plan to release the source code and make it an integral part of the library. Similarly I wanted to release the source code for the applications that belong to the PISA toolbox. A this is a huge code base this integration will take a considerable amount of time and it is hard for me to say how long exactly it will take but I am aiming to integrate it into the library in the next months. However, I am more than happy to send you the code for everything by mail if you contact me offline of this list. Furthermore I am also happy to answer any questions regarding possible extensions or which features are contained in the implementations already. A good overview of the principal functionality can be seen from the documentations of the applications in the PISA toolbox, which provide basic learning, save/load, and likelihood estimation functions for different variable order markov chain estimators. Regards, Marcel -- ------------------------------------------------------------------------------ Marcel H. Schulz Ray and Stephanie Lane Center email: maschulz@cs.cmu.edu for Computational Biology Carnegie Mellon University 7413 Gates-Hillman Complex 5000 Forbes Avenue Pittsburgh, PA 15213 http://www.cs.cmu.edu/~maschulz/ ------------------------------------------------------------------------------ From rwan@cuhk.edu.hk Thu Feb 02 04:53:06 2012 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 <1RsnjL-00013m-1W>; Thu, 02 Feb 2012 04:53:03 +0100 Received: from cmt1.itsc.cuhk.edu.hk ([137.189.11.91]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1RsnjK-0000d7-KQ>; Thu, 02 Feb 2012 04:53:03 +0100 Received: from localhost (cwm2.itsc.cuhk.edu.hk [137.189.11.43]) by cmt1.itsc.cuhk.edu.hk (Postfix) with ESMTP id B894F8201E1; Thu, 2 Feb 2012 11:52:57 +0800 (HKT) Received: from 210.177.253.61 ([210.177.253.61]) by webmail.cuhk.edu.hk (IMP) with HTTP for ; Thu, 02 Feb 2012 11:52:57 +0800 Message-ID: <1328154777.4f2a08997b983@webmail.cuhk.edu.hk> Date: Thu, 02 Feb 2012 11:52:57 +0800 From: Raymond Wan To: seqan-dev@lists.fu-berlin.de MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.2 X-Originating-IP: 137.189.11.91 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1328154783-000049E7-058341B0/0-0/0-0 X-Bogosity: Unsure, tests=bogofilter, spamicity=0.640205, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Burundi.ZEDAT.FU-Berlin.DE X-Spam-Level: x X-Spam-Status: No, score=1.5 required=5.0 tests=FU_BOGO_UNSURE Subject: [Seqan-dev] Longest common subsequence example 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, 02 Feb 2012 03:53:06 -0000 Hi all, I'm trying to compile the longest common subsequence example from here: http://docs.seqan.de/seqan/1.0/Demo_Longest%20Common%20Subsequence.html And have been unsuccessful. Seems the header file seqan/graph.h cannot be found. I guess this code is for an earlier version of SeqAn? Can someone tell me what I should be including or if the function has been removed? Thank you! Ray ------------------------------------------------- This e-mail is sent by CUHK WebMail http://webmail.cuhk.edu.hk From rwan@cuhk.edu.hk Thu Feb 02 04:58:55 2012 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 <1Rsnoy-0001Ex-WA>; Thu, 02 Feb 2012 04:58:53 +0100 Received: from cmt1.itsc.cuhk.edu.hk ([137.189.11.91]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1Rsnoy-00019S-JJ>; Thu, 02 Feb 2012 04:58:52 +0100 Received: from localhost (cwm2.itsc.cuhk.edu.hk [137.189.11.43]) by cmt1.itsc.cuhk.edu.hk (Postfix) with ESMTP id 795328201F0; Thu, 2 Feb 2012 11:58:49 +0800 (HKT) Received: from 210.177.253.61 ([210.177.253.61]) by webmail.cuhk.edu.hk (IMP) with HTTP for ; Thu, 02 Feb 2012 11:58:49 +0800 Message-ID: <1328155129.4f2a09f974f99@webmail.cuhk.edu.hk> Date: Thu, 02 Feb 2012 11:58:49 +0800 From: Raymond Wan To: seqan-dev@lists.fu-berlin.de References: <1328154777.4f2a08997b983@webmail.cuhk.edu.hk> In-Reply-To: <1328154777.4f2a08997b983@webmail.cuhk.edu.hk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.2 X-Originating-IP: 137.189.11.91 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1328155133-000049E7-2B8A141A/0-0/0-0 X-Bogosity: Unsure, tests=bogofilter, spamicity=0.504000, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: x X-Spam-Status: No, score=1.5 required=5.0 tests=FU_BOGO_UNSURE Subject: Re: [Seqan-dev] Longest common subsequence example 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, 02 Feb 2012 03:58:55 -0000 Hi again, Sorry everyone, but I asked too soon and found my answer here: http://docs.seqan.de/seqan/dev2/ Thanks and sorry for the trouble! Ray Quoting Raymond Wan : > > Hi all, > > I'm trying to compile the longest common subsequence example from here: > > http://docs.seqan.de/seqan/1.0/Demo_Longest%20Common%20Subsequence.html > > And have been unsuccessful. Seems the header file seqan/graph.h cannot be > found. I guess this code is for an earlier version of SeqAn? Can someone > tell > me what I should be including or if the function has been removed? > > Thank you! > > Ray ------------------------------------------------- This e-mail is sent by CUHK WebMail http://webmail.cuhk.edu.hk From rwan@cuhk.edu.hk Thu Feb 09 06:26:54 2012 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 <1RvMWx-00086G-MT>; Thu, 09 Feb 2012 06:26:52 +0100 Received: from cmt1.itsc.cuhk.edu.hk ([137.189.11.91]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1RvMWx-0004aJ-9g>; Thu, 09 Feb 2012 06:26:51 +0100 Received: from localhost (cwm1.itsc.cuhk.edu.hk [137.189.11.42]) by cmt1.itsc.cuhk.edu.hk (Postfix) with ESMTP id BC015298014; Thu, 9 Feb 2012 13:26:46 +0800 (HKT) Received: from 210.177.253.61 ([210.177.253.61]) by webmail.cuhk.edu.hk (IMP) with HTTP for ; Thu, 09 Feb 2012 13:26:46 +0800 Message-ID: <1328765206.4f335916b7969@webmail.cuhk.edu.hk> Date: Thu, 09 Feb 2012 13:26:46 +0800 From: Raymond Wan To: seqan-dev@lists.fu-berlin.de MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.2 X-Originating-IP: 137.189.11.91 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1328765211-00000618-1DBFC199/0-0/0-0 X-Bogosity: Unsure, tests=bogofilter, spamicity=0.502419, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Benin.ZEDAT.FU-Berlin.DE X-Spam-Level: x X-Spam-Status: No, score=1.5 required=5.0 tests=FU_BOGO_UNSURE Subject: [Seqan-dev] CharString 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, 09 Feb 2012 05:26:55 -0000 Hi all, Somewhat of a basic question, but I haven't been able to figure it out. How does one take a substring (and if possible, prefix or suffix) of a CharString? And how does one find out the length of a CharString? And can someone tell me the reasoning for creating CharString type in SeqAn and not just using (or extending) C++'s ? Likewise, I've noticed functions, etc. that is also done by other libraries -- Boost is the one that comes to mind. I can't think of examples at the moment, but was there any reason for duplicating such effort? Was it to not rely on other non-standard libraries? Thank you! Ray ------------------------------------------------- This e-mail is sent by CUHK WebMail http://webmail.cuhk.edu.hk From manuel.holtgrewe@fu-berlin.de Thu Feb 09 08:18:03 2012 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 <1RvOGY-0003AN-D2>; Thu, 09 Feb 2012 08:18:02 +0100 Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1RvOGY-0003zo-An>; Thu, 09 Feb 2012 08:18:02 +0100 Received: from 91-65-212-104-dynip.superkabel.de ([91.65.212.104] helo=[192.168.0.101]) by inpost2.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtpsa (envelope-from ) id <1RvOGY-0006nB-7U>; Thu, 09 Feb 2012 08:18:02 +0100 Message-ID: <4F337329.1030908@fu-berlin.de> Date: Thu, 09 Feb 2012 08:18:01 +0100 From: Manuel Holtgrewe User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111229 Thunderbird/9.0 MIME-Version: 1.0 To: SeqAn Development References: <1328765206.4f335916b7969@webmail.cuhk.edu.hk> In-Reply-To: <1328765206.4f335916b7969@webmail.cuhk.edu.hk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: 91.65.212.104 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1328771882-00000618-84495099/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000044, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Benin.ZEDAT.FU-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED Subject: Re: [Seqan-dev] CharString 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, 09 Feb 2012 07:18:03 -0000 Hi Ray, On 02/09/2012 06:26 AM, Raymond Wan wrote: > > Hi all, > > Somewhat of a basic question, but I haven't been able to figure it out. > > How does one take a substring (and if possible, prefix or suffix) of a > CharString? There is the Segment class with Infix, Prefix, Suffix specializations. Try the infix(), prefix() and suffix() functions. > And how does one find out the length of a CharString? Try length(). same as with all strings. ;) > And can someone tell me the reasoning for creating CharString type in SeqAn and > not just using (or extending) C++'s? Likewise, I've noticed > functions, etc. that is also done by other libraries -- Boost is the one that > comes to mind. I can't think of examples at the moment, but was there any > reason for duplicating such effort? Was it to not rely on other non-standard (Summary: Eat your own dog food, simplicity, control over code, fewer dependencies. Still, please tell us if you think that an external library would be more suitable for our users!) CharString is a typedef to String > and mostly there to show that the String class works fine for char, too. This goes along the "eat your own dog food" line. "What better way to test our library and show that it is good than to use it wherever possible if this does not come with too much effort." In the case of CharString, this is a typedef. By the way, you should be able to use char* and std::string just like a SeqAn String and thus also CharString (length(), infix should work). The reason for duplication is mostly that we do not want to depend on Boost for the main library and often users have problem installing it. Don't understand me wrong: We really like (most of) Boost but it is a too strong library. One of the nicest things in SeqAn is (in my opinion) that you just download one library and you are ready to go. The same is true for most SeqAn apps: Download the SeqAn tarball and the only dependency for building are CMake and Python (where Python will hopefully disappear as a hard dependency for building). OK, you will need gzip for compression but that's optional and most likely installed on your system. I have really struggled with compiling some bioinformatics software since they (indirectly) depend on a pandemonium of other (sometimes obscure) libraries. This would not be too much of a problem with Boost but, as stated above, users sometimes have problems installing it. Another reason is that you have full control of your own code versus other people's code: You don't have to inherit other code's complexity (Boost accumulators come to mind) or bugs (Boost statistics generated compiler warnings, GCC TR1 random module was buggy). So far, the policy has mostly been "the core library can only depend on C++ standard libraries", meaning STL, C++ streams, C standard library and POSIX/Windows for platform dependent code. Apps can use whatever they want and will only be compiled when the dependencies are available. Also, since SeqAn is a library, you can just combine it with any other library. Don't like our I/O or RNG code? Fine, use something from Boost, the NCBI library, Bio++ etc. Through the global interface of SeqAn you can even write adaptions of your own string implementation, for example, such that you can use our indices and algorithms on your own strings. That said, we always welcome suggestions as to which functionality is also provided by other libraries. If we provide duplicative functionality that can be just as well come from another library then please tell us so! HTH, Manuel From rwan@cuhk.edu.hk Thu Feb 09 09:01:37 2012 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 <1RvOwg-0004UR-Tu>; Thu, 09 Feb 2012 09:01:35 +0100 Received: from photon.itsc.cuhk.edu.hk ([137.189.11.93]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1RvOwg-0000Co-5Q>; Thu, 09 Feb 2012 09:01:34 +0100 Received: from localhost (cwm1.itsc.cuhk.edu.hk [137.189.11.42]) by photon.itsc.cuhk.edu.hk (Postfix) with ESMTP id 636043902B2; Thu, 9 Feb 2012 16:01:30 +0800 (HKT) Received: from 210.177.253.61 ([210.177.253.61]) by webmail.cuhk.edu.hk (IMP) with HTTP for ; Thu, 09 Feb 2012 16:01:30 +0800 Message-ID: <1328774490.4f337d5a5e38a@webmail.cuhk.edu.hk> Date: Thu, 09 Feb 2012 16:01:30 +0800 From: Raymond Wan To: Manuel Holtgrewe References: <1328765206.4f335916b7969@webmail.cuhk.edu.hk> <4F337329.1030908@fu-berlin.de> In-Reply-To: <4F337329.1030908@fu-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.2 X-Originating-IP: 137.189.11.93 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1328774494-00000618-B6FE85C0/0-0/0-0 X-Bogosity: Unsure, tests=bogofilter, spamicity=0.465958, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Algerien.ZEDAT.FU-Berlin.DE X-Spam-Level: x X-Spam-Status: No, score=1.5 required=5.0 tests=FU_BOGO_UNSURE Cc: SeqAn Development Subject: Re: [Seqan-dev] CharString 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, 09 Feb 2012 08:01:37 -0000 Hi Manuel, Thank you for the prompt reply! Quoting Manuel Holtgrewe : > > Somewhat of a basic question, but I haven't been able to figure it out. > > > > How does one take a substring (and if possible, prefix or suffix) of a > > CharString? > > There is the Segment class with Infix, Prefix, Suffix specializations. > Try the infix(), prefix() and suffix() functions. Ah! Thanks for this! I was looking in the documentation for the search term "substring" and couldn't find anything. "infix"...never thought of that; but with prefix + suffix functions, I guess that makes sense! Thanks! > > And how does one find out the length of a CharString? > Try length(). same as with all strings. ;) Ah, I got it...I was using it as a member function. i.e., foo.length () Never thought of using it as a function... Thank you! > (Summary: Eat your own dog food, simplicity, control over code, fewer > dependencies. Still, please tell us if you think that an external > library would be more suitable for our users!) Thank you for the detailed explanation! I can't think of a "better way"...I was just curious why the SeqAn developers did it because it's obviously more work. However, of all the libraries you listed, Boost would be the only one that I would call "standard". But, I know many people who would disagree with this view. Boost is the only one that is supposedly one step away from standardization...mind you, that could be several years away or never. :-) But as long as SeqAn and Boost are in its own namespaces, then it doesn't matter. Again, I was asking really because it seems like SeqAn did a lot of extra work. strings, though, are part of the std library. > By the way, you should be able to use char* and std::string just like a > SeqAn String and thus also CharString (length(), infix should work). Actually, I didn't explictly create a CharString. I'm reading in data in SAM format using BamAlignmentRecords and the sequences are stored in "seq" as a CharString. And I wanted to access and change them. I thought the reason for not using a std::string was to do some error checking if the input wasn't a nucleotide (for example). i.e., throw an exception or something. [Not to be nit-picky, but for your sentence above, can I say that the reverse is not true: i.e., "able to use a SeqAn String just like a char* and std::string". It's only true one-way?] > Another reason is that you have full control of your own code versus > other people's code: You don't have to inherit other code's complexity > (Boost accumulators come to mind) or bugs (Boost statistics generated > compiler warnings, GCC TR1 random module was buggy). I see. No arguments here. Boost is fairly bloated nowadays and while some parts are solid, others are a bit buggy. Installing Boost gives you everything. If SeqAn relies on Boost, then you're at the mercy of Boost, but you also will need to pick and choose which parts of Boost to use. i.e., Boost has graphs, too, but I've found it to be a bit difficult to use. So, in that sense, SeqAn's implementation does give us an alternative. > That said, we always welcome suggestions as to which functionality is > also provided by other libraries. If we provide duplicative > functionality that can be just as well come from another library then > please tell us so! Thanks again for your excellent explanation! :-) I was just asking; don't mean to suggest an alternative, though. Ray ------------------------------------------------- This e-mail is sent by CUHK WebMail http://webmail.cuhk.edu.hk