openjournals / joss-reviews

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

[REVIEW]: pactus: A Python framework for trajectory classification #5738

Closed editorialbot closed 1 year ago

editorialbot commented 1 year ago

Submitting author: !--author-handle-->@gvieralopez<!--end-author-handle-- (Gustavo Viera-López) Repository: https://github.com/yupidevs/pactus Branch with paper.md (empty if default branch): Version: v0.4.0 Editor: !--editor-->@arfon<!--end-editor-- Reviewers: @JustinShenk, @miladmzdh Archive: 10.5281/zenodo.8352324

Status

status

Status badge code:

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

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

@JustinShenk & @miladmzdh, 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 @arfon 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 @miladmzdh

📝 Checklist for @JustinShenk

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
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1016/j.envsoft.2023.105679 is OK
- 10.1145/1526709.1526816 is OK
- 10.1145/1409635.1409677 is OK
- 10.1175/mwr-d-12-00254.1 is OK
- 10.1175/JTECH-D-12-00119.1 is OK
- 10.1007/s00376-020-0211-7 is OK
- 10.1109/bracis.2019.00141 is OK
- 10.3390/ijgi6020057 is OK
- 10.1109/bigcomp54360.2022.00074 is OK
- 10.1103/physreve.102.032402 is OK
- 10.3390/app122110979 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 1 year ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.03 s (1474.4 files/s, 108236.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          23            321            288           1455
reStructuredText                17            296            476            282
Markdown                         3             49              0            179
TeX                              1             13              0            133
TOML                             1             11              0             83
YAML                             4             13              8             82
DOS Batch                        1              8              1             26
make                             1              4              7              9
-------------------------------------------------------------------------------
SUM:                            51            715            780           2249
-------------------------------------------------------------------------------

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

Wordcount for paper.md is 768

arfon commented 1 year ago

@JustinShenk, @miladmzdh – This is the review thread for the paper. All of our communications will happen here from now on.

Please read the "Reviewer instructions & questions" in the first comment above. Please create your checklist typing:

@editorialbot generate my checklist

As you go over the submission, please check any items that you feel have been satisfied. There are also 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 https://github.com/openjournals/joss-reviews/issues/5738 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 the review process to be completed within about 4-6 weeks but please make a start well ahead of this as JOSS reviews are by their nature iterative and any early feedback you may be able to provide to the author will be very helpful in meeting this schedule.

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:

miladmzdh commented 1 year ago

Review checklist for @miladmzdh

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

arfon commented 1 year ago

Friendly reminder to start your review soon please @JustinShenk.

JustinShenk commented 1 year ago

Review checklist for @JustinShenk

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

JustinShenk commented 1 year ago

Good work @gvieralopez and team! Very cool that you included several feature vectorization methods, datasets and models.

Some potential improvements:

Other than these small points, the package and paper look like significant contributions to trajectory analysis.

miladmzdh commented 1 year ago

Hello @gvieralopez,

Impressive effort. I appreciate the structured code and thorough documentation; it's evident that a lot of care went into this. Reviewing your code was a pleasant experience. However, I do have a couple of concerns that I'd like to address:

from yupi.graphics import plot_2d plot_2d(Dataset.animals().trajs[0], legend=None)

So users can explore the trajectories better and have a sense of what they are working with (both visually and the data attributes). I know your package is not about the exploration of the data but when we have several datasets, better to have some tools to explore or at least have examples to explore the data. You might even have a completely separate example code to explore the datasets a bit.

Good luck and let me know when these issues are taken care of so I can check those points in my "review checklist".

gvieralopez commented 1 year ago

@JustinShenk @miladmzdh thank you very much for the fast and constructive feedback.

@JustinShenk We just started a thorough review of all the dependencies and versions. Thank you for noticing the issue with the incorrect version of numpy in the requirements.txt. I will write another message in this issue once we update both, paper and code, so you can check them together.

@miladmzdh We appreciate your feedback and your positive comments. We will add an example showcasing all the data exploration that an user can do with a dataset. That is a Great idea. Regarding the reproducibility of the examples, we will be more explicit on the stochastic variations that can occur if RNG are used with different seeds. We will update the manuscript with a more comprehensive review of the available software. Finally, we are very interested on detecting and fixing the source of the error you mentioned during the installation. Could you please open an issue in the GitHub repository describing the exact error and system details, so we can reproduce it.

Best,

Gustavo, in the name of all authors.

gvieralopez commented 1 year ago

@editorialbot generate pdf

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:

gvieralopez commented 1 year ago

Dear @JustinShenk,

Following your suggestions, we have made the following updates to the project:

  1. We reviewed and updated the versions of some of our dependencies. We tested the installation on several systems, and the software should now be much more stable. We thank you once again for spotting the issue and pointing us in the direction of the solution with your pull request. The release of pactus 0.4.1 contains this fix.
  2. We have added additional references to related software for trajectory analysis in the paper. These references provide useful tools for trajectory classification.
  3. We have subdivided the section of the paper that explains the software's structure into subsections. This division allows us to highlight important features from each category more effectively.

We appreciate all the effort you put into your response and recommendations, and we are very grateful for your review.

gvieralopez commented 1 year ago

Dear @miladmzdh,

According to your recommendations, we have made the following changes to the project:

  1. We have included an additional example in the software documentation that demonstrates data exploration on the available datasets in Pactus. You can check out the example at: https://pactus.readthedocs.io/en/latest/examples/example0.html. ↗️

  2. Regarding the variabilities that can occur due to stochastic elements in the process, Pactus allows for setting a seed for the RNG used at each stage. However, we noticed that the example in the readme did not use a fixed seed. As a result, the evaluation results might differ slightly from the ones shown in the readme itself. To address this, we have added extra code to fix the seed in the example from the readme and provided a brief explanation for its necessity.

  3. We have updated the paper with additional references to related software for trajectory analysis that also provide useful tools for trajectory classification.

  4. We have divided the section of the paper that explains the software's structure into subsections. This division allows us to highlight important details more effectively.

Regarding the installation issue you reported, we have been unable to reproduce it. If possible, could you provide a detailed description of the exact error and your system details? You can open an issue in the software repository, and we will ensure to find a solution.

We would like to express our gratitude for the time you dedicated to reviewing our work and for providing suggestions to improve it.

arfon commented 1 year ago

@gvieralopez – many thanks for your detailed responses here. @JustinShenk, @miladmzdh – could I ask that you both review the response from @gvieralopez and check if these changes meet your expectations (and update your checklists accordingly?).

JustinShenk commented 1 year ago

@editorialbot commands

editorialbot commented 1 year ago

Hello @JustinShenk, here are the things you can ask me to do:


# List all available commands
@editorialbot commands

# Get a list of all editors's GitHub handles
@editorialbot list editors

# Check the references of the paper for missing DOIs
@editorialbot check references

# Perform checks on the repository
@editorialbot check repository

# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist

# Set a value for branch
@editorialbot set joss-paper as branch

# Generates the pdf paper
@editorialbot generate pdf

# Generates a LaTeX preprint file
@editorialbot generate preprint

# Get a link to the complete list of reviewers
@editorialbot list reviewers
JustinShenk commented 1 year ago

Good work guys! Accepting this.

arfon commented 1 year ago

Friendly reminder to check in on this submission again when you have a moment @miladmzdh. We're almost ready to proceed to accept but want to be sure you agree.

miladmzdh commented 1 year ago

I appreciate your patience. I was attending a conference. I attempted to replicate the error that I used to encounter. However, it appears that the issue has been resolved, as I did not encounter it again. I have accepted all the items on the checklist and I agree to accept this package. If I happen to come across the error in the future, I will reach out to the authors accordingly.

arfon commented 1 year ago

Thanks @miladmzdh! @JustinShenk – looks like we're very close to being done here. I will circle back here next week, but in the meantime, please give your own paper a final read to check for any potential typos etc.

After that, could you make a new release of this software that includes the changes that have resulted from this review. Then, please make an archive of the software in Zenodo/figshare/other service and update this thread with the DOI of the archive? For the Zenodo/figshare archive, please make sure that:

I can then move forward with accepting the submission.

gvieralopez commented 1 year ago

Dear @arfon,

We deeply appreciate your guidance throughout the revision of our manuscript. We have reviewed the paper one more time and all appears to be correct. Furthermore, a new version of the software, which integrates all modifications issued from this review, has been released.

We have prepared and uploaded an archive of this software on Zenodo. The archive mirrors the title and authors of the JOSS paper, maintaining consistency. The archive is accessible via the following link: https://zenodo.org/record/8352324. The corresponding DOI is: 10.5281/zenodo.8352324.

We are thankful for your assistance, and the insights provided during this process by all the reviewers. We look forward to any further steps that may be necessary.

Best Regards,

Gustavo, on behalf of all the authors

arfon commented 1 year ago

@editorialbot set 10.5281/zenodo.8352324 as archive

editorialbot commented 1 year ago

Done! archive is now 10.5281/zenodo.8352324

arfon commented 1 year ago

@editorialbot recommend-accept

editorialbot commented 1 year ago
Attempting dry run of processing paper acceptance...
editorialbot commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1016/j.envsoft.2023.105679 is OK
- 10.1145/1526709.1526816 is OK
- 10.1145/1409635.1409677 is OK
- 10.1175/mwr-d-12-00254.1 is OK
- 10.1175/JTECH-D-12-00119.1 is OK
- 10.1007/s00376-020-0211-7 is OK
- 10.1109/bracis.2019.00141 is OK
- 10.3390/ijgi6020057 is OK
- 10.1109/bigcomp54360.2022.00074 is OK
- 10.1103/physreve.102.032402 is OK
- 10.3390/app122110979 is OK
- 10.21105/joss.03202 is OK
- 10.1111/1365-2656.13116 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 1 year ago

:wave: @openjournals/dsais-eics, this paper is ready to be accepted and published.

Check final proof :point_right::page_facing_up: Download article

If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/4598, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

arfon commented 1 year ago

@editorialbot accept

editorialbot commented 1 year ago
Doing it live! Attempting automated processing of paper acceptance...
editorialbot commented 1 year ago

Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.

If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.

You can copy the contents for your CITATION.cff file here:

CITATION.cff

``` cff-version: "1.2.0" authors: - family-names: Viera-López given-names: G. orcid: "https://orcid.org/0000-0002-9661-5709" - family-names: Morgado-Vega given-names: J. J. orcid: "https://orcid.org/0000-0001-6067-9172" - family-names: Reyes given-names: A. orcid: "https://orcid.org/0000-0001-7305-4710" - family-names: Altshuler given-names: E. orcid: "https://orcid.org/0000-0003-4192-5635" - family-names: Almeida-Cruz given-names: Yudivián orcid: "https://orcid.org/0000-0002-2345-1387" - family-names: Manganini given-names: Giorgio orcid: "https://orcid.org/0000-0002-5394-4094" contact: - family-names: Viera-López given-names: G. orcid: "https://orcid.org/0000-0002-9661-5709" doi: 10.5281/zenodo.8352324 message: If you use this software, please cite our article in the Journal of Open Source Software. preferred-citation: authors: - family-names: Viera-López given-names: G. orcid: "https://orcid.org/0000-0002-9661-5709" - family-names: Morgado-Vega given-names: J. J. orcid: "https://orcid.org/0000-0001-6067-9172" - family-names: Reyes given-names: A. orcid: "https://orcid.org/0000-0001-7305-4710" - family-names: Altshuler given-names: E. orcid: "https://orcid.org/0000-0003-4192-5635" - family-names: Almeida-Cruz given-names: Yudivián orcid: "https://orcid.org/0000-0002-2345-1387" - family-names: Manganini given-names: Giorgio orcid: "https://orcid.org/0000-0002-5394-4094" date-published: 2023-09-22 doi: 10.21105/joss.05738 issn: 2475-9066 issue: 89 journal: Journal of Open Source Software publisher: name: Open Journals start: 5738 title: "pactus: A Python framework for trajectory classification" type: article url: "https://joss.theoj.org/papers/10.21105/joss.05738" volume: 8 title: "pactus: A Python framework for trajectory classification" ```

If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.

Find more information on .cff files here and here.

editorialbot commented 1 year ago

🐘🐘🐘 👉 Toot for this paper 👈 🐘🐘🐘

editorialbot commented 1 year ago

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited :point_right: https://github.com/openjournals/joss-papers/pull/4599
  2. Wait a couple of minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.05738
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

arfon commented 1 year ago

@JustinShenk, @miladmzdh – many thanks for your reviews here! JOSS relies upon the volunteer effort of people like you and we simply wouldn't be able to do this without you ✨

@gvieralopez – your paper is now accepted and published in JOSS :zap::rocket::boom:

editorialbot commented 1 year ago

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.05738/status.svg)](https://doi.org/10.21105/joss.05738)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.05738">
  <img src="https://joss.theoj.org/papers/10.21105/joss.05738/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.05738/status.svg
   :target: https://doi.org/10.21105/joss.05738

This is how it will look in your documentation:

DOI

We need your help!

The Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

gvieralopez commented 1 year ago

Thanks @arfon. We really enjoyed the process. Many thanks to the reviewers @JustinShenk and @miladmzdh for their fast and precise comments.

We just included the citation as recommended.

We are all very happy with the publication. Thanks again!