Skip to content

Standard Workflow

This page describes the standard workflow for contributing to the mecfs_bioinformatics repository.

Create a new branch

Use checkout to create a new branch for your changes.

git checkout -b <branchname>

Make changes

Implement your changes. Typically, this will involve:

  • Defining a new Task object in the assets directory. This can often be accomplished using an existing Task class, but if no Task class meets your needs, you can implement a new one in the task directory.
  • Adding an analysis script to materialize the new asset you defined.

If you added a new Task class, you will also want to add a unit test to the test_mecfs_bio directory to verify that it works as intended on some dummy data. To read about the principles of unit testing, see Winters et al.2 1.

Update documentation

If any documentation changes are needed, edit the corresponding files in the docs directory, then view the results by running the following command and accessing http://localhost:8000 in your browser.

pixi r invoke sdocs

sdocs will both download figures and serve docs. To only serve docs without downloading figures, use pixi r invoke serve-docs.

Run linters, formatters, and tests

The invoke green command runs linters, formatters, and tests. Run it with

pixi r invoke green

It is advisable to run invoke green and fix any detected errors prior to submitting a PR.

Commit changes, create a PR

Commit your changes and push them

git add mecfs_bio test_mecfs_bio; git commit -m '<your message>';git push --set-upstream origin <branchname>
Finally, use the github interface to create a PR from your changes, and ask a reviewer for a review.


  1. The chapter on testing can be found here

  2. Titus Winters, Tom Manshreck, and Hyrum Wright. Software engineering at Google: Lessons learned from programming over time. " O'Reilly Media, Inc.", 2020. URL: https://abseil.io/resources/swe-book/html/toc.html