def test_gimme_model(self): f = ['gene\texpression', 'gene_1\t15', 'gene_2\t20', 'gene_3\t15', 'gene_4\t25', 'gene_5\t10', 'gene_6\t25'] threshold_dict = gimme.parse_transcriptome_file(f, 20) mm_irreversible, reversible_gene_assoc, split_rxns = \ gimme.make_irreversible(self._mm, self._assoc, exclude_list=['ex_A', 'rxn_6']) p = fluxanalysis.FluxBalanceProblem(mm_irreversible, generic.Solver()) final_model, used_exchange, below_threshold_ids, incon_score = \ gimme.solve_gimme_problem(p, mm_irreversible, 'rxn_6', reversible_gene_assoc, split_rxns, threshold_dict, MaybeRelative(20)) self.assertEqual(incon_score, 100) self.assertEqual(final_model, set(['rxn_1', 'rxn_2', 'rxn_4'])) self.assertEqual(below_threshold_ids, set(['rxn_1', 'rxn_3', 'rxn_5']))
def test_invalid(self): with self.assertRaises(ValueError): arg = MaybeRelative('abc')
def test_resolve_relative(self): arg = MaybeRelative('40%') arg.reference = 200.0 self.assertAlmostEqual(float(arg), 80.0)
def test_init_from_percentage(self): arg = MaybeRelative('110%') self.assertTrue(arg.relative) self.assertIsNone(arg.reference) with self.assertRaises(ValueError): float(arg)
def test_init_from_float_string(self): arg = MaybeRelative('-10') self.assertFalse(arg.relative) self.assertIsNone(arg.reference) self.assertAlmostEqual(float(arg), -10.0)
def test_init_from_float(self): arg = MaybeRelative(24.5) self.assertFalse(arg.relative) self.assertIsNone(arg.reference) self.assertAlmostEqual(float(arg), 24.5)