software-review icon indicating copy to clipboard operation
software-review copied to clipboard

Submission: phruta

Open cromanpa94 opened this issue 4 years ago β€’ 46 comments
trafficstars

Submitting Author Name: Cristian RomΓ‘n-Palacios Submitting Author Github Handle: @cromanpa94 Repository: https://github.com/cromanpa94/phruta Version submitted: 0.1.0 Submission type: Standard Editor: @annakrystalli Reviewers: @raynamharris, @fboehm

Due date for @raynamharris: 2021-12-13

Due date for @fboehm: 2021-12-16 Archive: TBD Version accepted: TBD


  • Paste the full DESCRIPTION file inside a code block below:
Package: phruta
Type: Package
Title: Phylogenetic Reconstruction and Time-dating
Version: 0.1.0
Authors@R: person("Cristian", "Roman Palacios", email = "[email protected]",
                  role = c("aut", "cre"))
Description: The phruta R package is designed to simplify the basic 
            phylogenetic pipeline. Specifically, all code is run within 
            the same program and data from intermediate steps are saved in 
            independent folders. Furthrmore, all code is run within the 
            same environment which increases the reproducibility of your analysis. 
            phruta retrieves gene sequences, combines newly downloaded and local 
            gene sequences, and performs sequence alignments. 
Encoding: UTF-8
LazyData: true
biocViews: DECIPHER,
           Biostrings
Depends: R (>= 3.5.0)
Imports: 
    rgbif,
    pbapply,
    rentrez,
    taxize,
    ape,
    ips,
    geiger,
    methods,
    DECIPHER,
    Biostrings
RoxygenNote: 7.1.1
Suggests: 
    testthat (>= 3.0.0),
    covr,
    knitr,
    markdown,
    rmarkdown,
    spelling,
    utf8
VignetteBuilder: knitr
License: MIT + file LICENSE
Config/testthat/edition: 3
Language: en-US
Roxygen: list(markdown = TRUE)

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • [ ] data retrieval
    • [ ] data extraction
    • [ ] data munging
    • [ ] data deposition
    • [x] workflow automation
    • [ ] version control
    • [ ] citation management and bibliometrics
    • [ ] scientific software wrappers
    • [ ] field and lab reproducibility tools
    • [ ] database software bindings
    • [ ] geospatial data
    • [ ] text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences): phruta simplifies the phylogenetic pipeline in R, increases reproducibility, and helps organizing information used to infer molecular phylogenies. phruta retrieves sequences from genbank, curates the resulting files, perform multiple sequence alignment, and tree inference/dating.

  • Who is the target audience and what are scientific applications of this package? Researchers, students, instructors, and analysts interesting in assembling phylogenies (and even time-calibrated phylogenies) for specific groups across the Tree of Life.

  • Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category? phylotaR retrieves orthologous clusters for particular clades. However, it has limited flexibility in terms of sampling outgroup taxa and (to my knowledge) does not perform any type of processing after retrieving the clusters.

  • (If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?

  • If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • [x] Do you intend for this package to go on CRAN?

  • [ ] Do you intend for this package to go on Bioconductor?

  • [x] Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • [x] The package is novel and will be of interest to the broad readership of the journal.
  • [x] 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)
  • (Scope: Do consider MEE's Aims and Scope 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

  • [x] I agree to abide by rOpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.

cromanpa94 avatar Aug 03 '21 02:08 cromanpa94

@ropensci-review-bot check package

noamross avatar Aug 03 '21 13:08 noamross

Thanks, about to send the query.

ropensci-review-bot avatar Aug 03 '21 13:08 ropensci-review-bot

Checks for phruta (v0.1.0)

git hash: 6356b12b

  • :heavy_check_mark: Package uses 'roxygen2'
  • :heavy_check_mark: Package has a 'contributing.md' file
  • :heavy_multiplication_x: Package does not have a 'CITATION' file
  • :heavy_multiplication_x: Package does not have a 'codemeta.json' file
  • :heavy_check_mark: All functions have examples
  • :heavy_multiplication_x: Package 'DESCRIPTION' does not have a URL field
  • :heavy_multiplication_x: Package 'DESCRIPTION' does not have a BugReports field
  • :heavy_check_mark: Package name is available
  • :heavy_multiplication_x: Continuous integration checks unavailable (no URL in 'DESCRIPTION')
  • :heavy_check_mark: Package coverage is 78.4%
  • :heavy_check_mark: R CMD check found no errors
  • :heavy_check_mark: R CMD check found no warnings

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

Package License: MIT + file LICENSE


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 9 files) and
  • 1 authors
  • 2 vignettes
  • 1 internal data file
  • 10 imported packages
  • 40 exported functions (median 35 lines of code)
  • no non-exported function in R (median 5 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 9 51.3
files_vignettes 3 90.8
files_tests 3 71.1
loc_R 311 29.5
loc_vignettes 115 56.3
loc_tests 172 48.4
num_vignettes 2 87.5
data_size_total 79882 82.2
data_size_median 79882 90.5
n_fns_r 40 40.8
n_fns_r_exported 40 83.0
n_fns_r_not_exported 0 0.0 TRUE
n_fns_per_file_r 3 38.6
num_params_per_fn 4 51.5
loc_per_fn_r 8 28.2
loc_per_fn_r_exp 35 70.3
loc_per_fn_r_not_exp 5 17.3
rel_whitespace_R 16 30.1
rel_whitespace_vignettes 92 87.4
rel_whitespace_tests 31 82.3
doclines_per_fn_exp 40 49.4
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 0 0.0 TRUE

1a. Network visualisation

Interactive network visualisation of calls between objects in package can be viewed by clicking here


2. goodpractice and other checks

Details of goodpractice and other checks (click to open)


3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following check_fails:

  1. description_url
  2. description_bugreports
  3. no_import_package_as_a_whole

Test coverage with covr

Package coverage: 78.42

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found the following 89 potential issues:

message number of times
Avoid changing the working directory, or restore it in on.exit 3
Lines should not be more than 80 characters. 86

Package Versions

package version
pkgstats 0.0.0.269
pkgcheck 0.0.1.373

Editor-in-Chief Instructions:

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

ropensci-review-bot avatar Aug 17 '21 16:08 ropensci-review-bot

@cromanpa94 Please excuse the delayed response. Most of the ROpenSci team were on vacation, and only now able to debug our new package check bot. Current Editor-in-Chief @noamross will respond asap.

mpadge avatar Aug 18 '21 08:08 mpadge

Hi @mpadge! No worries! I actually made some updates to the package earlier this month (currently on my dev branch). I will address these issues by the end of this week.

cromanpa94 avatar Aug 23 '21 21:08 cromanpa94

@cromanpa94 To make editor @annakrystalli's job easier, can you run pkgcheck::pkgcheck() yourself once you've made appropriate changes and confirm the summary at the top (or result of summary() applied to check results) gives all :heavy_check_mark: and no :heavy_multiplication_x:? It should also confirm, "This package may be submitted." Thanks!

mpadge avatar Aug 24 '21 07:08 mpadge

Thanks for the suggestion @mpadge ! And hello @cromanpa94 πŸ‘‹, I'll be your handling editor.

Let me know when you've resolved the issues in the initial checks and we'll take it from there.

P.S. Φρούτα (frouta in english characters) is also fruit in Greek! 😜

annakrystalli avatar Aug 24 '21 15:08 annakrystalli

@mpadge: Passing pkgcheck::pkgcheck() checks!! Thank you!

@annakrystalli: Hi there!! Looking forward to working with you! :) The latest version of the package is now live in the repo! Please let me know if there's anything else I should go over before we move on.

P.S. That's amazing!! I'm planning to add more details about the package's name later on! Φρούτα will certainly be there!

cromanpa94 avatar Aug 26 '21 19:08 cromanpa94

@ropensci-review-bot check package

annakrystalli avatar Sep 01 '21 16:09 annakrystalli

Thanks, about to send the query.

ropensci-review-bot avatar Sep 01 '21 16:09 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Sep 01 '21 16:09 ropensci-review-bot

Editor checks:

  • [x] Documentation: The package has sufficient documentation available online (README, pkgdown docs) to allow for an assessment of functionality and scope without installing the package.
  • [x] Fit: The package meets criteria for fit and overlap
  • [x] Automated tests: Package has a testing suite and is tested via a CI service.
  • [x] License: The package has a CRAN or OSI accepted license
  • [x] Repository: The repository link resolves correctly

Editor comments

Thanks again for your submission @cromanpa94! We might get confirmation from our review-bot at some point too but in the meantime, I've just finished full local editors checks and there's a few overall minor issues to sort out before proceeding. Please see below:


Installation issues

Was getting the following error when attempting to install from GitHub

devtools::install_github("cromanpa94/phruta", dependencies = T, build_vignettes = T)
Error: Failed to install 'phruta' from GitHub:
  System command 'R' failed, exit status: 1, stdout + stderr (last 10 lines):
E> ** inst
E> ** byte-compile and prepare package for lazy loading
E> Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
E>   there is no package called β€˜GenomeInfoDbData’
E> Calls: <Anonymous> ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
E> Execution halted
E> ERROR: lazy loading failed for package β€˜phruta’
E> * removing β€˜/private/var/folders/8p/87cqdx2s34vfvcgh04l6z72w0000gn/T/RtmpaDpus1/Rinst13e512d837390/phruta’
E>       -----------------------------------
E> ERROR: package installation failed

Had to install GenomeInfoDbData manually from source with BiocManager::install("GenomeInfoDbData", type = "source") to successfully install phruta.

Internal functions

I've noticed that you are exporting all functions but suppressing the creation on manual pages by adding @keywords internal (e.g. getListConstraints). This is a little bit unusual. Are you sure you want every function in the package exported? If a function shouldn't really be used by users, it's best not to export it. Here's a useful post by @maelle on this topic to help you decide! :)

Good practice issues

Some overall minor issues raised by goodpractice::gp

── GP phruta ──────────────────────────────────────────────────────────────────────────────

It is good practice to

βœ– avoid long code lines, it is bad for readability. Also, many people prefer editor windows that are about 80 characters wide. Try make your lines shorter than 80 characters

R/sq.aln.R:9:1
R/SW.phruta.R:21:1
R/tree.raxml.R:4:1
R/tree.raxml.R:7:1
R/tree.raxml.R:8:1
... and 10 more lines

βœ– avoid calling setwd(), it changes the global environment. If you need it, consider using on.exit() to restore the working directory.

R/tree.raxml.R:70:5
R/tree.raxml.R:93:9
R/tree.raxml.R:114:9
R/tree.raxml.R:118:5

βœ– avoid 1:length(...), 1:nrow(...), 1:ncol(...), 1:NROW(...) and 1:NCOL(...) expressions. They are error prone and result 1:0 if the expression on the right hand side is zero. Use seq_len() or seq_along() instead.

R/getListConstraints.R:7:28
R/getListConstraints.R:38:15
R/getListConstraints.R:48:19
R/getListConstraints.R:57:19
R/getListConstraints.R:69:15
... and 3 more lines

βœ– not import packages as a whole, as this can cause name clashes between the imported packages. Instead, import only the specific functions you need. βœ– avoid 'T' and 'F', as they are just variables which are set to the logicals 'TRUE' and 'FALSE' by default, but are not reserved words and hence can be overwritten by the user. Hence, one should always use 'TRUE' and 'FALSE' for the logicals.

R/getListConstraints.R:NA:NA
R/getListConstraints.R:NA:NA
R/sq.add.R:NA:NA
R/sq.add.R:NA:NA
R/sq.aln.R:NA:NA
... and 20 more lines

───────────────────────────────────────────────────────────────────────────────────────────

Package coverage

While overall coverage is acceptable, a few R files have very low to no coverage. Is there a reason for this?

> covr::package_coverage(pkg_dir)
R/tree.roguetaxa.R: 0.00%
R/tree.dating.R: 9.38%
R/tree.raxml.R: 12.70%
R/sq.partitionfinderv1.R: 39.39%
R/taxonomy.retrieve.R: 73.44%
R/sq.curate.R: 89.42%
R/sq.add.R: 97.44%
R/sq.retrieve.R: 98.73%
R/getListConstraints.R: 100.00%
R/init.R: 100.00%
R/sq.aln.R: 100.00%
R/tree.constraint.R: 100.00%

.DS_Store files

There are many occasions of .DS_Store files in the package source code. These files are harmless but in the end superfluous and it's best practice not to include them in repositories. Could you please remove them and .DS_Store to your .gitignore files to prevent adding them in future?


Let me know if anything is unclear or you need help with anything!

annakrystalli avatar Sep 01 '21 16:09 annakrystalli

Checks for phruta (v0.1.1)

git hash: 34e19606

  • :heavy_check_mark: Package uses 'roxygen2'
  • :heavy_check_mark: Package has a 'contributing.md' file
  • :heavy_check_mark: Package has a 'CITATION' file
  • :heavy_check_mark: Package has a 'codemeta.json' file
  • :heavy_check_mark: All functions have examples
  • :heavy_check_mark: Package 'DESCRIPTION' has a URL field
  • :heavy_check_mark: Package 'DESCRIPTION' has a BugReports field
  • :heavy_check_mark: Package name is available
  • :heavy_check_mark: Package has continuous integration checks
  • :heavy_check_mark: Package coverage is 75%
  • :heavy_check_mark: R CMD check found no errors
  • :heavy_check_mark: R CMD check found no warnings

Package License: MIT + file LICENSE


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 14 files) and
  • 1 authors
  • 4 vignettes
  • 1 internal data file
  • 11 imported packages
  • 11 exported functions (median 40 lines of code)
  • 14 non-exported functions in R (median 51 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 14 68.3
files_vignettes 6 97.5
files_tests 3 71.1
loc_R 657 53.2
loc_vignettes 201 69.8
loc_tests 219 54.3
num_vignettes 4 96.0 TRUE
data_size_total 79882 82.2
data_size_median 79882 90.5
n_fns_r 25 26.1
n_fns_r_exported 11 45.5
n_fns_r_not_exported 14 21.1
n_fns_per_file_r 1 8.0
num_params_per_fn 4 54.3
loc_per_fn_r 46 93.5
loc_per_fn_r_exp 40 74.5
loc_per_fn_r_not_exp 51 95.6 TRUE
rel_whitespace_R 12 41.6
rel_whitespace_vignettes 90 93.4
rel_whitespace_tests 28 83.7
doclines_per_fn_exp 39 48.1
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 5 12.6

1a. Network visualisation

Interactive network visualisation of calls between objects in package can be viewed by clicking here


2. goodpractice and other checks

Details of goodpractice and other checks (click to open)

3a. Continuous Integration Badges

github github


3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following check_fail:

  1. no_import_package_as_a_whole

Test coverage with covr

Package coverage: 74.96

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
getListConstraints 18

Static code analyses with lintr

lintr found the following 27 potential issues:

message number of times
Avoid 1:length(...) expressions, use seq_len. 7
Avoid 1:nrow(...) expressions, use seq_len. 1
Avoid changing the working directory, or restore it in on.exit 4
Lines should not be more than 80 characters. 15

Package Versions

package version
pkgstats 0.0.0.301
pkgcheck 0.0.1.380

Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

ropensci-review-bot avatar Sep 01 '21 16:09 ropensci-review-bot

Sorry for the delay @annakrystalli! The latest version is in my repo now! Please let me know if you find any other issues before sending it out to review!

Installation issues GenomeInfoDbData should now be installed with phruta. Thank you so much for pointing this out.

Internal functions

Thanks for the advice! I decided not to export the internal functions!

Good practice issues

  • [x] avoid long code lines: Fixed (I hope!)!
  • [x] avoid calling setwd(): I cannot avoid changing the directory for the relevant functions. However, if the analyses run, the function returns to the original directory.
  • [x] avoid 1:length(...), 1:nrow(...), 1:ncol(...), 1:NROW(...) and 1:NCOL(...) expressions: Fixed (I think!)
  • [x] not import packages as a whole: I'm now following this suggestion.
  • [x] avoid 'T' and 'F': Perf!

Package coverage While overall coverage is acceptable, a few R files have very low to no coverage. Is there a reason for this?

Correct. Functions with low/intermediate coverage are wrappers to external software (e.g. raxml). I'm doing my best to have 100% coverage in all of the other functions that manipulate data within R.

.DS_Store files .DS_Store removed!

cromanpa94 avatar Sep 26 '21 05:09 cromanpa94

Hello again @cromanpa94 ,

Good to see most issues resolved. There's a few I can still see though:

  • .DS_Store still in the R directory.
  • Just noticed that .Rhistory and .Rproj.user are being version controlled. These will need removing from git also. As you may want to keep the files locally (just don't want them tracked by git), here's a useful post on how to do that. It's best to add .Rhistory and .Rproj.user/* to your .gitignore afterwards.

notes for reviewers

One note on setwd. I appreciate that in some cases it might be necessary and that restoring it with on.exit() is a good way. But I do wonder whether it is necessary and couldn't instead be handled by having an explicit parent directory argument set to default to "." (equivalent to the current working directory) and better use of the file argument in ips::raxml(). The important thing here is that it is clear to the user where files will be written out and ideally give them the option to override the default.

Another thing to think about is the deletion prior to re-writing of complete folders. You will likely have trouble submitting to CRAN with the current approach because it deletes existing files without asking the user for confirmation. This goes against CRAN policy, in particular:

Packages should not write in the user’s home filespace (including clipboards), nor anywhere else on the file system apart from the R session’s temporary directory (or during installation in the location pointed to by TMPDIR: and such usage should be cleaned up). Installing into the system’s R installation (e.g., scripts to its bin directory) is not allowed. Limited exceptions may be allowed in interactive sessions if the package obtains confirmation from the user.

You might want to use/explore how usethis::write_over() function handles this and include an overwrite argument that y default is set to FALSE but can be set to overwrite folders explicitly by the user.

In any case, I won't hold up the review process for these points and will start looking for reviewers. However, it gives you some time to consider them and I will point these out to the reviewers so we can get their thoughts too and resolve by the end of the process. πŸ‘πŸ˜Š

annakrystalli avatar Sep 28 '21 07:09 annakrystalli

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • Briefly describe any working relationship you have (had) with the package authors.

None. I have never met the author or contributors.

  • [x] As the reviewer I confirm that there are no conflicts of interest for me to review this work (if you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • [x] A statement of need: clearly stating problems the software is designed to solve and its target audience in README
  • [x] Installation instructions: for the development version of package and any non-standard dependencies in README
  • [x] Vignette(s): demonstrating major functionality that runs successfully locally
  • [x] Function Documentation: for all exported functions
  • [x] Examples: (that run successfully locally) for all exported functions
  • [x] Community guidelines: including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

Functionality

  • [ ] Installation: Installation succeeds as documented.

Partially. The R package itself installed just fine. RAxML installed just fine, thanks to an easy conda install option.

I wasn't able to download and successfully install PATHd-8 or treePL, so instead of running tree.dating(), I used ape's read.tree() function and plotted the tree with plot()

  • [ ] Functionality: Any functional claims of the software been confirmed.

With the exception of tree.dating, all the functions I tested worked as expected.

  • [x] Performance: Any performance claims of the software been confirmed.
  • [ ] Automated tests: Unit tests cover essential functions of the package and a reasonable range of inputs and conditions. All tests pass on the local machine.

Did not perform any automated tests.

  • [x] Packaging guidelines: The package conforms to the rOpenSci packaging guidelines.

Estimated hours spent reviewing: 8

  • [x] Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments

The author wrote the phruta R package to simplify the basic phylogenetic pipeline. As promised, this R packages brings the functionality of multiple phylogenetic tools into the same environment where they can be used in a pipeline. The files are clearly organized and have standard formats, which makes it easy to use in combination with other tools outside the fruta package.

sq.retrieve is my favorite function from this package. I wish I had this 10 years ago when I was searching for sequences in a webbrowser one at a time. I can clearly see how I could incorporate this into a data discovery workflow. I also think would be a useful tool to use when teaching, to allow students to quickly make trees with their genes and species of interest.

The tutorial was easy to follow. However, I found it a little difficult to find detailed information about the functions. It would be nice if some of the descriptions for the functions were listed or described on the home page of the website, so the uses knows more about the capability of the package.

raynamharris avatar Nov 19 '21 22:11 raynamharris

Thank you so much @raynamharris for your review!

@cromanpa94 , I am unfortunately having trouble finding the second reviewer so I would wait to make changes in response to @raynamharris 's review at this until all reviews are in, at least in the main branch. I will continue to look for a second reviewer but if I have not by the end of the week, I will do the review for you. Does that sound good @cromanpa94 ?

@raynamharris , I'm just going to officially assign you as a reviewer now (apologies for the confusion, I was waiting to set both reviews off at the same time) so please ignore the deadline the bot returns. And thanks again for your review comments!

annakrystalli avatar Nov 22 '21 09:11 annakrystalli

@ropensci-review-bot assign @raynamharris to reviewers

annakrystalli avatar Nov 22 '21 09:11 annakrystalli

Can't assign reviewer because there is no editor assigned for this submission yet

ropensci-review-bot avatar Nov 22 '21 09:11 ropensci-review-bot

@ropensci-review-bot assign @annakrystalli as editor

annakrystalli avatar Nov 22 '21 09:11 annakrystalli

Assigned! @annakrystalli is now the editor

ropensci-review-bot avatar Nov 22 '21 09:11 ropensci-review-bot

@ropensci-review-bot add @raynamharris to reviewers

annakrystalli avatar Nov 22 '21 09:11 annakrystalli

@raynamharris added to the reviewers list. Review due date is 2021-12-13. Thanks @raynamharris for accepting to review! Please refer to our reviewer guide.

ropensci-review-bot avatar Nov 22 '21 09:11 ropensci-review-bot

@raynamharris: If you haven't done so, please fill this form for us to update our reviewers records.

ropensci-review-bot avatar Nov 22 '21 09:11 ropensci-review-bot

@ropensci-review-bot add @fboehm to reviewers

annakrystalli avatar Nov 25 '21 16:11 annakrystalli

@fboehm added to the reviewers list. Review due date is 2021-12-16. Thanks @fboehm for accepting to review! Please refer to our reviewer guide.

ropensci-review-bot avatar Nov 25 '21 16:11 ropensci-review-bot

@fboehm: If you haven't done so, please fill this form for us to update our reviewers records.

ropensci-review-bot avatar Nov 25 '21 16:11 ropensci-review-bot

@ropensci-review-bot submit review https://github.com/ropensci/software-review/issues/458#issuecomment-974524115 time 8

annakrystalli avatar Nov 25 '21 16:11 annakrystalli

Logged review for raynamharris (hours: 8)

ropensci-review-bot avatar Nov 25 '21 16:11 ropensci-review-bot

@annakrystalli, that sounds good to me! Thank you so much for your time! I will start working on the next release once all the reviews are in. @raynamharris – your comments are great.Β I'm so glad you find some functions to be especially useful! I will try to improve the connection between tree.* functions. Thank you both (and @fboehm in advance)!

cromanpa94 avatar Nov 26 '21 18:11 cromanpa94