joss-reviews icon indicating copy to clipboard operation
joss-reviews copied to clipboard

[REVIEW]: DAISIEmainland: an R package for simulating an island-mainland system for macroevolution on islands

Open editorialbot opened this issue 3 years ago • 13 comments
trafficstars

Submitting author: @joshwlambert (Joshua Lambert) Repository: https://github.com/joshwlambert/DAISIEmainland Branch with paper.md (empty if default branch): joss_submission Version: v1.0.0 Editor: @Bisaloo Reviewers: @alexskeels, @vboussange Archive: Pending

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/6913e20fc41640a53c0c8ca75d9af950"><img src="https://joss.theoj.org/papers/6913e20fc41640a53c0c8ca75d9af950/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/6913e20fc41640a53c0c8ca75d9af950/status.svg)](https://joss.theoj.org/papers/6913e20fc41640a53c0c8ca75d9af950)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@alexskeels & @vboussange, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @Bisaloo know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @vboussange

📝 Checklist for @alexskeels

editorialbot avatar Jun 20 '22 07:06 editorialbot

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf

editorialbot avatar Jun 20 '22 07:06 editorialbot

Software report:

github.com/AlDanial/cloc v 1.88  T=0.24 s (920.8 files/s, 106951.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
R                              159           1098           1919          14636
HTML                             9            157              0           2322
CSS                             11             93             88           1280
JavaScript                      15            176            152           1012
Markdown                         9            314              0            973
Rmd                              8            172            433            339
SVG                              1              0              0            288
TeX                              2             12              0            152
YAML                             3             18              6            106
Bourne Shell                     3              3             23             11
JSON                             2              0              0              2
-------------------------------------------------------------------------------
SUM:                           222           2043           2621          21121
-------------------------------------------------------------------------------


gitinspector failed to run statistical information for the repository

editorialbot avatar Jun 20 '22 07:06 editorialbot

Wordcount for paper.md is 1314

editorialbot avatar Jun 20 '22 07:06 editorialbot

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1016/0021-9991(76)90041-3 is OK
- 10.1017/S0305004100033193 is OK
- 10.1038/s41586-020-2022-5 is OK
- 10.1146/annurev.physchem.58.032806.104637 is OK
- 10.1021/j100540a008 is OK
- 10.1111/ele.12461 is OK
- 10.1111/jeb.12139 is OK
- 10.1101/2022.01.13.476210 is OK

MISSING DOIs

- None

INVALID DOIs

- None

editorialbot avatar Jun 20 '22 07:06 editorialbot

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

editorialbot avatar Jun 20 '22 07:06 editorialbot

:wave: :wave: :wave: @joshwlambert, @alexskeels, @vboussange, this is the review thread for the paper. All of our communications will happen here from now on.

As a reviewer, the first step is to create a checklist for your review by entering

@editorialbot generate my checklist

as the top of a new comment in this thread.

These checklists contain the JOSS requirements. As you go over the submission, please check any items that you feel have been satisfied. The first comment in this thread also contains links to the JOSS reviewer guidelines.

The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, the reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention openjournals/joss-reviews#4491 so that a link is created to this thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.

We aim for reviews to be completed within about 2-4 weeks. Please let me know if any of you require some more time. We can also use EditorialBot (our bot) to set automatic reminders if you know you'll be away for a known period of time.

Please feel free to ping me (@bisaloo) if you have any questions/concerns.

Bisaloo avatar Jun 20 '22 07:06 Bisaloo

Review checklist for @vboussange

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the https://github.com/joshwlambert/DAISIEmainland?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@joshwlambert) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • [ ] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [ ] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [ ] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [ ] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [ ] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [ ] A statement of need: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [ ] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

vboussange avatar Jul 05 '22 13:07 vboussange

Hi everyone 👋 I am posting here my comments for the first round of review.

General comments

Reviewer summary

DAISIEmainland is a package that allows to simulate the evolutionary history of an island community, bringing more realism to the DAISIE model by simulating the evolutionary history of the mainland community.

General comment

The package is well constructed, with a nice documentation, complete unit-tests, and community guidelines. However, I am not convinced of the usefulness of the package for the community, as it is presented right now. It seems that this package has been specifically designed to lead the investigation of the autor's work "The effect of mainland dynamics on data and parameter estimates in island biogeography", available as a preprint at https://www.biorxiv.org/content/10.1101/2022.01.13.476210v2. While I do not question the relevance of this study, I do not see the point of publishing the corresponding code as a standalone package. Even if the authors would less emphasize on the capacity of DAISIEmainland to test the DAISIE inference performance, and rather put emphasis on the capacity of DAISIEmainland to obtain more realistic evolutionary history simulations, I think that it would benefit the user to integrate those changes in the main DAISIE package, as most of the syntax is the same. Overall, my opinion is that the code of DAISIEmainland could be a nice contribution to bring more functionalities to DAISIE, but it does not justify a standalone package.

Specific comments

Functionality

Installation

remotes::install_github("rsetienne/DAISIE")

Does unfortunately not work for me, I get an error with gfortran. The error is documented here but the fix did not work for me. It would be nice to indicate this potential fix to the user in the installation page.

Documentation

Simulation algorithm

Species that do not go extinct are give a spec_ex_t equal to the total time of the simulation.

The algorithm checks whether any changes have occured on the mainland since the last time step and if so, the system is updated and the returned to the time at which the mainland last changed.

Not clear

where r_j are the rates.

Breaking down the sentence leads to confusion, would be nice to rephrase this sentence.

$X = \lambda ...$

I think that you are here confusing about the random variable which serves as time steps and the probability density. It would probably make more sense to denote this random variable $\Delta t$

Simulation data visualisation

An island with a single endemic species which whose colonisation time is older than the island age so it is considered an island-age colonisation. The uncertainty in colonisation time is handled in an equivalent way to the non-endemic island-age colonisation.

An island with an recolonisation of the same mainland species after it has colonised and speciated (either via cladogenesis or anagenesis on the island). The colonists that are from the same ancestral mainland species but the island species is now endemic are show by ‘Colonist after anagenesis’ and ‘Colonist after cladogenesis.’

Inference performance

simualation algorithm

  • Would be nice to have a link to the documentation of the DAISIE package, because it seems a prerequisite to understand the goal of the DAISIEmainland package.

  • Why do you start the inference with initial parameter values which are exactly the same as those that were used to simulate the data?

  • I would have liked to have here some comments about the performance assessed. What do those numbers tell? How can we interpret it?

Paper

Summary

  1. simulating the evolutionary history on island species,

Not sure what is meant by that.

Statement of need

the performance and robustness of this island biogeography inference model is unknown when its assumptions are violated under biologically realistic scenarios What is meant by "performance" here? "robustness"? I would simply delete this sentence.

A central assumption of the DAISIE likelihood model

Not sure what is a likelihood model. Overall, l36-37 could be better formulated.

The DAISIEmainland package has been applied to test the ... which provides a suite of phylogenetic likelihood inference models for island biogeography.

This should not belong to the statement of need. It rather describes the package, and I think that it would rather fit in the summary.

  • Would be nice to explain in more details what's exactly meant by incomplete information data? What is exactly meant by ideal vs empirical data? Since I do not come from the empirical perspective, I find that the what is "empirical data" is not clear.
  • Figure 2 caption is not clear: branch color represents the endemicity status, but in legend it says "endemic clade at maximum age".

vboussange avatar Jul 06 '22 12:07 vboussange

Hi @alexskeels :wave:, do you expect to be able to complete your first round of review soon? It's okay if you need more time but having a tentative timeline would be helpful :relaxed:

Bisaloo avatar Jul 19 '22 07:07 Bisaloo

Review checklist for @alexskeels

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the https://github.com/joshwlambert/DAISIEmainland?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@joshwlambert) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [ ] Functionality: Have the functional claims of the software been confirmed?
  • [ ] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [ ] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [ ] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

alexskeels avatar Jul 29 '22 07:07 alexskeels

Hello @Bisaloo, @joshwlambert, @vboussange. I am very sorry for my lateness - i've been away on holidays.

A few technical issues prevented a complete review of the package. I ran into the folllowing error in vignette 4 running the ML inference: "Error in DAISIE_ode_cs(initprobs, tvec, parsvec, atol, rtol, method, runmod = "daisie_runmod") : cpp_daisie_cs_runmod: too many steps"

and in vignettes 5 for summarising the results: DAISIEmainland::calc_num_spec doesn’t run “Error in stacs[[j]] : subscript out of bounds” DAISIEmainland::calc_num_col “Error in stacs[[j]] : subscript out of bounds”

I am running R version 4.1.2 on a windows machine if thats helpful at all. These should probably be addressed before assessing the checklist "Functionality" and "Performance".

One further general comment: The model simulates the mainland clade with an extinction rate and then speciation immediately follows extinction. How come the mainland pool has to remain a fixed size? Can it evolve under a BD model which might better represent flcutuating clade dyanmics on the mainland? I'm not asking for you to change anything of course, but I would be very interested to hear the justification (technical and biological) - perhaps a quick statement could be added to this end?

alexskeels avatar Jul 29 '22 08:07 alexskeels

Hi @Bisaloo , @alexskeels, & @vboussange.

Firstly, thank you @vboussange for the comments. I will use the specific comments to improve the package.

@alexskeels Apologies for not replying sooner. I am finishing my PhD at the moment and will be submitting the next couple of weeks, and so have been extremely busy. I'm afraid I do not think I'll be able to get to the technical issues that prevented you from completing a full review for the next few weeks.

@Bisaloo Given the comments that have already been received and the fact that I will not be able to invest the time required to address the comments over the coming weeks, is it best to remove this from consideration for publication? I am happy to wait but do not want to waste the time of the reviewers and editors.

joshwlambert avatar Aug 11 '22 20:08 joshwlambert

Thanks a lot @vboussange and @alexskeels for your reviews! :pray:

@joshwlambert, if you're unsure when you'll be able to work again on this project, then it's indeed a good idea to withdraw & resubmit later. It also looks like we're going to have a conflict of interest soon so it may be a good opportunity to find a new editor at the same time.

Bisaloo avatar Aug 17 '22 13:08 Bisaloo

@Bisaloo Thanks, I completely agree. I was going to mention the conflict of interest in the next week or so. Once again thank you to @vboussange and @alexskeels for your comments and apologies for not being able to respond to them in a timely fashion.

joshwlambert avatar Aug 18 '22 10:08 joshwlambert

@openjournals/joss-eics could you please withdraw this submission?

Bisaloo avatar Aug 18 '22 10:08 Bisaloo

@editorialbot withdraw

danielskatz avatar Aug 18 '22 11:08 danielskatz

Paper withdrawn.

editorialbot avatar Aug 18 '22 11:08 editorialbot