def test_protein_complex_presence(model): """ Expect that more than one enzyme complex is present in the model. Based on the gene-protein-reaction (GPR) rules, it is possible to infer whether a reaction is catalyzed by a single gene product, isozymes or by a heteromeric protein complex. This test checks that at least one such heteromeric protein complex is defined in any GPR of the model. For S. cerevisiae it could be shown that "essential proteins tend to [cluster] together in essential complexes" (https://doi.org/10.1074%2Fmcp.M800490-MCP200). This might also be a relevant metric for other organisms. Implementation: Identify GPRs which contain at least one logical AND that combines two different gene products. """ ann = test_protein_complex_presence.annotation ann["data"] = get_ids(basic.find_protein_complexes(model)) ann["metric"] = len(ann["data"]) / len(model.reactions) ann["message"] = wrapper.fill( """A total of {:d} reactions are catalyzed by complexes defined through GPR rules in the model.""".format(len(ann["data"]))) assert len(ann["data"]) >= 1, ann["message"]
def test_enzyme_complex_presence(model, num): """Expect amount of enzyme complexes to be identified correctly.""" assert len(basic.find_protein_complexes(model)) == num
def test_find_protein_complexes(model, num): """Expect the number of reactions to be identified correctly.""" assert len(basic.find_protein_complexes(model)) == num