[Bioc-devel] Reading FASTQ/BAM from open file handle?
mtmorgan at fhcrc.org
Wed Dec 5 01:37:50 CET 2012
On 12/04/2012 03:17 PM, Ryan C. Thompson wrote:
> Perfect, that's just what I wanted for Fastq files. Is there no R facility for
> reading unindexed bam?
Well, playing around a little I did this in one terminal
~$ mkfifo myfifo
~$ cat tmp/bam/ex1.bam > myfifo
And then in R
scanBam("~/myfifo") # or, e.g., readBamGappedAlignments("~/myfifo")
so I guess there are hacks. The way to iterate through a bam file is with BamFile
bf = BamFile("myfifo", yieldSize=100000L)
but it's requiring an index when opened
Error in open.BamFile(bf) : failed to load BAM index
In addition: Warning message:
In open.BamFile(bf) : [bam_index_load] fail to load BAM index.
so you'd be stuck parsing the whole file...
> On Tue 04 Dec 2012 02:47:56 PM PST, Martin Morgan wrote:
>> On 12/04/2012 01:27 PM, Ryan C. Thompson wrote:
>>> Hi all,
>>> I'm currently experimenting with using quip
>>> (https://github.com/dcjones/quip#readme) to save disk space when
>>> storing FASTQ
>>> and BAM files. One thing that would be nice is to read
>>> quip-compressed FASTQ or
>>> BAM files directly into R. Obviously direct support for reading quip
>>> would be ideal, but in the short term, quip supports decompression to
>>> output, so if I could have R read FASTQ or BAM data from an open file
>>> handle, I
>>> could pipe the decompressed output to R's FASTQ or BAM reader
>>> functions. Does
>>> anyone know if this is possible?
>> ShortRead::FastqStreamer works with R connections, so for instance
>> after example(FastqStreamer)
>> cmd = sprintf("cat %s", fl)
>> p = pipe(cmd)
>> strm = FastqStreamer(p, 50)
>> Rsamtools::scanBam is really expecting to read from an (indexed) bam
>> file with random access.
>>> -Ryan Thompson
>>> Bioc-devel at r-project.org mailing list
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
Location: Arnold Building M1 B861
Phone: (206) 667-2793
More information about the Bioc-devel