-
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PRE REVIEW]: ELECTRIC: Electric fields Leveraged from multipoleExpansion Calculations in Tinker Rapid Interface Code #2429
Comments
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post. For a list of things I can do to help you, just type:
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
|
|
|
👋 @jgostick, @richardjgowers, @dhhagan - Would one of you be willing to edit this submission? |
Sorry, I have 2 on the go and still haven't figured it all out yet. |
👋 @richardjgowers, @dhhagan - Would one of you be willing to edit this submission? |
@whedon assign @richardjgowers as editor |
OK, the editor is @richardjgowers |
@valeriewelborn how modified is the patched version of TINKER (https://github.com/WelbornGroup/Tinker_ELECTRIC) from the original? Also, I'm not sure but is the rehosting of modified source code allowed according to the license? (in particular points 5&6 of https://dasher.wustl.edu/tinker/downloads/license.pdf) |
@whedon query scope |
Submission flagged for editorial review. |
Hi @richardjgowers - The Tinker software has switched in recent years to be distributed via GitHub (https://github.com/TinkerTools). The modified Tinker code included here is part of a larger project at The Molecular Sciences Software Institute called the MolSSI Driver Interface (MDI). You can see the MDI (which has the same code as Tinker-ELECTRIC) here - https://github.com/MolSSI-MDI/Tinker/tree/mdi-ef . This repo has a commit history compatible with the main Tinker repository. We can change the link in the README for this repository to this fork if that is helpful. We have had discussions with the Tinker core developers about the Tinker-MDI project and plan to eventually have this code incorporated into the main Tinker repo. We can contact the Tinker developers to ok this repo if necessary. As far as changes to Tinker, the main changes are the addition of the MDI library (in folder Tagging @taylor-a-barnes in case I've forgotten anything. |
Hi @danielskatz , @richardjgowers - tagging to get the conversation going again. Is there anything you need from us to help speed up this process? |
@janash - sorry for the delay - after some editor discussion, we have decided that this submission is not a large enough contribution for JOSS to review it - see https://joss.readthedocs.io/en/latest/submitting.html#substantial-scholarly-effort. We encourage you to consider JOSS at a later time if more effort and code goes into this software, or alternatively, consider publishing the software to Zenodo to get a DOI that users can cite. |
@whedon reject |
Paper rejected. |
Hi @danielskatz and @richardjgowers - Thank you for your consideration on this paper. In your requirements for publication, I see that you have guidelines about code length. I understand that in general a smaller number of lines of code may represent less effort. However, for this project, a small(er) number of lines indicates careful consideration and design (or effort). I disagree that the number of lines of code for a project is reflective of the amount of scholarly effort. This project could have been much larger (more lines of code) if it did not use an efficient and systematic approach to the problem. We implemented this is a clean and compact way, and in my opinion that should not negatively reflect on the software. This is a useful analysis tool for researchers working in molecular simulation, and enables an analysis ability that is not possible in any other existing open source software. The closed source version of the code is not openly available, actively maintained, updated, or tested. This project, despite its appearance of small size, represents a significant effort and is not something that could not be easily replicated. This project required the use of multiple tools, programming languages, and knowledge of scientific concepts. I am outlining notable points below, though there are several other concepts and tools at play:
This tool adds the ability to customize that analysis by atom, molecule (as counted by Tinker) or residue (as specified in a pdb file) without the user editing code. Our implementation is robust, public, and much faster than the previous closed package which was used for analysis. Our code is also parallelized with very high efficiency, so the achievable wall times are dramatically lower than what you could get from any serial code. Our benchmarks of our parallelized code showed an order of magnitude improvement over the serial version. In summary, we believe that this project represents significant effort appropriate for JOSS. Again, thank you for your consideration, and we hope for productive future collaboration. |
Hi all, I would like to second Jessica's comments and I would also argue that it follows the rule of thumb "no less than 3 months of work for an individual" (which translates to different real time depending on the skills of the coders - a good graduate student would have taken at least 6 months to produce a working code but likely not of the same quality). I also want to emphasize, as Jessica mentioned, that the calculation of electric fields from Tinker Amoeba calculations is not trivial and currently not available to the community. This would be the first time such a tool would be made open source. Using electric fields to analyze MD trajectories would benefit the community tremendously as I have demonstrated in Nature Catalysis (https://doi.org/10.1038/s41929-018-0109-2), JACS (https://doi.org/10.1021/jacs.9b05323) and ACS Catalysis (https://doi.org/10.1021/acscatal.7b03151). I also explained the underlying principles in a Chemical Reviews (https://doi.org/10.1021/acs.chemrev.8b00399). |
Let's make sure we are talking about the same thing. In this repository, I see
What did you intend to submit for review? |
The ELECTRIC repository is what we intended to submit for review. https://github.com/WelbornGroup/ELECTRIC/tree/master/ELECTRIC/mdi is a copy of https://github.com/MolSSI-MDI/MDI_Library. We do not intend for this to be considered in the review. The parts of the repository specific to the ELECTRIC driver in this directory (https://github.com/WelbornGroup/ELECTRIC/tree/master/ELECTRIC), excluding MDI. This analysis requires use of MDI-enabled Tinker (Tinker-ELECTRIC), linked in the submitted repository. You can see our version with commit history here - https://github.com/MolSSI-MDI/Tinker/tree/mdi-ef . This modification to Tinker was a large part of the work for this project. Once we were able to get the information we needed via this MDI enabled version of Tinker, the driver itself (in the ELECTRIC repository) was not too much trouble to write. We did work to make the implementation more convenient (via use of Concerning mentioning 'design' and LOC in my earlier comment - When we started this project, we knew in general what we wanted to calculate (the electric field), and that electric fields are calculated (in some cases) in Tinker in order to calculate multipoles. What was less clear was at what stage we retrieve information from Tinker or what calculations we should do ourselves. One option would have been to get multipole information and coordinates and do the mathematically intensive calculation outside of the software in our own code. This would have resulted in a much more complicated piece of software (probably less efficient, more prone to error, more lines of code, and yes, much more work). However, there is an existing subroutine in Tinker that does calculate the electric field as we needed it to be calculated, but it is not visited in a typical molecular dynamics run. We decided to send coordinates from a trajectory to Tinker using MDI and to force the calculation to go through this subroutine. The information we needed to retrieve was still not readily available to be passed out of Tinker using MDI as it is discarded (the electric field is typically only used as a means to calculate multipoles and not used for analysis, and is not calculated on a per atom basis under typical conditions). So, we also had to alter the Tinker source code to visit the relevant subroutine when we needed, retrieve, and pass out this information. At this point we also had to choice to either make this into something that ran alongside the MD run or a post processing method. We chose to make this a post processing methods so that we could parallelize this extra calculation. Once we could retrieve the electric field, it was a matter of summing the information correctly in the driver (so I understand how Just wanted to explain some of the design choices and considerations we went through during implementation that are not reflected in the LOC of the final product. None of the choices we made were clear initially. What we ended up with is a relatively small piece of code which runs quickly and delivers novel analysis for researchers in this field. As @valeriewelborn mentioned, this type of analysis has already been shown to be useful in a number of peer reviewed publications, and was previously not available to most researchers. We felt this was notable and worthy of a JOSS submission. Thanks again for your time and consideration. |
@danielskatz Thank you very much for the time you’ve devoted to clarifying the nature of this submission. As the above discussion suggests, the boundaries defining exactly what constitutes this submission are not entirely trivial. To be clear, any calculation involving the ELECTRIC code involves participation of the following components:
I can understand that the submission, as originally presented, might not appear to fulfill the JOSS requirements for “substantial scholarly effort” (although, as @janash points out, the scholarly effort associated with the ELECTRIC code is much larger than the LOC count might imply). Nonetheless, I believe that if the ELECTRIC code and the Tinker contributions are considered in combination, we unambiguously meet the JOSS standard. Our contributions to Tinker easily exceed 1000 lines (https://github.com/MolSSI-MDI/Tinker/blob/mdi-ef/source/mdiserv.f alone is 921 lines), and both @janash and I have made meaningful contributions to the project since January, 2020. Neither the ELECTRIC code nor the Tinker contributions could be considered “one-off” modifications; in particular, the Tinker contributions have been made with the intention of supporting general communication with external codes and are not limited to supporting ELECTRIC. The primary questions I have are as follows:
|
Hello @richardjgowers. Yes, this looks very interesting and well suited for my background! |
Hi @richardjgowers. Yes, I will be available to review this Ms./implementation. Best, |
@whedon add @amandadumi as reviewer |
OK, @amandadumi is now a reviewer |
@whedon add @govaguz as reviewer |
OK, @govaguz is now a reviewer |
@whedon remove @govaguz as reviewer |
OK, @govaguz is no longer a reviewer |
OK, @govarguz is now a reviewer |
@whedon start review |
OK, I've started the review over in #2576. |
Submitting author: @valeriewelborn (Valerie Vaissier)
Repository: https://github.com/WelbornGroup/ELECTRIC
Version: v1.0.0
Editor: @richardjgowers
Reviewers: @amandadumi, @govarguz
Managing EiC: Daniel S. Katz
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
Author instructions
Thanks for submitting your paper to JOSS @valeriewelborn. Currently, there isn't an JOSS editor assigned to your paper.
@valeriewelborn if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). In addition, this list of people have already agreed to review for JOSS and may be suitable for this submission (please start at the bottom of the list).
Editor instructions
The JOSS submission bot @whedon is here to help you find and assign reviewers and start the main review. To find out what @whedon can do for you type:
The text was updated successfully, but these errors were encountered: