-
-
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
lightr #267
Comments
thanks for your pre-submission inquiry @Bisaloo We are discussing now and will get back to you soon |
👋 @Bisaloo. I will be your editor for this submission. Stay tuned for next steps. |
Editor checks:
Editor commentsPackage looks to be in excellent shape and your test coverage is fantastic! Goodpractice had very little to say and the only notable suggestion is to drop spelling from your suggests. I'm looking for appropriate reviewers now but if you have any suggestions for independent reviewers, please let me know. 🙏
Reviewers: TBD |
Thank you for your comment! I don't really understand why Also, is it okay if I keep working on |
@karthik, are you having trouble finding reviewers? If so, I don't think it's necessary to find someone with a background in colour science or spectrometry. Anyone with experience with unusual file/data formats would probably be qualified. Some basic regex skills and knowledge of binary data (for |
@Bisaloo I'm still having trouble recruiting appropriate reviewers (many declines). Do you have any independent suggestions that I could approach? |
@karthik, thanks for the update 👍 . Here are some people with a colour science background that code:
Beyond that, as I said, I don't think it is required to have a background in colour science to review |
Here is the profile for a potential reviewer IMO. Maybe you will know someone who fits this description: Someone who is familiar with file manipulation ( I think it helps to think about this package as similar to any other file import package (such as rio). The data type is just accessory here. I'll try to add a vignette to describe the structure / internal organisation of the package at some point, which should greatly help for the review. |
Thanks you @Bisaloo |
@karthik, any news? Is there anything I can do on my end to help? |
@kjuraic 👋Can you please update the thread with your review. Feel free to reach out to me if you've run into any issues. 🙏 |
@Bisaloo Thanks for checking in. Let me get an update from Krunoslav |
Apologies for the unusual delays @Bisaloo. I am reassigning reviewers now. |
Hello @Bisaloo |
@karthik, thanks for the update! That sounds good. |
Hi Hugo, Thanks for submitting your package to rOpenSci! I'm not an expert in spectrometry hence my review focuses on general R packaging practices and some implementation advice. OverallOverall the package is in good shape. The pkgdown site looks nice and provides a good starting point for new users. All functions include an example using test data in various formats which ship with the package. The package passes CMD check with high testing coverage. ImprovementsMy main concern is about validation of the parsing functions. The package implements custom readers for a range of binary and xml based spectrometry formats, but there is little documentation on where to find the specification of these formats (if one exists), and how you check that the output of the parsers is accurate. Writing parsers is increadibly difficult and it is easy to overlook edge cases or odd properties of a format. I don't know how complex these formats are, but from the raw output data it is difficult to judge the correctness. The parsing unit tests verify that the output contains data and metadata, but do not verify the data itself. You could improve the package by trying to show (where possible) that the data from your examples corresponds to what one would expect to see. For example you could extend the examples by plotting or modelling the output data, such that it can be visually inspected. As a dummy user, I would enjoy an intro vignette with a worked example of reading and modelling spectral data, and seeing a pattern appear. This would also help with illustrating how lightr is used in combination with other R packages to perform a complete analysis. You mention that there is some overlap between lightr and other spectrometry R packages. For the formats that are also supported by another package, you could consdider adding a unit test to check if both packages return the same data. If only proprietary reference software is available, perhaps you could show summary or visual statistics that allow potential users to compare the output with the other software. SummaryThe package is in good shape for a first release and I recommend it is onboarded. It can be further improved with validation of the parsers and an vignettes with worked examples showing how lightr synergies with other packages. I think more potential users are willing to give the package a try when you show how lightr fits into a complete analysis, and make it convincing that the results correspond to those of other (proprietary) software. |
Thank you for your review @jeroen! You bring up very valid points but I'm not yet quite sure if/how I can address all of them. I'll need a couple of days to think about it. Here is a first attempt at answering some of your concerns. I will also perform some changes on the packages following your recommendations whenever I get a moment (hopefully next week).
To my knowledge, the only format that has been defined as a standard are
You are correct that I don't compare the output to known results from an outside source but I however implemented regression tests to compare the output with that obtained from previous versions of
The main issue here is that other tools to extract this data, including proprietary tools discard a lot of information, as I mention in the README. The only way we know this data is correct is because we know how the measurements were made (i.e. we know the spectrometer model, the integration time, etc.) and how reflectance spectra should look for such an object. But I don't see a convenient way to demonstrate this to the user. What I can do though is compare the output from:
for the same data (i.e. before and after export by official proprietary software). This is not straightforward because as mentioned previously, data is processed in an undocumented way while exported (metadata is partially discarded, spectral data is sometimes interpolated with an undocumented method, etc.).
This is definitely a great idea and I will try to add this soon! An realistic example with measurements on one object and the results of the visual models (via
Good point. I'll look into this.
This would be addressed in the intro vignette you propose.
I'm wondering what would be the best way to convey this to the (potential) users. I doubt many users will dig into the TODO:
|
Hi @karthik, just wondering what's the status here. I can try to address the remaining concerns from @jeroen in the next couple of weeks, by providing a new vignette which:
Would be that enough or should I wait for another review? |
Hi @Bisaloo, PS: I'll be away from email till August 6. |
Adding to Jeroen's feedback, here is my review. Most comments are minor, and once I see a response, I can move quickly to get this accepted. Review of lightr packageThe lightr package provides the ability to parse spectrometry data from different file formats and from multiple different scientific instruments. The alternatives are all proprietary software. General comments
Which makes sense. At least in the examples, can you point it to some example files that you can include with the package itself?
By adding some sort of standard prefix, e.g. Minor comments
|
Thank you for your comments @karthik 👍! please see my changes below:
Would you do this for all exported functions or just the three main ones which are the most likely to have name conflicts (
Actually, the recommended practice for pkgdown is to have both URL. The
|
Generally for all exported functions unless you have a strong reason not to. |
Ok, thanks! Done in ropensci/lightr@a0ed298. |
Thanks @Bisaloo! I'll do a run through tomorrow before I sign off. |
To run the examples in your README, you'll need a slight change to locate the lr_get_metadata(system.file("testdata/procspec_files" , package = "lightr"),
ext = "ProcSpec") Same for the example below. |
Right, it makes more sense since users have to install the package to run this anyways 👍. It's done! |
Congrats @, your submission has been approved! 🎉 Thank you for submitting and to @jeroen for a thorough and timely review. To-dos:
Welcome aboard! |
@Bisaloo Once you transfer, the documentation will also be auto generated at docs.ropensci.org/lightr You'll need to update that URL in your DESCRIPTION (and the top of your repo) as well after the transfer. |
Thanks @Bisaloo! 🙏 |
1 similar comment
Thanks @Bisaloo! 🙏 |
Should I go ahead and submit this to JOSS once I add a DOI? |
You can add a DOI after the JOSS submission is accepted. So go ahead and submit there. In the meantime, you can compile your own paper here: http://whedon.theoj.org/ and fix any mistakes or issues such as broken references. Also reading over your current paper, you provide no examples of a scientific application. That will be necessary for this software to get accepted to JOSS. |
Okay, thanks for the advice! I'll do this tomorrow then. |
If it helps you can read over some accepted JOSS papers about R packages: https://joss.theoj.org/papers/in/R to get a sense of what level of detail is needed there. I'm also an editor at JOSS and can provide feedback if necessary. |
Docs are now live on https://docs.ropensci.org/lightr/ |
@karthik, I had a look at the most recent R papers and they don't seem too provide many more examples of applications. Do you have something specific in mind that would make a valuable addition? |
I think it would be useful to use a test dataset + lightr to show what can be done as a small example. Here is an example. If you submit as is, that's the first question an editor will as you about. |
Summary
lightr
imports UV-VIS reflectance/transmission/absorbance proprietary file formats in R. It also allows the import of related metadata that are critical to ensure reproducibility but that are often discarded by other tools.https://github.com/Bisaloo/lightr
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.):
Who is the target audience and what are scientific applications of this package?
People working with UV-VIS reflectance/transmittance/absorbance spectra, colour science (#colsci). People developing package to analyse spectral data with vision models (
lightr
has few dependencies). Even non-R users who do not own the proprietary software to convert the proprietary formats tocsv
files.yours differ or meet our criteria for best-in-category?
There is partial overlap with some other packages, as described in the README but to my knowledge, none of them have the same aims as
lightr
.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:
Some function names do not meet rOpenSci criteria (e.g.
getspec()
andgetmetadata()
) but this is kept for backwards compatibility with the packagepavo
, from whichlightr
originated. Synonyms have been added (get_spec()
andget_metadata()
) but it is at the moment unlikely that the old names will be deprecated.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:
As mentioned in the template, some pieces still need polishing, mainly the vignettes but before going for one last push, I'd like to know if you would be interested.
The text was updated successfully, but these errors were encountered: