ReScience is a peer-reviewed journal that targets computational research
github.com
github.com
I'm thinking of 3 examples off the top of my head...
1. An ODE model with ~10 equations. No code. I reimplemented it and exactly reproduced the plots from the paper. I assume this would be good for ReScience. I'll try to clean it up and submit it this weekend.
2. Another ODE model with ~10 equations. No code. I reimplemented it as best I could, but it doesn't quite reproduce the figures in the paper. Typo in my code? Typo in the paper? No way to know. Is there any place for something like that?
3. A stochastic model with ~4 equations. No code. I reimplemented it as best I could, but because it's stochastic, it's hard to say if it's exactly what the authors originally made. Now here's the interesting part... if I run the model 10 times, naturally I get 10 different outputs. Maybe 1 or 2 will be nice and pretty like the plots in the paper. The other ones look kind of shitty. Is that evidence that the authors ran their model a bunch of times and picked only the nicest looking results for the paper? Or is it evidence that my implementation isn't quite right? I don't know. Is there anything I can do with that code?
https://www.gnu.org/software/octave/
Although I am sure you will find more reviewers ready to review code written with Python / NumPy / SciPy.
Edit: Here's a link: http://www.jmodelica.org/assimulo_home/index.html
Often you'll find the source program, but then discover it's a 12,000 line matlab file with no comments, no spaces between lines, and lots of copy/paste.
Step one of reproducible results: stop using matlab. Step two: give every author a "code reviewer" or "code tidier" to fix their rush-rush-rush-hurry-theres-a-deadline code into something others can at least evaluate against.
Case 1. ok
Case 2. this would need to extra precaution (maybe 3 reviewers) + public challenge to spot any error. Then ask directly the original author. If nothing works, we can declare the paper non reproducible. But it might be heavy responsibility for the you.
Case 3. also ok and you can specify in the accompanying article there are several cases where things does not run as expected.
A lot of computational analysis (at least in biology) is done by students with little background in CS and with no knowledge of version control or best practices. This leads to lots of results which are nearly impossible to reproduce because so many steps have just not been documented.
Being able to show a detailed reproduction, with high quality code that shows all the steps in detail is immensely valuable, and is also a great pedagogic tool for teaching grad students.
I hope it takes off and becomes widely used. Fingers crossed!
Disclaimer: After Nicolas EuroSciPy talk I offered to help, and joined as a reviewer, so I'm obviously very biased.
It seems to me both have merits and one cannot assume that performing a 'replication' is a superior form of 'reproduction', nor the other way around. I suspect the merits and relative desirability of one or the other vary depending on discipline.
When people draw a distinction, it is usually that replication refers to doing exactly the same thing, and getting the same results, whereas reproduction refers to doing a different thing, but reaching the same conclusion.
There is interesting discussion of different forms of verification n "Replication, Reproduction and Re-analysis: Three ways for verifying experimental findings": http://sequoia.cs.byu.edu/lab/files/reser2010/proceedings/Go...
It's been years since I read a PNAS paper but I still remember the disclaimer for each paper that since the author contributed money towards the publication, it must legally be described as "advertisement."
Thus, advertising and scholarship are not incompatible.
The original quote is slightly different:
"An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instruction which generate the figures."
My two, relatively minor but still important, qualms are:
1) the important thing is to be able to verify a claim, not reproduce the method to get the claim. In most cases those are the same thing. But consider the RSA Factoring Challenge. It's easy to verify that RSA640 was correctly factored, even without access to the underlying hardware or algorithms. At that point you know that only a fraction of the world's compute power is needed to factor that number.
I've seen this in my own field of computational chemistry where one paper proposed a way to categorize molecules and a later paper published counter-examples which showed failure cases. The details of how to find the failure case aren't always important - they might even be done with only brain power. Thus there can be good scholarship without knowing the complete compute environment of the paper.
2) Not everyone has images which are machine reproducible from the raw data. For example, https://en.wikipedia.org/wiki/Ribbon_diagram#History describes how Richardson converted 3D protein structures to hand-drawn diagrams:
> These drawings were made in pen on tracing paper over a printout of a Cα trace of the atomic coordinates; they preserved positions, smoothed the backbone path, and incorporated small local shifts to disambiguate the visual appearance.
While there are many computer programs which can do most of those steps, the final presentation may still be tweaked manually when disambiguation is more important than absolute fidelity. (The coordinates are usually available, so it's still possible to get the fidelity.)
this is a sort of research version of an effort i am making re: journalism..
shamefully, i call it 'death to the editorial'
the nytimes has the slogan 'all the news that's fit to print'
it frustrates me that this mentality has, for the most part, bled over into digital media as well where the potential strings of 0s and 1s seems permissibly infinite
i think journalism should also embrace the notion:
an article about computational result is advertising,
not scholarship. The actual scholarship is the full
software environment, code and data that produced
the result
state a fact? let me see the source
reference a quote? let me see the source
posit an opinion? let me see the method of discoveryi want more information stead less
if the journalist, or in this case the researcher, is unable or unwilling then i suppose crowdsourcing is a fine alternative