Andy Gonzalez: Debugging, Difficulties, and Perseverance

Hey all! It’s been a hectic past few weeks, but progress has been coming along slowly and steadily. As I continue to build DSPT, a computational tool for more accurate cell trajectories, I didn’t realize just how quickly it would become a true test of my abilities as a programmer. Soon I discovered that “just write the code” is only the opening act, the real adventure begins when math meets messy biology and an occasionally uncooperative laptop.

Andy Gonzalez, Computer Science major

My first wake-up call was sheer scale. Each tissue sample is sliced into thousands of microscopic “spots,” and my original plan compared every spot with every other one. The result was a gigantic table of numbers that were computationally intensive to look at and run in MATLAB. Watching my laptop occasionally freeze while the fans screamed was both hilarious and horrifying. I spent a few nights learning how to preprocess the data better, using gene spots that are more relevant and spatially important. With some lines of replacement code, the memory footprint shrank quite a lot, and my computer went back to sounding like a laptop instead of a jet engine.

Another conceptual hurdle so far is a single parameter called σ₀, which more or less decides whether my cell paths look crisp or blurry. Set it too low and DSPT splits one lineage into dozens of phantom branches; set it too high and everything melts into a pastel smear, with the gradient being extremely smoothed out. I wrote a program loop that tries dozens of settings, saves them into a PDF, and then decided which value to use by looking at the differences.  It’s hardly the best method, but for now it will suffice and I will continue to work on it.

Even when parameters behave, raw computing power lurks as the next obstacle. Some calculations testing older methods still creep from minutes to hours, so my mentor, Dr. Mallory, helped me reserve time on the university’s high-performance cluster. This made my workflow a lot more effective as I was able to set up and run tasks and work on something else in the meantime. It overall improved my productivity quite a lot.

For all the bumps and hiccups, I am quite relieved that plenty has gone right! We are testing now on real data and our latest DSPT prototype orders cells pretty well along the expected trajectory. And every time my MATLAB stops giving me errors, or the gradients come along nicely representing the ground truth, I get a small dopamine burst that reminds me why debugging and iterating, for all its frustration, is oddly rewarding.

What has hammered home the past month is that research is far more than just thorough equations. It’s learning to wrangle chaotic datasets, taming code that refuses to work, negotiating compute time, and learning when to ask for help. Once I embraced that mindset, the roadblocks don’t seem as bad and I am continuously excited to keep working on it.

Leave a comment