Home

Awesome

Better-Science-Code

A presentation on best coding/data management practices based on my own experiences of scientific computing and data analysis and heavily borrowing from the recommendations of many others (This is not meant to be a unique work, more like an annotated compilation of advice.).

Resources

Writing better code

Wilson, G., Bryan, J., Cranston, K., Kitzes, J., Nederbragt, L., and Teal, T.K. (2016). Good Enough Practices in Scientific Computing. arXiv Preprint arXiv:1609.00037.

Initial steps toward reproducible research - Karl Broman

10 Tips for Writing Cleaner & Better Code

Version control

Git for humans - Alice Bartlett

Github Desktop

The curious coder’s guide to git

Introduction to Git & the Command Line

Software Carpentry's Guide to Git

Git Introduction - Chris Markiewicz

How to document your code

Numpy/Scipy Style Guide

Best practices for file naming

Open science

Toward standard practices for sharing computer code and programs in neuroscience

How I learned to stop worrying and love the coming archivability crisis in scientific software - C. Titus Brown

Kitzes, J., Turek, D., & Deniz, F. (Eds.). (2017). The Practice of Reproducible Research: Case Studies and Lessons from the Data-Intensive Sciences. Oakland, CA: University of California Press.

An onboarding guide to research in my lab - trying to articulate clear standards for new projects - Michael C. Frank

Poldrack, R.A., Baker, C.I., Durnez, J., Gorgolewski, K.J., Matthews, P.M., Munafò, M.R., Nichols, T.E., Poline, J.-B., Vul, E., and Yarkoni, T. (2017). Scanning the horizon: towards transparent and reproducible neuroimaging research. Nature Reviews Neuroscience 18, 115–126.

Munafò, M.R., Nosek, B.A., Bishop, D.V.M., Button, K.S., Chambers, C.D., Percie du Sert, N., Simonsohn, U., Wagenmakers, E.-J., Ware, J.J., and Ioannidis, J.P.A. (2017). A manifesto for reproducible science. Nature Human Behaviour 1, 21.

Millman, K.J., and Pérez, F. (2014). Developing open-source scientific practice. Implementing Reproducible Research 149.

Examples of well-written code

ELFI - Engine for Likelihood-Free Inference

Requirements