Skip to main content

Wetlab protocols that follow the Unix philosophy.

Project description

Stepwise is a program for crafting scientific protocols. Its central idea is that it should be easy to create large, complex, single-use protocols by piecing together any number of smaller, simpler, multi-use protocols. This modular approach has several benefits:

  1. It’s intuitive. Although it’s good for protocols to contain a fine-grained level of detail (e.g. add 5 µL of solution A, then incubate at 37°C for 15 min), it’s more natural to think about protocols at a higher level (e.g. do PCR, then run a gel).

  2. It’s concise. Having to repeatedly write down similar details for similar experiments is tedious and prone to ambiguities or inconsistencies. Being able to easily reuse protocols eliminates this redundancy without sacrificing any detail.

  3. It’s reproducible. By lowering the barrier to record every relevant detail for every protocol, it’s more likely that others (your future self included) will be able to reproduce your experiments.

More concretely, stepwise is a command-line tool. Protocols are either text files or scripts that produce text output. Most protocols start off as simple text files, and grow into scripts when they’re used enough to benefit from the extra complexity (e.g. by having optional steps, pre-calculated reagent volumes, etc). Protocols can be combined using Unix pipes, which turns out to be a very powerful and flexible approach. For example, a pipeline can be saved as a shell script and subsequently used as a standalone protocol, even in other pipelines. For more information on writing and using protocols, refer to the documentation.

Since protocols are just text files, they can be easily shared using standard tools like git. Below are links to some curated collections of commonly-used protocols. If you are new to stepwise, these collections make it easy to get started quickly and productively:

https://img.shields.io/pypi/v/stepwise.svg https://img.shields.io/pypi/pyversions/stepwise.svg https://img.shields.io/readthedocs/stepwise.svg https://img.shields.io/github/workflow/status/kalekundert/stepwise/Test%20and%20release/master https://img.shields.io/coveralls/kalekundert/stepwise.svg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stepwise-0.28.0.tar.gz (113.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stepwise-0.28.0-py2.py3-none-any.whl (72.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file stepwise-0.28.0.tar.gz.

File metadata

  • Download URL: stepwise-0.28.0.tar.gz
  • Upload date:
  • Size: 113.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for stepwise-0.28.0.tar.gz
Algorithm Hash digest
SHA256 e85982412ba4afb6b742a1bbf78189e1948664abca09ef5be87948dcab0d1370
MD5 a2abda7ca58e81bbf71c48ac7c315a1b
BLAKE2b-256 e7e87709feabf960a00df0e9160ec21109f7df9f7ca8349770b8304c0dda22c4

See more details on using hashes here.

File details

Details for the file stepwise-0.28.0-py2.py3-none-any.whl.

File metadata

  • Download URL: stepwise-0.28.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 72.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for stepwise-0.28.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6d8b1af4064f94543268328f7c9b1844805f88100631d3c0a177dd4339d1767b
MD5 3b5193d2d04c181b74b79d4e6abd7026
BLAKE2b-256 e3ddf5b34b98d5d29ed9b5c3def52e8f5830904c4a9cf1287affec98b356e5e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page