ropensci / software-review

rOpenSci Software Peer Review.
291 stars 104 forks source link

NicheBarcoding: Species Identification using DNA Barcodes Integrated with Environmental Niche Models. #483

Closed Yangcq-Ivy closed 2 years ago

Yangcq-Ivy commented 2 years ago

Reviewers: Submitting Author Name: Cai-qing Yang Submitting Author Github Handle: !--author1-->@Yangcq-Ivy<!--end-author1-- Other Package Authors Github handles: !--author1-->@zhangab2020<!--end-author1-- Repository: https://github.com/Yangcq-Ivy/NicheBarcoding Version submitted: 1.0 Submission type: Standard Editor: TBD Reviewers: TBD

Archive: TBD Version accepted: TBD Language: en

Package: NicheBarcoding
Title: Niche-model-Based Species Identification
Version: 1.0
Authors@R: 
    c(person(given = "Cai-qing",
             family = "YANG",
             role = c("aut", "cre"),
             email = "yangcq_ivy@163.com"),
      person(given = "Xin-hai",
             family = "Li",
             role = "aut",
             email = "lixh@ioz.ac.cn"),
      person(given = "Michael christopher",
             family = "ORR",
             role = "aut",
             email = "michael.christopher.orr@gmail.com"),
      person(given = "Ai-bing",
             family = "ZHANG",
             role = "aut",
             email = "Zhangab2008@cnu.edu.cn"))
Description: Species Identification using DNA Barcodes Integrated with 
             Environmental Niche Models.
License: GPL (>= 3)
Encoding: UTF-8
Language: es
LazyData: true
LazyDataCompression: bzip2
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.2
Imports: ape, dismo, e1071(>= 1.7-7), maps, pROC, randomForest, raster,
        rJava, spider, vegan
Depends: R (>= 2.10)
Author: Cai-qing YANG [aut, cre],
  Xin-hai Li [aut],
  Michael christopher ORR [aut],
  Ai-bing ZHANG [aut]
Maintainer: Cai-qing YANG <yangcq_ivy@163.com>
NeedsCompilation: no
Packaged: 2021-11-05 10:00:06 UTC; zhang

Scope

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

MEE Options - [x] The package is novel and will be of interest to the broad readership of the journal. - [ ] The manuscript describing the package is no longer than 3000 words. - [x] You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see [MEE's Policy on Publishing Code](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/journal-resources/policy-on-publishing-code.html)) - (*Scope: Do consider MEE's [Aims and Scope](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/aims-and-scope/read-full-aims-and-scope.html) for your manuscript. We make no guarantee that your manuscript will be within MEE scope.*) - (*Although not required, we strongly recommend having a full manuscript prepared when you submit here.*) - (*Please do not submit your package separately to Methods in Ecology and Evolution*)

Code of conduct

ropensci-review-bot commented 2 years ago

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

ropensci-review-bot commented 2 years ago

:rocket:

The following problem was found in your submission template:

:wave:

ldecicco-USGS commented 2 years ago

Hi @Yangcq-Ivy ! Thanks for the submission. We need the submission to be a git repository of the package... not a repository with a single binary tarball of the package. For example, notice the structure of one of the most recent packages in rOpenSci is shown here: https://github.com/ropensci/excluder

Let me know when you restructure your repository, and I'll kick off the initial checks again, thanks!

Yangcq-Ivy commented 2 years ago

Dear Laura,

Sorry for the trouble! I have just re-uploaded the package into a git repository. Please check them through the previous link: https://github.com/Yangcq-Ivy/NicheBarcoding Let me know if there is anything else I can do! Thanks a lot!

Yours, Cai-qing Yang

At 2021-11-09 02:54:18, "Laura DeCicco" @.***> wrote:

Hi @Yangcq-Ivy ! Thanks for the submission. We need the submission to be a git repository of the package... not a repository with a single binary tarball of the package. For example, notice the structure of one of the most recent packages in rOpenSci is shown here: https://github.com/ropensci/excluder

Let me know when you restructure your repository, and I'll kick off the initial checks again, thanks!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

ldecicco-USGS commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

The following problem was found in your submission template:

:wave:

ropensci-review-bot commented 2 years ago

Checks for [NicheBarcoding (v1.0)]()

git hash: 9abfa9fa

Important: All failing checks above must be addressed prior to proceeding

Package License: GPL (>= 3)


1. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has: - code in R (100% in 10 files) and - 4 authors - no vignette - 3 internal data files - 10 imported packages - 9 exported functions (median 82 lines of code) - 16 non-exported functions in R (median 53 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:-----------------------|--------:|----------:|:----------| |files_R | 10| 55.4| | |files_vignettes | 0| 0.0|TRUE | |files_tests | 0| 0.0|TRUE | |loc_R | 961| 65.1| | |num_vignettes | 0| 0.0|TRUE | |data_size_total | 25844602| 100.0|TRUE | |data_size_median | 37680| 87.0| | |n_fns_r | 25| 26.1| | |n_fns_r_exported | 9| 38.9| | |n_fns_r_not_exported | 16| 24.5| | |n_fns_per_file_r | 1| 18.0| | |num_params_per_fn | 6| 79.2| | |loc_per_fn_r | 74| 97.6|TRUE | |loc_per_fn_r_exp | 82| 90.3| | |loc_per_fn_r_not_exp | 53| 95.9|TRUE | |rel_whitespace_R | 23| 71.4| | |doclines_per_fn_exp | 54| 67.3| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 20| 39.5| | ---

1a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


2. goodpractice and other checks

Details of goodpractice and other checks (click to open)

--- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following notes: 1. checking installed package size ... NOTE installed size is 24.8Mb sub-directories of 1Mb or more: data 24.7Mb 2. checking dependencies in R code ... NOTE Namespace in Imports field not imported from: ‘rJava’ All declared Imports should be used. R CMD check generated the following check_fails: 1. cyclocomp 2. description_url 3. description_bugreports 4. rcmdcheck_imports_not_imported_from 5. rcmdcheck_reasonable_installed_size #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 0 The following files are not completely covered by tests: file | coverage --- | --- R/extractSpeInfo.R | 0% R/monophyly.prop.R | 0% R/NBSI.R | 0% R/NBSI2.R | 0% R/niche.Model.Build.R | 0% R/niche.PCA.R | 0% R/pseudo.absent.points.R | 0% R/pseudo.present.points.R | 0% R/spe.mantel.test.R | 0% #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- NBSI2 | 52 NBSI | 51 niche.Model.Build | 29 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found no issues with this package!


Package Versions

|package |version | |:--------|:---------| |pkgstats |0.0.2.72 | |pkgcheck |0.0.2.107 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

Yangcq-Ivy commented 2 years ago

Dear reviewer,

We have updated / supplemented the relevant documents according to the check list. Please find them through the link: https://github.com/Yangcq-Ivy/NicheBarcoding Thanks so much for the checks on the package!

Sincerely, Cai-qing Yang

ldecicco-USGS commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

The following problem was found in your submission template:

:wave:

maelle commented 2 years ago

@ldecicco-USGS I've fixed the HTML variable, can you please try again? Thanks for your patience!

ldecicco-USGS commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

The following problem was found in your submission template:

:wave:

ropensci-review-bot commented 2 years ago

Checks for NicheBarcoding (v1.0)

git hash: 8a4ee3fa

Important: All failing checks above must be addressed prior to proceeding

Package License: GPL (>= 3)


1. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has: - code in R (100% in 10 files) and - 4 authors - no vignette - 3 internal data files - 11 imported packages - 9 exported functions (median 82 lines of code) - 16 non-exported functions in R (median 53 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:-----------------------|-------:|----------:|:----------| |files_R | 10| 55.4| | |files_vignettes | 0| 0.0|TRUE | |files_tests | 0| 0.0|TRUE | |loc_R | 961| 65.1| | |num_vignettes | 0| 0.0|TRUE | |data_size_total | 1953363| 98.0|TRUE | |data_size_median | 106848| 91.8| | |n_fns_r | 25| 26.1| | |n_fns_r_exported | 9| 38.9| | |n_fns_r_not_exported | 16| 24.5| | |n_fns_per_file_r | 1| 18.0| | |num_params_per_fn | 6| 79.2| | |loc_per_fn_r | 74| 97.6|TRUE | |loc_per_fn_r_exp | 82| 90.3| | |loc_per_fn_r_not_exp | 53| 95.9|TRUE | |rel_whitespace_R | 23| 71.4| | |doclines_per_fn_exp | 54| 67.3| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 20| 39.5| | ---

1a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


2. goodpractice and other checks

Details of goodpractice and other checks (click to open)

--- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following note: 1. checking dependencies in R code ... NOTE Namespaces in Imports field not imported from: ‘knitr’ ‘rJava’ All declared Imports should be used. R CMD check generated the following check_fails: 1. cyclocomp 2. rcmdcheck_imports_not_imported_from #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 0 The following files are not completely covered by tests: file | coverage --- | --- R/extractSpeInfo.R | 0% R/monophyly.prop.R | 0% R/NBSI.R | 0% R/NBSI2.R | 0% R/niche.Model.Build.R | 0% R/niche.PCA.R | 0% R/pseudo.absent.points.R | 0% R/pseudo.present.points.R | 0% R/spe.mantel.test.R | 0% #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- NBSI2 | 52 NBSI | 51 niche.Model.Build | 29 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found no issues with this package!


Package Versions

|package |version | |:--------|:---------| |pkgstats |0.0.2.72 | |pkgcheck |0.0.2.107 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

ldecicco-USGS commented 2 years ago

Hi @Yangcq-Ivy and @zhangab2020. Before we can make a good choice on if the NicheBarcoding package is a good fit for rOpenSci, you'll need to add some more information in a vignette, as well as adding tests via the testthat package. See: https://devguide.ropensci.org/ci.html for a lot more information, as well as a good overview of testthat here: https://testthat.r-lib.org/

In the meantime, I'll look for editors who might be familiar with DNA barcoding processes.

ldecicco-USGS commented 2 years ago

Another good resource for testing: https://r-pkgs.org/tests.html

Yangcq-Ivy commented 2 years ago

Dear reviewers, We have just re-uploaded our package and added the necessary elements that missing in the previous version. Thanks very much for your careful check! Looking forward to more suggestions for improving the package.

ldecicco-USGS commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

The following problem was found in your submission template:

:wave:

ropensci-review-bot commented 2 years ago

Checks for NicheBarcoding (v1.0)

git hash: d6eb4091

Important: All failing checks above must be addressed prior to proceeding

Package License: GPL (>= 3)


1. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has: - code in R (100% in 10 files) and - 4 authors - 3 vignettes - 3 internal data files - 10 imported packages - 9 exported functions (median 82 lines of code) - 16 non-exported functions in R (median 53 lines of code) --- Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used: - `loc` = "Lines of Code" - `fn` = "function" - `exp`/`not_exp` = exported / not exported The final measure (`fn_call_network_size`) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile. |measure | value| percentile|noteworthy | |:------------------------|-------:|----------:|:----------| |files_R | 10| 55.4| | |files_vignettes | 3| 90.8| | |files_tests | 10| 88.6| | |loc_R | 961| 65.1| | |loc_vignettes | 51| 34.1| | |loc_tests | 1115| 86.1| | |num_vignettes | 3| 93.1| | |data_size_total | 1953363| 98.0|TRUE | |data_size_median | 106848| 91.8| | |n_fns_r | 25| 26.1| | |n_fns_r_exported | 9| 38.9| | |n_fns_r_not_exported | 16| 24.5| | |n_fns_per_file_r | 1| 18.0| | |num_params_per_fn | 6| 79.2| | |loc_per_fn_r | 74| 97.6|TRUE | |loc_per_fn_r_exp | 82| 90.3| | |loc_per_fn_r_not_exp | 53| 95.9|TRUE | |rel_whitespace_R | 23| 71.4| | |rel_whitespace_vignettes | 12| 66.1| | |rel_whitespace_tests | 18| 93.5| | |doclines_per_fn_exp | 54| 67.3| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 20| 39.5| | ---

1a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


2. goodpractice and other checks

Details of goodpractice and other checks (click to open)

--- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following note: 1. checking dependencies in R code ... NOTE Namespace in Imports field not imported from: ‘rJava’ All declared Imports should be used. R CMD check generated the following check_fails: 1. cyclocomp 2. rcmdcheck_imports_not_imported_from #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 17.76 The following files are not completely covered by tests: file | coverage --- | --- R/extractSpeInfo.R | 62.5% R/monophyly.prop.R | 0% R/NBSI.R | 0% R/NBSI2.R | 0% R/niche.Model.Build.R | 50.4% R/niche.PCA.R | 0% R/pseudo.absent.points.R | 0% R/spe.mantel.test.R | 0% #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- NBSI2 | 52 NBSI | 51 niche.Model.Build | 29 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 273 potential issues: message | number of times --- | --- Avoid 1:length(...) expressions, use seq_len. | 28 Avoid 1:ncol(...) expressions, use seq_len. | 8 Avoid 1:nrow(...) expressions, use seq_len. | 16 Avoid library() and require() calls in packages | 3 Avoid trailing semicolons, they are not needed. | 8 Avoid using sapply, consider vapply instead, that's type safe | 8 Lines should not be more than 80 characters. | 120 Use <-, not =, for assignment. | 82


Package Versions

|package |version | |:--------|:---------| |pkgstats |0.0.3.52 | |pkgcheck |0.0.2.185 |


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

Yangcq-Ivy commented 2 years ago

Dear reviewers, We have just re-uploaded our package with improving the test coverage and adding the .yaml file for the continuous integration. Thanks very much for your kindly check! Looking forward to more suggestions for improving the package.

@ldecicco-USGS @ropensci-review-bot

ldecicco-USGS commented 2 years ago

Hi @Yangcq-Ivy , sorry for the delay, this issues slipped through my radar. I'll re-run the checks. I'd still really like to read more in the vignettes before deciding if the package fits the rOpenSci scope (and therefore assigning a reviewer).

ldecicco-USGS commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

The following problem was found in your submission template:

:wave:

ldecicco-USGS commented 2 years ago

@ropensci-review-bot check package

ropensci-review-bot commented 2 years ago

Thanks, about to send the query.

ropensci-review-bot commented 2 years ago

:rocket:

The following problem was found in your submission template:

:wave:

ldecicco-USGS commented 2 years ago

I will check on what is causing the error "HTML variable [author1] is missing.

I can see you have made some significant improvements to your package since submission. The initial submission was difficult for me to judge the "fit" to rOpenSci. I am going to close this issue and classify the package as not currently fitting the rOpenSci . The definitions can be found here: https://devguide.ropensci.org/policies.html#package-categories

Here is the feedback I received when consulting other editors with a broader knowledge of DNA barcoding: The authors have checked off workflow automation, scientific software wrappers and geospatial data as their categories for “Scope”. However I do not see how they fulfil the fit as we have defined in the dev guide.

For workflow automation: “Tools that automate and link together workflows” - The authors of NicheBarcoding are providing tools that run a statistical model to estimate the probability of an identified organism being in the defined region. This doesn’t seem like a workflow automation tool.

For scientific software wrappers: “Packages that wrap non-R utility programs used for scientific research” I don’t see the use of any non-R programs here (but maybe I missed it)

For geospatial data: “We accept packages focused on accessing geospatial data, manipulating geospatial data, and converting between geospatial data formats.” - True they are using data retrieved using {raster} and {terra} but the package’s main focus is not accessing, manipulating or converting geospatial data, but accessing it as needed for use in their model.

If you would like to re-submit, especially if you adjust the package to make it useful to a wider audience, be sure to clarify how you see it fitting within the rOpenSci categories.

Thanks again for the submission!