Code Monkey home page Code Monkey logo

workflow-structure's Introduction

License: MIT Binder

Open Reproducible Science: Workflow Structure

One key to open reproducible science is to provide rigorous organization of all workflow code. Not just for when you send your project to someone else. A future version of yourself will also benefit when you return to an organized workflow after some time away.

This repository provides a Python script and Jupyter Notebook both containing an example workflow structure for open reproducible science projects. The example workflow contains the following stages:

  • Environment Setup
  • User-Defined Variables
  • Data Acquisition
  • Data Preprocessing
  • Data Processing
  • Data Postprocessing
  • Data Visualization
  • Data Export

In addition to the example files that contain all workflow stages, this repository includes a Makefile to create placeholder scripts organized by workflow task, as follows:

01-code-scripts/
├── 01-acquire-data.py
├── 02-preprocess-data.py
├── 03-process-data.py
├── 04-postprocess-data.py
└── 05-visualize-data.py

Complementary resources:

Prerequisites

To run this project locally, you will need:

To run this project in a web browser, click the icon below to launch the project with Binder:

Binder

Instructions

Open a Terminal

Within Binder, click "New" and select "Terminal" to open a terminal in the root project folder.

Create and Activate Conda Environment

From the terminal, you can create and activate the project Conda environment.

Create environment:

$ conda env create -f environment.yml

Activate environment:

$ conda activate reproducible-science

Run the Code

From the terminal (locally or within Binder), you can run the example workflow, create the placeholder scripts, and delete the placeholder scripts.

Run example workflow:

$ make run

Create placeholder scripts:

$ make scripts

Delete placeholder scripts:

$ make clean

Contents

01-code-scripts/

Contains all example code.

environment.yml

Contains information required to create the Conda environment.

Makefile

Contains instructions to execute the code.

workflow-structure's People

Contributors

calekochenour avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.