Open source · Apache-2.0

Wound Healing Peptide Discovery Platform

Describe a wound and what the peptide should do. The pipeline generates candidate sequences, screens them through physicochemical, functional, structural, safety and synthesis models, and returns a ranked shortlist with the evidence behind each one.

Every number here is a model's estimate on a computationally generated sequence. None of it substitutes for wet-lab validation. The interface says so too, and the platform reports what it did not measure rather than leaving a gap to be read as a pass.

What it is made of

Each piece runs on its own. There is no hard dependency on Google Cloud, on a GPU, or on any copyleft library.

Pipeline

14 stage directories, 8 implemented — generation, screening, functional models, structure, safety, synthesis, ranking.

16 predictors

ESM-2 embeddings with XGBoost and sklearn heads, a BiLSTM+CNN MIC ensemble, ESMFold for structure, ProtGPT2+LoRA for de novo generation.

Job API

Submits Vertex AI Custom Jobs and reads their artifacts — optional, for scale. The pipeline runs locally without it.

Accounts & proxy

Email/password accounts and an authenticating proxy: the only route to the job API, which has no auth of its own.

Web app

React and TypeScript, one origin, no CORS. Every number it shows is a field of a response, never recomputed.

Deployment

Three containers via Docker Compose. Only the web one publishes a port.

Try it without any cloud account

The whole pipeline runs locally. No Google Cloud, no Docker, no GPU. Slower on CPU, and the predictors need model weights — but it is the same code, not a reduced version of it.

git clone https://github.com/Wellmatix-Bio/peptide_discovery_platform.git
cd peptide_discovery_platform
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python main.py configs/runs/test_run.yaml

What it will not answer

Stated plainly, because the interface states it too. A platform that hides its limits is harder to trust than one that prints them.

A check that did not run is never reported as a pass

The rule the codebase bends hardest to keep. If a model is unavailable, a screen is skipped or a value withheld, the result says so — not_screened, available: false, "No value" — never a default, a dash, or a zero.

The ranked shortlist, showing each candidate's score alongside the evidence behind it
The ranked shortlist. Each candidate carries its score, the proportion of its intended evidence that actually existed, and the modules that produced none.

Documentation

DocumentWhat it covers
ArchitectureHow the pieces fit, and what you can leave out
DeploymentRunning the stack locally and on a VM
LicensingApache-2.0, the two optional copyleft dependencies, model weights
BaselineThe measured test baseline and the defects behind it
WalkthroughEvery page, with screenshots
ContributingSetup, tests, and what will waste your afternoon if nobody tells you