From matthias.dodt@mdc-berlin.de Tue Jan 04 14:50:09 2011 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 <1Pa7H6-0004rD-70>; Tue, 04 Jan 2011 14:50:08 +0100 Received: from smtp2.bbbm.mdc-berlin.de ([141.80.25.21]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1Pa7H6-00080D-45>; Tue, 04 Jan 2011 14:50:08 +0100 Received: from localhost (localhost [127.0.0.1]) by smtp2.bbbm.mdc-berlin.de (Postfix) with ESMTP id CD12F3A23D for ; Tue, 4 Jan 2011 14:50:07 +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=1294149000; x=1295963400; bh=6+wN 8E4+bs+BOUtnatelkzcB2IJfaAUsGjqfldC1UJA=; b=ZnGpOLsj1CskiV3RIcBx ZYrVdY2nlbvCMmZLAVKvdhLnNBdzPBNXQaDjy8q+1/7GgKJeFiMANRBJaAVrqP0c gLQdicNG/napHLwryH03o8Egxsg5W0/E3xHjxczUEfQUhFdtbeKip3LugjH9+7MF 9uPWwCldXw9Q4YrrB+aPwB8= X-Virus-Scanned: amavisd-new at bbbm.mdc-berlin.de Received: from smtp2.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (smtp2.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yjSARLd5E-+S for ; Tue, 4 Jan 2011 14:50:00 +0100 (CET) Received: from mdcmail.mdc-berlin.de (mab.citx.mdc-berlin.de [141.80.36.102]) by smtp2.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Tue, 4 Jan 2011 14:50:00 +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, 4 Jan 2011 14:52:01 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Tue, 4 Jan 2011 14:52:00 +0100 Message-ID: <4D23260A.1090603@mdc-berlin.de> Date: Tue, 04 Jan 2011 14:52:10 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de Content-Type: multipart/alternative; boundary="------------030602050909090605060400" X-OriginalArrivalTime: 04 Jan 2011 13:52:00.0611 (UTC) FILETIME=[8F72BB30:01CBAC16] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17872.002 X-TM-AS-Result: No--10.273000-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-Originating-IP: 141.80.25.21 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1294149008-00000C13-2E773105/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000163, 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.9 required=5.0 tests=HTML_40_50,HTML_MESSAGE, RATWARE_GECKO_BUILD Subject: [Seqan-dev] Bug in FragmentStore? 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, 04 Jan 2011 13:50:09 -0000 This is a multi-part message in MIME format. --------------030602050909090605060400 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Hi guys! I think there is a problem with the fragment store reading paired-end reads from SAM. The pairMatchIDs seem to be assigned incorrectly. As an input i used a sam file with the following statistics: 87323 in total 0 QC failure 0 duplicates 86119 mapped (98.62%) 87323 paired in sequencing 43662 read1 43661 read2 86965 properly paired (99.59%) 86002 with itself and mate mapped 117 singletons (0.13%) 3341 with mate mapped to a different chr 3242 with mate mapped to a different chr (mapQ>=5) The code...: ... unsigned int nrAlignments = length(fragStore.alignedReadStore),mateCounter=0,spanMateCnt=0; sortAlignedReads(fragStore.alignedReadStore, SortReadId()); for (unsigned int n=0;n>Trying to access an element behind the last one! << Any suggestions? thanks! best, mat --------------030602050909090605060400 Content-Type: text/html; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit Hi guys!

I think there is a problem with the fragment store reading paired-end reads from SAM. The pairMatchIDs seem to be assigned incorrectly. As an input i used a sam file with the following statistics:
87323 in total
0 QC failure
0 duplicates
86119 mapped (98.62%)
87323 paired in sequencing
43662 read1
43661 read2
86965 properly paired (99.59%)
86002 with itself and mate mapped
117 singletons (0.13%)
3341 with mate mapped to a different chr
3242 with mate mapped to a different chr (mapQ>=5)


The code...:

...
unsigned int nrAlignments = length(fragStore.alignedReadStore),mateCounter=0,spanMateCnt=0;
    sortAlignedReads(fragStore.alignedReadStore, SortReadId());

    for (unsigned int n=0;n<nrAlignments;++n){

        TValue pair_id = fragStore.alignedReadStore[n].pairMatchId;
        TValue currentReadId=fragStore.alignedReadStore[n].readId;

        if(pair_id!=TReadStoreElement::INVALID_ID){

            std::cout << "read-id: " << currentReadId << std::endl;
            std::cout << "pair-id: " << pair_id << std::endl;

            //get mate read-id
            TValue r1 = fragStore.matePairStore[pair_id].readId[0];
            TValue r2 = fragStore.matePairStore[pair_id].readId[1];

            //now r1 or r2 should equal currentReadId
            if((r1!=currentReadId)&&(r2!=currentReadId)){
                std::cout << "Wrong mate association" << std::endl;
            }
            else {
                ++spanMateCnt;
            }

}
}
}
...

It turns out that the both pair_id's never match and the loop breaks with:

>>Trying to access an element behind the last one!
<<

Any suggestions?

thanks!

best,

mat

--------------030602050909090605060400-- From manuel.holtgrewe@fu-berlin.de Tue Jan 04 16:16:57 2011 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 <1Pa8d6-0007rN-TS>; Tue, 04 Jan 2011 16:16:57 +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 <1Pa8d6-0006oH-RZ>; Tue, 04 Jan 2011 16:16:56 +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 <1Pa8d6-00087t-Ic>; Tue, 04 Jan 2011 16:16:56 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Tue, 4 Jan 2011 16:16:56 +0100 From: "Holtgrewe, Manuel" To: SeqAn Development Date: Tue, 4 Jan 2011 16:16:55 +0100 Thread-Topic: [Seqan-dev] Bug in FragmentStore? Thread-Index: AcusImyeKpUr8RUPScWDBL0kIEfjcA== Message-ID: <58671493-DD47-4C8B-83C4-8A2B6715F4AD@fu-berlin.de> References: <4D23260A.1090603@mdc-berlin.de> In-Reply-To: <4D23260A.1090603@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: text/plain; charset="us-ascii" 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::1294154216-00000C13-98817960/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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.8 required=5.0 tests=ALL_TRUSTED Subject: Re: [Seqan-dev] Bug in FragmentStore? 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, 04 Jan 2011 15:16:57 -0000 > It turns out that the both pair_id's never match and the loop breaks with= : >=20 > >>Trying to access an element behind the last one! > << This assertion is in the operator[]/value(str, pos) function for the String= class. Did you try to run the program within a debugger to see where the p= roblem occurs in your program? Please provide a complete, compiling problem and a minimal SAM file (should= be 2 lines after the header, right?) that allow us to reproduce the proble= m. Bests, Manuel= From matthias.dodt@mdc-berlin.de Tue Jan 04 16:54:28 2011 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 <1Pa9DO-0000x9-Ph>; Tue, 04 Jan 2011 16:54:26 +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 <1Pa9DO-0003F7-N1>; Tue, 04 Jan 2011 16:54:26 +0100 Received: from localhost (localhost [127.0.0.1]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id 9C7B340539 for ; Tue, 4 Jan 2011 16:54:25 +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=1294156459; x= 1295970859; bh=lmDcaTmrcCVtPKzO19fNKpt4hIP4pT2SYL0zXp63QtY=; b=U E1Wd8HI7iRzo0hMjS8WTSsoINcjT0DDNRwdjBTM+QEcE3cfirNLiN04oPZKqxi0D irf5AlV8XZi41V/Cc7SLEu7YFKV8V0hCVcIK+hsxodgBPGVuZvVyTydtLzs3wWqi iyakZDf2C/KSrKZFd4ta+JIYNmCxi9La4+vDQVUsUw= X-Virus-Scanned: amavisd-new at bbbm.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 jN6z5o20wGVv for ; Tue, 4 Jan 2011 16:54:19 +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 for ; Tue, 4 Jan 2011 16:54:19 +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, 4 Jan 2011 16:47:37 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Tue, 4 Jan 2011 16:47:37 +0100 Message-ID: <4D234122.8020302@mdc-berlin.de> Date: Tue, 04 Jan 2011 16:47:46 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: SeqAn Development References: <4D23260A.1090603@mdc-berlin.de> <58671493-DD47-4C8B-83C4-8A2B6715F4AD@fu-berlin.de> In-Reply-To: <58671493-DD47-4C8B-83C4-8A2B6715F4AD@fu-berlin.de> Content-Type: multipart/alternative; boundary="------------050605080203010300000500" X-OriginalArrivalTime: 04 Jan 2011 15:47:37.0117 (UTC) FILETIME=[B5ED8CD0:01CBAC26] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17872.002 X-TM-AS-Result: No--21.847500-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::1294156466-00000C13-C68B484C/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000173, 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_50_60,HTML_MESSAGE, RATWARE_GECKO_BUILD Subject: Re: [Seqan-dev] Bug in FragmentStore? 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, 04 Jan 2011 15:54:29 -0000 This is a multi-part message in MIME format. --------------050605080203010300000500 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi Manuel! Thanks for your reply. I can send you some source later, but i think its a more simple problem. I figured out that the pairMatchId of the FragmentStore's alignedReadStore is in general not the same as the matePairId from the matePairStore by looking into the source. What still is missing is: I would like to know on which contig the two reads of a mate-pair aligned. So far i got: - First i iterate over the alignedReadStore to get a readId - i get the matePairId via the readStore - then i get the mate's id via the matePairStore - now i need a function to search for a readId in alignedReadStore efficiently - is there something like that? The code looks now like this: ... sortAlignedReads(fragStore.alignedReadStore, SortReadId()); for (unsigned int n=0;n> It turns out that the both pair_id's never match and the loop breaks with: >> >>>> Trying to access an element behind the last one! >> << > This assertion is in the operator[]/value(str, pos) function for the String class. Did you try to run the program within a debugger to see where the problem occurs in your program? > > Please provide a complete, compiling problem and a minimal SAM file (should be 2 lines after the header, right?) that allow us to reproduce the problem. > > Bests, > Manuel > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev --------------050605080203010300000500 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi Manuel!

Thanks for your reply. I can send you some source later, but i think its a more simple problem. I figured out that the pairMatchId of the FragmentStore's alignedReadStore is in general not the same as the matePairId from the matePairStore by looking into the source.
What still is missing is: I would like to know on which contig the two reads of a mate-pair aligned. So far i got:

- First i iterate over the alignedReadStore to get a readId
- i get the matePairId via the readStore
- then i get the mate's id via the matePairStore

    - now i need a function to search for a readId in alignedReadStore efficiently - is there something like that?

The code looks now like this:

...
sortAlignedReads(fragStore.alignedReadStore, SortReadId());

    for (unsigned int n=0;n<nrAlignments;++n){

        //get the current readId
        TValue currentReadId=fragStore.alignedReadStore[n].readId;

        //get the correct mate-pair id
        TValue pair_id = fragStore.readStore[currentReadId].matePairId;

        if(pair_id!=TReadStoreElement::INVALID_ID){
            ++mateCounter;
            std::cout << "read-id: " << currentReadId << "n: " << n << std::endl;

            TValue r1 = fragStore.matePairStore[pair_id].readId[0];
            TValue r2 = fragStore.matePairStore[pair_id].readId[1];
            TValue other = 0;
           
            //now r1 or r2 should equal currentReadId
            if(r1==currentReadId){
                other = r2;
                std::cout << "other is r2:" << other << std::endl;
               
                //now get the alignId
                TValue alignId;
                ...how to do that?


So how do i get the alignId(s) of a mate's readId?

Thanks!

best,

mat


Am 1/4/11 4:16 PM, schrieb Holtgrewe, Manuel:
It turns out that the both pair_id's never match and the loop breaks with:

Trying to access an element behind the last one!
<<
This assertion is in the operator[]/value(str, pos) function for the String class. Did you try to run the program within a debugger to see where the problem occurs in your program?

Please provide a complete, compiling problem and a minimal SAM file (should be 2 lines after the header, right?) that allow us to reproduce the problem.

Bests,
Manuel
_______________________________________________
seqan-dev mailing list
seqan-dev@lists.fu-berlin.de
https://lists.fu-berlin.de/listinfo/seqan-dev
--------------050605080203010300000500-- From weese@campus.fu-berlin.de Tue Jan 04 18:10:47 2011 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 <1PaAPG-0003Lf-Ch>; Tue, 04 Jan 2011 18:10: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 <1PaAPG-0008EF-9o>; Tue, 04 Jan 2011 18:10: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 <1PaAPG-0008L3-3Y>; Tue, 04 Jan 2011 18:10:46 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Tue, 4 Jan 2011 18:10:45 +0100 From: "Weese, David" To: SeqAn Development Date: Tue, 4 Jan 2011 18:10:44 +0100 Thread-Topic: [Seqan-dev] Bug in FragmentStore? Thread-Index: AcusMlKwGkCFfrDcS/W6/lGtnN/shA== Message-ID: References: <4D23260A.1090603@mdc-berlin.de> <58671493-DD47-4C8B-83C4-8A2B6715F4AD@fu-berlin.de> <4D234122.8020302@mdc-berlin.de> In-Reply-To: <4D234122.8020302@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_F96289A1AADF411A875B4A3C140337E2fuberlinde_" 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::1294161046-00000C13-D2A9BC75/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, 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] Bug in FragmentStore? 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, 04 Jan 2011 17:10:47 -0000 --_000_F96289A1AADF411A875B4A3C140337E2fuberlinde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Mat, the matePairId associates two reads to a mate-pair. Thus there are at most = 2 reads with the same matePairId. The alignedReadStore stores matches of re= ads. Every read can have multiple matches. Each match has a unique id. Two = matches of reads of the same mate-pair can form a mate-pair match. If so th= ey have the same pairMatchId which is unique for these 2 matches. Example: X1 X2 Y1 Y2 Y3 2 reads A and B have matches at positions Xi and Yj. Theoretically 2*3 pair= s of matches are possible. If only X1-Y1 and X2-Y3 form a mate pair match (= due to their insert size) the alignedReadStore could look as follows: read, position, pairMatchId A, X1, 23 A, X2, 42 B, Y1, 23 B, Y3, 42 The pairMatchIds can be chosen arbitrarily (non-sequential) as long as ther= e are exactly two matches with the same pairMatchId. There is a function compactPairMatchIds that renumerates the pairMatchIds s= equentially from 0 and returns the number of pair matches so that you can s= tore additional information in an extra array using the pairMatchId. If you need two matches of all pair matches you can call: sortAlignedReads(me.alignedReadStore, SortPairMatchId()); to resort the alignedReadStore after the pairMatchId so that matches of a p= air match are adjacent. Cheers, David PS: Does the error still occur? If yes, please create a ticket with SAM and= source files. -- 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 Am 04.01.2011 um 16:47 schrieb Mat: Hi Manuel! Thanks for your reply. I can send you some source later, but i think its a = more simple problem. I figured out that the pairMatchId of the FragmentStor= e's alignedReadStore is in general not the same as the matePairId from the = matePairStore by looking into the source. What still is missing is: I would= like to know on which contig the two reads of a mate-pair aligned. So far = i got: - First i iterate over the alignedReadStore to get a readId - i get the matePairId via the readStore - then i get the mate's id via the matePairStore - now i need a function to search for a readId in alignedReadStore effi= ciently - is there something like that? The code looks now like this: ... sortAlignedReads(fragStore.alignedReadStore, SortReadId()); for (unsigned int n=3D0;n https://lists.fu-berlin.de/listinfo/seqan-dev --_000_F96289A1AADF411A875B4A3C140337E2fuberlinde_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Mat,

the matePairId associates two reads to a mate-pair. Thus there are at most= 2 reads with the same matePairId. The alignedReadStore stores matches of r= eads. Every read can have multiple matches. Each match has a unique id. Two= matches of reads of the same mate-pair can form a mate-pair match. If so t= hey have the same pairMatchId which is unique for these 2 matches.
Example:
X1 X2 Y1 Y2 Y3

2= reads A and B have matches at positions Xi and Yj. Theoretically 2*3 pairs= of matches are possible. If only X1-Y1 and X2-Y3 form a mate pair match (d= ue to their insert size) the alignedReadStore could look as follows:
<= div>
read, position, pairMatchId
A, X1, 23
A, X2, 42
B, Y1, 23
<= /span>
B, Y3, 42
<= div style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-= break: after-white-space; ">
The pair= MatchIds can be chosen arbitrarily (non-sequential) as long as there are ex= actly two matches with the same pairMatchId.
There is a function compactPairMatchIds that renumerates the&= nbsp;pairMatchIds sequentially from 0 and returns the number of pair matche= s so that you can store additional information in an extra array using the = pairMatchId.
If you need two matches of a= ll pair matches you can call:

<= div style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-= break: after-white-space; "> sortAlignedReads(me.alignedReadStore, SortPairMatchId());=

t= o resort the alignedReadStore after the pairMatchId so that matches of a pa= ir match are adjacent.

Cheers,
David
<= div style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-= break: after-white-space; ">
PS: Does= the error still occur? If yes, please create a ticket with SAM and source = files.

--
David Weese weese@inf.fu-berlin.de
Freie Universit=E4t Berlin http://www.inf.fu-berlin.de/
Ins= titut f=FCr Informatik Phone: +49 30 838 75246
= Takustra=DFe 9 = Algorithmic Bioinformatics
141= 95 Berlin <= /span>Room 021 

Am 04.01.2011 um 16:47 schrieb Mat:

Hi Manuel!

Thanks for your reply. I can send you some source later, but i think its a more simple problem. I figured out that the pairMatchId of the FragmentStore's alignedReadStore is in general not the same as the matePairId from the matePairStore by looking into the source.
What still is missing is: I would like to know on which contig the two reads of a mate-pair aligned. So far i got:

- First i iterate over the alignedReadStore to get a readId
- i get the matePairId via the readStore
- then i get the mate's id via the matePairStore

    - now i need a function to search for a readId in alignedReadStore efficiently - is there something like that?

The code looks now like this:

...
sortAlignedReads(fragStore.alignedReadStore, SortReadId());

    for (unsigned int n=3D0;n<nrAlignments;++n){
        //get the current readId
        TValue currentReadId=3DfragStor= e.alignedReadStore[n].readId;

        //get the correct mate-pair id<= br>         TValue pair_id =3D fragStore.readStore[currentReadId].matePairId;

        if(pair_id!=3DTReadStoreElement= ::INVALID_ID){
            ++mateCounte= r;
            std::cout &l= t;< "read-id: " << currentReadId << "n: " << n << std::endl;

            TValue r1 = =3D fragStore.matePairStore[pair_id].readId[0];
            TValue r2 = =3D fragStore.matePairStore[pair_id].readId[1];
            TValue other= =3D 0;
           
            //now r1 or = r2 should equal currentReadId
            if(r1=3D=3Dc= urrentReadId){
              =   other =3D r2;
              =   std::cout << "other is r2:" << other << std::endl;
              =  
              =   //now get the alignId
              =   TValue alignId;
              =   ...how to do that?


So how do i get the alignId(s) of a mate's readId?

Thanks!

best,

mat


Am 1/4/11 4:16 PM, schrieb Holtgrewe, Manuel:
It turns out that the both pair_id's never match and=
 the loop breaks with:

Trying to access an element behind the last one!
<<
This assertion is in the operator[]/value(str, pos) fu=
nction for the String class. Did you try to run the program within a debugg=
er to see where the problem occurs in your program?

Please provide a complete, compiling problem and a minimal SAM file (should=
 be 2 lines after the header, right?) that allow us to reproduce the proble=
m.

Bests,
Manuel
_______________________________________________
seqan-dev mailing list
seqan-dev@lists.fu-berlin.de
https://lists.fu-berlin.de/listinfo/seqan-dev
<ATT00001..txt>

= --_000_F96289A1AADF411A875B4A3C140337E2fuberlinde_-- From matthias.dodt@mdc-berlin.de Wed Jan 05 17:45:02 2011 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 <1PaWTt-0007mv-F6>; Wed, 05 Jan 2011 17:45:01 +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 <1PaWTt-0003OP-Bv>; Wed, 05 Jan 2011 17:45:01 +0100 Received: from localhost (localhost [127.0.0.1]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id 3A6EB17C899 for ; Wed, 5 Jan 2011 17:45:01 +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=1294245895; x= 1296060295; bh=lbkYjLajmjGMFXGsLCOLd/FTYouDr/4q1hHSByj3U4U=; b=m YN1oCpbcK4SKYjNnVXCmPemYbGK5M12behXoRfW2kTOIaOX+AC8fXeANsrBh88ZK 5CGqUBpig4KzgIAU99ICPi1O2nYKjLW+JlpzL+MCrTyWufUPRlo8Op/TJ/6wt/p2 U/Zd9AbFSIJ4Ri55EpzLNUiwswgvx0NULLRxAOYlUE= X-Virus-Scanned: amavisd-new at bbbm.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 Egkve58WDfOL for ; Wed, 5 Jan 2011 17:44:55 +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 ; Wed, 5 Jan 2011 17:44:55 +0100 (CET) Received: from mdcexcl.mdc-berlin.net ([141.80.184.16]) by mdcmail.mdc-berlin.de with Microsoft SMTPSVC(6.0.3790.4675); Wed, 5 Jan 2011 17:46:19 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Wed, 5 Jan 2011 17:46:18 +0100 Message-ID: <4D24A05F.60008@mdc-berlin.de> Date: Wed, 05 Jan 2011 17:46:23 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: SeqAn Development References: <4D23260A.1090603@mdc-berlin.de> <58671493-DD47-4C8B-83C4-8A2B6715F4AD@fu-berlin.de> <4D234122.8020302@mdc-berlin.de> In-Reply-To: Content-Type: multipart/alternative; boundary="------------000507000007050908000007" X-OriginalArrivalTime: 05 Jan 2011 16:46:18.0611 (UTC) FILETIME=[1350A430:01CBACF8] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17876.000 X-TM-AS-Result: No--32.181400-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::1294245901-00000C13-6B062DC6/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Burundi.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] Bug in FragmentStore? 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, 05 Jan 2011 16:45:02 -0000 This is a multi-part message in MIME format. --------------000507000007050908000007 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Hi David! Thanks for clarifying! Ill check this out - Best, mat Am 1/4/11 6:10 PM, schrieb Weese, David: > Hi Mat, > > the matePairId associates two reads to a mate-pair. Thus there are at > most 2 reads with the same matePairId. The alignedReadStore stores > matches of reads. Every read can have multiple matches. Each match has > a unique id. Two matches of reads of the same mate-pair can form a > mate-pair match. If so they have the same pairMatchId which is unique > for these 2 matches. > > Example: > X1 X2 Y1 Y2 Y3 > > 2 reads A and B have matches at positions Xi and Yj. Theoretically 2*3 > pairs of matches are possible. If only X1-Y1 and X2-Y3 form a mate > pair match (due to their insert size) the alignedReadStore could look > as follows: > > read, position, pairMatchId > A, X1, 23 > A, X2, 42 > B, Y1, 23 > B, Y3, 42 > > The pairMatchIds can be chosen arbitrarily (non-sequential) as long as > there are exactly two matches with the same pairMatchId. > There is a function compactPairMatchIds that renumerates > the pairMatchIds sequentially from 0 and returns the number of pair > matches so that you can store additional information in an extra array > using the pairMatchId. > If you need two matches of all pair matches you can call: > > sortAlignedReads(me.alignedReadStore, SortPairMatchId()); > > to resort the alignedReadStore after the pairMatchId so that matches > of a pair match are adjacent. > > Cheers, > David > > PS: Does the error still occur? If yes, please create a ticket with > SAM and source files. > > -- > David Weeseweese@inf.fu-berlin.de > Freie Universität Berlinhttp://www.inf.fu-berlin.de/ > Institut für InformatikPhone: +49 30 838 75246 > Takustraße 9Algorithmic Bioinformatics > 14195 BerlinRoom 021 > > Am 04.01.2011 um 16:47 schrieb Mat: > >> Hi Manuel! >> >> Thanks for your reply. I can send you some source later, but i think >> its a more simple problem. I figured out that the pairMatchId of the >> FragmentStore's alignedReadStore is in general not the same as the >> matePairId from the matePairStore by looking into the source. What >> still is missing is: I would like to know on which contig the two >> reads of a mate-pair aligned. So far i got: >> >> - First i iterate over the alignedReadStore to get a readId >> - i get the matePairId via the readStore >> - then i get the mate's id via the matePairStore >> >> - now i need a function to search for a readId in >> alignedReadStore efficiently - is there something like that? >> >> The code looks now like this: >> >> ... >> sortAlignedReads(fragStore.alignedReadStore, SortReadId()); >> >> for (unsigned int n=0;n> >> //get the current readId >> TValue currentReadId=fragStore.alignedReadStore[n].readId; >> >> //get the correct mate-pair id >> TValue pair_id = fragStore.readStore[currentReadId].matePairId; >> >> if(pair_id!=TReadStoreElement::INVALID_ID){ >> ++mateCounter; >> std::cout << "read-id: " << currentReadId << "n: " << n >> << std::endl; >> >> TValue r1 = fragStore.matePairStore[pair_id].readId[0]; >> TValue r2 = fragStore.matePairStore[pair_id].readId[1]; >> TValue other = 0; >> >> //now r1 or r2 should equal currentReadId >> if(r1==currentReadId){ >> other = r2; >> std::cout << "other is r2:" << other << std::endl; >> >> //now get the alignId >> TValue alignId; >> ...how to do that? >> >> >> So how do i get the alignId(s) of a mate's readId? >> >> Thanks! >> >> best, >> >> mat >> >> >> Am 1/4/11 4:16 PM, schrieb Holtgrewe, Manuel: >>>> It turns out that the both pair_id's never match and the loop breaks with: >>>> >>>>>> Trying to access an element behind the last one! >>>> << >>> This assertion is in the operator[]/value(str, pos) function for the String class. Did you try to run the program within a debugger to see where the problem occurs in your program? >>> >>> Please provide a complete, compiling problem and a minimal SAM file (should be 2 lines after the header, right?) that allow us to reproduce the problem. >>> >>> Bests, >>> Manuel >>> _______________________________________________ >>> seqan-dev mailing list >>> seqan-dev@lists.fu-berlin.de >>> https://lists.fu-berlin.de/listinfo/seqan-dev >> > > > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev --------------000507000007050908000007 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi David!

Thanks for clarifying! Ill check this out -

Best,

mat

Am 1/4/11 6:10 PM, schrieb Weese, David:
Hi Mat,

the matePairId associates two reads to a mate-pair. Thus there are at most 2 reads with the same matePairId. The alignedReadStore stores matches of reads. Every read can have multiple matches. Each match has a unique id. Two matches of reads of the same mate-pair can form a mate-pair match. If so they have the same pairMatchId which is unique for these 2 matches.

Example:
X1 X2 Y1 Y2 Y3

2 reads A and B have matches at positions Xi and Yj. Theoretically 2*3 pairs of matches are possible. If only X1-Y1 and X2-Y3 form a mate pair match (due to their insert size) the alignedReadStore could look as follows:

read, position, pairMatchId
A, X1, 23
A, X2, 42
B, Y1, 23
B, Y3, 42

The pairMatchIds can be chosen arbitrarily (non-sequential) as long as there are exactly two matches with the same pairMatchId.
There is a function compactPairMatchIds that renumerates the pairMatchIds sequentially from 0 and returns the number of pair matches so that you can store additional information in an extra array using the pairMatchId.
If you need two matches of all pair matches you can call:

sortAlignedReads(me.alignedReadStore, SortPairMatchId());

to resort the alignedReadStore after the pairMatchId so that matches of a pair match are adjacent.

Cheers,
David

PS: Does the error still occur? If yes, please create a ticket with SAM and source files.

--
David Weese weese@inf.fu-berlin.de
Freie Universität Berlin http://www.inf.fu-berlin.de/
Institut für Informatik Phone: +49 30 838 75246
Takustraße 9 Algorithmic Bioinformatics
14195 Berlin Room 021 

Am 04.01.2011 um 16:47 schrieb Mat:

Hi Manuel!

Thanks for your reply. I can send you some source later, but i think its a more simple problem. I figured out that the pairMatchId of the FragmentStore's alignedReadStore is in general not the same as the matePairId from the matePairStore by looking into the source.
What still is missing is: I would like to know on which contig the two reads of a mate-pair aligned. So far i got:

- First i iterate over the alignedReadStore to get a readId
- i get the matePairId via the readStore
- then i get the mate's id via the matePairStore

    - now i need a function to search for a readId in alignedReadStore efficiently - is there something like that?

The code looks now like this:

...
sortAlignedReads(fragStore.alignedReadStore, SortReadId());

    for (unsigned int n=0;n<nrAlignments;++n){

        //get the current readId
        TValue currentReadId=fragStore.alignedReadStore[n].readId;

        //get the correct mate-pair id
        TValue pair_id = fragStore.readStore[currentReadId].matePairId;

        if(pair_id!=TReadStoreElement::INVALID_ID){
            ++mateCounter;
            std::cout << "read-id: " << currentReadId << "n: " << n << std::endl;

            TValue r1 = fragStore.matePairStore[pair_id].readId[0];
            TValue r2 = fragStore.matePairStore[pair_id].readId[1];
            TValue other = 0;
           
            //now r1 or r2 should equal currentReadId
            if(r1==currentReadId){
                other = r2;
                std::cout << "other is r2:" << other << std::endl;
               
                //now get the alignId
                TValue alignId;
                ...how to do that?


So how do i get the alignId(s) of a mate's readId?

Thanks!

best,

mat


Am 1/4/11 4:16 PM, schrieb Holtgrewe, Manuel:
It turns out that the both pair_id's never match and the loop breaks with:

Trying to access an element behind the last one!
<<
This assertion is in the operator[]/value(str, pos) function for the String class. Did you try to run the program within a debugger to see where the problem occurs in your program?

Please provide a complete, compiling problem and a minimal SAM file (should be 2 lines after the header, right?) that allow us to reproduce the problem.

Bests,
Manuel
_______________________________________________
seqan-dev mailing list
seqan-dev@lists.fu-berlin.de
https://lists.fu-berlin.de/listinfo/seqan-dev
<ATT00001..txt>

_______________________________________________ seqan-dev mailing list seqan-dev@lists.fu-berlin.de https://lists.fu-berlin.de/listinfo/seqan-dev
--------------000507000007050908000007-- From matthias.dodt@mdc-berlin.de Wed Jan 12 14:25:23 2011 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 <1Pd0hW-0001zP-99>; Wed, 12 Jan 2011 14:25:22 +0100 Received: from pegasus.bbbm.mdc-berlin.de ([141.80.25.20]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1Pd0hW-00017m-66>; Wed, 12 Jan 2011 14:25:22 +0100 Received: from localhost (localhost [127.0.0.1]) by pegasus.bbbm.mdc-berlin.de (Postfix) with ESMTP id D6D3962F68 for ; Wed, 12 Jan 2011 14:25:21 +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=1294838716; x=1296653116; bh=KRhq NJC6sdhFYKlu2SLVj+im0iocJoCU8RTttyqd0cY=; b=KlSdR/uAkJAfchNPSrNA 4pjYlwCKNCt95gwDxCWMxdEfG6EwzgKz52LH10gM/zKsvLgZCR1W9rrOFCYW+/pp 3BXT7TX7hGqRQUByzLvEdevr/rWmjpbaGiBlVuI5JiyJyzV0l2daYLPB95/foY3u 4YeUTK3LR32DI6JuScZDoc0= X-Virus-Scanned: amavisd-new at bbbm.mdc-berlin.de Received: from pegasus.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (pegasus.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id egVdDpIswtXU for ; Wed, 12 Jan 2011 14:25:16 +0100 (CET) Received: from mdcmail.mdc-berlin.de (mab.citx.mdc-berlin.de [141.80.36.102]) by pegasus.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Wed, 12 Jan 2011 14:25:16 +0100 (CET) Received: from mdcexcl.mdc-berlin.net ([141.80.184.16]) by mdcmail.mdc-berlin.de with Microsoft SMTPSVC(6.0.3790.4675); Wed, 12 Jan 2011 14:26:25 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Wed, 12 Jan 2011 14:26:25 +0100 Message-ID: <4D2DAC10.4040607@mdc-berlin.de> Date: Wed, 12 Jan 2011 14:26:40 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: SeqAn Development Content-Type: multipart/alternative; boundary="------------050106060301040205010406" X-OriginalArrivalTime: 12 Jan 2011 13:26:25.0303 (UTC) FILETIME=[4FA35270:01CBB25C] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17886.000 X-TM-AS-Result: No--17.275500-0.000000-31 X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-Originating-IP: 141.80.25.20 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1294838722-00000C13-AFF76EF0/0-0/0-0 X-Bogosity: Unsure, tests=bogofilter, spamicity=0.454142, 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_30_40, HTML_MESSAGE,RATWARE_GECKO_BUILD Subject: [Seqan-dev] getting vertex descriptors from graphs 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, 12 Jan 2011 13:25:23 -0000 This is a multi-part message in MIME format. --------------050106060301040205010406 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Hi seqan-users! Anybody could give me a hint on the following problem? I created a directed graph and added some nodes. Each node has an additional datastructure (VertexProperty - node name and size...) which is linked to each node by a vertexMap. Now: Later on i would like to add some edges to my graph, so i need two VertexDescriptor's to add an edge. Is there a standard way to search a vertexMap's via VertexProperties and get the corresponding VertexDescriptor? One way would be to iterate on the vertexMap and look for a VertexProperty but this might be to slow... Thanks! >>> //EdgeProperty and VertexProperty store additional information... typedef Graph > GraphType; GraphType *contigGraph = new GraphType(); typedef VertexDescriptor::Type TVertexDescriptor; typedef EdgeDescriptor::Type TEdgeDescriptor; typedef seqan::String TVertexProperty; TVertexProperty *vertexPropertyMap = new TVertexProperty(); TVertexDescriptor vertDesc1; ... for(unsigned int n=0;n Hi seqan-users!

Anybody could give me a hint on the following problem?

I created a directed graph and added some nodes. Each node has an additional datastructure (VertexProperty - node name and size...) which is linked to each node by a vertexMap.
Now: Later on i would like to add some edges to my graph, so i need two VertexDescriptor's to add an edge.

Is there a standard way to search a vertexMap's via VertexProperties and get the corresponding VertexDescriptor?

One way would be to iterate on the vertexMap and look for a VertexProperty but this might be to slow...

Thanks!

>>>
//EdgeProperty and VertexProperty store additional information...

typedef Graph<Directed<EdgeProperty> > GraphType;
GraphType *contigGraph = new GraphType();

typedef VertexDescriptor<GraphType>::Type TVertexDescriptor;
typedef EdgeDescriptor<GraphType>::Type TEdgeDescriptor;

typedef seqan::String<VertexProperty > TVertexProperty;
TVertexProperty *vertexPropertyMap = new TVertexProperty();

TVertexDescriptor vertDesc1;

...

for(unsigned int n=0;n<numberOfContigs;++n){
     //get a vertex descriptor
     vertDesc1 = addVertex(*m_g);

     //create a vertex property
     VertexProperty vp1;
     vp1.contigId = n;
     vp1.length = length(fragStore.contigStore[n].seq);

     //store descriptor:vertexproperty
     seqan::resizeVertexMap(*m_g, *vertexMap);
     seqan::assignProperty(*vertexMap,vertDesc1,vp1);
}
<<<


--------------050106060301040205010406-- From weese@campus.fu-berlin.de Thu Jan 13 15:51:02 2011 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 <1PdOVx-000222-Gh>; Thu, 13 Jan 2011 15:51:01 +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 <1PdOVx-0006qf-DB>; Thu, 13 Jan 2011 15:51:01 +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 <1PdOVx-0004RJ-6E>; Thu, 13 Jan 2011 15:51:01 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Thu, 13 Jan 2011 15:51:01 +0100 From: "Weese, David" To: SeqAn Development Date: Thu, 13 Jan 2011 15:50:59 +0100 Thread-Topic: [Seqan-dev] getting vertex descriptors from graphs Thread-Index: AcuzMUrb1Sqr9QbhQDqOiEFzDn/ylA== Message-ID: <5BB8C146-DE59-41C5-AE65-0677F9C07718@fu-berlin.de> References: <4D2DAC10.4040607@mdc-berlin.de> In-Reply-To: <4D2DAC10.4040607@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_5BB8C146DE5941C5AE650677F9C07718fuberlinde_" 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::1294930261-00000C13-F327584D/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.029210, 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_60_70, HTML_MESSAGE Subject: Re: [Seqan-dev] getting vertex descriptors from graphs 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, 13 Jan 2011 14:51:02 -0000 --_000_5BB8C146DE5941C5AE650677F9C07718fuberlinde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Mat, Property maps are one-way maps from SeqAn's point of view. If you need an e= fficient reverse map, you have to use a STL map that maps strings to IDs (= =3DVertexDescriptor). 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 Am 12.01.2011 um 14:26 schrieb Mat: Hi seqan-users! Anybody could give me a hint on the following problem? I created a directed graph and added some nodes. Each node has an additiona= l datastructure (VertexProperty - node name and size...) which is linked to= each node by a vertexMap. Now: Later on i would like to add some edges to my graph, so i need two Ver= texDescriptor's to add an edge. Is there a standard way to search a vertexMap's via VertexProperties and ge= t the corresponding VertexDescriptor? One way would be to iterate on the vertexMap and look for a VertexProperty = but this might be to slow... Thanks! >>> //EdgeProperty and VertexProperty store additional information... typedef Graph > GraphType; GraphType *contigGraph =3D new GraphType(); typedef VertexDescriptor::Type TVertexDescriptor; typedef EdgeDescriptor::Type TEdgeDescriptor; typedef seqan::String TVertexProperty; TVertexProperty *vertexPropertyMap =3D new TVertexProperty(); TVertexDescriptor vertDesc1; ... for(unsigned int n=3D0;n --_000_5BB8C146DE5941C5AE650677F9C07718fuberlinde_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Mat,

Property maps are one-way maps from SeqAn's point of view. If you need an&= nbsp;efficient reverse map, you have to use a STL map that maps s= trings to IDs (=3DVertexDescriptor).

Cheers,
=
David
Freie Univer= sit=E4t Berlin = http://www.inf.fu-berlin.d= e/
Institut f=FCr Informatik Phone: +49 30 = 838 75246
Takustra=DFe 9 Algorithmic Bioinfor= matics
14195 Berlin Room 021 

Am 12.01.2011 um 14:26 schrieb Mat:

Hi seqan-users!

Anybody could give me a hint on the following problem?

I created a directed graph and added some nodes. Each node has an additional datastructure (VertexProperty - node name and size...) which is linked to each node by a vertexMap.
Now: Later on i would like to add some edges to my graph, so i need two VertexDescriptor's to add an edge.

Is there a standard way to search a vertexMap's via VertexProperties and get the corresponding VertexDescriptor?

One way would be to iterate on the vertexMap and look for a VertexProperty but this might be to slow...

Thanks!

>>>
//EdgeProperty and VertexProperty store additional information...

typedef Graph<Directed<EdgeProperty> > GraphType;
GraphType *contigGraph =3D new GraphType();

typedef VertexDescriptor<GraphType>::Type TVertexDescriptor; typedef EdgeDescriptor<GraphType>::Type TEdgeDescriptor;

typedef seqan::String<VertexProperty > TVertexProperty;
TVertexProperty *vertexPropertyMap =3D new TVertexProperty();

TVertexDescriptor vertDesc1;

...

for(unsigned int n=3D0;n<numberOfContigs;++n){
     //get a vertex descriptor
     vertDesc1 =3D addVertex(*m_g);

     //create a vertex property
     VertexProperty vp1;
     vp1.contigId =3D n;
     vp1.length =3D length(fragStore.contigStore[= n].seq);

     //store descriptor:vertexproperty
     seqan::resizeVertexMap(*m_g, *vertexMap);      seqan::assignProperty(*vertexMap,vertDesc1,v= p1);
}
<<<


<ATT00001..txt>

= --_000_5BB8C146DE5941C5AE650677F9C07718fuberlinde_-- From matthias.dodt@mdc-berlin.de Fri Jan 14 12:59:24 2011 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 <1PdiJP-00023W-Ae>; Fri, 14 Jan 2011 12:59:23 +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 <1PdiJP-0000uz-7w>; Fri, 14 Jan 2011 12:59:23 +0100 Received: from localhost (localhost [127.0.0.1]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id 94283404A4 for ; Fri, 14 Jan 2011 12:59:22 +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=1295006356; x= 1296820756; bh=D5/LoYwds/Jzbm9Amd8syp7YKXApARboLSJWD1ln2A0=; b=A 1Hm1oQDJDY9LQk6WVIRHhgH4Kz4ZtDe7WxKzB3g6FcL7/6KKZxjDc1v/fs+c8pmC GA//EPwOfIXnjBSP0V4i1AgVxSThTBViH24eVz4StEpznEUl/AJIEofiEOFpTklb QWfCnDm2o79pdeZhuIrc7ukbMRppsOnR+3V9yKDEow= X-Virus-Scanned: amavisd-new at bbbm.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 9Enq-14caweA for ; Fri, 14 Jan 2011 12:59:16 +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 for ; Fri, 14 Jan 2011 12:59:16 +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, 14 Jan 2011 13:01:11 +0100 Received: from cd04-macpro.local ([141.80.188.98]) by mdcexcl.mdc-berlin.net with Microsoft SMTPSVC(6.0.3790.4675); Fri, 14 Jan 2011 13:01:10 +0100 Message-ID: <4D303B18.4060100@mdc-berlin.de> Date: Fri, 14 Jan 2011 13:01:28 +0100 From: Mat User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; de; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: SeqAn Development References: <4D2DAC10.4040607@mdc-berlin.de> <5BB8C146-DE59-41C5-AE65-0677F9C07718@fu-berlin.de> In-Reply-To: <5BB8C146-DE59-41C5-AE65-0677F9C07718@fu-berlin.de> Content-Type: multipart/alternative; boundary="------------020605000502060800070002" X-OriginalArrivalTime: 14 Jan 2011 12:01:10.0866 (UTC) FILETIME=[BC05AB20:01CBB3E2] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.500.1024-17890.007 X-TM-AS-Result: No--31.789400-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::1295006363-00000C13-9C8DD27A/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000201, 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.9 required=5.0 tests=HTML_60_70,HTML_MESSAGE, HTML_TITLE_EMPTY,RATWARE_GECKO_BUILD Subject: Re: [Seqan-dev] getting vertex descriptors from graphs 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, 14 Jan 2011 11:59:25 -0000 This is a multi-part message in MIME format. --------------020605000502060800070002 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Hi David! Okay thanks - then i'll stick to the STL! best, Mat Am 1/13/11 3:50 PM, schrieb Weese, David: > Hi Mat, > > Property maps are one-way maps from SeqAn's point of view. If you need > an efficient reverse map, you have to use a STL map that maps strings > to IDs (=VertexDescriptor). > > Cheers, > David > > -- > David Weeseweese@inf.fu-berlin.de > Freie Universität Berlinhttp://www.inf.fu-berlin.de/ > Institut für InformatikPhone: +49 30 838 75246 > Takustraße 9Algorithmic Bioinformatics > 14195 BerlinRoom 021 > > Am 12.01.2011 um 14:26 schrieb Mat: > >> Hi seqan-users! >> >> Anybody could give me a hint on the following problem? >> >> I created a directed graph and added some nodes. Each node has an >> additional datastructure (VertexProperty - node name and size...) >> which is linked to each node by a vertexMap. >> Now: Later on i would like to add some edges to my graph, so i need >> two VertexDescriptor's to add an edge. >> >> Is there a standard way to search a vertexMap's via VertexProperties >> and get the corresponding VertexDescriptor? >> >> One way would be to iterate on the vertexMap and look for a >> VertexProperty but this might be to slow... >> >> Thanks! >> >> >>> >> //EdgeProperty and VertexProperty store additional information... >> >> typedef Graph > GraphType; >> GraphType *contigGraph = new GraphType(); >> >> typedef VertexDescriptor::Type TVertexDescriptor; >> typedef EdgeDescriptor::Type TEdgeDescriptor; >> >> typedef seqan::String TVertexProperty; >> TVertexProperty *vertexPropertyMap = new TVertexProperty(); >> >> TVertexDescriptor vertDesc1; >> >> ... >> >> for(unsigned int n=0;n> //get a vertex descriptor >> vertDesc1 = addVertex(*m_g); >> >> //create a vertex property >> VertexProperty vp1; >> vp1.contigId = n; >> vp1.length = length(fragStore.contigStore[n].seq); >> >> //store descriptor:vertexproperty >> seqan::resizeVertexMap(*m_g, *vertexMap); >> seqan::assignProperty(*vertexMap,vertDesc1,vp1); >> } >> <<< >> >> >> > > > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev --------------020605000502060800070002 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi David!

Okay thanks - then i'll stick to the STL!

best,

Mat

Am 1/13/11 3:50 PM, schrieb Weese, David:
Hi Mat,

Property maps are one-way maps from SeqAn's point of view. If you need an efficient reverse map, you have to use a STL map that maps strings to IDs (=VertexDescriptor).

Cheers,
David

--
David Weese weese@inf.fu-berlin.de
Freie Universität Berlin http://www.inf.fu-berlin.de/
Institut für Informatik Phone: +49 30 838 75246
Takustraße 9 Algorithmic Bioinformatics
14195 Berlin Room 021 

Am 12.01.2011 um 14:26 schrieb Mat:

Hi seqan-users!

Anybody could give me a hint on the following problem?

I created a directed graph and added some nodes. Each node has an additional datastructure (VertexProperty - node name and size...) which is linked to each node by a vertexMap.
Now: Later on i would like to add some edges to my graph, so i need two VertexDescriptor's to add an edge.

Is there a standard way to search a vertexMap's via VertexProperties and get the corresponding VertexDescriptor?

One way would be to iterate on the vertexMap and look for a VertexProperty but this might be to slow...

Thanks!

>>>
//EdgeProperty and VertexProperty store additional information...

typedef Graph<Directed<EdgeProperty> > GraphType;
GraphType *contigGraph = new GraphType();

typedef VertexDescriptor<GraphType>::Type TVertexDescriptor;
typedef EdgeDescriptor<GraphType>::Type TEdgeDescriptor;

typedef seqan::String<VertexProperty > TVertexProperty;
TVertexProperty *vertexPropertyMap = new TVertexProperty();

TVertexDescriptor vertDesc1;

...

for(unsigned int n=0;n<numberOfContigs;++n){
     //get a vertex descriptor
     vertDesc1 = addVertex(*m_g);

     //create a vertex property
     VertexProperty vp1;
     vp1.contigId = n;
     vp1.length = length(fragStore.contigStore[n].seq);

     //store descriptor:vertexproperty
     seqan::resizeVertexMap(*m_g, *vertexMap);
     seqan::assignProperty(*vertexMap,vertDesc1,vp1);
}
<<<


<ATT00001..txt>

_______________________________________________ seqan-dev mailing list seqan-dev@lists.fu-berlin.de https://lists.fu-berlin.de/listinfo/seqan-dev
--------------020605000502060800070002-- From jer15@hermes.cam.ac.uk Fri Jan 28 13:15:14 2011 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 <1PinEP-0005SX-OL>; Fri, 28 Jan 2011 13:15:13 +0100 Received: from ppsw-41.csi.cam.ac.uk ([131.111.8.141]) by relay1.zedat.fu-berlin.de (Exim 4.69) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1PinEP-0002OG-Ky>; Fri, 28 Jan 2011 13:15:13 +0100 X-Cam-AntiVirus: no malware found X-Cam-SpamDetails: not scanned X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/ Received: from cpc6-dals15-2-0-cust115.hari.cable.virginmedia.com ([82.35.196.116]:42422 helo=[192.168.1.5]) by ppsw-41.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.156]:587) with esmtpsa (PLAIN:jer15) (TLSv1:DHE-RSA-CAMELLIA256-SHA:256) id 1PinEO-0008D7-Sd (Exim 4.72) for seqan-dev@lists.fu-berlin.de (return-path ); Fri, 28 Jan 2011 12:15:12 +0000 Message-ID: <4D42B350.8040909@netscape.net> Date: Fri, 28 Jan 2011 12:15:12 +0000 From: John Reid User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: "J.E. Reid" X-Originating-IP: 131.111.8.141 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1296216913-00003B05-68EF1947/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.426277, 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 X-Spam-Status: No, score=2.0 required=5.0 tests=HTML_MESSAGE,MIME_HTML_ONLY, RATWARE_GECKO_BUILD X-Mailman-Approved-At: Fri, 28 Jan 2011 14:23:48 +0100 Subject: [Seqan-dev] Installation instruction out of date 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, 28 Jan 2011 12:15:15 -0000 Hi,

In the README in the seqan 1.3rc1 download, it refers to http://trac.mi.fu-berlin.de/seqan/wiki/Tutorial/GettingStarted

On this web page it instructs you to
cd projects/library/cmake
but this directory doesn't exist. Do you mean the cmake directory? Also is it necessary to run cmake if you are just using seqan as a header only library without compiling any of the apps or demos?

Thanks,
John.





From manuel.holtgrewe@fu-berlin.de Fri Jan 28 14:24:42 2011 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 <1PioJd-0000LS-TY>; Fri, 28 Jan 2011 14:24:42 +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 <1PioJd-0002ji-RV>; Fri, 28 Jan 2011 14:24:41 +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 <1PioJd-0003XQ-MB>; Fri, 28 Jan 2011 14:24:41 +0100 Received: from exchange6.fu-berlin.de ([160.45.9.133]) by exchange6.fu-berlin.de ([160.45.9.133]) with mapi; Fri, 28 Jan 2011 14:24:41 +0100 From: "Holtgrewe, Manuel" To: SeqAn Development Date: Fri, 28 Jan 2011 14:24:40 +0100 Thread-Topic: [Seqan-dev] Installation instruction out of date Thread-Index: Acu+7rf4dtkWpFt1Q16Z9BfgbFUNPw== Message-ID: References: <4D42B350.8040909@netscape.net> In-Reply-To: <4D42B350.8040909@netscape.net> 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: text/plain; charset="us-ascii" 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::1296221081-00003B05-EF44D72C/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.017497, version=1.2.2 X-Spam-Flag: NO X-Spam-Checker-Version: SpamAssassin 3.0.4 on Burundi.ZEDAT.-Berlin.DE X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED Subject: Re: [Seqan-dev] Installation instruction out of date 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, 28 Jan 2011 13:24:43 -0000 John, thanks for your documentation bug report. I updated the tutorial and there = now is the following at the top: =3D=3D Differences Between Subversion Checkouts And Release Archives =3D=3D The main difference is that the release archives directly contain the proje= cts/library folder. Thus, you have to remove projects/library from all path= s below in order for the commands to work correctly, e.g. cd cmake instead = of cd projects/library/cmake. HTH Manuel Am 28.01.2011 um 13:15 schrieb John Reid: > Hi, >=20 > In the README in the seqan 1.3rc1 download, it refers to http://trac.mi.f= u-berlin.de/seqan/wiki/Tutorial/GettingStarted >=20 > On this web page it instructs you to=20 > cd projects/library/cmake > but this directory doesn't exist. Do you mean the cmake directory? Also i= s it necessary to run cmake if you are just using seqan as a header only li= brary without compiling any of the apps or demos? >=20 > Thanks, > John. >=20 >=20 >=20 >=20 >=20 >