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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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