Problem
Finding a DNA aptamer that binds a new protein normally means rounds of wet-lab selection (SELEX). The goal here is a cheap first pass: narrow the search space computationally before anyone touches a pipette.
Approach
- Dataset. Known aptamer–target pairs were scraped from Aptagen, and each target was resolved to its sequence and properties through UniProt. The result was then cleaned and merged into a single training table.
- Property prediction. A random forest maps protein features to the properties a binding aptamer tends to have: length, GC content, and nucleotide composition.
- Generation. A k-mer library and a 3rd-order Markov transition matrix, both learned from real aptamers, sample new sequences that are steered toward the predicted properties.
- Ranking. Candidates are scored by how closely they match the predicted length and GC content, and the best are returned.
Serving
A Flask API is deployed on Railway: POST a protein sequence and get back ranked candidate aptamers.