From Sabrina.Krakau@fu-berlin.de Tue Aug 06 14:47:10 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) with esmtp (envelope-from ) id <1V6gfM-003UU3-SS>; Tue, 06 Aug 2013 14:47:09 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) with esmtp (envelope-from ) id <1V6gfM-000iYN-Q6>; Tue, 06 Aug 2013 14:47:08 +0200 Received: from cas1.campus.fu-berlin.de ([130.133.170.201]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) with esmtp (envelope-from ) id <1V6gfM-000tme-Bf>; Tue, 06 Aug 2013 14:47:08 +0200 Received: from EX03B.campus.fu-berlin.de ([130.133.170.135]) by CAS1.campus.fu-berlin.de ([130.133.170.201]) with mapi id 14.03.0123.003; Tue, 6 Aug 2013 14:47:06 +0200 From: "Krakau, Sabrina" To: "Krakau, Sabrina" Thread-Topic: SeqAn - BioStore Workshop 2013, Berlin, September 17th - 19th Thread-Index: Ac6Sow2bon8f+W7wT7KeX6Zpq1XCvg== Message-ID: Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Content-Type: multipart/mixed; boundary="_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_" MIME-Version: 1.0 Date: Tue, 06 Aug 2013 14:47:05 +0200 X-Original-Date: Tue, 6 Aug 2013 12:47:05 +0000 X-Originating-IP: 130.133.170.201 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1375793228-0000097E-942EBBAE/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000089, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-49.3 required=5.0 tests=ALL_TRUSTED, HTML_IMAGE_ONLY_20,HTML_MESSAGE,T_FILL_THIS_FORM_SHORT X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: Cc: SeqAn Development , "seqan-interests@lists.fu-berlin.de" Subject: [Seqan-dev] SeqAn - BioStore Workshop 2013, Berlin, September 17th - 19th X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 06 Aug 2013 12:47:10 -0000 --_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_ Content-Type: multipart/alternative; boundary="_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_" --_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_ Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Dear SeqAn Users and Developers, We are happy to announce that you can find the schedule for the SeqAn - Bio= Store Workshop 2013, September 17th - 19th in Berlin on our website = now. The workshop is the perfect opportunity to learn about SeqAn, keep up = to date with recent developments and discuss your ideas and problems. For registration please send a mail containing your affiliation and registr= ation type to sabrina.krakau@fu-berlin.de until the 26th of August. There will be a workshop fee of 80 Euro for gr= aduates and 20 Euro for undergraduates (Bachelor and Master students), whic= h can be paid at the beginning of the workshop. If you want to register mor= e than one person, please include all names and email addresses. The last day the workshop will include external talks. So, if you would lik= e to share your experience and recent research with SeqAn, please send us a= short summary about your topic and the required time until the 26th of Aug= ust. Please feel free to forward the mail to your colleagues or other interested= users. We hope to see you in Berlin in September. The SeqAn team -- Sabrina Krakau [Logo] Freie Universit=E4t Berlin Institute of Computer Science Algorithmic Bioinformatics - Project BioStore Takustr. 9, 14195 Berlin Telefon: +49 (0)30 838 75228 --_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_ Content-Type: text/html; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Dear SeqAn Users and Developers,

We are happy to announce that you can find the schedule for the SeqAn - Bio= Store Workshop 2013, September 17th - 19th in Berlin on our website now. The workshop is the perfect opportunity to learn about Seq= An, keep up to date with recent developments and discuss your ideas and pro= blems.

For registration please send a mail containing your affiliation and registr= ation type to sabrina.krakau@fu-berlin.de until t= he 26th of August. There will be a workshop fee of 80 Euro for graduate= s and 20 Euro for undergraduates (Bachelor and Master students), which can = be paid at the beginning of the workshop. If you want to register more than= one person, please include all names and email addresses.

The last day the workshop will include external talks. So, if you would lik= e to share your experience and recent research with SeqAn, please send us a= short summary about your topic and the required time until the 26th of Aug= ust.

Please feel free to forward the mail to your colleagues or other interested= users.

We hope to see you in Berlin in September.
The SeqAn team

--

Sabrina Krakau

3D"Logo"

Freie Universit=E4t Berlin
Institute of Computer Science
Algorithmic Bioinformatics - Project BioStore

Takustr. 9, 14195 Berlin
Telefon: +49 (0)30 838 75228

--_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_-- --_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_ Content-Type: image/png; name="cjdjdcha.png" Content-Description: cjdjdcha.png Content-Disposition: attachment; filename="cjdjdcha.png"; size=9060; creation-date="Tue, 06 Aug 2013 12:47:04 GMT"; modification-date="Tue, 06 Aug 2013 12:47:04 GMT" Content-ID: Content-Transfer-Encoding: base64 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 --_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D1070Dex03bcampusfube_-- From Daniel.Mapleson@tgac.ac.uk Tue Aug 13 12:19:41 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1V9BhT-00340Y-Hf>; Tue, 13 Aug 2013 12:19:39 +0200 Received: from engine02-20376-2.icritical.com ([195.62.217.90]) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with smtp (envelope-from ) id <1V9BhT-00099R-Dc>; Tue, 13 Aug 2013 12:19:39 +0200 Received: (qmail 18278 invoked from network); 13 Aug 2013 10:19:42 -0000 Received: from localhost (127.0.0.1) by engine02-20376-2.icritical.com with SMTP; 13 Aug 2013 10:19:42 -0000 Received: from engine02-20376-2.icritical.com ([127.0.0.1]) by localhost (engine02-20376-2.icritical.com [127.0.0.1]) (amavisd-new, port 10024) with SMTP id 17858-04 for ; Tue, 13 Aug 2013 11:19:37 +0100 (BST) Received: (qmail 18271 invoked by uid 599); 13 Aug 2013 10:19:37 -0000 Received: from unknown (HELO mailex3.nbi.ac.uk) (149.155.210.41) by engine02-20376-2.icritical.com (qpsmtpd/0.28) with ESMTP; Tue, 13 Aug 2013 11:19:37 +0100 Received: from [149.155.218.209] (149.155.218.209) by mailex3.nbi.ac.uk (149.155.210.41) with Microsoft SMTP Server (TLS) id 14.2.342.3; Tue, 13 Aug 2013 11:19:30 +0100 Message-ID: <520A0832.3000609@tgac.ac.uk> Date: Tue, 13 Aug 2013 11:19:30 +0100 From: Daniel Mapleson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130623 Thunderbird/17.0.7 MIME-Version: 1.0 To: Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by iCritical at engine02-20376-2.icritical.com X-Originating-IP: 195.62.217.90 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1376389179-0000097E-260862D7/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.006249, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=0.0 required=5.0 tests=none X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Burundi.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] Problem Reading Records X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 13 Aug 2013 10:19:41 -0000 Hello, I work at the genome analysis centre in Norwich, UK, and am using SeqAn within a project primarily to load sequences from FastQ and FastA files. I have encountered a problem reading records when the record contains a sequence outside the DNA5 alphabet. It was my understanding from the documentation that any invalid characters would be automatically converted to an 'N'. Instead the file reading seems to fail with no way of continuing where it left off. Is this a known problem or am I doing something wrong here? Relevant code is as follows: // Open file, create RecordReader and check all is well std::fstream in(args->fasta_arg, std::ios::in); seqan::RecordReader > reader(in); // Create the AutoSeqStreamFormat object and guess the file format. seqan::AutoSeqStreamFormat formatTag; if (!guessStreamFormat(reader, formatTag)) { cerr << "ERROR: Could not detect file format for: " << args->fasta_arg << endl; return; } ...... for (unsigned i = 0; (res == 0) && (i < BATCH_SIZE) && !atEnd(reader); ++i) { CharString id; Dna5String seq; // Supposed to auto convert chars not in {A,T,G,C,N} to N res = seqan::readRecord(id, seq, reader, formatTag); if (res == 0) { seqan::appendValue(names, id); seqan::appendValue(seqs, seq); recordIndex++; } else { cerr << endl << "ERROR: cannot finish processing all records in file. Encountered an error reading file at record: " << recordIndex << "; Error code: " << res << "; Last sequence ID: " << id << "; Continuing to process currently loaded records." << endl; } } Best regards, Dan Mapleson From manuel.holtgrewe@fu-berlin.de Tue Aug 13 23:59:39 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1V9Mcr-000wXX-Hz>; Tue, 13 Aug 2013 23:59:37 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1V9Mcr-002qpB-Ft>; Tue, 13 Aug 2013 23:59:37 +0200 Received: from cas2.campus.fu-berlin.de ([130.133.170.202]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1V9Mcr-00191a-5q>; Tue, 13 Aug 2013 23:59:37 +0200 Received: from EX02A.campus.fu-berlin.de ([130.133.170.132]) by CAS2.campus.fu-berlin.de ([130.133.170.202]) with mapi id 14.03.0123.003; Tue, 13 Aug 2013 23:59:36 +0200 From: "Holtgrewe, Manuel" To: SeqAn Development Thread-Topic: [Seqan-dev] Problem Reading Records Thread-Index: AQHOmA6jNyZD8rhLf0+MKw+rzWVzrJmTr91v Message-ID: References: <520A0832.3000609@tgac.ac.uk> In-Reply-To: <520A0832.3000609@tgac.ac.uk> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Tue, 13 Aug 2013 23:59:35 +0200 X-Original-Date: Tue, 13 Aug 2013 21:59:35 +0000 X-Originating-IP: 130.133.170.202 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1376431177-0000097E-C78F9A30/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Problem Reading Records X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 13 Aug 2013 21:59:39 -0000 Hi Dan,=0A= =0A= this is a bug in the documentation (the behaviour used to be this way but w= as changed in favour of following the "do not fail silently" motto).=0A= =0A= Instead, you should load your sequence into a CharString/String and t= hen assign this to your Dna5String.=0A= =0A= We plan to make this behaviour configurable at runtime but have not made th= e change yet.=0A= =0A= I'm sorry for any caused confusion.=0A= =0A= Cheers,=0A= Manuel=0A= ________________________________________=0A= From: Daniel Mapleson [daniel.mapleson@tgac.ac.uk]=0A= Sent: Tuesday, August 13, 2013 12:19 PM=0A= To: seqan-dev@lists.fu-berlin.de=0A= Subject: [Seqan-dev] Problem Reading Records=0A= =0A= Hello,=0A= =0A= I work at the genome analysis centre in Norwich, UK, and am using SeqAn=0A= within a project primarily to load sequences from FastQ and FastA files.=0A= =0A= I have encountered a problem reading records when the record contains a=0A= sequence outside the DNA5 alphabet. It was my understanding from the=0A= documentation that any invalid characters would be automatically=0A= converted to an 'N'. Instead the file reading seems to fail with no way=0A= of continuing where it left off. Is this a known problem or am I doing=0A= something wrong here?=0A= =0A= Relevant code is as follows:=0A= =0A= // Open file, create RecordReader and check all is well=0A= std::fstream in(args->fasta_arg, std::ios::in);=0A= seqan::RecordReader > reader(in)= ;=0A= =0A= // Create the AutoSeqStreamFormat object and guess the file format= .=0A= seqan::AutoSeqStreamFormat formatTag;=0A= if (!guessStreamFormat(reader, formatTag))=0A= {=0A= cerr << "ERROR: Could not detect file format for: " <<=0A= args->fasta_arg << endl;=0A= return;=0A= }=0A= =0A= ......=0A= =0A= for (unsigned i =3D 0; (res =3D=3D 0) && (i < BATCH_SIZE) &&=0A= !atEnd(reader); ++i)=0A= {=0A= CharString id;=0A= Dna5String seq; // Supposed to auto convert chars not in=0A= {A,T,G,C,N} to N=0A= =0A= res =3D seqan::readRecord(id, seq, reader, formatTag);=0A= if (res =3D=3D 0)=0A= {=0A= seqan::appendValue(names, id);=0A= seqan::appendValue(seqs, seq);=0A= =0A= recordIndex++;=0A= }=0A= else=0A= {=0A= cerr << endl << "ERROR: cannot finish processing all=0A= records in file. Encountered an error reading file at record: " <<=0A= recordIndex=0A= << "; Error code: " << res << "; Last sequence ID:=0A= " << id << "; Continuing to process currently loaded records." << endl;=0A= }=0A= }=0A= =0A= =0A= Best regards,=0A= Dan Mapleson=0A= =0A= _______________________________________________=0A= seqan-dev mailing list=0A= seqan-dev@lists.fu-berlin.de=0A= https://lists.fu-berlin.de/listinfo/seqan-dev=0A= From Daniel.Mapleson@tgac.ac.uk Wed Aug 14 11:18:57 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1V9XEE-001pwX-Oo>; Wed, 14 Aug 2013 11:18:55 +0200 Received: from engine01-20376-1.icritical.com ([93.95.15.108]) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with smtp (envelope-from ) id <1V9XEE-000mIq-Kp>; Wed, 14 Aug 2013 11:18:54 +0200 Received: (qmail 32216 invoked from network); 14 Aug 2013 09:18:20 -0000 Received: from localhost (127.0.0.1) by engine01-20376-1.icritical.com with SMTP; 14 Aug 2013 09:18:20 -0000 Received: from engine01-20376-1.icritical.com ([127.0.0.1]) by localhost (engine01-20376-1.icritical.com [127.0.0.1]) (amavisd-new, port 10024) with SMTP id 32037-06 for ; Wed, 14 Aug 2013 10:18:15 +0100 (BST) Received: (qmail 31453 invoked by uid 599); 14 Aug 2013 09:16:56 -0000 Received: from unknown (HELO MAILEX2.nbi.ac.uk) (149.155.210.62) by engine01-20376-1.icritical.com (qpsmtpd/0.28) with ESMTP; Wed, 14 Aug 2013 10:16:56 +0100 Received: from [149.155.218.209] (149.155.218.209) by MAILEX2.nbi.ac.uk (149.155.210.62) with Microsoft SMTP Server (TLS) id 14.2.342.3; Wed, 14 Aug 2013 10:17:13 +0100 Message-ID: <520B4B19.2060404@tgac.ac.uk> Date: Wed, 14 Aug 2013 10:17:13 +0100 From: Daniel Mapleson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130623 Thunderbird/17.0.7 MIME-Version: 1.0 To: SeqAn Development References: <520A0832.3000609@tgac.ac.uk> In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by iCritical at engine01-20376-1.icritical.com X-Originating-IP: 93.95.15.108 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1376471934-0000097E-93348BF6/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000080, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=0.0 required=5.0 tests=none X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Problem Reading Records X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 14 Aug 2013 09:18:57 -0000 That works! Thanks for the workaround. Dan On 13/08/13 22:59, Holtgrewe, Manuel wrote: > Hi Dan, > > this is a bug in the documentation (the behaviour used to be this way but was changed in favour of following the "do not fail silently" motto). > > Instead, you should load your sequence into a CharString/String and then assign this to your Dna5String. > > We plan to make this behaviour configurable at runtime but have not made the change yet. > > I'm sorry for any caused confusion. > > Cheers, > Manuel > ________________________________________ > From: Daniel Mapleson [daniel.mapleson@tgac.ac.uk] > Sent: Tuesday, August 13, 2013 12:19 PM > To: seqan-dev@lists.fu-berlin.de > Subject: [Seqan-dev] Problem Reading Records > > Hello, > > I work at the genome analysis centre in Norwich, UK, and am using SeqAn > within a project primarily to load sequences from FastQ and FastA files. > > I have encountered a problem reading records when the record contains a > sequence outside the DNA5 alphabet. It was my understanding from the > documentation that any invalid characters would be automatically > converted to an 'N'. Instead the file reading seems to fail with no way > of continuing where it left off. Is this a known problem or am I doing > something wrong here? > > Relevant code is as follows: > > // Open file, create RecordReader and check all is well > std::fstream in(args->fasta_arg, std::ios::in); > seqan::RecordReader > reader(in); > > // Create the AutoSeqStreamFormat object and guess the file format. > seqan::AutoSeqStreamFormat formatTag; > if (!guessStreamFormat(reader, formatTag)) > { > cerr << "ERROR: Could not detect file format for: " << > args->fasta_arg << endl; > return; > } > > ...... > > for (unsigned i = 0; (res == 0) && (i < BATCH_SIZE) && > !atEnd(reader); ++i) > { > CharString id; > Dna5String seq; // Supposed to auto convert chars not in > {A,T,G,C,N} to N > > res = seqan::readRecord(id, seq, reader, formatTag); > if (res == 0) > { > seqan::appendValue(names, id); > seqan::appendValue(seqs, seq); > > recordIndex++; > } > else > { > cerr << endl << "ERROR: cannot finish processing all > records in file. Encountered an error reading file at record: " << > recordIndex > << "; Error code: " << res << "; Last sequence ID: > " << id << "; Continuing to process currently loaded records." << endl; > } > } > > > Best regards, > Dan Mapleson > > _______________________________________________ > 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 From manuel.holtgrewe@fu-berlin.de Thu Aug 15 21:10:53 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VA2we-000f8w-El>; Thu, 15 Aug 2013 21:10:52 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VA2we-003wGD-Cw>; Thu, 15 Aug 2013 21:10:52 +0200 Received: from cas2.campus.fu-berlin.de ([130.133.170.202]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VA2we-002BkM-2P>; Thu, 15 Aug 2013 21:10:52 +0200 Received: from EX02A.campus.fu-berlin.de ([130.133.170.132]) by CAS2.campus.fu-berlin.de ([130.133.170.202]) with mapi id 14.03.0123.003; Thu, 15 Aug 2013 21:10:50 +0200 From: "Holtgrewe, Manuel" To: "seqan-dev@lists.fu-berlin.de" Thread-Topic: Legacy Build System Support Removed Thread-Index: Ac6Z6yeiFlLPR050SKaa3awIGKCu5w== Message-ID: Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Thu, 15 Aug 2013 21:10:50 +0200 X-Original-Date: Thu, 15 Aug 2013 19:10:50 +0000 X-Originating-IP: 130.133.170.202 X-ZEDAT-Hint: T X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1376593852-0000097E-F1362AF4/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000745, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Burundi.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] Legacy Build System Support Removed X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 15 Aug 2013 19:10:54 -0000 Dear all,=0A= =0A= I just removed the legacy CMake build system support. You will now need to = use the new build system functions.=0A= =0A= Cheers,=0A= Manuel= From johdro@mpi-inf.mpg.de Wed Aug 21 12:55:02 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC644-003yOw-2W>; Wed, 21 Aug 2013 12:55:00 +0200 Received: from hera.mpi-sb.mpg.de ([139.19.1.49] helo=hera.mpi-klsb.mpg.de) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC643-002AKs-VO>; Wed, 21 Aug 2013 12:55:00 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mpi-sb.mpg.de; s=mail200803; h=Content-Transfer-Encoding:Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=ljkdWGVgKcgU83R/bdKlANXTMczWyNTHn3q6JGo64JM=; b=Nv6tD4P48KC3Dzt0xZpq+P28GSYhb0oLso0v+JlKCDo+y0Zklho96wyz6yFvjFyprTMAc6r/+3k84Y4d6ghUULLljI2oUNpiyzhAc4JVAngQ2TbQwkTgf66tICo12Krljq5eHnEpxaCmLzoi5xpvqE3yRAmpa6K5bwhBTLroJkc=; Received: from srv-00-125.mpi-klsb.mpg.de ([139.19.1.28]:43630 helo=maniac.mpi-klsb.mpg.de) by hera.mpi-klsb.mpg.de (envelope-from ) with esmtp (Exim 4.72) id 1VC640-0000pO-Ea for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 12:54:58 +0200 Received: from monster.cs.uni-duesseldorf.de ([134.99.112.114]:45013 helo=linux-eu7n.site) by maniac.mpi-klsb.mpg.de (envelope-from ) with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) id 1VC640-0006jS-1T for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 12:54:56 +0200 Message-ID: <52149C7E.6050400@mpi-inf.mpg.de> Date: Wed, 21 Aug 2013 12:54:54 +0200 From: =?ISO-8859-15?Q?Johannes_Dr=F6ge?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: SeqAn Development Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8bit X-MPI-Local-Sender: true X-Originating-IP: 139.19.1.49 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377082500-0000097E-F2E84B72/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, T_DKIM_INVALID X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 10:55:02 -0000 Hello Seqan developers, I just ported my software, which was using globalAlignment() extensively without problems, from a Seqan version from 2011 to the recent headers. I had to change the syntax related to the scoring until it compiled well. Anyway, now I got a segfault when running globalAlignment(). I then changed the code to use globalAlignmentsScore(), because I don't actually need the explicit alignment. The error is still persists and seems to be related to the data/types or similar. 1) Here is the original code fragment: const seqan::Dna5String qseq = ... seqan::Dna5String rseq = ... seqan::Align< seqan::Dna5String > aln; seqan::resize( seqan::rows( aln ), 2); seqan::assignSource( seqan::row( aln, 0 ), qseq ); seqan::assignSource( seqan::row( aln, 1 ), rseq ); const int score = -seqan::globalAlignment( aln, seqan::SimpleScore(), seqan::MyersHirschberg() ); 2) Here is the intermediate code: const seqan::Dna5String qseq = ... seqan::Dna5String rseq = ... seqan::Align< seqan::Dna5String > aln; seqan::resize( seqan::rows( aln ), 2); seqan::assignSource( seqan::row( aln, 0 ), qseq ); seqan::assignSource( seqan::row( aln, 1 ), rseq ); const int score = -seqan::globalAlignment( aln, seqan::MyersHirschberg() ); 3) Here is the current code: const seqan::Dna5String qseq = ... seqan::Dna5String rseq = ... const int score = -seqan::globalAlignmentScore( qseq, rseq, seqan::MyersHirschberg() ); ---------- This is what I get from (2) and (3): aligning two sequences globally: seq1: TAGCACTCAGGGAGAATGAGTGCTAAAACATAGAATGAGAAATGGAGGCGAGAGTATGGAGCTGACCAATCGAAAAAAGCGAATCCTGCGGGCCATTGTTGAGATCTATATCTCCACCGCGGAACCGGTAGGTTCCAAGGCCGTGGCAGAGCAGGCCGGACTGGACATCTCCACCGCCACCATACGAAATGAGATGGCCGACCTCACCGAACTGGGCTATCTGGAGCAGCCCCACACCTCGGCCGGACGGATTCCGTCCCCCATGGGCTACCGGCTCTACGTCAACGAGCTCATGGGTGAGCACCAGCTGACCATGCAGGAGACCCAGCGCATCAACGACGCGCTGAACCTGAAAATGGAGGAGCTGGACCGGGTCATCGACCGGGCGGGCAAGGTGCTCTCCCAGATCAGCGACTACCCCGTCTTTACCATGGCCCAGCCCAAGCAGCGGGTGACGGTAAAGCGGTACGACCTGCTGATGGTAGAGGAAAACGCCTTTATCGCTGTGGTGATGACCGACAACTCGGTGGTGCGCAACAAGCTTATCCACCTGTCCGATGAGCTTTCCGACACCCAGCTGCAGCTGCTGTCCACCGTTTTGAACAGCTCCTTTGTAGGTCTGACCGTGGAGGAAATGGAACAG seq2: TATATTAGCACTCGGAAAGCGAGAGTGCCAACAGTCCGAAGCGGAGAGTGCTAACATGGCAATCAGTGAGAGGAAAAAGAAAATACTGGCGGCGGTGGTGGATGAATACATCCGCACGGCAGAGCCGGTAGGCAGCAAGGCCATCGCCCAGAGCGGCGGGCTGAACTGCTCCTCGGCCACCATCCGCAACGAGCTGGCGGAGCTGGTCGCCATGGGCTATCTGGAGCAGCCCCACACCTCTGCGGGCCGGGTGCCCACCCCCATGGGCTACCGCATGTACGTCAACGAGCTCATGGAGAAGCAGAAGATGAGCCTGGAGGAGACGGAGGAGATGAACCGCCGCCTGAACCAGAAGCTCCAGGAGCTGGACGACACCATCCGGGACGTGAGCAAGCTGGCTTCCCAGCTGACGAATTATCCCGCCCTGGCCCTGACGGCCCAGAGCTCCGTCACGGTAAAGCGCTTCGACCTGATCTATGTGGACGCCAACAACTTCATCATCGTGCTGATGCTGTCCAACAACAGCGTAAAGAGCAAGCTGGTGCATCTGCCGGTGTCCGTGGACCAGGACATGATCAAGCGCCTTTCCACCCTCTTCAACGCCAGCTTTACCGGCGTGGAGGATCAGCAGATCACGCCG prog: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size) >= (unsigned long)(nb)' failed. ---------- GDB backtrace: 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 #1 0x00007ffff6a7ffc0 in abort () from /lib/libc.so.6 #2 0x00007ffff6ab35bb in ?? () from /lib/libc.so.6 #3 0x00007ffff6abce16 in ?? () from /lib/libc.so.6 #4 0x00000000004f13ce in seqan::deallocate >, unsigned int, unsigned long, seqan::AllocateStorage_> (data=0x832831460) at seqan/basic/allocator_interface.h:329 #5 0x00000000004ecc09 in seqan::_deallocateStorage (me=..., ptr=0x832831460, capacity=32) at seqan/sequence/string_alloc.h:402 #6 0x00000000004e76d6 in ~String (this=0x7fffede12e80, __in_chrg=) at seqan/sequence/string_alloc.h:177 #7 0x00000000004e1ebd in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=..., gapsV=..., algorithmTag=...) at seqan/align/global_alignment_myers_hirschberg_impl.h:745 #8 0x00000000004df9ea in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=..., gapsV=..., algorithmTag=...) at seqan/align/global_alignment_myers_hirschberg_impl.h:183 #9 0x00000000004db18c in seqan::globalAlignment, seqan::Alloc >, seqan::Tag > (align=..., algorithmTag=...) at seqan/align/global_alignment_specialized.h:93 #... Could this be related to the differing sequence lengths or am I doing something else wrong? Gruß Johannes From manuel.holtgrewe@fu-berlin.de Wed Aug 21 13:48:54 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC6uD-0006SZ-GK>; Wed, 21 Aug 2013 13:48:53 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC6uD-000XnP-EC>; Wed, 21 Aug 2013 13:48:53 +0200 Received: from cas3.campus.fu-berlin.de ([130.133.170.203]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC6uD-003jgs-08>; Wed, 21 Aug 2013 13:48:53 +0200 Received: from EX02A.campus.fu-berlin.de ([130.133.170.132]) by CAS3.campus.fu-berlin.de ([130.133.170.203]) with mapi id 14.03.0123.003; Wed, 21 Aug 2013 13:48:51 +0200 From: "Holtgrewe, Manuel" To: SeqAn Development Thread-Topic: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() Thread-Index: AQHOnlzmp7DlPKKQeUisdknWY8cJIJmfiZWX Message-ID: References: <52149C7E.6050400@mpi-inf.mpg.de> In-Reply-To: <52149C7E.6050400@mpi-inf.mpg.de> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Wed, 21 Aug 2013 13:48:51 +0200 X-Original-Date: Wed, 21 Aug 2013 11:48:51 +0000 X-Originating-IP: 130.133.170.203 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377085733-0000097E-9A1CB277/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Burundi.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 11:48:54 -0000 Hi Johannes,=0A= =0A= we will investigate this problem.=0A= =0A= Meanwhile, you could use the globalAlignment() function without a tag. We d= o not have current benchmarks for MyerHirschberg vs. our new NeedlemanWunsc= h implementation but the latter is definitely more used and then less error= prone.=0A= =0A= HTH=0A= Manuel=0A= ________________________________________=0A= From: Johannes Dr=F6ge [johdro@mpi-inf.mpg.de]=0A= Sent: Wednesday, August 21, 2013 12:54 PM=0A= To: SeqAn Development=0A= Subject: [Seqan-dev] Memory allocation error with globalAlignmentScore() an= d globalAlignment()=0A= =0A= Hello Seqan developers,=0A= =0A= I just ported my software, which was using globalAlignment() extensively wi= thout problems, from a Seqan version from 2011 to the recent headers. I had= to change the syntax related to the scoring until it compiled well. Anyway= , now I got a segfault when running globalAlignment(). I then changed the c= ode to use globalAlignmentsScore(), because I don't actually need the expli= cit alignment. The error is still persists and seems to be related to the d= ata/types or similar.=0A= =0A= 1) Here is the original code fragment:=0A= =0A= const seqan::Dna5String qseq =3D ...=0A= seqan::Dna5String rseq =3D ...=0A= seqan::Align< seqan::Dna5String > aln;=0A= seqan::resize( seqan::rows( aln ), 2);=0A= seqan::assignSource( seqan::row( aln, 0 ), qseq );=0A= seqan::assignSource( seqan::row( aln, 1 ), rseq );=0A= const int score =3D -seqan::globalAlignment( aln, seqan::SimpleScore(), seq= an::MyersHirschberg() );=0A= =0A= 2) Here is the intermediate code:=0A= =0A= const seqan::Dna5String qseq =3D ...=0A= seqan::Dna5String rseq =3D ...=0A= seqan::Align< seqan::Dna5String > aln;=0A= seqan::resize( seqan::rows( aln ), 2);=0A= seqan::assignSource( seqan::row( aln, 0 ), qseq );=0A= seqan::assignSource( seqan::row( aln, 1 ), rseq );=0A= const int score =3D -seqan::globalAlignment( aln, seqan::MyersHirschberg() = );=0A= =0A= 3) Here is the current code:=0A= =0A= const seqan::Dna5String qseq =3D ...=0A= seqan::Dna5String rseq =3D ...=0A= const int score =3D -seqan::globalAlignmentScore( qseq, rseq, seqan::MyersH= irschberg() );=0A= =0A= ----------=0A= =0A= This is what I get from (2) and (3):=0A= =0A= aligning two sequences globally:=0A= seq1: TAGCACTCAGGGAGAATGAGTGCTAAAACATAGAATGAGAAATGGAGGCGAGAGTATGGAGCTGACCAA= TCGAAAAAAGCGAATCCTGCGGGCCATTGTTGAGATCTATATCTCCACCGCGGAACCGGTAGGTTCCAAGGCCGT= GGCAGAGCAGGCCGGACTGGACATCTCCACCGCCACCATACGAAATGAGATGGCCGACCTCACCGAACTGGGCTA= TCTGGAGCAGCCCCACACCTCGGCCGGACGGATTCCGTCCCCCATGGGCTACCGGCTCTACGTCAACGAGCTCAT= GGGTGAGCACCAGCTGACCATGCAGGAGACCCAGCGCATCAACGACGCGCTGAACCTGAAAATGGAGGAGCTGGA= CCGGGTCATCGACCGGGCGGGCAAGGTGCTCTCCCAGATCAGCGACTACCCCGTCTTTACCATGGCCCAGCCCAA= GCAGCGGGTGACGGTAAAGCGGTACGACCTGCTGATGGTAGAGGAAAACGCCTTTATCGCTGTGGTGATGACCGA= CAACTCGGTGGTGCGCAACAAGCTTATCCACCTGTCCGATGAGCTTTCCGACACCCAGCTGCAGCTGCTGTCCAC= CGTTTTGAACAGCTCCTTTGTAGGTCTGACCGTGGAGGAAATGGAACAG=0A= seq2: TATATTAGCACTCGGAAAGCGAGAGTGCCAACAGTCCGAAGCGGAGAGTGCTAACATGGCAATCAGTGA= GAGGAAAAAGAAAATACTGGCGGCGGTGGTGGATGAATACATCCGCACGGCAGAGCCGGTAGGCAGCAAGGCCAT= CGCCCAGAGCGGCGGGCTGAACTGCTCCTCGGCCACCATCCGCAACGAGCTGGCGGAGCTGGTCGCCATGGGCTA= TCTGGAGCAGCCCCACACCTCTGCGGGCCGGGTGCCCACCCCCATGGGCTACCGCATGTACGTCAACGAGCTCAT= GGAGAAGCAGAAGATGAGCCTGGAGGAGACGGAGGAGATGAACCGCCGCCTGAACCAGAAGCTCCAGGAGCTGGA= CGACACCATCCGGGACGTGAGCAAGCTGGCTTCCCAGCTGACGAATTATCCCGCCCTGGCCCTGACGGCCCAGAG= CTCCGTCACGGTAAAGCGCTTCGACCTGATCTATGTGGACGCCAACAACTTCATCATCGTGCTGATGCTGTCCAA= CAACAGCGTAAAGAGCAAGCTGGTGCATCTGCCGGTGTCCGTGGACCAGGACATGATCAAGCGCCTTTCCACCCT= CTTCAACGCCAGCTTTACCGGCGTGGAGGATCAGCAGATCACGCCG=0A= prog: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size) >=3D (un= signed long)(nb)' failed.=0A= =0A= ----------=0A= =0A= GDB backtrace:=0A= =0A= 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6=0A= (gdb) bt=0A= #0 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6=0A= #1 0x00007ffff6a7ffc0 in abort () from /lib/libc.so.6=0A= #2 0x00007ffff6ab35bb in ?? () from /lib/libc.so.6=0A= #3 0x00007ffff6abce16 in ?? () from /lib/libc.so.6=0A= #4 0x00000000004f13ce in seqan::deallocate >, unsigned int, unsigned long, seqan::AllocateStorage_> (d= ata=3D0x832831460)=0A= at seqan/basic/allocator_interface.h:329=0A= #5 0x00000000004ecc09 in seqan::_deallocateStorage (me=3D..., ptr=3D0x832831460, capacity=3D32)=0A= at seqan/sequence/string_alloc.h:402=0A= #6 0x00000000004e76d6 in ~String (this=3D0x7fffede12e80, __in_chrg=3D)=0A= at seqan/sequence/string_alloc.h:177=0A= #7 0x00000000004e1ebd in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String= , seqan::Alloc >, seqan::Tag > (gapsH=3D..., gapsV= =3D..., algorithmTag=3D...)=0A= at seqan/align/global_alignment_myers_hirschberg_impl.h:745=0A= #8 0x00000000004df9ea in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String= , seqan::Alloc >, seqan::Tag > (gapsH=3D..., gapsV= =3D..., algorithmTag=3D...)=0A= at seqan/align/global_alignment_myers_hirschberg_impl.h:183=0A= #9 0x00000000004db18c in seqan::globalAlignment, seqan::Alloc >, seqan::Tag > (align=3D...,=0A= algorithmTag=3D...) at seqan/align/global_alignment_specialized.h:93= =0A= #...=0A= =0A= Could this be related to the differing sequence lengths or am I doing somet= hing else wrong?=0A= =0A= Gru=DF Johannes=0A= =0A= _______________________________________________=0A= seqan-dev mailing list=0A= seqan-dev@lists.fu-berlin.de=0A= https://lists.fu-berlin.de/listinfo/seqan-dev=0A= From johdro@mpi-inf.mpg.de Wed Aug 21 13:55:23 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC70T-00082x-V4>; Wed, 21 Aug 2013 13:55:22 +0200 Received: from hera.mpi-klsb.mpg.de ([139.19.1.49]) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC70T-002NOF-Ra>; Wed, 21 Aug 2013 13:55:21 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mpi-sb.mpg.de; s=mail200803; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Subject:To:MIME-Version:From:Date:Message-ID; bh=KMIJ4pv8YXxAcre0nLWeIY99ShzxiGFPL3YO2PUR2FU=; b=yfMBHkv3MiB0OLU1cV80FE6/CFx6SVN4OiMq5gRuyvmyafIdZRzVyRV9e4Q8CwSM3j83TU2a/VEyB5BZm3plO+qMSp1qRokNh1/73f1uAjAJIJ/jtubdsyAL7YrAkbeGU1wifWrdXDrf5Ebs3FjAqrxtC7bReu/c0nVaPdfsM1s=; Received: from srv-00-125.mpi-klsb.mpg.de ([139.19.1.28]:47008 helo=maniac.mpi-klsb.mpg.de) by hera.mpi-klsb.mpg.de (envelope-from ) with esmtp (Exim 4.72) id 1VC70P-0007wm-J3 for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 13:55:20 +0200 Received: from monster.cs.uni-duesseldorf.de ([134.99.112.114]:45452 helo=linux-eu7n.site) by maniac.mpi-klsb.mpg.de (envelope-from ) with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) id 1VC70P-0001eA-Ah for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 13:55:17 +0200 Message-ID: <5214AAA4.3050500@mpi-inf.mpg.de> Date: Wed, 21 Aug 2013 13:55:16 +0200 From: =?ISO-8859-1?Q?Johannes_Dr=F6ge?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de References: <52149C7E.6050400@mpi-inf.mpg.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-MPI-Local-Sender: true X-Originating-IP: 139.19.1.49 X-purgate: suspect X-purgate-type: suspect X-purgate-ID: 151147::1377086121-0000097E-8E491710/3959452079-0/0-1 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-1.3 required=5.0 tests=FU_XPURGATE_SUSP, RCVD_IN_DNSWL_MED,T_DKIM_INVALID X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Dschibuti.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 11:55:23 -0000 Hi Manuel, does the standard NeedlemanWunsch also work with globalAlignmentScore()? Is MyersBitVector the fastest among the global alignment algorithms in Seqan? Gruß Johannes Am 21.08.2013 13:48, schrieb Holtgrewe, Manuel: > Hi Johannes, > > we will investigate this problem. > > Meanwhile, you could use the globalAlignment() function without a tag. We do not have current benchmarks for MyerHirschberg vs. our new NeedlemanWunsch implementation but the latter is definitely more used and then less error prone. > > HTH > Manuel > ________________________________________ > From: Johannes Dröge [johdro@mpi-inf.mpg.de] > Sent: Wednesday, August 21, 2013 12:54 PM > To: SeqAn Development > Subject: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() > > Hello Seqan developers, > > I just ported my software, which was using globalAlignment() extensively without problems, from a Seqan version from 2011 to the recent headers. I had to change the syntax related to the scoring until it compiled well. Anyway, now I got a segfault when running globalAlignment(). I then changed the code to use globalAlignmentsScore(), because I don't actually need the explicit alignment. The error is still persists and seems to be related to the data/types or similar. > > 1) Here is the original code fragment: > > const seqan::Dna5String qseq = ... > seqan::Dna5String rseq = ... > seqan::Align< seqan::Dna5String > aln; > seqan::resize( seqan::rows( aln ), 2); > seqan::assignSource( seqan::row( aln, 0 ), qseq ); > seqan::assignSource( seqan::row( aln, 1 ), rseq ); > const int score = -seqan::globalAlignment( aln, seqan::SimpleScore(), seqan::MyersHirschberg() ); > > 2) Here is the intermediate code: > > const seqan::Dna5String qseq = ... > seqan::Dna5String rseq = ... > seqan::Align< seqan::Dna5String > aln; > seqan::resize( seqan::rows( aln ), 2); > seqan::assignSource( seqan::row( aln, 0 ), qseq ); > seqan::assignSource( seqan::row( aln, 1 ), rseq ); > const int score = -seqan::globalAlignment( aln, seqan::MyersHirschberg() ); > > 3) Here is the current code: > > const seqan::Dna5String qseq = ... > seqan::Dna5String rseq = ... > const int score = -seqan::globalAlignmentScore( qseq, rseq, seqan::MyersHirschberg() ); > > ---------- > > This is what I get from (2) and (3): > > aligning two sequences globally: > seq1: TAGCACTCAGGGAGAATGAGTGCTAAAACATAGAATGAGAAATGGAGGCGAGAGTATGGAGCTGACCAATCGAAAAAAGCGAATCCTGCGGGCCATTGTTGAGATCTATATCTCCACCGCGGAACCGGTAGGTTCCAAGGCCGTGGCAGAGCAGGCCGGACTGGACATCTCCACCGCCACCATACGAAATGAGATGGCCGACCTCACCGAACTGGGCTATCTGGAGCAGCCCCACACCTCGGCCGGACGGATTCCGTCCCCCATGGGCTACCGGCTCTACGTCAACGAGCTCATGGGTGAGCACCAGCTGACCATGCAGGAGACCCAGCGCATCAACGACGCGCTGAACCTGAAAATGGAGGAGCTGGACCGGGTCATCGACCGGGCGGGCAAGGTGCTCTCCCAGATCAGCGACTACCCCGTCTTTACCATGGCCCAGCCCAAGCAGCGGGTGACGGTAAAGCGGTACGACCTGCTGATGGTAGAGGAAAACGCCTTTATCGCTGTGGTGATGACCGACAACTCGGTGGTGCGCAACAAGCTTATCCACCTGTCCGATGAGCTTTCCGACACCCAGCTGCAGCTGCTGTCCACCGTTTTGAACAGCTCCTTTGTAGGTCTGACCGTGGAGGAAATGGAACAG > seq2: TATATTAGCACTCGGAAAGCGAGAGTGCCAACAGTCCGAAGCGGAGAGTGCTAACATGGCAATCAGTGAGAGGAAAAAGAAAATACTGGCGGCGGTGGTGGATGAATACATCCGCACGGCAGAGCCGGTAGGCAGCAAGGCCATCGCCCAGAGCGGCGGGCTGAACTGCTCCTCGGCCACCATCCGCAACGAGCTGGCGGAGCTGGTCGCCATGGGCTATCTGGAGCAGCCCCACACCTCTGCGGGCCGGGTGCCCACCCCCATGGGCTACCGCATGTACGTCAACGAGCTCATGGAGAAGCAGAAGATGAGCCTGGAGGAGACGGAGGAGATGAACCGCCGCCTGAACCAGAAGCTCCAGGAGCTGGACGACACCATCCGGGACGTGAGCAAGCTGGCTTCCCAGCTGACGAATTATCCCGCCCTGGCCCTGACGGCCCAGAGCTCCGTCACGGTAAAGCGCTTCGACCTGATCTATGTGGACGCCAACAACTTCATCATCGTGCTGATGCTGTCCAACAACAGCGTAAAGAGCAAGCTGGTGCATCTGCCGGTGTCCGTGGACCAGGACATGATCAAGCGCCTTTCCACCCTCTTCAACGCCAGCTTTACCGGCGTGGAGGATCAGCAGATCACGCCG > prog: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size) >= (unsigned long)(nb)' failed. > > ---------- > > GDB backtrace: > > 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 > (gdb) bt > #0 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 > #1 0x00007ffff6a7ffc0 in abort () from /lib/libc.so.6 > #2 0x00007ffff6ab35bb in ?? () from /lib/libc.so.6 > #3 0x00007ffff6abce16 in ?? () from /lib/libc.so.6 > #4 0x00000000004f13ce in seqan::deallocate >, unsigned int, unsigned long, seqan::AllocateStorage_> (data=0x832831460) > at seqan/basic/allocator_interface.h:329 > #5 0x00000000004ecc09 in seqan::_deallocateStorage (me=..., ptr=0x832831460, capacity=32) > at seqan/sequence/string_alloc.h:402 > #6 0x00000000004e76d6 in ~String (this=0x7fffede12e80, __in_chrg=) > at seqan/sequence/string_alloc.h:177 > #7 0x00000000004e1ebd in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=..., gapsV=..., algorithmTag=...) > at seqan/align/global_alignment_myers_hirschberg_impl.h:745 > #8 0x00000000004df9ea in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=..., gapsV=..., algorithmTag=...) > at seqan/align/global_alignment_myers_hirschberg_impl.h:183 > #9 0x00000000004db18c in seqan::globalAlignment, seqan::Alloc >, seqan::Tag > (align=..., > algorithmTag=...) at seqan/align/global_alignment_specialized.h:93 > #... > > Could this be related to the differing sequence lengths or am I doing something else wrong? > > Gruß Johannes > > _______________________________________________ > 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 > From rene.maerker@fu-berlin.de Wed Aug 21 14:14:59 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC7JR-000DfZ-JQ>; Wed, 21 Aug 2013 14:14:57 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC7JR-000jga-GG>; Wed, 21 Aug 2013 14:14:57 +0200 Received: from cas1.campus.fu-berlin.de ([130.133.170.201]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC7JR-003nak-2g>; Wed, 21 Aug 2013 14:14:57 +0200 Received: from EX03A.campus.fu-berlin.de ([130.133.170.134]) by CAS1.campus.fu-berlin.de ([130.133.170.201]) with mapi id 14.03.0123.003; Wed, 21 Aug 2013 14:14:55 +0200 From: =?iso-8859-1?Q?Rahn=2C_Ren=E9?= To: SeqAn Development Thread-Topic: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() Thread-Index: AQHOnlzm6DCMxk6yBU20YybdpYzFqJmfao6AgAABywCAAAV8AA== Message-ID: <8A061F4A-11A9-46E0-8B18-A1915FC56A5C@fu-berlin.de> References: <52149C7E.6050400@mpi-inf.mpg.de> <5214AAA4.3050500@mpi-inf.mpg.de> In-Reply-To: <5214AAA4.3050500@mpi-inf.mpg.de> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: multipart/alternative; boundary="_000_8A061F4A11A946E08B18A1915FC56A5Cfuberlinde_" MIME-Version: 1.0 Date: Wed, 21 Aug 2013 14:14:54 +0200 X-Original-Date: Wed, 21 Aug 2013 12:14:54 +0000 X-Originating-IP: 130.133.170.201 X-ZEDAT-Hint: A X-purgate: suspect X-purgate-type: suspect X-purgate-ID: 151147::1377087297-0000097E-F78C80BB/3959452079-0/0-1 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-48.7 required=5.0 tests=ALL_TRUSTED, FU_XPURGATE_SUSP, HTML_FONT_FACE_BAD,HTML_MESSAGE X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 12:14:59 -0000 --_000_8A061F4A11A946E08B18A1915FC56A5Cfuberlinde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Johannes, if you only need the score without traceback then MeyersBitVector would be = the choice. You can use the MeyersHirschberg version to get the traceback t= oo. Note that both versions can only be applied to an edit distance cost sc= heme. For more complex scoring schemes you need the NeedlemanWunsch algorithm. Ha= ve a look at our tutorial pages to find out all about the alignment algorit= hms in SeqAn: http://trac.seqan.de/wiki/Tutorial/PairwiseSequenceAlignment. The NeedlemanWunsch also works with the globalAlignmentScore function. In f= act it computes no traceback at all, speeding up the algorithm a lot. Kind regards, Ren=E9 On Aug 21, 2013, at 1:55 PM, Johannes Dr=F6ge > wrote: Hi Manuel, does the standard NeedlemanWunsch also work with globalAlignmentScore()? Is= MyersBitVector the fastest among the global alignment algorithms in Seqan? Gru=DF Johannes Am 21.08.2013 13:48, schrieb Holtgrewe, Manuel: Hi Johannes, we will investigate this problem. Meanwhile, you could use the globalAlignment() function without a tag. We d= o not have current benchmarks for MyerHirschberg vs. our new NeedlemanWunsc= h implementation but the latter is definitely more used and then less error= prone. HTH Manuel ________________________________________ From: Johannes Dr=F6ge [johdro@mpi-inf.mpg.de= ] Sent: Wednesday, August 21, 2013 12:54 PM To: SeqAn Development Subject: [Seqan-dev] Memory allocation error with globalAlignmentScore() an= d globalAlignment() Hello Seqan developers, I just ported my software, which was using globalAlignment() extensively wi= thout problems, from a Seqan version from 2011 to the recent headers. I had= to change the syntax related to the scoring until it compiled well. Anyway= , now I got a segfault when running globalAlignment(). I then changed the c= ode to use globalAlignmentsScore(), because I don't actually need the expli= cit alignment. The error is still persists and seems to be related to the d= ata/types or similar. 1) Here is the original code fragment: const seqan::Dna5String qseq =3D ... seqan::Dna5String rseq =3D ... seqan::Align< seqan::Dna5String > aln; seqan::resize( seqan::rows( aln ), 2); seqan::assignSource( seqan::row( aln, 0 ), qseq ); seqan::assignSource( seqan::row( aln, 1 ), rseq ); const int score =3D -seqan::globalAlignment( aln, seqan::SimpleScore(), seq= an::MyersHirschberg() ); 2) Here is the intermediate code: const seqan::Dna5String qseq =3D ... seqan::Dna5String rseq =3D ... seqan::Align< seqan::Dna5String > aln; seqan::resize( seqan::rows( aln ), 2); seqan::assignSource( seqan::row( aln, 0 ), qseq ); seqan::assignSource( seqan::row( aln, 1 ), rseq ); const int score =3D -seqan::globalAlignment( aln, seqan::MyersHirschberg() = ); 3) Here is the current code: const seqan::Dna5String qseq =3D ... seqan::Dna5String rseq =3D ... const int score =3D -seqan::globalAlignmentScore( qseq, rseq, seqan::MyersH= irschberg() ); ---------- This is what I get from (2) and (3): aligning two sequences globally: seq1: TAGCACTCAGGGAGAATGAGTGCTAAAACATAGAATGAGAAATGGAGGCGAGAGTATGGAGCTGACCAA= TCGAAAAAAGCGAATCCTGCGGGCCATTGTTGAGATCTATATCTCCACCGCGGAACCGGTAGGTTCCAAGGCCGT= GGCAGAGCAGGCCGGACTGGACATCTCCACCGCCACCATACGAAATGAGATGGCCGACCTCACCGAACTGGGCTA= TCTGGAGCAGCCCCACACCTCGGCCGGACGGATTCCGTCCCCCATGGGCTACCGGCTCTACGTCAACGAGCTCAT= GGGTGAGCACCAGCTGACCATGCAGGAGACCCAGCGCATCAACGACGCGCTGAACCTGAAAATGGAGGAGCTGGA= CCGGGTCATCGACCGGGCGGGCAAGGTGCTCTCCCAGATCAGCGACTACCCCGTCTTTACCATGGCCCAGCCCAA= GCAGCGGGTGACGGTAAAGCGGTACGACCTGCTGATGGTAGAGGAAAACGCCTTTATCGCTGTGGTGATGACCGA= CAACTCGGTGGTGCGCAACAAGCTTATCCACCTGTCCGATGAGCTTTCCGACACCCAGCTGCAGCTGCTGTCCAC= CGTTTTGAACAGCTCCTTTGTAGGTCTGACCGTGGAGGAAATGGAACAG seq2: TATATTAGCACTCGGAAAGCGAGAGTGCCAACAGTCCGAAGCGGAGAGTGCTAACATGGCAATCAGTGA= GAGGAAAAAGAAAATACTGGCGGCGGTGGTGGATGAATACATCCGCACGGCAGAGCCGGTAGGCAGCAAGGCCAT= CGCCCAGAGCGGCGGGCTGAACTGCTCCTCGGCCACCATCCGCAACGAGCTGGCGGAGCTGGTCGCCATGGGCTA= TCTGGAGCAGCCCCACACCTCTGCGGGCCGGGTGCCCACCCCCATGGGCTACCGCATGTACGTCAACGAGCTCAT= GGAGAAGCAGAAGATGAGCCTGGAGGAGACGGAGGAGATGAACCGCCGCCTGAACCAGAAGCTCCAGGAGCTGGA= CGACACCATCCGGGACGTGAGCAAGCTGGCTTCCCAGCTGACGAATTATCCCGCCCTGGCCCTGACGGCCCAGAG= CTCCGTCACGGTAAAGCGCTTCGACCTGATCTATGTGGACGCCAACAACTTCATCATCGTGCTGATGCTGTCCAA= CAACAGCGTAAAGAGCAAGCTGGTGCATCTGCCGGTGTCCGTGGACCAGGACATGATCAAGCGCCTTTCCACCCT= CTTCAACGCCAGCTTTACCGGCGTGGAGGATCAGCAGATCACGCCG prog: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size) >=3D (un= signed long)(nb)' failed. ---------- GDB backtrace: 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 #1 0x00007ffff6a7ffc0 in abort () from /lib/libc.so.6 #2 0x00007ffff6ab35bb in ?? () from /lib/libc.so.6 #3 0x00007ffff6abce16 in ?? () from /lib/libc.so.6 #4 0x00000000004f13ce in seqan::deallocate >, unsigned int, unsigned long, seqan::AllocateStorage_> (d= ata=3D0x832831460) at seqan/basic/allocator_interface.h:329 #5 0x00000000004ecc09 in seqan::_deallocateStorage (me=3D..., ptr=3D0x832831460, capacity=3D32) at seqan/sequence/string_alloc.h:402 #6 0x00000000004e76d6 in ~String (this=3D0x7fffede12e80, __in_chrg=3D) at seqan/sequence/string_alloc.h:177 #7 0x00000000004e1ebd in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String= , seqan::Alloc >, seqan::Tag > (gapsH=3D..., gapsV= =3D..., algorithmTag=3D...) at seqan/align/global_alignment_myers_hirschberg_impl.h:745 #8 0x00000000004df9ea in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String= , seqan::Alloc >, seqan::Tag > (gapsH=3D..., gapsV= =3D..., algorithmTag=3D...) at seqan/align/global_alignment_myers_hirschberg_impl.h:183 #9 0x00000000004db18c in seqan::globalAlignment, seqan::Alloc >, seqan::Tag > (align=3D..., algorithmTag=3D...) at seqan/align/global_alignment_specialized.h:93 #... Could this be related to the differing sequence lengths or am I doing somet= hing else wrong? Gru=DF Johannes _______________________________________________ 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 _______________________________________________ seqan-dev mailing list seqan-dev@lists.fu-berlin.de https://lists.fu-berlin.de/listinfo/seqan-dev --- Ren=E9 Rahn Ph.D. Student --------------------------------- Mail: rene.rahn@fu-berlin.de Phone: +49 (0)30 838 75 277 --------------------------------- Algorithmic Bioinformatics (ABI) Department of Computer Science Room 018 --------------------------------- Freie Universit=E4t Berlin Takustra=DFe 9 14195 Berlin --------------------------------- --_000_8A061F4A11A946E08B18A1915FC56A5Cfuberlinde_ Content-Type: text/html; charset="iso-8859-1" Content-ID: <4B730B486148674ABDA806B7ADFB7A74@campus.fu-berlin.de> Content-Transfer-Encoding: quoted-printable Hi Johannes, 

if you only need the score without traceback then MeyersBitVector woul= d be the choice. You can use the MeyersHirschberg version to get the traceb= ack too. Note that both versions can only be applied to an edit distance co= st scheme. 
For more complex scoring schemes you need the NeedlemanWunsch algorith= m. Have a look at our tutorial pages to find out all about the alignment al= gorithms in SeqAn: ht= tp://trac.seqan.de/wiki/Tutorial/PairwiseSequenceAlignment.
The NeedlemanWunsch also works with the globalAlignmentScore function.= In fact it computes no traceback at all, speeding up the algorithm a lot.<= /div>

Kind regards, 

Ren=E9

On Aug 21, 2013, at 1:55 PM, Johannes Dr=F6ge <johdro@mpi-inf.mpg.de>
 wrote:

Hi Manuel,

does the standard NeedlemanWunsch also work with globalAlignmentScore()? Is= MyersBitVector the fastest among the global alignment algorithms in Seqan?=

Gru=DF Johannes


Am 21.08.2013 13:48, schrieb Holtgrewe, Manuel:
Hi Johannes,

we will investigate this problem.

Meanwhile, you could use the globalAlignment() function without a tag. We d= o not have current benchmarks for MyerHirschberg vs. our new NeedlemanWunsc= h implementation but the latter is definitely more used and then less error= prone.

HTH
Manuel
________________________________________
From: Johannes Dr=F6ge [johdro@mpi= -inf.mpg.de]
Sent: Wednesday, August 21, 2013 12:54 PM
To: SeqAn Development
Subject: [Seqan-dev] Memory allocation error with globalAlignmentScore() an= d    globalAlignment()

Hello Seqan developers,

I just ported my software, which was using globalAlignment() extensively wi= thout problems, from a Seqan version from 2011 to the recent headers. I had= to change the syntax related to the scoring until it compiled well. Anyway= , now I got a segfault when running globalAlignment(). I then changed the code to use globalAlignmentsScore(),= because I don't actually need the explicit alignment. The error is still p= ersists and seems to be related to the data/types or similar.

1) Here is the original code fragment:

const seqan::Dna5String qseq =3D ...
seqan::Dna5String rseq =3D ...
seqan::Align< seqan::Dna5String > aln;
seqan::resize( seqan::rows( aln ), 2);
seqan::assignSource( seqan::row( aln, 0 ), qseq );
seqan::assignSource( seqan::row( aln, 1 ), rseq );
const int score =3D -seqan::globalAlignment( aln, seqan::SimpleScore(), seq= an::MyersHirschberg() );

2) Here is the intermediate code:

const seqan::Dna5String qseq =3D ...
seqan::Dna5String rseq =3D ...
seqan::Align< seqan::Dna5String > aln;
seqan::resize( seqan::rows( aln ), 2);
seqan::assignSource( seqan::row( aln, 0 ), qseq );
seqan::assignSource( seqan::row( aln, 1 ), rseq );
const int score =3D -seqan::globalAlignment( aln, seqan::MyersHirschberg() = );

3) Here is the current code:

const seqan::Dna5String qseq =3D ...
seqan::Dna5String rseq =3D ...
const int score =3D -seqan::globalAlignmentScore( qseq, rseq, seqan::MyersH= irschberg() );

----------

This is what I get from (2) and (3):

aligning two sequences globally:
seq1: TAGCACTCAGGGAGAATGAGTGCTAAAACATAGAATGAGAAATGGAGGCGAGAGTATGGAGCTGACCAA= TCGAAAAAAGCGAATCCTGCGGGCCATTGTTGAGATCTATATCTCCACCGCGGAACCGGTAGGTTCCAAGGCCGT= GGCAGAGCAGGCCGGACTGGACATCTCCACCGCCACCATACGAAATGAGATGGCCGACCTCACCGAACTGGGCTA= TCTGGAGCAGCCCCACACCTCGGCCGGACGGATTCCGTCCCCCATGGGCTACCGGCTCTACGTCAACGAGCTCAT= GGGTGAGCACCAGCTGACCATGCAGGAGACCCAGCGCATCAACGACGCGCTGAACCTGAAAATGGAGGAGCTGGA= CCGGGTCATCGACCGGGCGGGCAAGGTGCTCTCCCAGATCAGCGACTACCCCGTCTTTACCATGGCCCAGCCCAA= GCAGCGGGTGACGGTAAAGCGGTACGACCTGCTGATGGTAGAGGAAAACGCCTTTATCGCTGTGGTGATGACCGA= CAACTCGGTGGTGCGCAACAAGCTTATCCACCTGTCCGATGAGCTTTCCGACACCCAGCTGCAGCTGCTGTCCAC= CGTTTTGAACAGCTCCTTTGTAGGTCTGACCGTGGAGGAAATGGAACAG
seq2: TATATTAGCACTCGGAAAGCGAGAGTGCCAACAGTCCGAAGCGGAGAGTGCTAACATGGCAATCAGTGA= GAGGAAAAAGAAAATACTGGCGGCGGTGGTGGATGAATACATCCGCACGGCAGAGCCGGTAGGCAGCAAGGCCAT= CGCCCAGAGCGGCGGGCTGAACTGCTCCTCGGCCACCATCCGCAACGAGCTGGCGGAGCTGGTCGCCATGGGCTA= TCTGGAGCAGCCCCACACCTCTGCGGGCCGGGTGCCCACCCCCATGGGCTACCGCATGTACGTCAACGAGCTCAT= GGAGAAGCAGAAGATGAGCCTGGAGGAGACGGAGGAGATGAACCGCCGCCTGAACCAGAAGCTCCAGGAGCTGGA= CGACACCATCCGGGACGTGAGCAAGCTGGCTTCCCAGCTGACGAATTATCCCGCCCTGGCCCTGACGGCCCAGAG= CTCCGTCACGGTAAAGCGCTTCGACCTGATCTATGTGGACGCCAACAACTTCATCATCGTGCTGATGCTGTCCAA= CAACAGCGTAAAGAGCAAGCTGGTGCATCTGCCGGTGTCCGTGGACCAGGACATGATCAAGCGCCTTTCCACCCT= CTTCAACGCCAGCTTTACCGGCGTGGAGGATCAGCAGATCACGCCG
prog: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size) >=3D = (unsigned long)(nb)' failed.

----------

GDB backtrace:

0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6
#1  0x00007ffff6a7ffc0 in abort () from /lib/libc.so.6
#2  0x00007ffff6ab35bb in ?? () from /lib/libc.so.6
#3  0x00007ffff6abce16 in ?? () from /lib/libc.so.6
#4  0x00000000004f13ce in seqan::deallocate<seqan::String<unsign= ed int, seqan::Alloc<void> >, unsigned int, unsigned long, seqan::= AllocateStorage_> (data=3D0x832831460)
     at seqan/basic/allocator_interface.h:329
#5  0x00000000004ecc09 in seqan::_deallocateStorage<unsigned int, v= oid, unsigned int, unsigned long> (me=3D..., ptr=3D0x832831460, capacity= =3D32)
     at seqan/sequence/string_alloc.h:402
#6  0x00000000004e76d6 in ~String (this=3D0x7fffede12e80, __in_chrg=3D= <value optimized out>)
     at seqan/sequence/string_alloc.h:177
#7  0x00000000004e1ebd in seqan::_globalAlignment<seqan::String<= seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::Alloc<void&= gt; >, seqan::Tag<seqan::ArrayGaps_>, seqan::String<seqan::Simp= leType<unsigned char, seqan::Dna5_>, seqan::Alloc<void> >, s= eqan::Tag<seqan::ArrayGaps_> > (gapsH=3D..., gapsV=3D..., algorithmTag=3D...)
     at seqan/align/global_alignment_myers_hirschb= erg_impl.h:745
#8  0x00000000004df9ea in seqan::_globalAlignment<seqan::String<= seqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::Alloc<void&= gt; >, seqan::Tag<seqan::ArrayGaps_>, seqan::String<seqan::Simp= leType<unsigned char, seqan::Dna5_>, seqan::Alloc<void> >, s= eqan::Tag<seqan::ArrayGaps_> > (gapsH=3D..., gapsV=3D..., algorithmTag=3D...)
     at seqan/align/global_alignment_myers_hirschb= erg_impl.h:183
#9  0x00000000004db18c in seqan::globalAlignment<seqan::String<s= eqan::SimpleType<unsigned char, seqan::Dna5_>, seqan::Alloc<void&g= t; >, seqan::Tag<seqan::ArrayGaps_> > (align=3D...,
     algorithmTag=3D...) at seqan/align/global_ali= gnment_specialized.h:93
#...

Could this be related to the differing sequence lengths or am I doing somet= hing else wrong?

Gru=DF Johannes

_______________________________________________
seqan-dev mailing list
seqan-dev@lists.fu-berlin.d= e
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


_______________________________________________
seqan-dev mailing list
seqan-dev@lists.fu-berlin.d= e
https://lists.fu-berlin.de/listinfo/seqan-dev


---

Ren=E9 Rahn
Ph.D. Student<= /font>
--------------= -------------------
Mail:  rene.rahn@fu-berlin.de
Phone: +49= (0)30 838 75 277
--------------= -------------------
Algorithmic Bi= oinformatics (ABI)
Department of = Computer Science 
Room  018
--------------= -------------------
Freie Universi= t=E4t Berlin
Takustra=DFe 9=  
14195 Berlin
--------------= -------------------

--_000_8A061F4A11A946E08B18A1915FC56A5Cfuberlinde_-- From johdro@mpi-inf.mpg.de Wed Aug 21 16:19:17 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC9Fj-0011nj-9q>; Wed, 21 Aug 2013 16:19:15 +0200 Received: from infao0809.mpi-klsb.mpg.de ([139.19.1.49] helo=hera.mpi-klsb.mpg.de) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC9Fj-002uqO-6N>; Wed, 21 Aug 2013 16:19:15 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mpi-sb.mpg.de; s=mail200803; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Subject:To:MIME-Version:From:Date:Message-ID; bh=o/0rlb7rJoZVaiTSWqLUdGhSYMhBcRjUjOXQYjCGJyA=; b=KQuKJ85UbO3/mmAVkkLfLMhqKk+ZFCFcToni3Z1qYWqcOyukFeTOZRdn3aQ/zPv/EDRRqK6LAJxyM2XB6uwkbR6HInlTqwJyCpXzQp50jy5OvjFwfV76KmV5D4AE8fH1sbDCwx7ONh8Ks5ckUIP9OwZmDI09/Pewy+X7loegZ2M=; Received: from maniac.mpi-klsb.mpg.de ([139.19.1.28]:55543) by hera.mpi-klsb.mpg.de (envelope-from ) with esmtp (Exim 4.72) id 1VC9Fe-0002cY-Vl for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 16:19:13 +0200 Received: from monster.cs.uni-duesseldorf.de ([134.99.112.114]:46352 helo=linux-eu7n.site) by maniac.mpi-klsb.mpg.de (envelope-from ) with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) id 1VC9Fe-0002UQ-Mu for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 16:19:10 +0200 Message-ID: <5214CC5D.2000000@mpi-inf.mpg.de> Date: Wed, 21 Aug 2013 16:19:09 +0200 From: =?ISO-8859-1?Q?Johannes_Dr=F6ge?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: seqan-dev@lists.fu-berlin.de References: <52149C7E.6050400@mpi-inf.mpg.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-MPI-Local-Sender: true X-Originating-IP: 139.19.1.49 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377094755-0000097E-01C3A5BA/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, T_DKIM_INVALID X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Benin.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 14:19:17 -0000 Hi Manuel, I replaced seqan::MyersHirschberg() with seqan::MyersBitVector() in the below code and it seems to work just fine. For this reason I believe it is a bug in the alignment code, a regression certainly. Is the score the number of gaps and mismatches in the alignment (edit distance), when used like this? I just need this number but also it would be good to have the number of matches. When I have the length of the alignment, I can calculate this quantity by using (alignment_length+score) because score is given as a negative integer. How can I do this with globalAlignmentScore()? Gruß Johannes Am 21.08.2013 13:48, schrieb Holtgrewe, Manuel: > Hi Johannes, > > we will investigate this problem. > > Meanwhile, you could use the globalAlignment() function without a tag. We do not have current benchmarks for MyerHirschberg vs. our new NeedlemanWunsch implementation but the latter is definitely more used and then less error prone. > > HTH > Manuel > ________________________________________ > From: Johannes Dröge [johdro@mpi-inf.mpg.de] > Sent: Wednesday, August 21, 2013 12:54 PM > To: SeqAn Development > Subject: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() > > Hello Seqan developers, > > I just ported my software, which was using globalAlignment() extensively without problems, from a Seqan version from 2011 to the recent headers. I had to change the syntax related to the scoring until it compiled well. Anyway, now I got a segfault when running globalAlignment(). I then changed the code to use globalAlignmentsScore(), because I don't actually need the explicit alignment. The error is still persists and seems to be related to the data/types or similar. > > 1) Here is the original code fragment: > > const seqan::Dna5String qseq = ... > seqan::Dna5String rseq = ... > seqan::Align< seqan::Dna5String > aln; > seqan::resize( seqan::rows( aln ), 2); > seqan::assignSource( seqan::row( aln, 0 ), qseq ); > seqan::assignSource( seqan::row( aln, 1 ), rseq ); > const int score = -seqan::globalAlignment( aln, seqan::SimpleScore(), seqan::MyersHirschberg() ); > > 2) Here is the intermediate code: > > const seqan::Dna5String qseq = ... > seqan::Dna5String rseq = ... > seqan::Align< seqan::Dna5String > aln; > seqan::resize( seqan::rows( aln ), 2); > seqan::assignSource( seqan::row( aln, 0 ), qseq ); > seqan::assignSource( seqan::row( aln, 1 ), rseq ); > const int score = -seqan::globalAlignment( aln, seqan::MyersHirschberg() ); > > 3) Here is the current code: > > const seqan::Dna5String qseq = ... > seqan::Dna5String rseq = ... > const int score = -seqan::globalAlignmentScore( qseq, rseq, seqan::MyersHirschberg() ); > > ---------- > > This is what I get from (2) and (3): > > aligning two sequences globally: > seq1: TAGCACTCAGGGAGAATGAGTGCTAAAACATAGAATGAGAAATGGAGGCGAGAGTATGGAGCTGACCAATCGAAAAAAGCGAATCCTGCGGGCCATTGTTGAGATCTATATCTCCACCGCGGAACCGGTAGGTTCCAAGGCCGTGGCAGAGCAGGCCGGACTGGACATCTCCACCGCCACCATACGAAATGAGATGGCCGACCTCACCGAACTGGGCTATCTGGAGCAGCCCCACACCTCGGCCGGACGGATTCCGTCCCCCATGGGCTACCGGCTCTACGTCAACGAGCTCATGGGTGAGCACCAGCTGACCATGCAGGAGACCCAGCGCATCAACGACGCGCTGAACCTGAAAATGGAGGAGCTGGACCGGGTCATCGACCGGGCGGGCAAGGTGCTCTCCCAGATCAGCGACTACCCCGTCTTTACCATGGCCCAGCCCAAGCAGCGGGTGACGGTAAAGCGGTACGACCTGCTGATGGTAGAGGAAAACGCCTTTATCGCTGTGGTGATGACCGACAACTCGGTGGTGCGCAACAAGCTTATCCACCTGTCCGATGAGCTTTCCGACACCCAGCTGCAGCTGCTGTCCACCGTTTTGAACAGCTCCTTTGTAGGTCTGACCGTGGAGGAAATGGAACAG > seq2: TATATTAGCACTCGGAAAGCGAGAGTGCCAACAGTCCGAAGCGGAGAGTGCTAACATGGCAATCAGTGAGAGGAAAAAGAAAATACTGGCGGCGGTGGTGGATGAATACATCCGCACGGCAGAGCCGGTAGGCAGCAAGGCCATCGCCCAGAGCGGCGGGCTGAACTGCTCCTCGGCCACCATCCGCAACGAGCTGGCGGAGCTGGTCGCCATGGGCTATCTGGAGCAGCCCCACACCTCTGCGGGCCGGGTGCCCACCCCCATGGGCTACCGCATGTACGTCAACGAGCTCATGGAGAAGCAGAAGATGAGCCTGGAGGAGACGGAGGAGATGAACCGCCGCCTGAACCAGAAGCTCCAGGAGCTGGACGACACCATCCGGGACGTGAGCAAGCTGGCTTCCCAGCTGACGAATTATCCCGCCCTGGCCCTGACGGCCCAGAGCTCCGTCACGGTAAAGCGCTTCGACCTGATCTATGTGGACGCCAACAACTTCATCATCGTGCTGATGCTGTCCAACAACAGCGTAAAGAGCAAGCTGGTGCATCTGCCGGTGTCCGTGGACCAGGACATGATCAAGCGCCTTTCCACCCTCTTCAACGCCAGCTTTACCGGCGTGGAGGATCAGCAGATCACGCCG > prog: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size) >= (unsigned long)(nb)' failed. > > ---------- > > GDB backtrace: > > 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 > (gdb) bt > #0 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6 > #1 0x00007ffff6a7ffc0 in abort () from /lib/libc.so.6 > #2 0x00007ffff6ab35bb in ?? () from /lib/libc.so.6 > #3 0x00007ffff6abce16 in ?? () from /lib/libc.so.6 > #4 0x00000000004f13ce in seqan::deallocate >, unsigned int, unsigned long, seqan::AllocateStorage_> (data=0x832831460) > at seqan/basic/allocator_interface.h:329 > #5 0x00000000004ecc09 in seqan::_deallocateStorage (me=..., ptr=0x832831460, capacity=32) > at seqan/sequence/string_alloc.h:402 > #6 0x00000000004e76d6 in ~String (this=0x7fffede12e80, __in_chrg=) > at seqan/sequence/string_alloc.h:177 > #7 0x00000000004e1ebd in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=..., gapsV=..., algorithmTag=...) > at seqan/align/global_alignment_myers_hirschberg_impl.h:745 > #8 0x00000000004df9ea in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=..., gapsV=..., algorithmTag=...) > at seqan/align/global_alignment_myers_hirschberg_impl.h:183 > #9 0x00000000004db18c in seqan::globalAlignment, seqan::Alloc >, seqan::Tag > (align=..., > algorithmTag=...) at seqan/align/global_alignment_specialized.h:93 > #... > > Could this be related to the differing sequence lengths or am I doing something else wrong? > > Gruß Johannes > > _______________________________________________ > 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 > From manuel.holtgrewe@fu-berlin.de Wed Aug 21 16:26:56 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC9N8-0013M4-DL>; Wed, 21 Aug 2013 16:26:54 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC9N8-001kps-BL>; Wed, 21 Aug 2013 16:26:54 +0200 Received: from cas2.campus.fu-berlin.de ([130.133.170.202]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VC9N8-0046EO-0X>; Wed, 21 Aug 2013 16:26:54 +0200 Received: from EX02A.campus.fu-berlin.de ([130.133.170.132]) by CAS2.campus.fu-berlin.de ([130.133.170.202]) with mapi id 14.03.0123.003; Wed, 21 Aug 2013 16:26:52 +0200 From: "Holtgrewe, Manuel" To: SeqAn Development Thread-Topic: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() Thread-Index: AQHOnlzmp7DlPKKQeUisdknWY8cJIJmfiZWXgAAK94CAACIxSw== Message-ID: References: <52149C7E.6050400@mpi-inf.mpg.de> , <5214CC5D.2000000@mpi-inf.mpg.de> In-Reply-To: <5214CC5D.2000000@mpi-inf.mpg.de> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Wed, 21 Aug 2013 16:26:52 +0200 X-Original-Date: Wed, 21 Aug 2013 14:26:52 +0000 X-Originating-IP: 130.133.170.202 X-purgate: suspect X-purgate-type: suspect X-purgate-ID: 151147::1377095214-0000097E-F1D3C71D/3959583139-0/0-1 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-49.0 required=5.0 tests=ALL_TRUSTED, FU_XPURGATE_SUSP X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Benin.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 14:26:56 -0000 MyersBitVector assumes edit distance, so the result of globalAlignment() is= the edid distance.=0A= =0A= I do not know whether MyersBitVector is really faster than the new alignmen= t code, it will certainly depend on the length of the sequences. Myers is c= ertainly fast if you have less than 64 characters in each sequence. Otherwi= se, the theoretic adavantages might be eaten up by emulating longer words.= =0A= =0A= getAlignmentScore() does not return the alignment length.=0A= =0A= If you can band your alignment, using the Needleman-Wunsch will be quite fa= st.=0A= =0A= What exactly is your application? Is the alignment computation on a critica= l path/in a computational core/kernel?=0A= =0A= I would say that one would have to try the options (Myers-Hirschberg after = fixing, MyersBitVector, and Needleman-Wunsch) with a real-world data set an= d see which is fastest. Note that NW is the only implementation that you ca= n band at the moment.=0A= =0A= We would be interested in your benchmark results.=0A= =0A= Cheers,=0A= Manuel=0A= ________________________________________=0A= From: Johannes Dr=F6ge [johdro@mpi-inf.mpg.de]=0A= Sent: Wednesday, August 21, 2013 4:19 PM=0A= To: seqan-dev@lists.fu-berlin.de=0A= Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore(= ) and globalAlignment()=0A= =0A= Hi Manuel,=0A= =0A= I replaced seqan::MyersHirschberg() with seqan::MyersBitVector() in the bel= ow code and it seems to work just fine. For this reason I believe it is a b= ug in the alignment code, a regression certainly.=0A= =0A= Is the score the number of gaps and mismatches in the alignment (edit dista= nce), when used like this? I just need this number but also it would be goo= d to have the number of matches. When I have the length of the alignment, I= can calculate this quantity by using (alignment_length+score) because scor= e is given as a negative integer. How can I do this with globalAlignmentSco= re()?=0A= =0A= Gru=DF Johannes=0A= =0A= =0A= Am 21.08.2013 13:48, schrieb Holtgrewe, Manuel:=0A= > Hi Johannes,=0A= >=0A= > we will investigate this problem.=0A= >=0A= > Meanwhile, you could use the globalAlignment() function without a tag. We= do not have current benchmarks for MyerHirschberg vs. our new NeedlemanWun= sch implementation but the latter is definitely more used and then less err= or prone.=0A= >=0A= > HTH=0A= > Manuel=0A= > ________________________________________=0A= > From: Johannes Dr=F6ge [johdro@mpi-inf.mpg.de]=0A= > Sent: Wednesday, August 21, 2013 12:54 PM=0A= > To: SeqAn Development=0A= > Subject: [Seqan-dev] Memory allocation error with globalAlignmentScore() = and globalAlignment()=0A= >=0A= > Hello Seqan developers,=0A= >=0A= > I just ported my software, which was using globalAlignment() extensively = without problems, from a Seqan version from 2011 to the recent headers. I h= ad to change the syntax related to the scoring until it compiled well. Anyw= ay, now I got a segfault when running globalAlignment(). I then changed the= code to use globalAlignmentsScore(), because I don't actually need the exp= licit alignment. The error is still persists and seems to be related to the= data/types or similar.=0A= >=0A= > 1) Here is the original code fragment:=0A= >=0A= > const seqan::Dna5String qseq =3D ...=0A= > seqan::Dna5String rseq =3D ...=0A= > seqan::Align< seqan::Dna5String > aln;=0A= > seqan::resize( seqan::rows( aln ), 2);=0A= > seqan::assignSource( seqan::row( aln, 0 ), qseq );=0A= > seqan::assignSource( seqan::row( aln, 1 ), rseq );=0A= > const int score =3D -seqan::globalAlignment( aln, seqan::SimpleScore(), s= eqan::MyersHirschberg() );=0A= >=0A= > 2) Here is the intermediate code:=0A= >=0A= > const seqan::Dna5String qseq =3D ...=0A= > seqan::Dna5String rseq =3D ...=0A= > seqan::Align< seqan::Dna5String > aln;=0A= > seqan::resize( seqan::rows( aln ), 2);=0A= > seqan::assignSource( seqan::row( aln, 0 ), qseq );=0A= > seqan::assignSource( seqan::row( aln, 1 ), rseq );=0A= > const int score =3D -seqan::globalAlignment( aln, seqan::MyersHirschberg(= ) );=0A= >=0A= > 3) Here is the current code:=0A= >=0A= > const seqan::Dna5String qseq =3D ...=0A= > seqan::Dna5String rseq =3D ...=0A= > const int score =3D -seqan::globalAlignmentScore( qseq, rseq, seqan::Myer= sHirschberg() );=0A= >=0A= > ----------=0A= >=0A= > This is what I get from (2) and (3):=0A= >=0A= > aligning two sequences globally:=0A= > seq1: TAGCACTCAGGGAGAATGAGTGCTAAAACATAGAATGAGAAATGGAGGCGAGAGTATGGAGCTGACC= AATCGAAAAAAGCGAATCCTGCGGGCCATTGTTGAGATCTATATCTCCACCGCGGAACCGGTAGGTTCCAAGGCC= GTGGCAGAGCAGGCCGGACTGGACATCTCCACCGCCACCATACGAAATGAGATGGCCGACCTCACCGAACTGGGC= TATCTGGAGCAGCCCCACACCTCGGCCGGACGGATTCCGTCCCCCATGGGCTACCGGCTCTACGTCAACGAGCTC= ATGGGTGAGCACCAGCTGACCATGCAGGAGACCCAGCGCATCAACGACGCGCTGAACCTGAAAATGGAGGAGCTG= GACCGGGTCATCGACCGGGCGGGCAAGGTGCTCTCCCAGATCAGCGACTACCCCGTCTTTACCATGGCCCAGCCC= AAGCAGCGGGTGACGGTAAAGCGGTACGACCTGCTGATGGTAGAGGAAAACGCCTTTATCGCTGTGGTGATGACC= GACAACTCGGTGGTGCGCAACAAGCTTATCCACCTGTCCGATGAGCTTTCCGACACCCAGCTGCAGCTGCTGTCC= ACCGTTTTGAACAGCTCCTTTGTAGGTCTGACCGTGGAGGAAATGGAACAG=0A= > seq2: TATATTAGCACTCGGAAAGCGAGAGTGCCAACAGTCCGAAGCGGAGAGTGCTAACATGGCAATCAGT= GAGAGGAAAAAGAAAATACTGGCGGCGGTGGTGGATGAATACATCCGCACGGCAGAGCCGGTAGGCAGCAAGGCC= ATCGCCCAGAGCGGCGGGCTGAACTGCTCCTCGGCCACCATCCGCAACGAGCTGGCGGAGCTGGTCGCCATGGGC= TATCTGGAGCAGCCCCACACCTCTGCGGGCCGGGTGCCCACCCCCATGGGCTACCGCATGTACGTCAACGAGCTC= ATGGAGAAGCAGAAGATGAGCCTGGAGGAGACGGAGGAGATGAACCGCCGCCTGAACCAGAAGCTCCAGGAGCTG= GACGACACCATCCGGGACGTGAGCAAGCTGGCTTCCCAGCTGACGAATTATCCCGCCCTGGCCCTGACGGCCCAG= AGCTCCGTCACGGTAAAGCGCTTCGACCTGATCTATGTGGACGCCAACAACTTCATCATCGTGCTGATGCTGTCC= AACAACAGCGTAAAGAGCAAGCTGGTGCATCTGCCGGTGTCCGTGGACCAGGACATGATCAAGCGCCTTTCCACC= CTCTTCAACGCCAGCTTTACCGGCGTGGAGGATCAGCAGATCACGCCG=0A= > prog: malloc.c:4631: _int_malloc: Assertion `(unsigned long)(size) >=3D (= unsigned long)(nb)' failed.=0A= >=0A= > ----------=0A= >=0A= > GDB backtrace:=0A= >=0A= > 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6=0A= > (gdb) bt=0A= > #0 0x00007ffff6a7d1b5 in raise () from /lib/libc.so.6=0A= > #1 0x00007ffff6a7ffc0 in abort () from /lib/libc.so.6=0A= > #2 0x00007ffff6ab35bb in ?? () from /lib/libc.so.6=0A= > #3 0x00007ffff6abce16 in ?? () from /lib/libc.so.6=0A= > #4 0x00000000004f13ce in seqan::deallocate >, unsigned int, unsigned long, seqan::AllocateStorage_> = (data=3D0x832831460)=0A= > at seqan/basic/allocator_interface.h:329=0A= > #5 0x00000000004ecc09 in seqan::_deallocateStorage (me=3D..., ptr=3D0x832831460, capacity=3D32)=0A= > at seqan/sequence/string_alloc.h:402=0A= > #6 0x00000000004e76d6 in ~String (this=3D0x7fffede12e80, __in_chrg=3D)=0A= > at seqan/sequence/string_alloc.h:177=0A= > #7 0x00000000004e1ebd in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=3D..., gap= sV=3D..., algorithmTag=3D...)=0A= > at seqan/align/global_alignment_myers_hirschberg_impl.h:745=0A= > #8 0x00000000004df9ea in seqan::_globalAlignment, seqan::Alloc >, seqan::Tag, seqan::String, seqan::Alloc >, seqan::Tag > (gapsH=3D..., gap= sV=3D..., algorithmTag=3D...)=0A= > at seqan/align/global_alignment_myers_hirschberg_impl.h:183=0A= > #9 0x00000000004db18c in seqan::globalAlignment, seqan::Alloc >, seqan::Tag > (align=3D...,=0A= > algorithmTag=3D...) at seqan/align/global_alignment_specialized.h:9= 3=0A= > #...=0A= >=0A= > Could this be related to the differing sequence lengths or am I doing som= ething else wrong?=0A= >=0A= > Gru=DF Johannes=0A= >=0A= > _______________________________________________=0A= > seqan-dev mailing list=0A= > seqan-dev@lists.fu-berlin.de=0A= > https://lists.fu-berlin.de/listinfo/seqan-dev=0A= >=0A= > _______________________________________________=0A= > seqan-dev mailing list=0A= > seqan-dev@lists.fu-berlin.de=0A= > https://lists.fu-berlin.de/listinfo/seqan-dev=0A= >=0A= =0A= _______________________________________________=0A= seqan-dev mailing list=0A= seqan-dev@lists.fu-berlin.de=0A= https://lists.fu-berlin.de/listinfo/seqan-dev=0A= From johdro@mpi-inf.mpg.de Wed Aug 21 17:08:14 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCA17-001IaZ-6I>; Wed, 21 Aug 2013 17:08:13 +0200 Received: from hera.mpi-sb.mpg.de ([139.19.1.49] helo=hera.mpi-klsb.mpg.de) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCA17-0034x3-3Q>; Wed, 21 Aug 2013 17:08:13 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mpi-sb.mpg.de; s=mail200803; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Subject:To:MIME-Version:From:Date:Message-ID; bh=jasNR9H3bNjWUjV2UeoJtj/q7+V/rT9aOfrU6IKYNE4=; b=ALqnq9JRN0avtVZAcQGkLUoeI2AbOl/2MUYlOCELoU2Ryzt5TLTlVcBugRT62cdlAvm6QIN+u5H7wS8lg3+cgHbSu8YVpjL1BYbwQczabTkQgRSqTXLlLAL1OS/VcFlrC1fgRYo38ESL+W7p3cd1d/Ebhl9DML5CnZiQy6Onr60=; Received: from srv-00-125.mpi-klsb.mpg.de ([139.19.1.28]:58055 helo=maniac.mpi-klsb.mpg.de) by hera.mpi-klsb.mpg.de (envelope-from ) with esmtp (Exim 4.72) id 1VCA13-0006nB-QK for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 17:08:11 +0200 Received: from monster.cs.uni-duesseldorf.de ([134.99.112.114]:46546 helo=linux-eu7n.site) by maniac.mpi-klsb.mpg.de (envelope-from ) with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) id 1VCA13-0000IC-Io for seqan-dev@lists.fu-berlin.de; Wed, 21 Aug 2013 17:08:09 +0200 Message-ID: <5214D7D9.8050300@mpi-inf.mpg.de> Date: Wed, 21 Aug 2013 17:08:09 +0200 From: =?ISO-8859-1?Q?Johannes_Dr=F6ge?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: SeqAn Development References: <52149C7E.6050400@mpi-inf.mpg.de> , <5214CC5D.2000000@mpi-inf.mpg.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-MPI-Local-Sender: true X-Originating-IP: 139.19.1.49 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377097693-0000097E-86B45077/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.355889, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED, T_DKIM_INVALID X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Dschibuti.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 15:08:14 -0000 I am computing very many nucleotide alignments between regions of reads/contigs and sequenced genomes. Their length varies quite a lot but often aligning regions are below 100 bp long, sometimes a few thousand bp. I do this in parallel in a producer-consumer model. I guess I can replace the alignment code and provide you with timings on a data set that used to run around 20 hours on 20 processors with the old Seqan code and MyersHirschberg algorithm. Once you have found the bug, I can do the comparison. It would be possible for me to choose the alignment algorithm depending on the size of the two regions. It would be really cool if getAlignmentScore() would also return the number of matches, if, at some point, the algorithm records this value. This score is oftentimes used more than the number of gaps and mismatches (see percentage identity). I'm not so familiar with banded alignment. Do you provide a maximum distance for the alignment? Gruß Johannes Am 21.08.2013 16:26, schrieb Holtgrewe, Manuel: > MyersBitVector assumes edit distance, so the result of globalAlignment() is the edid distance. > > I do not know whether MyersBitVector is really faster than the new alignment code, it will certainly depend on the length of the sequences. Myers is certainly fast if you have less than 64 characters in each sequence. Otherwise, the theoretic adavantages might be eaten up by emulating longer words. > > getAlignmentScore() does not return the alignment length. > > If you can band your alignment, using the Needleman-Wunsch will be quite fast. > > What exactly is your application? Is the alignment computation on a critical path/in a computational core/kernel? > > I would say that one would have to try the options (Myers-Hirschberg after fixing, MyersBitVector, and Needleman-Wunsch) with a real-world data set and see which is fastest. Note that NW is the only implementation that you can band at the moment. > > We would be interested in your benchmark results. > > Cheers, > Manuel From weese@campus.fu-berlin.de Wed Aug 21 21:36:57 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCED9-0030oR-FF>; Wed, 21 Aug 2013 21:36:55 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCED9-003wi0-DB>; Wed, 21 Aug 2013 21:36:55 +0200 Received: from cas2.campus.fu-berlin.de ([130.133.170.202]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCED9-000X9s-30>; Wed, 21 Aug 2013 21:36:55 +0200 Received: from EX02A.campus.fu-berlin.de ([130.133.170.132]) by CAS2.campus.fu-berlin.de ([130.133.170.202]) with mapi id 14.03.0123.003; Wed, 21 Aug 2013 21:36:53 +0200 From: "Weese, David" To: SeqAn Development Thread-Topic: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() Thread-Index: AQHOnl0EWCQ4MyPur0CQVeJHeR2NDZmfao2AgAAp/4CAAAIoAIAAC4iAgABLFwA= Message-ID: <75E3AD96-4B66-4B64-940B-CC98F4731C0B@fu-berlin.de> References: <52149C7E.6050400@mpi-inf.mpg.de> , <5214CC5D.2000000@mpi-inf.mpg.de> <5214D7D9.8050300@mpi-inf.mpg.de> In-Reply-To: <5214D7D9.8050300@mpi-inf.mpg.de> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Content-Type: multipart/signed; boundary="Apple-Mail=_B68FB20D-1AAC-49F7-8E44-27D52D043C68"; protocol="application/pgp-signature"; micalg=pgp-sha1 MIME-Version: 1.0 Date: Wed, 21 Aug 2013 21:36:52 +0200 X-Original-Date: Wed, 21 Aug 2013 19:36:52 +0000 X-Originating-IP: 130.133.170.202 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377113815-0000097E-10B598F1/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.001177, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Gabun.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Memory allocation error with globalAlignmentScore() and globalAlignment() X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 21 Aug 2013 19:36:57 -0000 --Apple-Mail=_B68FB20D-1AAC-49F7-8E44-27D52D043C68 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 Hi Johannes, the number of matches are not recorded by any of the edit distance = algorithms. As you said, its - . As a lower bound you could use max(length(seq1),length(seq2)) = - as the alignment is at least as long as each sequence. I wouldn't say that Myers is faster only for <64bp sequences. In my = tests the unbanded Myers including preprocessing was even faster than = classical banded DP algorithms (Sellers) for any read length from = 5bp-500bp. I aligned with at most 10% errors (band with =3D 10% of the = read length). Myers was only slower on non-DNA (ASCII) reads of <20bp = due to a larger preprocessing. For more details, see pp.116 of = http://www.diss.fu-berlin.de/diss/receive/FUDISS_thesis_000000094456. Cheers, David PS: A banded alignment can be used if the number of errors can be = restricted (e.g. to at most k). Then only a diagonal band of at most k+1 = diagonals (not 2k+1 as often stated elsewhere) needs to be computed. = Read http://publications.mi.fu-berlin.de/1225/ for more information. -- David Weese, Ph.D. weese@inf.fu-berlin.de Freie Universit=E4t Berlin http://www.inf.fu-berlin.de/ Institut f=FCr Informatik Phone: +49 30 838 75137 Takustra=DFe 9 Algorithmic Bioinformatics 14195 Berlin Room 020 Am 21.08.2013 um 17:08 schrieb Johannes Dr=F6ge : > I am computing very many nucleotide alignments between regions of = reads/contigs and sequenced genomes. Their length varies quite a lot but = often aligning regions are below 100 bp long, sometimes a few thousand = bp. I do this in parallel in a producer-consumer model. I guess I can = replace the alignment code and provide you with timings on a data set = that used to run around 20 hours on 20 processors with the old Seqan = code and MyersHirschberg algorithm. Once you have found the bug, I can = do the comparison. >=20 > It would be possible for me to choose the alignment algorithm = depending on the size of the two regions. >=20 > It would be really cool if getAlignmentScore() would also return the = number of matches, if, at some point, the algorithm records this value. = This score is oftentimes used more than the number of gaps and = mismatches (see percentage identity). >=20 > I'm not so familiar with banded alignment. Do you provide a maximum = distance for the alignment? >=20 > Gru=DF Johannes >=20 >=20 > Am 21.08.2013 16:26, schrieb Holtgrewe, Manuel: >> MyersBitVector assumes edit distance, so the result of = globalAlignment() is the edid distance. >>=20 >> I do not know whether MyersBitVector is really faster than the new = alignment code, it will certainly depend on the length of the sequences. = Myers is certainly fast if you have less than 64 characters in each = sequence. Otherwise, the theoretic adavantages might be eaten up by = emulating longer words. >>=20 >> getAlignmentScore() does not return the alignment length. >>=20 >> If you can band your alignment, using the Needleman-Wunsch will be = quite fast. >>=20 >> What exactly is your application? Is the alignment computation on a = critical path/in a computational core/kernel? >>=20 >> I would say that one would have to try the options (Myers-Hirschberg = after fixing, MyersBitVector, and Needleman-Wunsch) with a real-world = data set and see which is fastest. Note that NW is the only = implementation that you can band at the moment. >>=20 >> We would be interested in your benchmark results. >>=20 >> Cheers, >> Manuel >=20 > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev --Apple-Mail=_B68FB20D-1AAC-49F7-8E44-27D52D043C68 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAlIVFtYACgkQkJM/ORMTNo85VgCfbdx0maTBgJmtCKMAT+oMwfhZ x8wAnjwcoC2guktVbt3JPxT+nAzPH/t6 =Nt+s -----END PGP SIGNATURE----- --Apple-Mail=_B68FB20D-1AAC-49F7-8E44-27D52D043C68-- From Sabrina.Krakau@fu-berlin.de Thu Aug 22 14:10:02 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCTiC-000cNu-PQ>; Thu, 22 Aug 2013 14:10:00 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCTiC-001dDO-N8>; Thu, 22 Aug 2013 14:10:00 +0200 Received: from cas1.campus.fu-berlin.de ([130.133.170.201]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VCTiC-002LDT-C8>; Thu, 22 Aug 2013 14:10:00 +0200 Received: from EX03A.campus.fu-berlin.de ([130.133.170.134]) by CAS1.campus.fu-berlin.de ([130.133.170.201]) with mapi id 14.03.0123.003; Thu, 22 Aug 2013 14:09:59 +0200 From: "Krakau, Sabrina" To: SeqAn Development Thread-Topic: Register now for the SeqAn - BioStore Workshop 2013 in Berlin Thread-Index: Ac6fMITcyVSXhC/HQ1ezt2XIiYq08w== Message-ID: Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Content-Type: multipart/mixed; boundary="_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_" MIME-Version: 1.0 Date: Thu, 22 Aug 2013 14:09:57 +0200 X-Original-Date: Thu, 22 Aug 2013 12:09:57 +0000 X-Originating-IP: 130.133.170.201 X-ZEDAT-Hint: A X-purgate: suspect X-purgate-type: suspect X-purgate-ID: 151147::1377173400-0000097E-093E5C90/3960405918-0/0-19 X-Bogosity: Ham, tests=bogofilter, spamicity=0.002613, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-48.3 required=5.0 tests=ALL_TRUSTED, FU_XPURGATE_SUSP, HTML_IMAGE_ONLY_20,HTML_MESSAGE X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Burundi.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] Register now for the SeqAn - BioStore Workshop 2013 in Berlin X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 22 Aug 2013 12:10:02 -0000 --_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_ Content-Type: multipart/alternative; boundary="_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_" --_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Dear SeqAn Users, Developers and interested Attendees, Register now and participate in the SeqAn - BioStore Workshop 2013, Septemb= er 17th - 19th in Berlin! You can find an updated schedule on our website: http://www.seqan-biostore.de/wp/seqan-workshops/2013-09-seqan-workshop/sche= dule/ For registration please send a mail containing your affiliation and registr= ation type to sabrina.krakau@fu-berlin.de until the 31th of August. There will be a workshop fee of 80 Euro for gr= aduates and 20 Euro for undergraduates (Bachelor and Master students), whic= h can be paid at the beginning of the workshop. You can share your experience and recent research with SeqAn. If you would = like to give a talk on the last workshop day, please send us a short summar= y about your topic and the required time. We will include this into our pla= nning. We look forward to see you in September. The SeqAn team -- Sabrina Krakau [Logo] Freie Universit=E4t Berlin Institute of Computer Science Algorithmic Bioinformatics - Project BioStore Takustr. 9, 14195 Berlin Telefon: +49 (0)30 838 75228 --_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Dear SeqAn Users, Developers and interested Attendees,

Register now and participate in the SeqAn - BioStore Workshop 2013, Septemb= er 17th - 19th in Berlin!
You can find an updated schedule on our website:
http://www.seqan-biostore= .de/wp/seqan-workshops/2013-09-seqan-workshop/schedule/

For registration please send a mail containing your affiliation and registr= ation type to sabrina.krakau@fu-ber= lin.de until the 31th of August. There will be a workshop fee of 80 Euro for graduate= s and 20 Euro for undergraduates (Bachelor and Master students), which can = be paid at the beginning of the workshop.

You can share your experience and recent research with SeqAn. If you would = like to give a talk on the last workshop day, please send us a short summar= y about your topic and the required time. We will include this into our pla= nning.

We look forward to see you in September.
The SeqAn team

--

Sabrina Krakau

3D"Logo"

Freie Universit=E4t Berlin
Institute of Computer Science
Algorithmic Bioinformatics - Project BioStore

Takustr. 9, 14195 Berlin
Telefon: +49 (0)30 838 75228

--_000_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_-- --_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_ Content-Type: image/png; name="cjicjjcc.png" Content-Description: cjicjjcc.png Content-Disposition: attachment; filename="cjicjjcc.png"; size=9060; creation-date="Thu, 22 Aug 2013 12:09:57 GMT"; modification-date="Thu, 22 Aug 2013 12:09:57 GMT" Content-ID: Content-Transfer-Encoding: base64 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 --_004_CBC5629F5E78A84A853AD8A3D5AF81BF51D3CDEFex03acampusfube_-- From jer15@hermes.cam.ac.uk Wed Aug 28 10:54:34 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEbWK-001B1r-Nt>; Wed, 28 Aug 2013 10:54:32 +0200 Received: from ppsw-mx-f.csi.cam.ac.uk ([131.111.8.149] helo=ppsw-42.csi.cam.ac.uk) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEbWK-001sTO-LR>; Wed, 28 Aug 2013 10:54:32 +0200 X-Cam-AntiVirus: no malware found 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]:49031 helo=[192.168.1.4]) by ppsw-42.csi.cam.ac.uk (smtp.hermes.cam.ac.uk [131.111.8.159]:587) with esmtpsa (PLAIN:jer15) (TLSv1:DHE-RSA-CAMELLIA256-SHA:256) id 1VEbWJ-0001ak-7G (Exim 4.80_167-5a66dd3) for seqan-dev@lists.fu-berlin.de (return-path ); Wed, 28 Aug 2013 09:54:31 +0100 Message-ID: <521DBAC6.1@mail.cryst.bbk.ac.uk> Date: Wed, 28 Aug 2013 09:54:30 +0100 From: John Reid User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 MIME-Version: 1.0 To: SeqAn Development Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: "J.E. Reid" X-Originating-IP: 131.111.8.149 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377680072-0000097E-0ABC97F9/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.179807, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=1.1 required=5.0 tests=HTML_MESSAGE,MIME_HTML_ONLY X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Gabun.ZEDAT.FU-Berlin.DE X-Spam-Level: x Subject: [Seqan-dev] Disk-based index X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 28 Aug 2013 08:54:34 -0000 Hi all,

I would like to index the mouse or human genome with an ESA. I need to do this more than once though and would like to store the ESA on disk as it takes some hours to construct. Is this feasible? Is there any way to do this in SeqAn already?

Also parallel construction is interesting to me. To quote wikipedia (http://en.wikipedia.org/wiki/Suffix_tree#External_construction):
ERA is a recent parallel suffix tree construction method that is significantly faster. ERA can index the entire human genome in 19 minutes on an 8-core desktop computer with 16GB RAM. On a simple Linux cluster with 16 nodes (4GB RAM per node), ERA can index the entire human genome in less than 9 minutes
Are there any plans to incorporate the ERA algorithm (http://www.vldb.org/pvldb/vol5/p049_essammansour_vldb2012.pdf) into SeqAn?

Thanks,
John.
From Enrico.Siragusa@fu-berlin.de Wed Aug 28 11:46:31 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEcKc-001LU0-56>; Wed, 28 Aug 2013 11:46:30 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEcKc-00451z-3C>; Wed, 28 Aug 2013 11:46:30 +0200 Received: from cas1.campus.fu-berlin.de ([130.133.170.201]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEcKb-00421v-On>; Wed, 28 Aug 2013 11:46:30 +0200 Received: from EX02A.campus.fu-berlin.de ([130.133.170.132]) by CAS1.campus.fu-berlin.de ([130.133.170.201]) with mapi id 14.03.0123.003; Wed, 28 Aug 2013 11:46:28 +0200 From: "Siragusa, Enrico" To: SeqAn Development Thread-Topic: [Seqan-dev] Disk-based index Thread-Index: AQHOo8xHQuTaDfvG5E6mSuTBOKYAK5mqPc8A Message-ID: <2497807B-B9C0-4907-BE51-87448BC9493D@fu-berlin.de> References: <521DBAC6.1@mail.cryst.bbk.ac.uk> In-Reply-To: <521DBAC6.1@mail.cryst.bbk.ac.uk> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: multipart/alternative; boundary="_000_2497807BB9C04907BE5187448BC9493Dfuberlinde_" MIME-Version: 1.0 Date: Wed, 28 Aug 2013 11:46:28 +0200 X-Original-Date: Wed, 28 Aug 2013 09:46:28 +0000 X-Originating-IP: 130.133.170.201 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377683190-0000097E-5F9E02FC/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000015, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Algerien.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Disk-based index X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 28 Aug 2013 09:46:31 -0000 --_000_2497807BB9C04907BE5187448BC9493Dfuberlinde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi John, On Aug 28, 2013, at 10:54 AM, John Reid > wrote: Hi all, I would like to index the mouse or human genome with an ESA. I need to do t= his more than once though and would like to store the ESA on disk as it tak= es some hours to construct. Is this feasible? Is there any way to do this i= n SeqAn already? Sure. To save an index after constructing it, you can call save(index, "/pa= th/to/index"). To load it, call open(index, "/path/to/index"). The path mus= t be given as a C style string, so if you're using a SeqAn String, please u= se toCString() to convert it. Also parallel construction is interesting to me. To quote wikipedia (http:/= /en.wikipedia.org/wiki/Suffix_tree#External_construction): ERA is a recent parallel suffix tree construction method that is significan= tly faster. ERA can index the entire human genome in 19 minutes on an 8-cor= e desktop computer with 16GB RAM. On a simple Linux cluster with 16 nodes (= 4GB RAM per node), ERA can index the entire human genome in less than 9 min= utes Are there any plans to incorporate the ERA algorithm (http://www.vldb.org/p= vldb/vol5/p049_essammansour_vldb2012.pdf) into SeqAn? We had some thoughts on parallel suffix array construction as well as paral= lel direct bwt construction. However, ERA is a suffix tree construction alg= orithm, so it wouldn't be useful to construct enhanced suffix arrays direct= ly. Enrico Thanks, John. _______________________________________________ seqan-dev mailing list seqan-dev@lists.fu-berlin.de https://lists.fu-berlin.de/listinfo/seqan-dev --_000_2497807BB9C04907BE5187448BC9493Dfuberlinde_ Content-Type: text/html; charset="iso-8859-1" Content-ID: Content-Transfer-Encoding: quoted-printable Hi John,

On Aug 28, 2013, at 10:54 AM, John Reid <j.reid@mail.cryst.bbk.ac.uk>
 wrote:

Hi all,

I would like to index the mouse or human genome with an ESA. I need to do t= his more than once though and would like to store the ESA on disk as it tak= es some hours to construct. Is this feasible? Is there any way to do this i= n SeqAn already?

Sure. To save an index after constructing it, you can call save(index,= "/path/to/index"). To load it, call open(index, "/path/to/i= ndex"). The path must be given as a C style string, so if you're using= a SeqAn String, please use toCString() to convert it.

Also parallel construction is int= eresting to me. To quote wikipedia (http://= en.wikipedia.org/wiki/Suffix_tree#External_construction):
ERA is a recent parallel suffix tree construction method that i= s significantly faster. ERA can index the entire human genome in 19 minutes= on an 8-core desktop computer with 16GB RAM. On a simple Linux cluster wit= h 16 nodes (4GB RAM per node), ERA can index the entire human genome in less than 9 minutes
Are there any plans to incorporate the ERA algorithm (http://www.vldb.org/pvldb/vol5/p049_essammansour_vldb2012.pdf= ) into SeqAn?

We had some thoughts on parallel suffix array construction as well as = parallel direct bwt construction. However, ERA is a suffix tree constructio= n algorithm, so it wouldn't be useful to construct enhanced suffix arr= ays directly.

Enrico

Thanks,
John.
_______________________________________________
seqan-dev mailing list
seqan-dev@lists.fu-berlin.d= e
https://lists.fu-berlin.de/listinfo/seqan-dev

--_000_2497807BB9C04907BE5187448BC9493Dfuberlinde_-- From daniel.bartha@gmail.com Wed Aug 28 11:49:40 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEcNe-001LyU-CM>; Wed, 28 Aug 2013 11:49:38 +0200 Received: from mail-vb0-f43.google.com ([209.85.212.43]) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEcNe-0024kf-6p>; Wed, 28 Aug 2013 11:49:38 +0200 Received: by mail-vb0-f43.google.com with SMTP id h11so4042695vbh.30 for ; Wed, 28 Aug 2013 02:49:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=FuA3UUOp+wLG03c357cyizhrvBCJxuP+qSab1lP3Ho4=; b=ffhsQVziKtvkKmKgBh1uNCpxtqUkR4MQlSj+6xmaE9xdK8KOM6U/+XThOZ7M3SYBxf XywvPhD6/3ORCLNqFIJC9i4noeaIy4aZpZek5TrCtW9EDQQ9d83XoC71jCpgpV9h8ARe shGVqcA3DQrXcKD/phtUOFvqa43P7gP5rl5SNBB2FO42cBE5S+tfMA8U4l3HuH2+YpKf luXZ8pQeDMZKy4RYjRClGpzqeilM+xqCLuTDf84kbpYoJJ5mryKGcRlQTfbhpHYIPi4e xtLwE6OirAJTjuLtxpIGkJECu4Iaem9ebpMhzqXDpiYcnX3DENICiEHFJQ3a0YntIIDU Pymg== MIME-Version: 1.0 X-Received: by 10.58.75.41 with SMTP id z9mr24974912vev.4.1377683376180; Wed, 28 Aug 2013 02:49:36 -0700 (PDT) Received: by 10.58.6.196 with HTTP; Wed, 28 Aug 2013 02:49:36 -0700 (PDT) Date: Wed, 28 Aug 2013 11:49:36 +0200 Message-ID: From: =?UTF-8?Q?Bartha_D=C3=A1niel?= To: SeqAn Development Content-Type: multipart/alternative; boundary=089e012942aa4014fd04e4fee87b X-Originating-IP: 209.85.212.43 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377683378-0000097E-E048E580/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.499928, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-0.7 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_LOW,T_DKIM_INVALID X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] question about the efficiency of the sequan sequence classes X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 28 Aug 2013 09:49:40 -0000 --089e012942aa4014fd04e4fee87b Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi All, i have a big queston there. I wrote an application, that currently uses my own custom std::string based implementation for some dna mutation stuff. I basically have to access every simple character in the dna, and then do something with them, but that is not important for the question. I tend to rewrite the whole app with seqan, but it only has sense, if the manipulation and accessing of the seqan classes significant faster is, than my own. I read about the effectiveness in the Motivation chapter, but does anybody have any experience about the concrete yield of possible acceleration? Thanks! Regards: Daniel Live long and prosper Bartha D=C3=A1niel MTA-VMRI, 2013 --089e012942aa4014fd04e4fee87b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi All,

i have a big ques= ton there. I wrote an application, that currently uses my own custom std::s= tring based implementation for some dna mutation stuff. I basically have to= access every simple character in the dna, and then do something with them,= but that is not important for the question.

I tend to rewrite the whole app with seqan, but it only has sense= , if the manipulation and accessing of the seqan classes significant faster= is, than my own. I read about the effectiveness in the Motivation chapter,= but does anybody have any experience about the concrete yield of possible = acceleration?

Thanks!

Regards: Daniel

Live long a= nd prosper
Bartha D=C3=A1niel
MTA= -VMRI, 2013
--089e012942aa4014fd04e4fee87b-- From listes.rusconi@laposte.net Wed Aug 28 13:34:24 2013 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEe11-001gyf-2q>; Wed, 28 Aug 2013 13:34:23 +0200 Received: from smtp2.u-psud.fr ([129.175.33.42]) by relay1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEe11-002Qgg-0M>; Wed, 28 Aug 2013 13:34:23 +0200 Received: from smtp2.u-psud.fr (localhost [127.0.0.1]) by localhost (MTA) with SMTP id A0401347BF9; Wed, 28 Aug 2013 13:34:21 +0200 (CEST) Received: from roma.clio.u-psud.fr (roma.lcp.u-psud.fr [129.175.101.95]) by smtp2.u-psud.fr (MTA) with ESMTP id 831D3347BC9; Wed, 28 Aug 2013 13:34:21 +0200 (CEST) Received: by roma.clio.u-psud.fr (Postfix, from userid 1000) id 82C09B6060A; Wed, 28 Aug 2013 13:34:21 +0200 (CEST) Date: Wed, 28 Aug 2013 13:34:21 +0200 From: Filippo Rusconi To: seqan-dev@lists.fu-berlin.de Message-ID: <20130828113421.GC4252@licorne> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Originating-IP: 129.175.33.42 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377689663-0000097E-68A94E5B/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000986, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-2.3 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_MED X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Botsuana.ZEDAT.FU-Berlin.DE X-Spam-Level: Cc: Andreas Tille Subject: [Seqan-dev] source code for the apps X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Filippo Rusconi , SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Aug 2013 11:34:24 -0000 Greetings Fellow Seqan Users and Developers, I'm currently packaging the OpenMS software suite for Debian. That software depends on Seqan. Since release 1.10, OpenMS depends on Seqan 1.4.1. In Debian, we currently have seqan 1.3.1 in the form of two packages: seqan-dev (header files of the lib) and seqan-apps (binary programs) [[ CC Andreas, who is the package maintainer ]]. Before being able to package OpenMS for Debian, we thus have to have seqan 1.4.1 packaged for Debian. The problem is that apparently the apps are no more shipped in the source tarball. I see at http://packages.seqan.de/ that the Seqan software is now shipped in two forms: 1/ header files in the lib source bundle 2/ binary images in the apps bundle. Where can we get the source of the apps, so that we can continue having both the library and the apps nicely packaged in Debian ? Thank you for your kind help, Filippo Rusconi -- Filippo Rusconi, PhD - public crypto key C78F687C @ pgp.mit.edu Researcher at CNRS and Debian Developer Author of ``massXpert'' at http://www.massxpert.org From manuel.holtgrewe@fu-berlin.de Wed Aug 28 14:13:58 2013 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEedI-001qQ7-G0>; Wed, 28 Aug 2013 14:13:56 +0200 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost1.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEedI-000mg8-Db>; Wed, 28 Aug 2013 14:13:56 +0200 Received: from cas1.campus.fu-berlin.de ([130.133.170.201]) by relay2.zedat.fu-berlin.de (Exim 4.80.1) for seqan-dev@lists.fu-berlin.de with esmtp (envelope-from ) id <1VEedI-0009Rd-0t>; Wed, 28 Aug 2013 14:13:56 +0200 Received: from EX02A.campus.fu-berlin.de ([130.133.170.132]) by CAS1.campus.fu-berlin.de ([130.133.170.201]) with mapi id 14.03.0123.003; Wed, 28 Aug 2013 14:13:54 +0200 From: "Holtgrewe, Manuel" To: SeqAn Development Thread-Topic: [Seqan-dev] question about the efficiency of the sequan sequence classes Thread-Index: AQHOo9Pr5B7+0yvoXUGgcOfV0uqhjZmqg9oV Message-ID: References: In-Reply-To: Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: multipart/alternative; boundary="_000_FCCAB9D80C3DAB47B5601C5B0E62872B457E72C2ex02acampusfube_" MIME-Version: 1.0 Date: Wed, 28 Aug 2013 14:13:54 +0200 X-Original-Date: Wed, 28 Aug 2013 12:13:54 +0000 X-Originating-IP: 130.133.170.201 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1377692036-0000097E-AC7B0799/0-0/0-0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.399813, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE X-Spam-Checker-Version: SpamAssassin 3.3.3-zedat0a54d5a on Benin.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] question about the efficiency of the sequan sequence classes X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.14 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, 28 Aug 2013 12:13:58 -0000 --_000_FCCAB9D80C3DAB47B5601C5B0E62872B457E72C2ex02acampusfube_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Daniel, it depends on your application and what you do with your strings. Using the= SeqAn library can yield more elegant and faster code than using std::strin= g or self-written string classes but it depends on the actual use case. For Sequences, there are two aspects: (1) Using SeqAn's Dna5, Dna for characters stores the alphabet as numbers 0= ..3/4 internally. This makes it easier for indices and mappings since they = can work directly and efficiently on the ordinal value (ordValue). For example, if you are counting the nucleotide content along strings, you = can simply have a 4-element container (String in this case) for each positi= on in your reads (thus a String of Strings). Thus, you do not need a possib= le mapping for 'A' =3D> 0, 'C' =3D> 1, 'G' =3D> 2, 'T' =3D> 3, 'N' =3D> 4 s= ince the mapping is done beforehand. String > counters; for (unsigned i =3D 0; i < length(reads); ++i) { // Increase number of counters if reads[i] is longer than the previous = reads. if (length(counters) < length(reads[i])) { unsigned oldSize =3D length(counters); resize(counters, length(reads[i])); for (unsigned j =3D oldSize; j < length(counters); ++j) resize(counters[j], 5, 0); } // Count nucleotides for each position in reads[i]; for (unsigned j =3D 0; j < length(reads[i]); ++j) counters[ordValue(reads[i][j])] +=3D 1; } (2) SeqAn's String class allows additionally giving an alternative implemen= tation. The default implementation simply uses an array and would store a D= na character in a Byte. By using the Packed String, you can byte-compress f= our 4-character DNA characters into one Byte (each only needs 2 bits). This= comes at the cost of some computation but in this case leads to a 4x memor= y consumption direction. We as library writers can now combine these two aspects of sequences and al= phabets with generic programming and write algorithms that allow the user t= o change the alphabet type and the string implementation depending on the u= ser's requirements and get the best possible implementation for this case. = Because template specialization allows us to decide for the the correct imp= lementation of ordValue(), length() etc. at *compile time*, we do not need = virtual functions and thus no cost for runtime polymorphism. If you want to use the algorithms in the SeqAn library then you could benef= it from using SeqAn sequences. However, many algorithms also work with std:= :string and without knowing your application and code it is hard to make an= y promise on acceleartion. Cheers, Manuel ________________________________ From: Bartha D=E1niel [daniel.bartha@gmail.com] Sent: Wednesday, August 28, 2013 11:49 AM To: SeqAn Development Subject: [Seqan-dev] question about the efficiency of the sequan sequence c= lasses Hi All, i have a big queston there. I wrote an application, that currently uses my = own custom std::string based implementation for some dna mutation stuff. I = basically have to access every simple character in the dna, and then do som= ething with them, but that is not important for the question. I tend to rewrite the whole app with seqan, but it only has sense, if the m= anipulation and accessing of the seqan classes significant faster is, than = my own. I read about the effectiveness in the Motivation chapter, but does = anybody have any experience about the concrete yield of possible accelerati= on? Thanks! Regards: Daniel Live long and prosper Bartha D=E1niel MTA-VMRI, 2013 --_000_FCCAB9D80C3DAB47B5601C5B0E62872B457E72C2ex02acampusfube_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi Daniel,

it depends on your application and what you do with your strings. Usin= g the SeqAn library can yield more elegant and faster code than using std::= string or self-written string classes but it depends on the actual use case= .

For Sequences, there are two aspects:

(1) Using SeqAn's Dna5, Dna for characters stores the alphabet as numb= ers 0..3/4 internally. This makes it easier for indices and mappings since = they can work directly and efficiently on the ordinal value (ordValue).

For example, if you are counting the nucleotide content along strings,= you can simply have a 4-element container (String in this case) for each p= osition in your reads (thus a String of Strings). Thus, you do not need a p= ossible mapping for 'A' =3D> 0, 'C' =3D> 1, 'G' =3D> 2, 'T' =3D> 3, 'N' =3D> 4 since the mapping i= s done beforehand.

String<String<unsigned> > count= ers;
for (unsigned i =3D 0; i < length(reads)= ; ++i)
{
    // Increase number of counter= s if reads[i] is longer than the previous reads.
    if (length(counters) < len= gth(reads[i]))
    {
        unsigned oldSiz= e =3D length(counters);
        resize(counters= , length(reads[i]));
        for (unsigned j= =3D oldSize; j < length(counters); ++j)
            r= esize(counters[j], 5, 0);
    }

    // Count nucleotides for each= position in reads[i];
    for (unsigned j =3D 0; j <= length(reads[i]); ++j)
        counters[ordVal= ue(reads[i][j])] +=3D 1;
}<= /div>

(2) SeqAn's String class allows additionally giving an alternative imp= lementation. The default implementation simply uses an array and would stor= e a Dna character in a Byte. By using the Packed String, you can byte-compr= ess four 4-character DNA characters into one Byte (each only needs 2 bits). This comes at the cost of some com= putation but in this case leads to a 4x memory consumption direction.

We as library writers can now combine these two aspects of sequences a= nd alphabets with generic programming and write algorithms that allow the u= ser to change the alphabet type and the string implementation depending on = the user's requirements and get the best possible implementation for this case. Because template specializ= ation allows us to decide for the the correct implementation of ordValue(),= length() etc. at *compile time*, we do not need virtual functions and thus= no cost for runtime polymorphism.

If you want to use the algorithms in the SeqAn library then you could = benefit from using SeqAn sequences. However, many algorithms also work with= std::string and without knowing your application and code it is hard to ma= ke any promise on acceleartion.

Cheers,
Manuel

From: Bartha D=E1niel [daniel.bartha@gmai= l.com]
Sent: Wednesday, August 28, 2013 11:49 AM
To: SeqAn Development
Subject: [Seqan-dev] question about the efficiency of the sequan seq= uence classes

Hi All,

i have a big queston there. I wrote an application, that currently uses my = own custom std::string based implementation for some dna mutation stuff. I = basically have to access every simple character in the dna, and then do som= ething with them, but that is not important for the question.

I tend to rewrite the whole app with seqan, but it only has sense, if the m= anipulation and accessing of the seqan classes significant faster is, than = my own. I read about the effectiveness in the Motivation chapter, but does = anybody have any experience about the concrete yield of possible acceleration?

Thanks!

Regards: Daniel

Live long and prosper
Bartha D=E1niel
MTA-VMRI, 2013