[Bioc-devel] readGAlignmentPairs function broken?

Leonard Goldstein goldstein.leonard at gene.com
Thu Dec 19 19:41:08 CET 2013


Hi Hervé

You probably spotted this already but it looks like the problem is
introduced between GenomicAlignments revisions r84052 (0.99.8) and
r84106 (0.99.9)

Best wishes

Leonard


On Wed, Dec 18, 2013 at 5:25 PM, Leonard Goldstein <goldstel at gene.com> wrote:
> Dear list,
>
> There seems to be a problem with the readGAlignmentPairs function:
>
> Querying genomic regions without any alignments using the which
> argument results in an error -- see (1) below. Reading in a whole
> chromosome takes indefinitely (or at least much longer than in
> previous versions) -- see (2) below. I suspect these issues are not
> specific to the BAM files I am working with but can provide test data
> if required.
>
> Many thanks for your help.
>
> Leonard
>
>
> --
> (1) Attempts to read an empty region results in an error.
>
>> gr <- GRanges("22", IRanges(1000000, 2000000))
>>
>> param <- ScanBamParam(which = gr)
>>
>> readGAlignmentPairs(file, param = param)
> Error in `elementMetadata<-`(x, ..., value = value) :
>   replacement 'elementMetadata' value must be a DataTable object or NULL
>>
>> sessionInfo()
> R Under development (unstable) (2013-12-03 r64376)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] parallel  stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
> [1] GenomicAlignments_0.99.9 Rsamtools_1.15.15        Biostrings_2.31.5
> [4] GenomicRanges_1.15.17    XVector_0.3.5            IRanges_1.21.16
> [7] BiocGenerics_0.9.2       BiocInstaller_1.13.3
>
> loaded via a namespace (and not attached):
> [1] bitops_1.0-6   stats4_3.1.0   tools_3.1.0    zlibbioc_1.9.0
>>
>
> ... but works fine with previous version
>
>> gr <- GRanges("22", IRanges(1000000, 2000000))
>>
>> param <- ScanBamParam(which = gr)
>>
>> readGAlignmentPairs(file, param = param)
> GAlignmentPairs with 0 alignment pairs and 0 metadata columns:
>  seqnames strand :    ranges --    ranges
>     <Rle>  <Rle> : <IRanges> -- <IRanges>
> ---
> seqlengths:
>           1          2          3 ... GL000247.1 GL000248.1 GL000249.1
>   249250621  243199373  198022430 ...      36422      39786      38502
>>
>> sessionInfo()
> R version 3.0.0 (2013-04-03)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=C                 LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] parallel  stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
> [1] Rsamtools_1.14.2     Biostrings_2.30.1    GenomicRanges_1.14.4
> [4] XVector_0.2.0        IRanges_1.20.6       BiocGenerics_0.8.0
>
> loaded via a namespace (and not attached):
> [1] bitops_1.0-6   stats4_3.0.0   zlibbioc_1.8.0
>
>
> (2) Use of the which argument covering chromosome 22 takes under one
> minute with an earlier version of readGAlignmentPairs
>
>> gr <- GRanges("22", IRanges(1, 51304566))
>>
>> param <- ScanBamParam(which = gr)
>>
>> system.time(gap <- readGAlignmentPairs(file, param = param))
>    user  system elapsed
>  45.887   0.256  46.168
>>
>> sessionInfo()
> R version 3.0.0 (2013-04-03)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=C                 LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] parallel  stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
> [1] Rsamtools_1.14.2     Biostrings_2.30.1    GenomicRanges_1.14.4
> [4] XVector_0.2.0        IRanges_1.20.6       BiocGenerics_0.8.0
>
> loaded via a namespace (and not attached):
> [1] bitops_1.0-6   stats4_3.0.0   zlibbioc_1.8.0
>>
>
> ... but at least twenty times as long with the current version.
>
>> gr <- GRanges("22", IRanges(1, 51304566))
>>
>> param <- ScanBamParam(which = gr)
>>
>> system.time(gap <- readGAlignmentPairs(file, param = param))
>
> ^C
> Timing stopped at: 1108.041 35.998 1144.006
>>
>> sessionInfo()
> R Under development (unstable) (2013-12-03 r64376)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] parallel  stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
> [1] GenomicAlignments_0.99.9 Rsamtools_1.15.15        Biostrings_2.31.5
> [4] GenomicRanges_1.15.17    XVector_0.3.5            IRanges_1.21.16
> [7] BiocGenerics_0.9.2
>
> loaded via a namespace (and not attached):
> [1] bitops_1.0-6   stats4_3.1.0   zlibbioc_1.9.0
>>



More information about the Bioc-devel mailing list