Hit Picking
After demultiplexing, usortm pick generates a hit-picking list formatted for
Integra ASSIST PLUS liquid handling robots. The pick list maps each recovered variant
from its source plate/well to a target plate position, preserving the original library ordering.
Generating a Pick List
usortm pick my_project/
By default, one well is selected per unique variant (the well with the highest read count and consensus quality), filtered to Tier A quality (≥100 reads, >90% consensus). Wells with flanking region mismatches or consensus errors are excluded. Unrecovered variants are preserved as empty placeholders to maintain the library layout.
Options
| Option | Short | Description | Default |
|---|---|---|---|
--targets |
-t |
CSV of specific variants to pick | all |
--output |
-o |
Output file path | pick/Integra ASSIST Input/hitlist_integra_assist.csv |
--volume |
-v |
Transfer volume (µL) | 5.0 |
--target-format |
Target plate format (96 or 384) | 384 | |
--fill-order |
Fill order (row or column) | row | |
--unique-only/--all-hits |
Pick one well per variant | True | |
--tier |
Quality tier filter: A (≥100 reads), B (≥50), C (≥20). All require >90% consensus. Use --tier '' to disable. |
A | |
--compact/--no-compact |
Pack recovered hits into adjacent wells; omit empty placeholders | False | |
--pileups/--no-pileups |
Generate per-well pileup HTML visualizations | True | |
--workers |
-w |
Parallel workers for pileup generation | 4 |
--include-flank-errors |
Include wells with flanking region mismatches | False | |
--include-cons-errors |
Include wells with consensus mismatches (Other Error / Silent Mutation) | False | |
--round |
-r |
Sequencing round to pick from (1 for initial, 2+ for re-order rounds) | 1 |
Output Files
my_project/pick/
Integra ASSIST Input/
hitlist_integra_assist.csv # Semicolon-delimited CSV for robot
README.txt # Instructions for the Integra ASSIST
pileup/
well_1_A3.html # Per-well pileup visualizations
well_1_B7.html
...
pick_plate_map.html # Interactive pick plate map
pick_list.json # Machine-readable pick list
Integra ASSIST Format
The output CSV uses semicolon delimiters and is formatted for direct import into the Integra ASSIST PLUS software:
SampleID;SourcePlateID;SourceWell;TargetPlateID;TargetWell;TransferVolume
K44A;1;K23;0;A1;5.0
G45A;1;A11;0;A2;5.0
UNRECOVERED_X;;;;;0.0
Unrecovered variants have TransferVolume = 0, so the robot skips them while preserving
the library layout on the target plate. Use --compact to omit these placeholders.
Pileup Visualizations
When --pileups is enabled (the default), a per-well HTML pileup is generated for each picked well.
These show the aligned reads against the expected reference, with color-coded mismatches and insertions/deletions.
Pileups are linked from the interactive pick plate map and the HTML report.
Pileup generation requires read_df.csv and per-variant reference FASTAs in the demux output.
If you used remote demux, make sure to fetch with
--read-data before running pick.
Streak-Out Recovery
During demux, uSort-M detects wells containing two or more correctly-assembled subpopulations of reads
(streak-out candidate detection).
When a variant that would otherwise be unrecovered exists as a minority population in a mixed well,
usortm pick automatically adds it to the pick plate as a streakout entry.
Streakout entries appear in the pick plate map in blue and have TransferVolume = 0 in the
Integra ASSIST CSV (the robot skips them). Instead, these wells should be manually streaked out to
isolate the minority clone. Each streakout entry links to a per-well pileup showing the read composition.
Multi-Round Workflow
A single round of sequencing typically recovers ~85–95% of the library. Variants that were not recovered (dropouts) can be re-synthesized, re-sorted, and re-sequenced in a second round to push recovery higher. uSort-M supports this iterative loop natively.
When to Use Multiple Rounds
- Round 1 recovery is below your target (e.g. <90% for a critical library)
- You need near-complete coverage of the library for downstream assays
- Streakout alone does not recover enough missing variants
Step-by-Step
1. Export dropout variants for re-synthesis
After picking round 1, generate a synthesis order containing only the unrecovered variants:
# IDT eBlocks (96-well plate format)
usortm reorder my_project/ --format eblocks
# Twist Gene Fragments
usortm reorder my_project/ --format twist
# IDT oPools
usortm reorder my_project/ --format opools --pool-name "dropout_r2"
# Use original library sequences (with golden gate adapters)
usortm reorder my_project/ --format eblocks --library original_library.csv
The --library flag replaces dropout sequences with those from the original
library CSV (e.g. with golden gate adapters or length-normalizing padding). Use --trim-bsai
to trim to 5 bp outside flanking BsaI sites.
2. Plan round 2
After re-synthesis, create a round 2 plan using the dropout variants:
usortm plan dropout_variants.csv --output my_project/ --round 2
This creates a rounds/2/ subdirectory within the project with its own barcode assignments.
3. Demux and pick round 2
# Demultiplex round 2 data
usortm demux my_project/ --fastq round2.fastq --round 2
# Generate round 2 pick list
usortm pick my_project/ --round 2
4. Merge all rounds
Combine results from all rounds into a single unified pick plate:
usortm merge my_project/
merge fills gaps from earlier rounds with results from later rounds, preserving
the original library order. Source plate IDs are prefixed with the round number
(e.g. R1_3, R2_4) so the Integra ASSIST can distinguish plates
from different sequencing rounds.
5. Generate the merged report
usortm report my_project/ --round merged
The merged report includes recovery curves showing cumulative variant recovery across rounds, merged plate maps, and combined detail tables.
Merge Options
| Option | Short | Description | Default |
|---|---|---|---|
--rounds |
-r |
Comma-separated round numbers (e.g. 1,2) |
all completed rounds |
--tier |
Minimum quality tier (A/B/C) | C | |
--volume |
-v |
Transfer volume (µL) | 5.0 |
--target-format |
Target plate format (96 or 384) | 384 | |
--fill-order |
Fill order (row or column) | row |
Project Directory Layout
After two rounds and a merge, the project directory looks like:
my_project/
usortm_project.json # Master project state
variants.csv # Original library
demux_output/ # Round 1 demux results
pick/ # Round 1 pick results
rounds/
2/
usortm_round.json # Round 2 state
variants.csv # Dropout variants
demux_output/ # Round 2 demux results
pick/ # Round 2 pick results
merged/
well_assignments.csv # Combined well assignments
pick/
hitlist_integra_assist.csv
pick_plate_map.html
report/
summary.html # Merged report
Generating Reports
# Single-round report
usortm report my_project/
# Report for a specific round
usortm report my_project/ --round 2
# Merged multi-round report
usortm report my_project/ --round merged
The HTML report (summary.html) includes interactive demux plate maps, pick plate maps,
per-variant pileup links, and hit-picking detail tables. Open it in any browser.