[Bioc-devel] TabixFileList() constructor broken in devel
Vincent Carey
stvjc at channing.harvard.edu
Thu Dec 29 18:25:37 CET 2016
A while ago Martin and I discussed the possibility of idempotence for
TabixFile ... this seemed
to make sense and so
> TabixFile
function (file, index = paste(file, "tbi", sep = "."), ..., yieldSize =
NA_integer_)
{
if (is(file, "TabixFile"))
return(file)
tryCatch({
.io_check_exists(c(file, index))
}, error = function(err) {
stop(sprintf("TabixFile: %s", conditionMessage(err)),
call. = FALSE)
})
.RsamtoolsFile(.TabixFile, file, index, yieldSize = yieldSize,
...)
}
<environment: namespace:Rsamtools>
TabixFileList could behave similarly, working either from character paths,
or from
a list of TabixFile instances, or from a TabixFileList ... might be a
design practice to
promote for S4 programming
> TabixFileList
function (file, index = paste(file, "tbi", sep = "."), ..., yieldSize =
NA_integer_)
{
index <- as.character(index)
.RsamtoolsFileList(file, index, ..., yieldSize = yieldSize,
class = "TabixFile")
}
<environment: namespace:Rsamtools>
On Thu, Dec 29, 2016 at 11:55 AM, Robert Castelo <robert.castelo at upf.edu>
wrote:
> hi Lori,
>
> thanks for the clarification. if this is an intended change then i'd say
> the documentation needs to be updated since, as i showed in my email
> below, it currently says that for functions such as 'TabixFileList()'
> the input 'file' argument should be a 'TabixFile' instance and not a
> character vector.
>
> this change also means the input is switching from a 'TabixFile'
> instance to a 'character' vector, so pipelines or packages doing calls
> to 'TabixFileList()' that have been passing 'TabixFile' instances as
> arguments will have to update those calls to pass a character vector.
>
> i'd suggest that if there's no good reason to switch, it would be
> safer to add the character vector as an additional possibility in the
> input argument 'file', just as with 'countTabix()', and minimize
> possible breaks of pipelines/packages using 'TabixFileList()'. i've
> encountered this problem because my own package VariantFiltering calls
> 'TabixFileList()' although is not a big deal to fix it.
>
> cheers,
>
> robert.
>
> On 28/12/2016 19:44, Shepherd, Lori wrote:
> >
> > Thank you for bringing this to our attention. There were some updates
> > made a few weeks ago to the behavior and input of 'TabixFileList()' .
> > Its current implementation will work with a character vector as
> > input. I will investigate further into why this change was made and
> > if it needs to be addressed.
> >
> >
> > In the meantime:
> >
> > TabixFileList(tbx)
> > will throw an ERROR, but you can still use the same file that was used
> > to create the TabixFile
> > tbx <- open(TabixFile(fl, yieldSize=100))
> > TabixFileList(fl)
> >
> >
> >
> > Lori Shepherd
> >
> > Bioconductor Core Team
> >
> > Roswell Park Cancer Institute
> >
> > Department of Biostatistics & Bioinformatics
> >
> > Elm & Carlton Streets
> >
> > Buffalo, New York 14263
> >
> > ------------------------------------------------------------------------
> > *From:* Bioc-devel <bioc-devel-bounces at r-project.org> on behalf of
> > Robert Castelo <robert.castelo at upf.edu>
> > *Sent:* Wednesday, December 28, 2016 11:50:58 AM
> > *To:* bioc-devel at r-project.org
> > *Subject:* [Bioc-devel] TabixFileList() constructor broken in devel
> > hi,
> >
> > the 'TabixFileList()' constructor in Rsamtools seems to be broken in
> > devel:
> >
> > library(Rsamtools)
> > example(TabixFileList) ## which actually does not construct any
> > 'TabixFileList'
> > TabixFileList(tbx)
> > Error in as.vector(x, "character") :
> > cannot coerce type 'environment' to vector of type 'character'
> >
> > while in release this works fine:
> >
> > library(Rsamtools)
> > example(TabixFileList) ## which actually does not construct any
> > 'TabixFileList'
> > TabixFileList(tbx)
> > TabixFileList of length 1
> > names(1): example.gtf.gz
> >
> > the man page has not changed between devel and release and the current
> > description of the argument 'file' supports the use of a 'TabixFile'
> > instance as input:
> >
> > file: For TabixFile(), A character(1) vector to the tabix file
> > path; can be remote (http://, ftp://). For ‘countTabix’, a
> > character(1) or ‘TabixFile’ instance. For others, a
> > ‘TabixFile’ instance.
> >
> > please find below my session information for the devel run.
> >
> > thanks!
> >
> > robert.
> >
> > sessionInfo()
> > R Under development (unstable) (2016-11-17 r71661)
> > Platform: x86_64-apple-darwin16.1.0 (64-bit)
> > Running under: macOS Sierra 10.12.2
> >
> > locale:
> > [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
> >
> > attached base packages:
> > [1] stats4 parallel stats graphics grDevices utils datasets
> > [8] methods base
> >
> > other attached packages:
> > [1] Rsamtools_1.27.9 Biostrings_2.43.1 XVector_0.15.0
> > [4] GenomicRanges_1.27.17 GenomeInfoDb_1.11.6 IRanges_2.9.14
> > [7] S4Vectors_0.13.5 BiocGenerics_0.21.1 setwidth_1.0-4
> > [10] colorout_1.1-0
> >
> > loaded via a namespace (and not attached):
> > [1] zlibbioc_1.21.0 compiler_3.4.0 tools_3.4.0 BiocParallel_1.9.3
> > [5] bitops_1.0-6
> >
> > _______________________________________________
> > Bioc-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >
> > This email message may contain legally privileged and/or confidential
> > information. If you are not the intended recipient(s), or the employee
> > or agent responsible for the delivery of this message to the intended
> > recipient(s), you are hereby notified that any disclosure, copying,
> > distribution, or use of this email message is prohibited. If you have
> > received this message in error, please notify the sender immediately
> > by e-mail and delete this email message from your computer. Thank you.
>
>
>
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list