OpenScienceMOOC / Module-5-Open-Research-Software-and-Open-Source

Module 5: Open Research Software and Open Source
https://eliademy.com/catalog/oer/module-5-open-research-software-and-open-source.html
MIT License
76 stars 52 forks source link

GETTING REPRODUCIBLE , from nature blog, food for thoughts? #39

Closed jcolomb closed 5 years ago

jcolomb commented 6 years ago

from https://www.nature.com/articles/d41586-018-05990-5, while it is more for module 3 on data analysis, there is probably a connection. just wondering...

Use code. Instead of pointing and clicking, use programming languages to download, filter, process and output your data, and command-line scripts to document how those tools are executed.

Go open-source. Code transparency is key to reproducibility, so use open-source tools whenever possible. “If you give me a black box with no source code and it just gives me numbers, as far as I am concerned, it’s a random-number generator,” says mathematician Les Hatton of Kingston University in London.

Track your versions. Using version-control software such as Git and GitHub, researchers can document and share the precise version of the tools that they use, and retrieve specific versions as necessary.

Document your analyses. Use computational notebooks such as Jupyter to interleave code, results and explanatory text in a single file.

Archive your data. Freeze data sets at key points — when submitting an article for publication, for example — with archiving services such as Zenodo, Figshare or the Open Science Framework.

Replicate your environment. Software ‘containers’, such as Docker, bundle code, data and a computing environment into a single package; by unboxing it, users can recreate the developer’s system. ReproZip, developed in the lab of New York University computer scientist Juliana Freire, simplifies container creation by watching program execution to identify its requirements. The commercial service Code Ocean and an open-source alternative, Binder, enable researchers to create and share executable Docker containers that users can explore in a web browser.

Automate. Automation provides reproducibility without users really having to think about it, says bioinformatician Casey Greene at the University of Pennsylvania in Philadelphia. Continuous integration services such as Travis CI can automate quality-control checks, for instance, and the Galaxy biocomputing environment automatically logs details of the jobs it runs.

Get help. Resources abound for interested researchers; see practicereproducibleresearch.org, for instance, or find a Software Carpentry workshop near you to learn basic computing skills.

Protohedgehog commented 6 years ago

Hey @jcolomb, thanks for this! Do you think any of this can/needs to be integrated here into this module? Might be best to copy this issue to the module on reproducibility for now..?

Protohedgehog commented 6 years ago

Ping @jcolomb for any thoughts on this? :)

Protohedgehog commented 6 years ago

Ping @jcolomb again for this one - should it be migrated to Module 3 on reproducibility for now? :)

Protohedgehog commented 5 years ago

Pinging @jcolomb again, just in case!