Bed2Myra
Bed2Myra is a command-line tool designed to automate the generation of input files for the MYRA liquid handling robot.
It calculates the required transfer volumes based on primer weights and generates:
- Sample Sheets: Defining the source layout.
- Transfer Sheets: Instructions for the robot to move specific volumes from source wells to destination tubes.
Features
- Automated Mapping: Matches primers from a BED file to their physical location in source plates using an Excel specification sheet.
- Volume Calculation: Automatically calculates transfer volumes based on primer weight (
pwtag in BED file) and a user-defined multiplier. - Safety Checks: Enforces volume limits (Min: 1µL, Max: 50µL) to ensure safe pipetting.
- Replicate Support: Easily generate instructions for multiple technical replicates (e.g., triplicates) in a single run.
- Batch Processing: Process multiple source plates in one command.
Installation
This project is managed with uv.
Local Development
Clone the repository and install dependencies:
git clone <repository-url>
cd bed2myra
uv sync
Usage
Run the tool using uv run:
uv run bed2myra -b <bed_file> -s <spec_sheet> -p <plate_names> [options]
Arguments
| Short | Long | Required | Description | Default |
|---|---|---|---|---|
-b |
--primer-bed |
Yes | Path to the primer BED file containing weights (pw tag). |
- |
-s |
--plate-spec |
Yes | Path to the Excel file (.xlsx) containing plate specifications. | - |
-p |
--plate-names |
Yes | Name(s) of the source plate(s) to process. Supports multiple names. | - |
-m |
--volume-multiplier |
No | Multiplier factor for the volume calculation. | 1.0 |
-r |
--replicates |
No | Number of replicate destination tubes to create. | 1 |
-o |
--output-dir |
No | Directory to save the generated CSV files. | ./output/ |
--output-prefix |
No | Prefix for the output filenames. | myra |
Example
Generate files for two plates (plate_1 and plate_2) with 3 replicates each, using a 1.5x volume multiplier:
uv run bed2myra \
-b data/primers.bed \
-s data/plate_layout.xlsx \
-p "plate_1" "plate_2" \
-r 3 \
-m 1.5 \
-o ./myra_files/
Input File Formats
1. Primer BED File
A standard BED-like file describing the primers. It must contain a weight tag (format pw=<float>) in the description/tags column to calculate volumes or will default to 1μL.
Example:
NC_000962.3 528752 528772 primer_1_LEFT_1 1 + ACCAACG... pw=3.267
NC_000962.3 529173 529193 primer_1_RIGHT_1 1 - CTTGTCG... pw=3.267
2. Plate Specification (Excel)
An Excel file (.xlsx) defining where each primer is located in the source plates. Modelled off the IDT Plate Specs.xlsx but only required columns:
- Plate Name: The identifier for the plate (matches
-pargument). - Sequence Name: The ID of the primer (must match the name column in the BED file).
- Well Position: The specific well (e.g.,
A1,B2).
| Plate Name | Well Position | Sequence Name |
|---|---|---|
| plate_1 | A1 | primer_1_LEFT_1 |
| plate_1 | A2 | primer_1_RIGHT_1 |
Outputs
The tool generates two types of CSV files in the output directory:
- Sample File (
<prefix>_sample_<plate_name>.csv):- Contains the source layout:
Well(Position) andSource Name(Primer ID).
- Contains the source layout:
- Transfer File (
<prefix>_transfer_<plates>.csv):- Instructions for the MYRA robot.
- Columns:
Well(Destination replicate ID),Sources(Primer ID),Volume(Calculated µL).
Release files for bed2myra 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bed2myra-0.1.0.tar.gz | 123.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bed2myra-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.8 kB
Release files / bed2myra-0.1.0.tar.gz
| Download URL | bed2myra-0.1.0.tar.gz |
|---|---|
| Size | 123.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c015dfdb688a39014935bfdd402a67159befa617af61ded340a95401c6d73319
|
|
BLAKE2b-256 checksum How to use checksums |
fb39e20733059d7bd5cd5c304b31e3793a411302e4b24041e4a53c609f7b6dd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / bed2myra-0.1.0-py3-none-any.whl
| Download URL | bed2myra-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c00dc913cce94ecddba11ae1bbce8da141c153429071bbaebb03ff34d70ee82
|
|
BLAKE2b-256 checksum How to use checksums |
446c817e4714927059d5f516daeb3b51f3dfa4eff931752d43b02adbc8865646
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|