Re: [Seqan-dev] problem in LoadReads
Am Montag, 22. Februar 2016, 11:23:23 schrieb Luis Enrique Ramirez Chavez:
> Hi Seqan Devs,
>
> I am currently working a project that used Seqan 1.4 and now I am updating
> to Seqan 2.1. I think that maybe I have found a bug in Seqan. The problem
> is that LoadReads from FragmentStore is not returning the same as in the
> previous version for the same call, I did a little research comparing
> both versions.
Thanks for your bug report and research!
> The code of loadReads have change from one version to the other, in both
> versions it's defined in seqan/store/store_io.h at line 1159 for old
> version and at line 1273 for the new version but the behave is different
> and I think here is the problem.
>
> in old version there is this part:
>
> MultiSeqFile multiSeqFileL, multiSeqFileR;
> if (!open(multiSeqFileL.concat, toCString(fileNameL), OPEN_RDONLY))
> return false;
> if (!open(multiSeqFileR.concat, toCString(fileNameR), OPEN_RDONLY))
> return false;
This looks like the file is from a previous save() so it is in SeqAn binary
format.
> The flow is working correctly and the ifs don't reach the return false but
> in the new version the code is like this
>
> SeqFileIn seqFileL, seqFileR;
> if (!open(seqFileL, toCString(fileNameL)) || !open(seqFileR,
> toCString(fileNameR)))
> return false;
This looks like it is trying to load it as a regular sequence file so this
seems something different from above. You might be right, that this is the
place!
> here the execution always always return false. I inspected and its because
> a different open function its called and here is where I think is the
> bug.
>
> In seqan 1.4 the open function called is from string_map defined in
> /include/seqan/file/string_mmap.h however in 2.x the open function that is
> being called is from /include/seqan/stream/formatted_file.h. The open from
> string_mmap.h exists in 2.x and I think is the function that wanted to be
> called. LoadReads calls open with SeqFileIn in the new version while in
> previous with MultiSeqFile but MultiSeqFile is not available in new
> version
>
> Can you please check if that is a bug
I have created an issue in the bugtracker that you can follow:
https://github.com/seqan/seqan/issues/1484
Best regards,
Hannes
--
Hannes Hauswedell
PhD student
Max Planck Institute for Molecular Genetics / Freie Universität Berlin
address Institut für Informatik
Takustraße 9
Room 019
14195 Berlin
telephone +49 (0)30 838-75241
fax +49 (0)30 838-75218
e-mail hannes.hauswedell@[molgen.mpg.de|fu-berlin.de]