Closed gdetor closed 9 years ago
I will review this paper.
I will review this paper.
Oops, I already did the maximum of reviews (2), so withdrawing myself from this one.
I will review it.
Reminder to @otizonaizit and @btel
sorry for the delay. when do you need the review the latest?
Hi @btel . The original deadline was the 20 september but as you were invited to review the paper later we can accomodate for a delay. Would the end of next week (3 october) work for you?
@pdebuyl sure, no problem.
Perfect, thanks for the reply!
The paper describes an approach for spike sorting - a common taks in electrophysiology. The authors present a Python-based analysis and at the same time propose an new method for correction of the spike misalignments.
The paper is well-written and novel. Although at times it is technically challanging, especially for non-specialist, in general does a very good job in introducing the problem and solution in a step-by-step maner.
After reading this paper, I found several points that might need elucidating:
I will also annotate the pull request with some minor comments.
The authors might also consider submitting an extended version of this manuscript to a specialised journal (such as J. Neurosci. Methods).
Reminder to @otizonaizit
The paper is very well written and makes it understandable even to the non domain expert what spike sorting is about and what are the problems in this necessary procedure. It is maybe a bit too technical as a paper for the EuroSciPy proceedings, but definitely worth publishing.
I am missing a link to the spysort
library, which seems to contain
the implementation of the algorithm presented in the paper. As I did
not recompile the paper sources after the authors corrections, the
link may indeed be present now. If not, I think it is a necessary
condition to publication, in particular because the authors claim
their support of the "reproducible research" paradigm ;)
For the same reason I can not reproduce the figures with the scripts
uploaded to the git repository, as the imported spysort
library
is missing.
As the other reviewer already pointed out, a mention of the other competing spike sorting libraries in Python seems necessary. Are there any plans to merge the functionality presented here with (one of) those libraries? And if not, why not?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SPYSORT MANSCRIPT: REPLY TO REFEREES COMMENTS
Christophe Pouzat and Georgios Detorakis
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
We first want to thank our two referees for their careful reading of our manuscript and for their insightful suggestions. We rarely get such detailed comments from neurophysiological journals! We submit now a revised version of the manuscript addressing the questions and comments of the referees and correcting the typographic / spelling mistakes they spotted. Our description of the changes and replies to the referees now follows.
1 Referee 1 (Bartosz Telenczuk) ═══════════════════════════════
1.1 Major points ────────────────
┌──── │ The title can be misleading - it suggests that authors propose a new Python library │ for spike sorting, but they do not provide a link to the sources. Did the authors │ develop such a library or they just describe how spike sorting can be done using the │ standard scientific Python? Any of the option should be explicitly mentioned. └────
We apologize for the lack of clarity of our original version. We both developed a small Python library and we described how sorting can be performed in standard scientific Python "enhanced" with the few functions of our library. The links to the code and to a detailed tutorial on "how spike sorting can be done with Python" can now be found in the new paragraph at the end of the Introduction. This material served as the basis for a spike sorting course given at the mini-school of the "GDR multielectrodes" ([http://gdr2904gif.sciencesconf.org/?lang=fr]) given in Gif-sur-Yvette on Monday, October 13.
┌──── │ Related question: Have the authors integrated or plan to integrate their methods into │ exsiting spike sorting frameworks in Python (such as openelectrophy or SpikeSort)? └────
Yes, the original idea was (and remains) to merge with OpenElectrophy. The first author, C Pouzat, started coding in Python partly to make this merging easier.
┌──── │ In several paragraphs the authors mention that superimposed spikes can pose a problem │ for spike sorting algorithms, but it is not clear from my reading whether their │ proposed method can deal with this. └────
We made a regrettable mistake while preparing the last figure that became very misleading (due to a code developed in Python 3 and a figure generated with Python 2: a real division by 3 became an integer division). This mistake has now been corrected demonstrating, we think, that we can indeed efficiently deal with superpositions. Numerous examples can also be found in the tutorial mentioned (with link) in the new last paragraph of the introduction.
┌──── │ The proposed method for jitter estimation and cancellation is very interesting. Have │ the authors compared how it performs with interpolation-based methods? └────
Yes, in fact the latter was used (in R) until the recoding in Python was started. This was the occasion to rethink the problem and lead to this new solution. The spline based interpolation was fast but the new method is an order of magnitude faster (at least in R).
┌──── │ The authors might also consider submitting an extended version of this manuscript to │ a specialised journal (such as J. Neurosci. Methods). └────
Yes, we are currently extending the jitter-cancellation method so that it can deal with amplitude modulated spikes during bursts. We will then submit a manuscript to a dedicated journal.
1.2 Minor points ────────────────
We comment here only the points going beyond a typographic / spelling mistake. We give the date and time of the commit containing the point as a reference.
Date: 2014-09-30 12:11 ┌──── │ 1) "the more damage ensues |---| :" - remove hanging dash before colon │ 2) "But this attractive feature comes at a price" - it might be understood │ that the damage is an attractive feature └────
Yes, the phrase has been modified to remove the ambiguity.
Date: 2014-09-30 12:12 ┌──── │ "This new development is given due space in the sequel." - does the │ "sequel" refer to a follow-up paper or the following sections of the │ manuscript. └────
The phrase has been modified referring now explicitly to the section number where the development is discussed.
Date: 2014-09-30 12:13 ┌──── │ time scale is missing └────
The time scale is now on figure 1.
Date: 2014-09-30 12:14 ┌──── │ for a non-specialist you may mark the putative cells (by colors or markers) └────
This is now done on figure 2. The caption and main text have been modified accordingly.
Date: 2014-09-30 12:20 ┌──── │ ' the "most obvious" superpositions are removed from the │ sample ' : what are the "superpositions"? How are they detected? │ 'on the plans defined' : plans -> planes └────
Figure 3 has been modified to show explicitly the superpositions (in red) and the caption has been modified. The detection method is simple but a "bit long" too explain. It can nevertheless be found in the source file (in emacs org-mode) allowing the reproduction of entire analysis of this manuscript (with the manuscript's figures and many more). The link to this file is given in the new paragraph at the end of the Introduction.
Date: 2014-09-30 12:24 ┌──── │ spli and invert the last sentence: "The key difference of our approach with │ [Pil13]_ is the use of the second order expansion, it seems to simplify │ considerably the subsequent estimation problem. A Taylor expansion to the second │ order in :math:\delta gives:" └────
That's done.
Date: 2014-09-30 12:25 ┌──── │ isn't the variance of Z(t) missing from the right-hand side of the equation? └────
Whoops, the referee is perfectly right! The missing variance is now where it should be and the text has been modified accordingly.
Date: 2014-09-30 12:25 ┌──── │ f_i and f_i' should be introduced above └────
Done.
Date: 2014-09-30 12:26 ┌──── │ the word "amplitudes" is ambigious in this context, it could refer to peak-to-peak amplitudes └────
We agree, a clearer description has now been adopted.
Date: 2014-09-30 12:27 ┌──── │ what "idiosyncracies" of matplotlib did the authors face? └────
Examples are now given. We are not making a defense of R as opposed to Python here, just mentioning these seemingly innocuous syntactic changes making the first days somewhat painful when switching from R to Python (the converse would of course be true).
Date: 2014-09-30 12:28 ┌──── │ "It is in fact, we think, an important step forward since it allows │ electrophysiologists to process superposed events systematically" : does │ "It" in this sentence refer to work of Pil13 or the new jitter │ cancelation method of the authors? └────
The latter, the phrase has been modified to make our point clearer.
2 Referee 2 (Tiziano Zito) ══════════════════════════
2.1 Major points ────────────────
┌──── │ I am missing a link to the spysort library, which seems to contain │ the implementation of the algorithm presented in the paper. As I did │ not recompile the paper sources after the authors corrections, the │ link may indeed be present now. If not, I think it is a necessary │ condition to publication, in particular because the authors claim │ their support of the "reproducible research" paradigm ;) └────
The new last paragraph of the introduction contain the missing links. A link to a source file (in emacs org-mode) allowing the reader to reproduce all the figures of the manuscript and to do the full analysis of this data set as also been added. We fully agree that this is a necessity for this kind of paper (not to say for any kind of paper).
┌──── │ As the other reviewer already pointed out, a mention of the other │ competing spike sorting libraries in Python seems necessary. Are │ there any plans to merge the functionality presented here with (one │ of) those libraries? And if not, why not? └────
This is also clarified in the new last paragraph of the introduction.
Pinging @btel and @otizonaizit in case they do not receive the notifications in which their github name is not written.
The authors answered all of my questions and improved significantly the manuscript. I recommend the manuscript for the publication.
I second the recommendation for publication.
Ok, thanks to all for the updates.
The paper will be merged modulo global proceedings layout fixes, etc.
Regards,
Pierre
Dear Georgios,
Thanks for your submission. This one is working all right! Reviewing will take place here.
Regards, Pierre