-
-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Submission: DataSpaceR #261
Comments
Thanks for your submission @juyeongkim We'll get back to you very soon |
Editor checks:
Editor commentsThanks for your submission @juyeongkim and sorry for being a little slow on the pick-up. What a neat package design! Unfortunately I'm getting a few errors while testing. In R CMD Check, I get:
And running
I note that in the neither in web GUI nor in Everything else checks out fairly well, though, so I'm happy to start seeking reviewers while you patch this. |
Thanks @noamross! I will fix these tests today. |
Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Functionality
Final approval (post-review)
Estimated hours spent reviewing: 4 Review CommentsPackage summary: DataSpaceR makes data from the CAVD DataSpace available in R. It connects to the database, provides a stuctured data framework (studies, assay types), and manages caching and data transfer. It also allows the user to supply filters to the database, so only the needed data is transferred. Review summary: Overall, the package is easy to use and the vignette is comprehensive. I was especially pleased and impressed about how easy it is to connect to the database and deal with authentication. Getting data out just works. My most major suggestion for change is to consider abstracting the R6 objects away from the user and providing a tidyverse-like interface. I also have a number of minor documentation-related comments. Major suggestion: replace R6 interface with tidyverse-like interfaceThe R6 objects used here are not difficult to use after reading the vignette, though to me as a base R and tidyverse user, they are unfamiliar. I suggest changing the interface for the following reasons:
I suggest replacing it with a set of functions that take the object as the first argument. For example:
so This is just a suggestion, as it would make it easier for me to use. But I am not all R users! And it's up to you how you want the interface to be. Minor suggestions
Configuration and connectingI was very impressed and pleased at how easy it was to connect to the database. The package is well designed for making this easy and the vignette is well-written. A couple of suggestions:
Vignette comments
Code suggestions
R CMD checkR CMD check fails for me because the vignette doesn't build because group 216 isn't available to me. Changing it to another group (220) allows the check to succeed. I had a problem where I couldn't run the check without have a netrc file set up. Does it succeed on winbuilder? I wonder how to provide that access for CRAN to build the vignette? Once I resolved those issues, I got the following note (on Ubuntu 16.04, with R 3.4.4):
My understanding is that CRAN won't accept packages using the triple-colon operator, but I may be mistaken. Packaging guideThe packaging guide suggests all lowercase for the package name. It also suggests snake_case. Further, it advises againist package startup messages. Is yours absolutely necessary? |
Thanks for your thorough review, @seaaan! @juyeongkim, I suggest waiting for @czibman's review so you can address comments together. |
DataSpaceR reviewPackage ReviewPlease check off boxes as applicable, and elaborate in comments below.
DocumentationThe package includes all the following forms of documentation:
For packages co-submitting to JOSSN/A Functionality
Final approval (post-review)
Estimated hours spent reviewing: 8 — Review CommentsSummaryThank you so much for making these data more accessible to researchers READMEPer ROpenSci’s requirement that the Statement of Need specify the user Please also consider more explicitly describing contribution guidelines InstallationI had to use “force = TRUE” to get the package to devtools::install_github("CAVDDataSpace/DataSpaceR")
Creation of CAVD accountThe package creator instructs the user for a CAVD account at VignetteNote that, when loading the package, a statement appears reminding the library(DataSpaceR)
The Vignette has the reader look at the list of available groups and knitr::kable(con$availableGroups)
I was able to follow the rest of the vignette without trouble. As a very if (!("pryr" %in% installed.packages())) install.packages("pryr") Documentation and testingThe package includes 3 functions: writeNetrc, checkNetrc, and connectDS.
The “DataSpaceR-package” help file does not appear to be loading All three function help files include examples. The information in the There are four files containing tests:
Additional comments:It’s not clear to me what the purpose of a group is. I would have When you connect, you are provided with information regarding the number |
just submitted my comments :)
…On Sun, Nov 25, 2018 at 10:53 PM Noam Ross ***@***.***> wrote:
Thanks for your thorough review, @seaaan <https://github.com/seaaan>!
@juyeongkim <https://github.com/juyeongkim>, I suggest waiting for
@czibman <https://github.com/czibman>'s review so you can address
comments together.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#261 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AIoCrIO6p13PXtNls9B0KzJepRogBgoNks5uy2XCgaJpZM4XiloL>
.
|
Thanks for your review, @czibman! |
Response to @seaaan's reviewMajor suggestion: replace R6 interface with tidyverse-like interfaceThis is a good suggestion, but I'd like to engage with the users and gather feedback from them before implementing a big change to the package. Minor suggestions
I renamed it to
It's necessary for the users to run
It's a good suggestion, but this is inherit to R6, and I think there is no way to hide them (
Yes, that's a good idea!
It's inherent to DataSpace.
Good catch! I removed the question mark.
Thanks for the PR!
The "Format" description is inherit to how Configuration and connecting
That's a good point. I changed the message to be more helpful.
I added a check with a helpful message if mising a netrc file. Vignette comments
Thanks!
Good idea. I added a code block with
I changed the title from "Cross-study connection" to "Creating a connection to all studies".
A group is a curated collection of participants from filtering of treatments, products, studies, or species, and it is created in the DataSpace App. Let's say you are using the App to filter and visualize data and want to save them for later or explore in R with
I wrote this section earlier in the development process, and I was really excited to include this section because I thought it was cool, but now that I think about it, the users don't really need to know about this especially in an introductory vignette. I removed this section.
That's a great idea. I added quick reference tables for connection and study classes. Code suggestions
Wow, that was some busy code. I actually deprecated R CMD check
Good catch! The group 216 was just for me and wasn't shared with others. I changed it to the group 220.
That's a good point. I disabled running tests and building vignettes in CRAN by following this suggestion.
Unexported object imported by a ':::' call: ‘Rlabkey:::labkey.getRequestOptions’
I wasn't aware of that. It seems like I have three options according to this stackoverflow post: ask author to export the functions, copy the function source code, or use Packaging guide
I wasn't aware of the package name suggestion when I started working on the package. Camel case is my lab's convention. We already have people using DataSpaceR, and I think it will be confusing to the users if I change the package name now. Plus, we have stickers now. It's official. :) As for package startup messages, we need to let the users know about the terms of use and check if netrc is present. |
Response to @czibman's reviewREADME
I added more info to README file.
I added rOpenSci .github files. Installation
That's because you have the latest version of Creation of CAVD account
That's a good catch. I notified the developer to fix that. Thanks! Vignette
I removed the question mark.
The group 216 was just for me and wasn't shared with others. I changed it to the group 220.
Documentation and testing
I added more info and Additional comments:
A group is a curated collection of participants from filtering of treatments, products, studies, or species, and it is created in the DataSpace App. Let's say you are using the App to filter and visualize data and want to save them for later or explore in R with
You are right this information is obvisus to the users, and it doesn't need to be included in the print statement. |
Nice changes! Sorry it took me a bit to get a chance to review them. The updated package builds fine and passes R CMD CHECK. I have a few minor comments--and I do encourage you to consult with users about changing the interface as discussed above--but other than those, I don't have anything else and I approve the package. Nice job! Vignette: how to get helpI suggest adding a short section in the vignette (and possibly README) explaining how to access documentation, since the help for R6 classes works a bit differently than for most of R. Reference tablesFor the reference tables of the vignette, add a little explanatory text explaining what the reference tables are meant to be used for. Also, I suggest dropping a number of little-used methods from the tables. This will make the tables more useful for finding the most commonly used functions. Specifically, for I don't think you need the "type" column in these tables. |
Apologies for taking so long to look at this. I don't have any further comments. Thanks @juyeongkim again for making this package, and happy new year to you all as well! |
Thank you @czibman! |
Ping @noamross |
@juyeongkim Sorry I let this slip off the radar! Approved! Thanks for submitting and thanks @czibman and @seaaan for your reviews! To-dos:
Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them Welcome aboard! We'd also love a blog post about your package, either a short-form intro to it (https://ropensci.org/tech-notes/) or long-form post with more narrative about its development. (https://ropensci.org/blog/). If you are interested, @stefaniebutland will be in touch about content and timing. We've put together a gitbook with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding. Please tell us what could be improved, the corresponding repo is here. |
@noamross Awesome! 🍾 I've checked off everything in the to-do list: I'd like to acknowledge my reviewers in my package DESCRIPTION and/or README. Would you like to be acknowledged, @seaaan and @czibman? I would love to write a blog post about my package. (I still need to write blog posts on RSelenium...) Thank you @noamross, @seaaan, and @czibman for the review and feedback. It's been undoubtedly productive. 💯 |
Sure!
…On Wed, Jan 30, 2019 at 9:30 PM J. Kim ***@***.***> wrote:
@noamross <https://github.com/noamross> Awesome! 🍾
I've checked off everything in the to-do list:
[x] Transfer the repo to rOpenSci
[x] Add the rOpenSci header to README
[x] Fix links
[x] Add codemeta.json
I'd like to acknowledge my reviewers in my package DESCRIPTION and/or
README. Would you like to be acknowledged, @seaaan
<https://github.com/seaaan> and @czibman <https://github.com/czibman>?
I would love to write a blog post about my package. (I still need to write
blog posts on RSelenium...)
Thank you @noamross <https://github.com/noamross>, @seaaan
<https://github.com/seaaan>, and @czibman <https://github.com/czibman>
for the review and feedback. It's been undoubtedly productive. 💯
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#261 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AKDNdcPEdDO262inRgDXbgw2k2fnYzQkks5vIn-RgaJpZM4XiloL>
.
|
woohoo!
Give me an idea of when you would like to submit a draft via pull request. Don't worry about the RSelenium posts - would love to have one but there's no obligation and you could do one any time it works for you. Happy to answer any questions @juyeongkim. |
@juyeongkim following up. I know it's 💯hard to do all the work AND write a post. We would really love to help get more eyes on your work but I don't want to bug you. Let me know if you want me to pester you about scheduling a post of your choice. |
Summary
What does this package do? (explain in 50 words or less):
DataSpaceR is an R interface to the CAVD DataSpace, a data sharing and discovery tool that facilitates exploration of HIV immunological data from pre-clinical and clinical HIV vaccine studies.
Paste the full DESCRIPTION file inside a code block below:
URL for the package (the development repository, not a stylized html page):
https://github.com/CAVDDataSpace/DataSpaceR
Please indicate which category or categories from our package fit policies this package falls under *and why(? (e.g., data retrieval, reproducibility. If you are unsure, we suggest you make a pre-submission inquiry.):
[e.g., "data extraction, because the package parses a scientific data file format"]
The package fits into the data retrieval category as it provides API access to the database.
The target audience are immunologists, bioinformaticians, or statisticians in HIV vaccine research, and the scientific applications are meta analyses of exploring relationships across assays, studies, and time.
yours differ or meet our criteria for best-in-category?
None that I am aware of.
#260
Requirements
Confirm each of the following by checking the box. This package:
Publication options
paper.md
matching JOSS's requirements with a high-level description in the package root or ininst/
.Detail
Does
R CMD check
(ordevtools::check()
) succeed? Paste and describe any errors or warnings:Does the package conform to rOpenSci packaging guidelines? Please describe any exceptions:
goodpractice
:If this is a resubmission following rejection, please explain the change in circumstances:
If possible, please provide recommendations of reviewers - those with experience with similar packages and/or likely users of your package - and their GitHub user names:
@seaaan
The text was updated successfully, but these errors were encountered: