TL;DR
Ingest wet-lab phage-display and functional-sort sequence pools, dedupe VH clones, and expose per-tier read counts for triage.
Use it / Skip it
This is the intake layer for real wet-lab diversity. A pool becomes reusable platform data instead of a spreadsheet sitting outside the system.
Use when
A lab has delivered FASTA/CSV/TSV sequence reads or a manifest with sample tiers and you need the pool available for semi-de-novo triage.
Don't use for
Do not use it for single binder scoring or structure prediction. Use Interface or Fold for that.
Inputs
- manifest.yaml
- Preferred for multi-sample pools; names samples, targets, tiers, and source files.
- Sample files
- Per-sample FASTA/CSV/TSV files with VH or VHH amino-acid sequences and optional abundance.
- Target metadata
- Target name and sample tier labels so downstream pages can filter correctly.
Outputs
- Pool list
- Ingested pools with clone counts, target, tiers, and upload metadata.
- Top clones
- Per-tier top-K clone table with sequence, abundance, and deduped identifiers.
- Export
- Downloadable clone table for offline review or handoff.
Walkthrough
1. Prepare the manifest and sample files
Prepare the manifest and sample files. Keep one biological sample per file and use consistent tier names.
2. Upload the pool
Upload the pool. The backend validates the files, normalizes sequences, and dedupes clones.
3. Open the pool detail
Open the pool detail. Check total unique clones, available tiers, and whether abundance looks plausible.
4. Export top clones or launch Semi-de-novo Triage
Export top clones or launch Semi-de-novo Triage. Use NGS Pool for data custody; use Semi-de-novo for ranking.
Under the hood
- GET /api/v1/ngs-pool/pools lists ingested pools.
- POST /api/v1/ngs-pool/upload ingests manifest plus sample files.
- Pool detail and clone endpoints return tier-aware summaries and top-K clone rows.
Worked example
Pitfalls
- A pool without target metadata can still be stored, but target-specific launchers may hide it until you pick a compatible target.
- Abundance is useful as a weak tiebreaker, not as a binding guarantee.
- Bad sequence normalization at intake propagates downstream; inspect top clones before running expensive scoring.