Matthew P. Harrigan

I currently write quantum software for Rigetti Computing in Berkeley, California. Prior to that, I worked with Vijay Pande at Stanford to study protein dynamics with computation and machine learning.

With domains as complex as biophysics or quantum information, scientific computing tools are essential for modern research. I help develop some of these tools like MSMBuilder and MDTraj for analysis of molecular dynamics data and PyQuil for quantum programming.


Machine learning

I'm using tools and algorithms borrowed from recent work in deep learning to build better models for protein dynamics.

A side effect of the recent boom in deep learning has been the proliferation of well-engineered libraries for performing arbitrary symbolic differentiation. I’m using these tools to enrich our current dynamical modeling techniques.

In addition, I’m investigating the use of deep networks to find better feature representations of biomolecules.

Ion channels

Sodium channels initiate signaling in neurons and other cells which go on to become sensations of pleasure and pain, as well as thoughts and feelings. Potassium channels return excitable cells to normalcy.

In collaboration with the duBois lab and with the help of Folding@Home, we are conducting large scale molecular dynamics study of a voltage gated sodium channel to complement experimental work to probe sodium channel function through the use of natural toxins secreted by frogs in the Amazon rain forest.

In collaboration with Pfizer and Folding@Home, we studied a mechanosensative potassium channel transitioning between stretched and compressed conformations.

Markov Modeling

Our lab develops and applies novel statistical techniques to understand and interpret the huge volume of data returned from a molecular dynamics study.

Particularly, we use Markov state models (MSMs) and time-structure-based independent component analysis (tICA) to draw interpretable conclusions from large timeseries data sets.

I’ve introduced a new method for including solvent degrees of freedom in MSM analysis described in this paper.

I’ve introduced a computationally tractable form of non-linear tICA that is analogous to an MSM with soft states here.

For a complete list of papers, go to the papers page.



MSMBuilder is a python package which implements a series of statistical models for high-dimensional time-series.

It is particularly focused on the analysis of atomistic simulations of biomolecular dynamics. For example, MSMBuilder has been used to model protein folding and conformational change from molecular dynamics (MD) simulations.


FAHBench is a GPU benchmarking tool based on OpenMM and molecular dynamics.

Folding@Home donors test and report scores for GPUs to find the best performance for a given price.


MDTraj is a python library that allows researchers to read, write and analyze any of the dazzling array of MD formats in common use.


wetmsm functions as a plugin for MSMBuilder. It implements the “solvent shells” metric for investigating water, lipids, and other solvents in the MSM framework.