Skip to main content

A tool to create and visualize sample layouts for multiwell plates.

Project description

PyPI - Version PyPI - Python Version pages-build-deployment .github/workflows/draft-pdf.yml .github/workflows/publish-to-pypi

PlatePlannerLogo
  • Dynamic QC Sample Patterns: Create plate layouts with customizable QC sample patterns.
  • Flexible Sample Distribution: Distribute samples within groups across plates, accommodating variable numbers of samples per group.
  • Non-Split/Split Group Handling: Control over distributing samples within groups without splitting them over plates or splitting when necessary.
  • Customizable Run Lists & Plate Visualizations: Generate run lists and visualize plate assignments.
  • Block Randomization: Perform sample randomizaition or sample block randomization to prevent run order bias.

Installation

To install PlatePlanner, simply run:

pip install plate-planner

Documentation

For more detailed documentation, visit PlatePlanner Documentation.

Quick Start Guide

Here's a quick example of how to use PlatePlanner:

from plate-planner import Study, QCPlate

# Create a study and load your file with sample records (csv, xls/xlsx)
study_with_qc = Study(name="cancer")
study_with_qc.load_specimen_records(
    records_file="./data/study_samples.csv",
    sample_group_id_column="pair_ID",
    sample_id_column="specimen_ID"
)

# Block randomize groups
study_with_qc.randomize_order(case_control=True, reproducible=False)

# Distribute samples to a 96-well plate with QC samples as defined in the toml file
qc_plate = QCPlate(plate_dim=(8, 12), QC_config="./data/plate_config_dynamic.toml")
study_with_qc.distribute_samples_to_plates(plate_layout=qc_plate)

# Create visualization for plate 3
fig = study_with_qc[2].as_figure(
    color_metadata_key="organ",
    annotation_metadata_key="date_of_birth",
    rotation=45,
    )

Alt text

#mshow distribution of sample attribute across all plates
fig = study_with_qc.plot_attribute_plate_distributions(attribute="organ", normalize=True, plt_style="fivethirtyeight")
attribute distribution across plates visualization example

Contributing

We welcome contributions to PlatePlanner! Please read our Contributing Guidelines for more information on how to get involved.

License

PlatePlanner is distributed under the terms of the MIT license.

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

plate_planner-0.2.0.tar.gz (4.3 MB view details)

Uploaded Source

Built Distribution

plate_planner-0.2.0-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

Details for the file plate_planner-0.2.0.tar.gz.

File metadata

  • Download URL: plate_planner-0.2.0.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for plate_planner-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c1c74f812f3649bb48d929bb36117d65a25cf3b36bf6f76bf944acc5abac685a
MD5 a5bb243bdc10adc66e7f63310ca30283
BLAKE2b-256 94c43334b6c0f986ce10c02a9784659c25b70caf8d6faf7a30da6238c48d42d8

See more details on using hashes here.

File details

Details for the file plate_planner-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for plate_planner-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5fdf61e88faefae8cb4366471544f08d4496514670acae2e8c82f0f2b1e43cb
MD5 8ff813ca2146e5db2632eb54b45d08d3
BLAKE2b-256 8f640699d75b6ce69a37f00d845a1050e281d819c814c70339ca53dcc266f7ac

See more details on using hashes here.

Supported by

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