Implementing New Pathway Reconstruction Methods in SPRAS

Hello world! My name is Nina Young (she/her) and I’m a junior Computer Science-Art major. This summer I had the amazing opportunity to work with Anna Ritz on the Signaling Pathway Reconstruction Analysis Streamliner (SPRAS) tool that she’s been developing in collaboration with some folks at UW-Madison.

A more in-depth overview of what signaling pathway reconstruction does is available here, but in essence we are creating networks made up of various proteins and connecting them based on how they are known to interact with each other. The hope is that by studying protein-protein interactions of interest, we can discover some intermediate proteins that are biologically significant and useful for further study. The SPRAS tool is useful because it consolidates a number of useful algorithms that approach network analysis in different ways, which will allow people who are less familiar with programming to make use of these algorithms quickly and efficiently. 

So my job this summer was essentially to get familiar with the innards of SPRAS and ultimately implement a new algorithm into the program. All new contributors to the SPRAS project undergo an introductory tutorial in which they implement a simple algorithm, LocalNeighborhood, while familiarizing themself with how the program is organized. SPRAS is primarily written in Python, but it also makes use of SnakeMake and Docker to parallelize the program and keep all supplementary files in one place, respectively. The first part of the summer we worked through this introduction slowly, and I helped to refine the language of the tutorial and make it clearer for future contributors.

Once we had a handle on the tutorial and made some updates, I got to work implementing a simple algorithm called AllPairsShortestPaths. As the name suggests, this algorithm takes a network with source and target nodes as input and finds the shortest paths between all possible combinations of sources and targets. Though relatively simple, this algorithm will be a useful addition because it forms the framework for more complicated algorithms such as BowTieBuilder, which finds intermediate proteins that a number of paths cross.

Ultimately, this summer was a fascinating introduction to SPRAS, and I really admire what Anna and her team are doing in making this form of protein interaction analysis more accessible. I am hopeful that the work I did this summer helped strengthen the program’s foundation so that it can be easily expanded upon in the future.