On 7 Dec 2015, at 21:47, Claudio Alberti <[email protected]> wrote:
> I am implementing a parser that is able to read the BAM file in pairs so
> whenever I read a record where pos < mpos I search for the mate and I
> create a pair structure.
> Once I find the mate I have to roll back to the second read and continue
> building the pairs.
The sensible way to do this using the existing HTSlib API would be to open the
BAM file twice. Use one file handle to read sequentially, and use a separate
second file handle (via sam_itr_queryi()/sam_itr_next()) to search for the
mates. No need to "roll back" as the first file handle is still in the right
place.
(This would not work for streaming from standard input, but of course your
mate-reader requires seeking and an index, so already does not work for
standard input.)
To be sure, it would be useful if HTSlib provided seek and tell functions that
worked at the high-level htsFile interface, so could be used alongside
sam_read1(), bcf_read(), etc. This would be useful so that people could build
interesting new indexing structures, though in this case there would be more
seeking involved than in a two file handle implementation, so it would be
somewhat slower. Until Ryan's (the September thread that James pointed you at)
and your requests, noone had expressed a desire for such functions. Now they
have, so such functions will be added, probably in a HTSlib 1.4 release.
John
--
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Samtools-help mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/samtools-help