openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
696 stars 36 forks source link

[REVIEW]: NORDic: a Network-Oriented package for the Repurposing of Drugs #5532

Closed editorialbot closed 9 months ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@clreda<!--end-author-handle-- (Clémence Réda) Repository: https://github.com/clreda/NORDic Branch with paper.md (empty if default branch): Version: v2.4.4 Editor: !--editor-->@lpantano<!--end-editor-- Reviewers: @cauliyang, @sevgisu0227 Archive: 10.5281/zenodo.8355529

Status

status

Status badge code:

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

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

@cauliyang & @sevgisu0227, 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 @lpantano 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 @cauliyang

📝 Checklist for @sevgisu0227

editorialbot commented 1 year ago

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 commented 1 year ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.17 s (278.2 files/s, 326117.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          26            421           1321           4276
Jupyter Notebook                10              0          48360            907
TeX                              1             37              0            389
Markdown                         2             62              0            181
YAML                             4             15              0            159
JSON                             3              0              0             72
ASP                              1              1              0             58
TOML                             1              0              0              3
-------------------------------------------------------------------------------
SUM:                            48            536          49681           6045
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 1 year ago

Wordcount for paper.md is 2118

editorialbot commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1172/JCI66220 is OK
- 10.1038/nrm2503 is OK
- 10.1016/0022-5193(74)90172-6 is OK
- 10.1016/0022-5193(69)90015-0 is OK
- 10.48550/arXiv.2212.12756 is OK
- 10.1038/s41598-020-73147-4 is OK
- 10.1038/s41467-018-06008-4 is OK
- 10.1038/npjsba.2016.15 is OK
- 10.1093/cid/ciab350 is OK
- 10.1073/pnas.1610622114 is OK
- 10.1016/j.cell.2008.09.050 is OK
- 10.1073/pnas.1533293100 is OK
- 10.48550/arXiv.2111.01479 is OK
- 10.1007/978-3-031-15034-0_5 is OK
- 10.1186/s13059-016-1097-7 is OK
- 10.1186/1471-2105-7-S1-S7 is OK
- 10.1093/bioinformatics/btr274 is OK
- 10.1109/ictai.2019.00014 is OK
- 10.1038/npjsba.2016.10 is OK
- 10.1371/journal.pcbi.1007900 is OK
- 10.1093/bioinformatics/btq124 is OK
- 10.1038/npjsba.2016.20 is OK
- 10.1093/bioinformatics/btaa484 is OK
- 10.48550/arXiv.2103.10070 is OK
- 10.1371/journal.pone.0044459 is OK
- 10.1101/gr.1239303 is OK
- 10.1093/bioinformatics/btx764 is OK
- 10.1093/bioinformatics/btv305 is OK
- 10.1038/s41598-019-54180-4 is OK
- 10.1145/956750.956769 is OK
- 10.1101/2020.05.27.119016 is OK
- 10.1016/j.cell.2017.10.049 is OK
- 10.1038/nmeth.4077 is OK
- 10.1093/nar/gkw943 is OK
- 10.1093/nar/gkaa1074 is OK
- 10.1093/bib/bbw112 is OK
- 10.5281/zenodo.7239047 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 1 year ago

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

cauliyang commented 1 year ago

Review checklist for @cauliyang

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

lpantano commented 1 year ago

Hi @cauliyang, @sevgisu0227, just wondering how this was going? do you think you can finish up this in the next 2 weeks? Thanks!

cauliyang commented 1 year ago

Hi @lpantano, Sorry for the delay, and I can finish that in the next 2 weeks.

cauliyang commented 1 year ago

My Current Comments

1. Installation

I recommend adding all dependencies in your package's meta.yaml so that users do not need to install dependencies themselves. That is pro of conda as well. Then submit the package to Bioconda or conda channel instead of your personal channel.

Claim the platform the package will support (e.g. Linux, windows, macOS)

clreda commented 1 year ago

Hello @cauliyang, thanks for reviewing this package!

Could you please detail the error in building the wheel when using pip? (was it in a virtual environment, using conda or virtualenv, etc. Have you got wheel in that environment? otherwise perhaps you should run python3 -m pip install wheel which I will add to the README). The dependencies mentioned in the README (maboss, graphviz, etc.) are already in the meta.yaml file. However, these packages are not available on PyPI, hence the installation lines.

Did you test pip installation first, or did you try installing maboss first?

Noted for the platforms, as I have mainly tried (and made people try) on Linux. I will check the requirements for submitting to conda or Bioconda.

cauliyang commented 1 year ago

Hi @clreda , I figured it out finally, the problem is thanks to the package pyeda.
The package NORDic can be installed via pip and conda successfully. But the readme may be confusing. we do not need to install dependencies if we install via conda. It is better to clarify when we need to install dependencies ourselves in the installation information.

Reproducibility

it seems like the file you use in the notebook does not exist. for example ToyOndine/inferred_maximal_solution.png in NORDic Network Simulations.ipynb

Test

The test looks a little bit messy, and it is better to use pytest or unittest to manage all your tests.

Others

sevgisu0227 commented 12 months ago

Review checklist for @sevgisu0227

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

clreda commented 12 months ago

@cauliyang I am glad to hear that the problem is solved! I have corrected the README to include the differences between the installation with PyPI and Conda.

About your reproducibility concern: the notebooks are supposed to be run in a given order. Indeed, most of the notebooks rely on the network inferred in notebook NORDic CoLoMoTo.ipynb, as the inference code might be a bit too large to add to every notebook. I will clarify this dependency in all notebooks.

I will reformat the testing code to use unittest as suggested. I will check out formatter Black and the guidelines you have mentioned, thank you!

lpantano commented 11 months ago

@cauliyang , this the last replied solve your last question about reproducibility? @sevgisu0227, do you think you can finish this in the next week or post the issues you are having? Thanks!

cauliyang commented 11 months ago

@lpantano, the explanation of reproducibility makes sense but the automated tests may still require some effort.

sevgisu0227 commented 11 months ago

@lpantano sorry for the delay, I will finish it this week.

sevgisu0227 commented 11 months ago

Installation worked fine, I used pip install option and manually installed the dependencies both on Mac OS and Ubuntu 20.04 LTS. One recommendation would be to include recommended minimum system requirements.

Functionality documentation

I am non academic user, so this may be specific to me, I had to ask someone else for lincs sign-up. providing an alternative, ie. downloading the files from clue which does not require sign-up and processing it could be more helpful. For reproducibility and version control purposes, I would provide these databases as reference files and avoid API access all together.

providing a summary of recommended (or potentially default) parameters, adding usage function for the parameters and short descriptions would make it a lot more user friendly.

clreda commented 11 months ago

Dear @cauliyang I have rewritten the automated tests in the package using unittest. Please let me know if it is better to you

Dear @sevgisu0227 thank you for accepting to review this paper. The main issue I see with providing the database could be space-consuming for most of them (ex. LINCS and STRING, in several dozens of GB). Using the API version of the database also ensures that the query results are up to date and do not manually require me to monitor all the databases and redownload them at each update. As an answer to your reproducibility problem, I can possibly suggest writing down the date of creation of the model, which can be connected to the latest version at that date of each database. I will add further documentation in the docstrings in the next weeks, including short descriptions, usage examples, and default/recommended values.

cauliyang commented 10 months ago

@clreda, appreciate your effort. Now the project looks alright but I recommend sharing the notebook via colab or others. That is very continent for users to give the tool a try without bothering with environment configuration. Besides, using examples as documentation is acceptable but not perfect. If we have another concise API documentation, which is neat.

clreda commented 10 months ago

Dear @cauliyang I have found that using directly the CoLoMoTo docker might answer the concern of users wishing to avoid environment configuration issues, as it includes the first tutorial notebook in NORDic. I have specified how to use it in the README as well as in the documentation website. This documentation website might answer your second concern, about concise API documentation. I have also tackled one of your earliest concerns about submitting to a larger conda channel. I chose bioconda (see pull request). I hope to have everything fixed in the next weeks.

Dear @sevgisu0227 I have added further documentation in the docstrings, with short descriptions and default/recommended values (please refer to the documentation website). I haven't added the usage examples, because since most of the arguments in functions rely on custom structures introduced in NORDic, showcasing NORDic functionalities through notebooks might make those functions easier to use that long docstring descriptions.

Please let me know if you have other concerns.

cauliyang commented 10 months ago

Hi @clreda, Thanks for your effort and consideration! A Docker environment is also a better alternative. Bioconda is a wise choice and promotes the tool to the larger community. The document systems are on the right track as well. In summary, your changes resolve my concerns. Keep the library alive and friendly!

clreda commented 10 months ago

Dear @cauliyang thanks a lot for your feedback, which allows NORDic to be more accessible and useful to the community!

lpantano commented 10 months ago

@sevgisu0227, are the last changes address you final missing items in the checklist? I think we are only waiting for those one to finish the review.thanks!

sevgisu0227 commented 10 months ago

@lpantano Yes everything looks good, great documentation.

clreda commented 10 months ago

Dear @sevgisu0227 thank you very much for your feedback that improved the user experience with NORDic!

lpantano commented 10 months ago

@editorialbot generate pdf

lpantano commented 10 months ago

@editorialbot check references

editorialbot commented 10 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1172/JCI66220 is OK
- 10.1038/nrm2503 is OK
- 10.1016/0022-5193(74)90172-6 is OK
- 10.1016/0022-5193(69)90015-0 is OK
- 10.48550/arXiv.2212.12756 is OK
- 10.1038/s41598-020-73147-4 is OK
- 10.1038/s41467-018-06008-4 is OK
- 10.1038/npjsba.2016.15 is OK
- 10.1093/cid/ciab350 is OK
- 10.1073/pnas.1610622114 is OK
- 10.1016/j.cell.2008.09.050 is OK
- 10.1073/pnas.1533293100 is OK
- 10.48550/arXiv.2111.01479 is OK
- 10.1007/978-3-031-15034-0_5 is OK
- 10.1186/s13059-016-1097-7 is OK
- 10.1186/1471-2105-7-S1-S7 is OK
- 10.1093/bioinformatics/btr274 is OK
- 10.1109/ictai.2019.00014 is OK
- 10.1038/npjsba.2016.10 is OK
- 10.1371/journal.pcbi.1007900 is OK
- 10.1093/bioinformatics/btq124 is OK
- 10.1038/npjsba.2016.20 is OK
- 10.1093/bioinformatics/btaa484 is OK
- 10.48550/arXiv.2103.10070 is OK
- 10.1371/journal.pone.0044459 is OK
- 10.1101/gr.1239303 is OK
- 10.1093/bioinformatics/btx764 is OK
- 10.1093/bioinformatics/btv305 is OK
- 10.1038/s41598-019-54180-4 is OK
- 10.1145/956750.956769 is OK
- 10.1101/2020.05.27.119016 is OK
- 10.1016/j.cell.2017.10.049 is OK
- 10.1038/nmeth.4077 is OK
- 10.1093/nar/gkw943 is OK
- 10.1093/nar/gkaa1074 is OK
- 10.1093/bib/bbw112 is OK
- 10.5281/zenodo.7239047 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 10 months ago

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

lpantano commented 10 months ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

clreda commented 10 months ago

The latest release version on GitHub is v2.4.4. The DOI of the corresponding Zenodo release is 10.5281/zenodo.8355529.

clreda commented 10 months ago

Additional Author Tasks After Review is Complete

lpantano commented 9 months ago

@editorialbot set v2.4.4 as version

editorialbot commented 9 months ago

Done! version is now v2.4.4

lpantano commented 9 months ago

@clreda, thank you for the information. Can you make the tittle to be exactly the same in the paper and in Zenodo? Thanks!

clreda commented 9 months ago

@clreda, thank you for the information. Can you make the tittle to be exactly the same in the paper and in Zenodo? Thanks!

Done! Thanks a lot for your work!

lpantano commented 9 months ago

Thank you! I have been reading the paper again, and I think we should reduce the information on it to be around 1500 words, no counting references. Right now the text contains more than 2000 words (can you check that?). If that is true, I am thinking about the following: 1-reduce introduction to half a page. 2-For these sections: Automated identification of disease-related Boolean networks and Prioritization of master regulators in Boolean networks, there first couple of paragraphs is about the current work and issues to solve. I think this is very important and I will keep this information in the documentation for instance, but maybe in the paper, it would be good to focus last part of the section that explain NORDic implementation and try to summarize in one paragraph the issues.

Maybe the current information can be in the docs (if they are not yet there), and the paper can be shorter. I know it is a lot of work to explain the current status of the field and the good things NORDic is bringing.

Let me know if you think is possible to bring the text to ~1500 words. Thanks in advance.

clreda commented 9 months ago

@editorialbot generate pdf

clreda commented 9 months ago

@editorialbot check references

editorialbot commented 9 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/nrm2503 is OK
- 10.1016/0022-5193(74)90172-6 is OK
- 10.1016/0022-5193(69)90015-0 is OK
- 10.48550/arXiv.2212.12756 is OK
- 10.1038/s41598-020-73147-4 is OK
- 10.1073/pnas.1610622114 is OK
- 10.1016/j.cell.2008.09.050 is OK
- 10.1073/pnas.1533293100 is OK
- 10.48550/arXiv.2111.01479 is OK
- 10.1007/978-3-031-15034-0_5 is OK
- 10.1371/journal.pcbi.1007900 is OK
- 10.48550/arXiv.2103.10070 is OK
- 10.1093/bioinformatics/btx764 is OK
- 10.1093/bioinformatics/btv305 is OK
- 10.1038/s41598-019-54180-4 is OK
- 10.1145/956750.956769 is OK
- 10.1101/2020.05.27.119016 is OK
- 10.1016/j.cell.2017.10.049 is OK
- 10.1038/nmeth.4077 is OK
- 10.1093/nar/gkw943 is OK
- 10.1093/nar/gkaa1074 is OK
- 10.5281/zenodo.7239047 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 9 months ago

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

clreda commented 9 months ago

Dear @lpantano please find in the previous message the reduced version of the paper, which I believe is less than 1,500 words now. I have removed the references which are no longer present in the paper, and posted the full version of the paper in the documentation: https://clreda.github.io/NORDic/paper.html

Let me know if that solves your concerns.

lpantano commented 9 months ago

@editorialbot set up archive as 10.5281/zenodo.8355529

editorialbot commented 9 months ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

lpantano commented 9 months ago

@editorialbot set archive as 10.5281/zenodo.8355529

editorialbot commented 9 months ago

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

lpantano commented 9 months ago

@editorialbot set 10.5281/zenodo.8355529 as archive

editorialbot commented 9 months ago

Done! archive is now 10.5281/zenodo.8355529

lpantano commented 9 months ago

@editorialbot recommend-accept

editorialbot commented 9 months ago
Attempting dry run of processing paper acceptance...