-
-
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
plateR: tools for microtiter plate-shaped data #60
Comments
Editor checks:
Editor comments@seaaan Thanks for your submission! One big thing has not bee done
Please add examples for all exported functions, we'll continue review once that is done. |
I don't mind doing a review, but I'd be able to review the code from a technical point of view much better than practical. I have extremely limited experience with plates, I've only ever dealt with one kind (ddpcr by bio-rad) so I don't really know the ways this package could be applied. I can definitely assume that this package provides a useful utility for many people, but I myself don't know enough about plate files in the wild to judge that. For example, I looked at the sample input and it seems weird to me - is that a format that is commonly seen, or is that what users are expected to manually transform their data into? So sure, I'll review if you think it's ok for me to do so without the domain specific knowledge :) |
Thanks to both of you for your quick responses. @daattali: Thanks for your willingness to review, I just thought of you because of the (great!) ddPCR package. I'll leave it up to Scott/rOpenSci. To answer your question: yes, the rectangular, plate-shaped format is a super common format produced by plate readers and other instruments (though not the ddPCR droplet reader). Here's some in the wild. The user shouldn't transform their data into that format! In fact Examples@sckott: I have added examples for all of the exported functions. Previously I had just kept them in the vignettes, since I guess that's what I personally always use when learning a new package, but adding built-in examples is definitely a good idea! |
Adding examples to the functions is a good idea even if they're replicated In regards to my question, I was wondering specifically if the format of
|
Ah, misinterpreted your question. No, the several tables inside a single csv is not common, but it turned out to be convenient (at least for me!). |
@sckott Suggest you ask around the lab groups of Wolfgang Huber or Raphael Gottardo. High-throughput phenotypic analysis and flow cytometry involve lots of data collected in micro titre plates. Raphael G on GitHub: @raphg Wolfgang H ... I know he's on GitHub because we co-commit to a private repo and yet I can't reach his profile! Something not quite right w/ his setup perhaps? But he's easy to find online. Let me know if you'd like me to make a connection via email. |
thanks @jennybc ! |
@raphg - Would you or anyone in your lab group be interested in reviewing this package? |
I see there's a |
sorry, edited comment above #60 (comment) |
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:
Paper (for packages co-submitting to JOSS)The package contains a
Functionality
Final approval (post-review)
Estimated hours spent reviewing: 7 Review CommentsWhen I first saw the package I didn't know what it could be used for because I'm not too familiar with plate files and only have experience with a single kind, but after taking a deeper look I can 100% support this package, it can definitely be very useful for scientists dealing with plates with multiple variables. Overall this package was written, documented, and tested very well and in a very maintainable fashion. README
Documentation
Functionality
Source code
Tests
Misc
I hope my comments make sense and are helpful. These are all of course guidelines and open to discussion, I just brain-dumped as I went through the code |
Wow, that's great, thanks so much for such a thorough review. I really appreciate it. You thought of a lot of issues I hadn't considered and made many good suggestions. It will definitely improve the package to implement your changes! I will wait until the other review is complete to start on the changes so that the repo is an a stable state for review, but I did want to respond here to thank you for all the very clear effort you put in! |
Due date: 2016-08-23 - hey there, it's been 21 days, please get your review in soon, thanks 😺 (ropensci-bot) |
The bot is a bit strict there - @jooolia still has 8 days until the deadline |
@daattali that's just a reminder |
ah ok, the "it's been 21 days" made it look like she's 21 days late. I like the bot though, made it much less awkward than me having to nudge my reviewer :) |
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: 5 hoursReview CommentsOverallThis package is very well documented and coded. For the package's purpose, I found that the tests were very extensive and covered many different cases. I had no installation problems under Windows and Linux. Any weird data that I could think to send through the package was met with an informative and useful error message. The package build, checks, and tests all passed on my machine. The functions, variables, and arguments are well-named and easy to understand. The vignette gives a nice overview of what the package does, and the help documentation and examples are well-written. I did not come across anything that I thought could be improved with how the package was constructed. I also thought the flexibility of plate size (# of wells) and the flexibility of the kinds of data (wells can contain numeric or character data) was very well thought-out. The only thing I would add would be documentation for plateR as a package (so that you can use help("plateR") and get the overall help menu). Data formatsThe following is solely to do with the audience and applicability and is just based on my experience. I do not want to seem overly negative, but the only downside I see for this package is that I'm not sure how many scientists will have data that look like your example data. The example data are very clear and you have made it very clear how to recreate the files. I realize that often the software used to get the data off of different machines in proprietary so it is neither practical nor possible to have an R package that would deal with all these different formats (nor is that the goal of the package!). I thought I would be able to test out this package using qPCR data that I had, but the format of my data was that either each well was a row and Cq, Dilution, SQ, etc were different columns (so already tidy) or each well is a column and each row is a cycle. Therefore to work with the second kind of data in plateR I would have to read in the excel file and then manipulate the data before using plateR (thus would likely end up with tidy data through another route). I did have some spectrophotometric data I received and sequencing plate layouts I submitted in a tidy format that I could have transformed back into a plate format using plateR, but for this to be really useful I think some sort of visualization of the values would be helpful (e.g. looking at the "microtiter" section of Bioconductor.org see packages that do this like splots or more specific qPCR viz in HTqPCR). I am not suggesting you need to do any of this, just providing comments based on my experience. Replicates?Another thing that is often useful and important when analysing data from microtiter plates is being able to easily group together biological and/or technical replicates. Since plateR already makes use of dplyr I could imagine that either a function or a demonstration using SummaryIn summary, this package really excels in its stated purpose of reading in data that are in the specific format of looking like a microtiter plate, its testing, and its documentation. Just to be clear, I do not require any changes for the package to be approved. Thanks for the chance to review! Session infosessionInfo()
|
Thanks, it's very valuable feedback to know that you wished Here are some sample calls (they'll work assuming your working directory is the package root): |
That's really nice, and great error reporting 👍 |
Hi @jooolia here are my responses to your review: First of all, thank you for your insightful review and suggestions. You raised a lot of good issues and made some helpful suggestions. I really appreciate your time and effort.
ConclusionI want to put up these responses for you today to get some feedback and also because it's been such a long time since you did the review that I feel guilty! But my responses do leave some loose ends. I really like your suggestions about the visualizations and the replicates. I'd like to spend a while experimenting and figuring out what works. Rather than leave this as an open-ended process, I'm kind of inclined to go forward with the package in current form and put your new ideas into the development version for inclusion in the future, but I'm very open to what you (or anyone else) thinks on the matter. With the rest of the package, I actually experimented for a year or so before nailing down what was most useful for my process, and I like the idea of doing that with these enhancements rather than pumping them out quickly. What do you think? |
Hi @seaaan ! Thanks for the thoughtful responses. It really makes reviewing packages even more fun. I have emailed the data and commented on your viz issue. All my comments were just to share my thoughts, I did not have any problems with the package in its current state. I think it is a very reasonable idea to release your package in its current form and then decide/work on the enhancement ideas. |
Thanks very much @jooolia and @daattali for the time and effort you put into reviewing I believe that the package is ready to go ahead with onboarding. These are the remaining outstanding issues I can think of:
Thanks again all, this was very valuable to me! |
Giving my official approval, LGTM 👍 |
Me too! 👍 |
thanks for the reviews @daattali and @jooolia 🚀 ✏️ 📋 @seaaan Approved! Here are the remaining steps:
|
Woohoo! I'll do this over the next few days, once it gets approved and put
Thanks! On Wed, Sep 28, 2016 at 1:59 PM, Scott Chamberlain <[email protected]
|
Do changes in the ropenscilabs version. Treat it as you did when it was under your account.
No, just check to see if there's any issues you hadn't yet dealt with from these reviews
Just in the |
Okay, I transferred it over and made all of those changes! Everything seems to work. I'll submit it to CRAN tomorrow morning. Thanks. |
awesome, thanks @seaaan - closing this issue now. let us know if you have any further questions. |
Nice! I don't know much about JOSS. i assume you go to their website to do that now - @noamross ? |
For JOSS:
|
Hi @seaan, just checking in, should we expect this to be submitted to JOSS? |
Thanks for the nudge @noamross -- sorry for the delay, I got sick and then lost track of it. I am planning on submitting to JOSS. I ran into a problem that I hope @sckott can help with -- to get a zenodo DOI, I need to give zenodo access to the repository, but don't control the ropenscilabs organization, so I can't. Is it possible to give it access? The instructions are here: https://help.github.com/articles/approving-third-party-applications-for-your-organization/ and here: https://guides.github.com/activities/citable-code/ If not, no worries, I'll figure something else out. Thanks! |
@seaaan it looks like Zenodo is an approved 3rd party application for that org account. What happens when you try to give Zenodo access? |
Hmm, ropenscilabs/plater just doesn't show up in the list of my repositories. If I fork it, then I can get seaaan/plater to show up, so I could set it up to my fork, but ideally the DOI should point to ropenscilabs. I found an ropenscilabs project that does have a zenodo DOI and it looks like they set it up before transferring the repo from their account to the ropenscilabs account because the DOI points to their account (which github automatically forwards to ropenscilabs). Maybe if you transfer the plater repo back to me, I can set up the Zenodo DOI and then transfer the repo back to ropenscilabs, and github will do the forwarding. Unless you have a better idea @noamross ? Thanks both for the help and sorry for the inconvenience. |
I can also get in touch with zenodo instead and get them to help! |
i changed you to admin on the repo, try again :) |
genius! It worked! Thanks :) :) On Wed, Oct 19, 2016 at 3:03 PM, Scott Chamberlain <[email protected]
|
Summary
It makes it easy to convert between plate-shaped data and tidy data. Plates are used to perform experiments. Scientific instruments often give back data shaped like a plate, which is terrible for analysis. plateR lets you store plate-shaped data (easy to think about) but import tidy data (easy to analyze).
https://github.com/seaaan/plateR
Lab scientists
Not that I know of
Requirements
Confirm each of the following by checking the box. This package:
Publication options
paper.md
with a high-level description.Detail
R CMD check
(ordevtools::check()
) succeed? Paste and describe any errors or warnings:The title is not completely in lower-case. I am open to changing it to all lower-case. My rationale for the capital R was to distinguish it from the word plater.
NA
Possibly @daattali
The text was updated successfully, but these errors were encountered: