how to solve gap reactions in genome scale metabolic reconstruction
It is common that reactions in stoichiometric models cannot carry flux because there is a "dead end" metabolite somewhere. The problem may not be in the immediate reactants / products, but can be several steps away, and is not always easy to find.

If you have a network visualization tool, one option is to highlight all reactions that cannot carry flux; often this reveals an entire blocked pathway ending in the isolated metabolites.

A more systematic method is to examine the dual solution of the linear program for maximizing flux through a blocked reaction; this shows the active constraints, which are precisely the metabolites that are lacking for the blocked reaction to be able to run.