Skip to content

Simple design of plate-based experiments

License

Notifications You must be signed in to change notification settings

chnorn/skittle-sheets

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The skittle sheet is a human- and machine-friendly format for designing plate-based experiments. This package exports skittle sheets from Google Sheets or local files to "long-form" tables for easy downstream use (e.g., notebook analysis or input to a database).

Format and examples

layout and longform output

There are three meaningful blocks that are automatically extracted from the layout based on location. Any other content is ignored, so it's OK to put notes wherever you like.

  1. Key value pairs, like experiment: <experiment_name>. These must be at the top left of the sheet.
  2. Variable definitions. Each must be an Oklahoma-shaped region in the first three columns (variable name, value, and code).
  3. Grids mapping variables onto plates. The grid can be anywhere, but the spacing between variable name and row/column labels is important. Fill out the plate with codes (empty cells are OK). Plates labels can be listed after a semicolon (a grid with no plate label applies to all plates).

Examples

The layouts are downloaded from here (public Google Sheets).

# example A
skittle export https://docs.google.com/spreadsheets/d/1UVDRgs1w6fySZqJqEbEH1v7m1i0qhhpQ_r9Y59TZ8tU/edit#gid=968744084
# example B (shown above)
skittle export https://docs.google.com/spreadsheets/d/1UVDRgs1w6fySZqJqEbEH1v7m1i0qhhpQ_r9Y59TZ8tU/edit#gid=767021684
# example C
skittle export https://docs.google.com/spreadsheets/d/1UVDRgs1w6fySZqJqEbEH1v7m1i0qhhpQ_r9Y59TZ8tU/edit#gid=1432994532

Usage

Public Google Sheets

skittle export <URL>

Private Google Sheets

Share your Google Sheets document with the service account generated above (read-only is fine). Then run:

skittle export "<spreadsheet>/<worksheet>"

If the Drive and Sheets APIs are not already enabled, there will be an error message with a link prompting you to enable them.

Local

skittle export layout.csv

Installation

pip install skittle-sheets

To access private Google Sheets, generate a service account and JSON key file following https://cloud.google.com/iam/docs/creating-managing-service-account-keys

Place the JSON key file in the working directory, a parent directory, your home directory, or ~/config/skittle. Make sure the filename matches *service*.json (e.g,. move it to ~/config/.skittle_service.json).

About

Simple design of plate-based experiments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%