Shaurya Singh

← work

Teaching a model to read protein structure out of a blur.

Dong Si’s DAIS Lab at the University of Washington: cryo-EM hands back a fog of density, and DeepTracer reads a predicted 3D structure out of it. I build at the unglamorous middle — preprocessing, PyTorch and OpenCV training workflows, backbone trace alignment, PyMOL rendering — on a pipeline structural biologists actually use. Undergraduate RA, so no paper byline.

DAIS Lab, UW · cryo-EM density → predicted 3D structure · pytorch · opencv · pymol · undergrad RA, no byline

research · ongoing · since May 2025

Cryo-EM freezes a protein and photographs it with electrons. What comes back is not a clean picture — it is a three-dimensional cloud of density, a fog that is thicker where the atoms probably are. The scientific job is to look at that fog and say, atom by atom, where the protein’s backbone actually runs and how it folds. Doing that by hand is slow, expert work.

DeepTracer is a deep-learning pipeline that does that reading automatically: density map in, a predicted 3D structure out. It is the difference between a smudge and a model you can reason about. My job is not to claim it — it is to help the parts of it that read the fog get a little better and a little faster.

The work lives in Python. On the data side I write preprocessing and model-training workflows in PyTorch and OpenCV — the plumbing that turns raw density maps into something a network can train on, and the loops that train it. The piece I have spent the most careful time on is backbone trace alignment: getting the predicted chain to line up correctly with the structure it is supposed to be, which is exactly where a small error becomes an obviously wrong protein.

The other half is making the predictions legible. I render predicted macromolecules in PyMOL and work on annotation tools for structural refinement — so a researcher can look at what the model produced, see where it is confident and where it is guessing, and correct it. A prediction nobody can inspect is not much use; a lot of the value is in making the output something a human can argue with.

shaurya@dais — deeptracer
shaurya@dais ~ % cat role.txt
undergraduate research assistant · dais lab · uw
mentored by dais lab researchers · since may 2025
shaurya@dais ~ % ls ./what-i-touch
preprocessing/ training-workflows/ backbone-alignment/
pymol-rendering/ annotation-tools/
shaurya@dais ~ % cat stack.txt
python · pytorch · opencv · pymol
shaurya@dais ~ %

A cryo-EM map is not a picture of a protein. It is a three-dimensional field of electron density — a cloud, where brighter means "more likely there is atomic matter here." The job is to decide which chain of atoms produced that cloud. Same cloud, many candidate explanations.

The difficulty is that the cloud's quality is not uniform. A single map can be crisp enough in its core to make the backbone obvious and so smeared at the flexible edges that the density is barely above noise — and flexible regions are frequently the biologically interesting ones, because moving is often what the part is for. So the hardest regions to trace are disproportionately the ones somebody cares about.

That is what makes the preprocessing load-bearing rather than plumbing. Maps arrive at different resolutions and different contour levels, so they have to be brought onto comparable footing before a model sees them — and every normalisation is a chance to flatten away the faint signal the model is supposed to find. Suppress too little and you train on noise; suppress too much and you have quietly deleted the disordered region and taught the model that it does not exist.

And the failure mode is the one this whole site is about: a model that fills a gap confidently. A trace drawn straight through a region with no supporting density looks exactly as clean as one supported by it — the output format does not carry doubt. Which is why the rendering matters as much as the model. A render that shows where the evidence thinned lets a structural biologist say "that stretch is unsupported"; a render that smooths it produces a beautiful structure nobody should trust. Giving an expert something they can disagree with is the whole deliverable.

I want to be exact about this: I am an undergraduate research assistant. I help build and optimize DeepTracer under the mentorship of DAIS lab researchers — I am not an author on it, and undergrad RA work does not carry a paper byline. That is the only sense in which this is “uncredited,” and it is completely normal.

I would rather say that plainly than dress it up. The honest version is already the strong one: I get to do real work on a real pipeline that real structural biologists use, learn what it takes to make a model trustworthy enough to hand a scientist, and be wrong in front of people who know more than I do. That is the point of the role, and it is enough.

no byline · and that’s fine

← back to work

ask me about the alignment problem →