bedbaser
Update the following URL to point to the GitHub repository of the package you wish to submit to Bioconductor
- Repository: https://github.com/waldronlab/bedbaser
Confirm the following by editing each check box to '[x]'
-
[x] I understand that by submitting my package to Bioconductor, the package source and all review commentary are visible to the general public.
-
[x] I have read the Bioconductor Package Submission instructions. My package is consistent with the Bioconductor Package Guidelines.
-
[x] I understand Bioconductor Package Naming Policy and acknowledge Bioconductor may retain use of package name.
-
[x] I understand that a minimum requirement for package acceptance is to pass R CMD check and R CMD BiocCheck with no ERROR or WARNINGS. Passing these checks does not result in automatic acceptance. The package will then undergo a formal review and recommendations for acceptance regarding other Bioconductor standards will be addressed.
-
[x] My package addresses statistical or bioinformatic issues related to the analysis and comprehension of high throughput genomic data.
-
[x] I am committed to the long-term maintenance of my package. This includes monitoring the support site for issues that users may have, subscribing to the bioc-devel mailing list to stay aware of developments in the Bioconductor community, responding promptly to requests for updates from the Core team in response to changes in R or underlying software.
-
[x] I am familiar with the Bioconductor code of conduct and agree to abide by it.
I am familiar with the essential aspects of Bioconductor software management, including:
- [x] The 'devel' branch for new packages and features.
- [x] The stable 'release' branch, made available every six months, for bug fixes.
- [x] Bioconductor version control using Git (optionally via GitHub).
For questions/help about the submission process, including questions about the output of the automatic reports generated by the SPB (Single Package Builder), please use the #package-submission channel of our Community Slack. Follow the link on the home page of the Bioconductor website to sign up.
Hi @jwokaty
Thanks for submitting your package. We are taking a quick look at it and you will hear back from us soon.
The DESCRIPTION file for this package is:
Package: bedbaser
Title: A BEDbase client
Version: 0.99.0
Authors@R: c(
person(
given = "Jen",
family = "Wokaty",
role = c("aut", "cre"),
email = "[email protected]",
comment = c(ORCID = "0009-0008-0900-8793")
),
person(
given = "Levi",
family = "Waldron",
role = c("aut"),
email = "[email protected]",
comment = c(ORCID = "0000-0003-2725-0694")
))
Description: A client for BEDbase. bedbaser provides access to the API at
api.bedbase.org. It also includes convenience functions to import BED files
into GRanges objects and BEDsets into GRangesLists.
URL: https://github.com/waldronlab/bedbaser
BugReports: https://github.com/jwokaty/bedbaser/issues
biocViews: Software, DataImport, ThirdPartyClient
License: Artistic License 2.0
Imports:
AnVIL,
BiocFileCache,
dplyr,
GenomicRanges,
httr,
methods,
purrr,
rtracklayer,
rlang,
R.utils,
stats,
stringr,
tibble,
tidyr,
tools,
utils
Suggests:
BiocStyle,
knitr,
liftOver,
testthat (>= 3.0.0)
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.2
VignetteBuilder: knitr
Config/testthat/edition: 3
Your package has been added to git.bioconductor.org to continue the pre-review process. A build report will be posted shortly. Please fix any ERROR and WARNING in the build report before a reviewer is assigned or provide a justification on why you feel the ERROR or WARNING should be granted an exception.
IMPORTANT: Please read this documentation for setting up remotes to push to git.bioconductor.org. All changes should be pushed to git.bioconductor.org moving forward. It is required to push a version bump to git.bioconductor.org to trigger a new build report.
Bioconductor utilized your github ssh-keys for git.bioconductor.org access. To manage keys and future access you may want to active your Bioconductor Git Credentials Account
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): bedbaser_0.99.0.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
A reviewer has been assigned to your package for an indepth review. Please respond accordingly to any further comments from the reviewer.
Hi @jwokaty,
-
I don't recommend using
dependencies=TRUEwhen installing packages. Sticking to the default is usually preferred and is the norm. The problem withdependencies=TRUEis that it will not only include suggested packages, which would be ok if it was just doing that, but it will also include the suggested packages of the suggested packages, and so on, in a recursive manner. To be more precise, it will build the tree of dependencies by including suggested packages at all levels of the tree. This typically ends up with a tree that is much bigger than when sticking to the default. In other words, it will usually trigger download and installation of many unnecessary packages, with many of them having nothing to do with your package.By default (i.e. when
dependenciesis not set or is set toNA), only the deps that are strictly required get downloaded and installed, which is what a standard installation should do. -
This unit test fails for me (
test-bedbaser.R, line 93):library(testthat) library(bedbaser) api <- BEDbase() id <- "b7cb28278e4cba2dc62e51ddc70cfbfb" md <- bb_metadata(api, id, TRUE) expect_equal("bed3+0", md$bed_type) # Warning message: # In readLines(file, warn = readLines.warn) : # incomplete final line found on '/tmp/Rtmp2hRWMP/filecbc929261744' # Error: "bed3+0" (`actual`) not equal to md$bed_type (`expected`). # # `actual`: "bed3+0" # `expected`: "bed6+4"See my
sessionInfo()below. -
Also, is there anything that can be done about the above warning? Maybe it's not harmful but it suggests that something went wrong so will confuse the end user. Note that the warning also shows up in the rendered vignette.
-
For people like me who are unfamiliar with the AnVIL package and its
operations()accessor for Service objects, the long output ofoperations(api)in the vignette is quite cryptic. What is this all about? The man page foroperationsin the AnVIL package didn't help me either. Providing a little bit of context/explanations in your vignette would help a long way. -
Using
quietly=TRUEdoes not make the progress bar disappear:> aa <- bb_to_granges(api, ex_bed$id, quietly=TRUE) |======================================================================| 100%Maybe it should?
-
Also calling
bb_to_granges()a second time on the sameiddisplays the progress bar again. This suggests that the BED file is being downloaded again. Is it? Or does it get retrieved from the cache the second time? If the latter, then maybe the progress bar is not needed.
Thanks, H.
sessionInfo():
R version 4.4.0 (2024-04-24)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 23.10
Matrix products: default
BLAS: /home/hpages/R/R-4.4.0/lib/libRblas.so
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.11.0
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
time zone: America/Los_Angeles
tzcode source: system (glibc)
attached base packages:
[1] stats4 stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] BSgenome.Hsapiens.UCSC.hg19_1.4.3 BSgenome.Hsapiens.UCSC.hg38_1.4.5
[3] BSgenome_1.73.1 rtracklayer_1.65.0
[5] BiocIO_1.15.2 Biostrings_2.73.2
[7] XVector_0.45.0 GenomicRanges_1.57.1
[9] GenomeInfoDb_1.41.1 IRanges_2.39.2
[11] S4Vectors_0.43.2 BiocGenerics_0.51.2
[13] bedbaser_0.99.0 testthat_3.2.1.1
loaded via a namespace (and not attached):
[1] DBI_1.2.3 bitops_1.0-8
[3] httr2_1.0.5 formatR_1.14
[5] AnVILBase_0.99.27 rematch2_2.1.2
[7] rlang_1.1.4 magrittr_2.0.3
[9] matrixStats_1.4.1 compiler_4.4.0
[11] RSQLite_2.3.7 vctrs_0.6.5
[13] stringr_1.5.1 pkgconfig_2.0.3
[15] crayon_1.5.3 fastmap_1.2.0
[17] dbplyr_2.5.0 utf8_1.2.4
[19] Rsamtools_2.21.2 promises_1.3.0
[21] UCSC.utils_1.1.0 purrr_1.0.2
[23] bit_4.5.0 waldo_0.5.3
[25] zlibbioc_1.51.1 cachem_1.1.0
[27] jsonlite_1.8.9 blob_1.2.4
[29] later_1.3.2 DelayedArray_0.31.12
[31] BiocParallel_1.39.0 parallel_4.4.0
[33] R6_2.5.1 stringi_1.8.4
[35] brio_1.1.5 Rcpp_1.0.13
[37] SummarizedExperiment_1.35.2 R.utils_2.12.3
[39] BiocBaseUtils_1.7.3 httpuv_1.6.15
[41] Matrix_1.7-0 tidyselect_1.2.1
[43] rstudioapi_0.16.0 abind_1.4-8
[45] yaml_2.3.10 codetools_0.2-20
[47] miniUI_0.1.1.1 curl_5.2.3
[49] lattice_0.22-6 tibble_3.2.1
[51] shiny_1.9.1 Biobase_2.65.1
[53] withr_3.0.1 desc_1.4.3
[55] lambda.r_1.2.4 futile.logger_1.4.3
[57] BiocFileCache_2.13.0 pillar_1.9.0
[59] BiocManager_1.30.25 filelock_1.0.3
[61] MatrixGenerics_1.17.0 DT_0.33
[63] generics_0.1.3 AnVIL_1.17.15
[65] RCurl_1.98-1.16 xtable_1.8-4
[67] glue_1.8.0 tools_4.4.0
[69] diffobj_0.3.5 GenomicAlignments_1.41.0
[71] rapiclient_0.1.8 XML_3.99-0.17
[73] grid_4.4.0 tidyr_1.3.1
[75] GenomeInfoDbData_1.2.13 restfulr_0.0.15
[77] cli_3.6.3 rappdirs_0.3.3
[79] futile.options_1.0.1 fansi_1.0.6
[81] S4Arrays_1.5.10 dplyr_1.1.4
[83] R.methodsS3_1.8.2 digest_0.6.37
[85] SparseArray_1.5.41 rjson_0.2.23
[87] htmlwidgets_1.6.4 memoise_2.0.1
[89] htmltools_0.5.8.1 R.oo_1.26.0
[91] lifecycle_1.0.4 httr_1.4.7
[93] mime_0.12 bit64_4.5.2
Received a valid push on git.bioconductor.org; starting a build for commit id: 76f4919a9c0b40d56ccab36c83916374555c952a
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.1.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
@hpages Thanks for the thoughtful review. I tried to address all points in the code.
- I removed
dependences = TRUE. - The bedbase team reuploaded files and that particular file changed from one bed type to another, which is why it failed. I reached out to them about it and selected another bed file that should pass the test.
- I have filed a ticket with the bedbase team to ask if they could add an extra line to api file to prevent the warning from happening. I have also suppressed the warning in bedbaser.
- I moved and rewrote the section about the AnVIL Service class and used
showrather thanoperations, which I hope will make the intention clearer about how it can be used. - I could not find a way to silence the progress bar, which is coming from BiocFileCache, but I also think bedbaser shouldn't silently download things.
- Yes, it was downloading twice. I thought the example I mostly copied from BiocFileCache would check if the resource should be updated then download, but it was always downloading because the last modified date and etags never seem to get set. I removed the part that would download again.
Received a valid push on git.bioconductor.org; starting a build for commit id: 60a64166a13ae9d1f5f9bc2a64f1fd5d39ca634f
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.2.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 5b633084e803a5104f5606aa91d416ebd1e625b4
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.3.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 58f6b285f975bf6fa0fb935fe1d0b7d0603e1045
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.8.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Thanks Jen for the changes.
I could not find a way to silence the progress bar, which is coming from BiocFileCache,
I see that BiocFileCache::bfcadd() uses GET(url, progress(con=stderr())) under the hood to download the file: https://github.com/Bioconductor/BiocFileCache/blob/7c5d63e9728b4bf159c988dc627bd16a0c2b6f71/R/httr.R#L64-L65
Unfortunately, there doesn't seem to be an easy way to silence this, indeed. Bummer!
but I also think bedbaser shouldn't silently download things.
Well, that's what bb_save() does, doesn't it?
bb_save(api, ex$id, tempdir()) # silent download
Unless quietly is set to FALSE:
bb_save(api, ex$id, tempdir(), quietly=FALSE)
# trying URL 'https://data2.bedbase.org/files/0/4/04c46b96264ef40bca93f03b10345da5.bed.gz'
# Content type 'binary/octet-stream' length 67639 bytes (66 KB)
# ==================================================
# downloaded 66 KB
A few more things:
- I'm surprised by the fact that
bb_list_beds()lists extactly 1000 files! Is this really the number of BED files available on BEDbase or is the full list truncated somehow? Also querying the BEDbase REST API directly with httr reports different numbers of BED files and BEDsets currently available:library(httr) res <- GET("https://api.bedbase.org/v1/stats") content(res, "text", encoding="UTF-8") # [1] "{\"bedfiles_number\":8917,\"bedsets_number\":171,\"genomes_number\":19}"
There are 2 BiocCheck warnings on the latest SPB report that are worth your attention (items 8 and 9 below). Unfortunately, for some reason the SPB didn't catch them.
-
First BiocCheck warning:
✔ Checking coding practice... [4ms] ! WARNING: Avoid class membership checks with class() / is() and == / !=; Use is(x, 'class') for S4 classes Found in files: • utils.R (line 53, column 30)The fix is simple: use
is(cache_or_path, "BiocFileCache")instead ofclass(cache_or_path) == "BiocFileCache". The first one is preferred because it will also returnTRUEon an object that belongs to a subclass of BiocFileCache. Even if the BiocFileCache class has no children at the moment (AFAIK), someone could define such a subclass, say MyBiocFileCacheExtension. For example:setClass("MyBiocFileCacheExtension", contains="BiocFileCache") ## Constructor: MyBiocFileCacheExtension <- function(...) new("MyBiocFileCacheExtension", BiocFileCache(...)) bfc_ext <- MyBiocFileCacheExtension() bfc_ext # class: MyBiocFileCacheExtension # bfccache: /home/hpages/.cache/R/BiocFileCache # bfccount: 60 # For more information see: bfcinfo() or bfcquery() class(bfc_ext) # [1] "MyBiocFileCacheExtension" # attr(,"package") # [1] ".GlobalEnv"If you use
if (class(cache_or_path) == "BiocFileCache"), your code will fail to detect thatcache_or_pathis actually a BiocFileCache object (or derivative), and so it will branch to theelsepart of theifstatement where bad things will happen. But if you useis(bfc_ext, "BiocFileCache"), everything will be fine:is(bfc_ext, "BiocFileCache") # [1] TRUE -
Second BiocCheck warning:
✔ Checking man page documentation... [3ms] ! WARNING: Empty or missing \value sections found in man page(s). Found in files: • man/bb_save.RdAll functions in R return something even if they don't seem to. When a function doesn't seem to return anything that's because it returns something invisible, like an invisible
NULL. This is actually the case for yourbb_save()function. Like many other "save" functions in R/Bioconductor, it returns an invisibleNULL:api <- BEDbase() ex <- bb_example(api, "bed") res <- bb_save(api, ex$id, tempdir()) res # NULLIn this case, the
Valuesection in the man page just needs to say something like "An invisible NULL." See for example the man pages forsaveRDS()in packages base and BiocGenerics. -
How about wrapping occurences of
bedbaserin`r Biocpkg(...)`like you did for other package names in the vignette? This will generate links that are temporarily invalid but they will become valid once the package has a landing page.
Thanks, H.
@lshep @LiNk-NY Looks like BiocCheck warnings are not seen by the SPB (see latest report for bedbaser above).
Received a valid push on git.bioconductor.org; starting a build for commit id: 29683e6896beecd353721107258d0fdf38c1e0a6
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
On one or more platforms, the build results were: "WARNINGS". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.9.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
@jwokaty Let me know when it's time for me to take another look. Thanks!
Received a valid push on git.bioconductor.org; starting a build for commit id: 371c3881cea86293a7e2384493acbeedbf9eb552
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
On one or more platforms, the build results were: "WARNINGS". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.11.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 8ed4b2ed38c54bb265c03119e86a5bc1581506ee
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
On one or more platforms, the build results were: "WARNINGS". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.12.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 59fe2e1b9e0e63a8fbd6a3cc9ad46f4ffee879c5
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.15.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 6ab027bb671884016a79ddc3b14832bb33762705
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.16.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Received a valid push on git.bioconductor.org; starting a build for commit id: 115745a5541b7fb904fc4ccdfd5d1532f307f8c4
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 24.04.1 LTS): bedbaser_0.99.17.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/bedbaser to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
@jwokaty Is it time for me to take another look?
Received a valid push on git.bioconductor.org; starting a build for commit id: 2bf6e04ec9c252b66ed0e3ad53c3cb7b491ca0d2