Giter VIP home page Giter VIP logo

workflow_challenge's Introduction

Integration testing: CircleCI

Imaging data science and sharing team challenge

This code base was written to demonstrate a reproducible workflow. The script downloads some MRI data from a shared data repository, performs some processing, then compares the output against a set of reference files to determine if the output matches.

For the purpose of this exercise, we've broken the code such that integration testing fails (as indicated by the badge on this page). Your task is to troubleshoot the workflow to find the bug and fix it. Additionally, generate a passed circleci build (which should turn the badge above from red to green). Ideally this passed build would be using your own circleci account in a github repository forked from this one, but an easier way would be to push the fix directly to the master branch in this repo. Remember we're interested equally in your approach and your process as much or more than getting to the solution. Please log your approach and your process in the google doc.

In order to run the workflow:

To run on one subject (which is all that circleci tests):

python run_demo_workflow.py --key 11an55u9t2TAf0EV2pHN0vOd8Ww2Gie-tHp9xGULh_dA -n 1

Prerequisites

  1. Make sure FSL is available in your environment and accessible from the command line (the neurodebian vm has this)

a) If you do not have conda in your environment (an installation of miniconda or Anaconda), the following step should download and install a Python 2 conda environment with the appropriate python packages. Otherwise follow the steps outlined in b.

curl -Ok https://raw.githubusercontent.com/agt24/workflow_challenge/master/Simple_Prep.sh
source Simple_Prep.sh

b) First install miniconda:

For Linux:

curl -o miniconda.sh  http://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh

For OS X:

curl -o miniconda.sh  http://repo.continuum.io/miniconda/Miniconda2-latest-MacOSX-x86_64.sh

Next setup miniconda (both OS X or Linux).

chmod +x miniconda.sh
./miniconda.sh -b
conda config --add channels conda-forge

If you did not add miniconda to your environment (.bash_profile), execute to add to your current environment:

export PATH=$HOME/miniconda2/bin:$PATH

Download the Workflow repository and create the specific versioned Python environment:

curl -OsSL https://github.com/agt24/workflow_challenge/archive/master.zip
unzip master.zip
cd workflow_challenge
conda env create -f environment.yml
source activate workflow_env
pip install https://github.com/satra/prov/archive/enh/rdf-1.x.zip

workflow_challenge's People

Contributors

agt24 avatar

Watchers

James Cloos 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.