Skip to content
 
 

Repository files navigation

Peptide Panel Designer

This repository contains a Vue web interface and the Rust pep_selector engine for designing targeted LC-MS peptide panels for bacterial and fungal identification.

The application uses local, versioned indexes built from UniProt reference proteomes, complete UniProtKB, and an NCBI taxonomy snapshot. It does not send taxa or peptide sequences to an external analysis service.

Web workflow

The interface has one workflow: Design for a taxon. Search the local NCBI taxonomy by scientific name, ID, or rank, then design a species or broader-clade panel using the indexed Rust engine.

On first load, the main area shows the requested 100-assay panel as a preloaded example of the available output and validation views. It is not a separate analysis mode. Selecting a taxon replaces the example with the custom-design workspace.

Preloaded 100-assay example

The dashboard exposes the latest fixed-budget panel for:

  • 10 requested species, with three strict peptide markers per species;
  • 9 requested clades, with the remaining assays allocated to broad, repeated reference-proteome support;
  • 100 distinct peptide assays in total;
  • complete-UniProtKB outside-taxon exclusion; and
  • lineage-aware hold-out validation where enough independent branches exist;
  • generic HCD analytical annotations for every exact sequence at 2+ and 3+: DeepLC retention coordinates, Pfly detectability probabilities, MS2PIP transitions, and a downloadable MSP library.

The source files are under:

pep_selector/results/requested_hierarchical_panel_2026_02_adaptive_v2/final_100_assays

The hold-out results and presentation figures are under:

pep_selector/results/requested_holdout_validation_2026_02_v1

The analytical prediction profile and reproducible runner are documented in pep_selector/docs/ANALYTICAL_PREDICTIONS.md.

Custom design

Browse any taxon with descendant reference proteomes in the local index, or enter its NCBI taxon ID directly. The Rust service then:

  1. finds descendant reference proteomes using the local NCBI taxonomy;
  2. digests phylogenetically distributed source proteomes;
  3. screens candidates across all indexed reference proteomes;
  4. rejects candidates with disallowed occurrences outside the target in complete UniProtKB;
  5. greedily selects complementary peptides to maximize repeated per-reference support; and
  6. adaptively adds under-covered reference proteomes as new candidate sources; and
  7. runs the same generic HCD analytical prediction profile used by the example panel.

The result uses the same tabbed interface as the example and includes selected peptides, per-reference marker counts, adaptive-discovery history, DeepLC retention predictions, Pfly detectability, clickable MS2PIP spectra, and downloadable TSV/MSP files.

Run the application

The Rust server serves both the API and the compiled Vue application.

npm install
npm run build
cargo run --release --manifest-path pep_selector/Cargo.toml --bin pep_selector_server

On Windows the server automatically uses C:\pep_selector_pred_env\Scripts\python.exe when it exists. Otherwise pass --prediction-python <path> or set PEP_SELECTOR_PREDICTION_PYTHON; setup is described in the analytical-prediction documentation linked above.

Open http://127.0.0.1:8787.

For frontend development, run the API and Vite separately:

npm run dev:api
npm run dev

The Vite development server proxies /api to http://127.0.0.1:8787.

Verification

npm run build
cargo test --manifest-path pep_selector/Cargo.toml
cargo clippy --manifest-path pep_selector/Cargo.toml --all-targets -- -D warnings

Interpretation

The software produces computational candidates, not a validated clinical or release assay. Database specificity does not establish LC-MS detectability. Transition selection, retention time, matrix interference, detection limits, reproducibility, and taxon-calling thresholds require empirical validation. Lineage hold-out testing estimates target-side sequence generalization; temporal validation against future database releases is needed to estimate database-drift risk.

More detailed Rust usage and data provenance are documented in pep_selector/README.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages