/* ---- Google Analytics Code Below */

Saturday, April 24, 2021

How and Why to Share Scientific Code

Rarely done this consistently, but it is a useful approach to follow.   Add it to a review and follow up of results.   Plans for maintaining models.  

How and why to share scientific code

A simple guide to reproducible research without becoming a software engineer

By Nathan C. Frey

When you do an experiment, whether that’s in a lab or on a computer, you generate data that needs to be analyzed. If your analysis involves new methods, algorithms, or simulations, you probably wrote some code along the way. Scientific code is designed to be quick to write, easy for the writer to use, and never looked at again after the project is complete (maybe designed is a strong word).

For many scientists, packaging their code involves a lot of work and no reward. I want to share a few obvious benefits and some that are hopefully non-obvious. After that, I’ll give some tips for how to share your code as painlessly as possible without detouring into becoming a software engineer. If you want a simple example of what the finished product will look like, check out my repos for Python Topological Materials or Positive and Unlabeled Materials Machine Learning.

The benefits of sharing scientific code

Encourage reproducibility. As soon as a method has more than one step (click the big red button) or a data analysis pipeline is more complex than “we divided all the numbers by this number,” it becomes unlikely that other scientists will be able to really explore what you did. If you developed a set of instructions to process or generate your data, you wrote a program, whether you wrote it down in code or not. It’s much more natural to share that program than to only write out what you did in your paper.  ... " 

No comments: