The purpose of this project was to create an
implementation of the algorithm in Gagneur and Klamt that can operate on larger
metabolic networks than the current best tool (METAtool). The approach was to use the Star-P
tool, which provides a simple means of parallelizing MATLAB programs on a
remote HPC system. We implemented
the combinatorial algorithm in its serial MATLAB form, which runs 50 times
slower than the optimized METAtool implementation. We then parallelized it, first with vectorizing the three
inner loops of the core algorithm, but that method proved to use too much
memory to run practically. We then
parallelized it in a task-parallel form that runs 1.78 times faster than the
serial version of the algorithm (though using many more processors), but which uses
a type of parallelism that will not scale effectively to large problems for the
combinatorial test. We then
implemented the rank test (which
could be implemented to scale in parallel to larger problems), but were not
able to determine whether the different results between the two tests were
material. Finally, obstacles
encountered and some further approaches that might be practical are described.