def validate_equation(self): ok = False test_reaction = cobra.Reaction( "xxxx_cnapy_test_reaction", name="cnapy test reaction") with self.parent.appdata.project.cobra_py_model as model: model.add_reaction(test_reaction) try: eqtxt = self.equation.text().rstrip() if len(eqtxt) > 0 and eqtxt[-1] == '+': turn_red(self.equation) else: test_reaction.build_reaction_from_string(eqtxt) turn_white(self.equation) ok = True except ValueError: turn_red(self.equation) try: test_reaction = self.parent.appdata.project.cobra_py_model.reactions.get_by_id( "xxxx_cnapy_test_reaction") self.parent.appdata.project.cobra_py_model.remove_reactions( [test_reaction], remove_orphans=True) except KeyError: pass return ok
def metabolite_selected(self, item, _column): if item is None: self.metabolite_mask.hide() else: self.metabolite_mask.show() metabolite: cobra.Metabolite = item.data(2, 0) self.metabolite_mask.metabolite = metabolite self.metabolite_mask.id.setText(metabolite.id) self.metabolite_mask.name.setText(metabolite.name) self.metabolite_mask.formula.setText(metabolite.formula) if metabolite.charge is None: pass else: self.metabolite_mask.charge.setText(str(metabolite.charge)) self.metabolite_mask.compartment.setText(metabolite.compartment) self.update_annotations(metabolite.annotation) self.metabolite_mask.changed = False turn_white(self.metabolite_mask.id) turn_white(self.metabolite_mask.name) turn_white(self.metabolite_mask.formula) turn_white(self.metabolite_mask.charge) turn_white(self.metabolite_mask.compartment) self.metabolite_mask.is_valid = True self.metabolite_mask.update_state()
def validate_gene_reaction_rule(self): try: _x = float(self.gene_reaction_rule.text()) except ValueError: turn_red(self.gene_reaction_rule) return False else: turn_white(self.gene_reaction_rule) return True
def validate_coefficient(self): try: _x = float(self.coefficent.text()) except ValueError: turn_red(self.coefficent) return False else: turn_white(self.coefficent) return True
def validate_upperbound(self): try: _x = float(self.upper_bound.text()) except ValueError: turn_red(self.upper_bound) return False else: turn_white(self.upper_bound) return True
def validate_charge(self): try: if self.charge.text() != "": _x = int(self.charge.text()) except ValueError: turn_red(self.charge) return False else: turn_white(self.charge) return True
def validate_name(self): with self.parent.appdata.project.cobra_py_model as model: try: r = cobra.Reaction(id="testid", name=self.name.text()) model.add_reaction(r) except ValueError: turn_red(self.name) return False else: turn_white(self.name) return True
def validate_name(self): with self.appdata.project.cobra_py_model as model: try: m = cobra.Metabolite(id="test_id", name=self.name.text()) model.add_metabolites([m]) except ValueError: turn_red(self.name) return False else: turn_white(self.name) return True
def validate_compartment(self): try: if ' ' in self.compartment.text(): turn_red(self.compartment) return False if '-' in self.compartment.text(): turn_red(self.compartment) return False _m = cobra.Metabolite(id="test_id", name=self.compartment.text()) except ValueError: turn_red(self.compartment) return False else: turn_white(self.compartment) return True
def validate_id(self): with self.appdata.project.cobra_py_model as model: text = self.id.text() if text == "": turn_red(self.id) return False if ' ' in text: turn_red(self.id) return False try: m = cobra.Metabolite(id=self.id.text()) model.add_metabolites([m]) except ValueError: turn_red(self.id) return False else: turn_white(self.id) return True
def reaction_selected(self, item: QTreeWidgetItem, _column): if item is None: self.reaction_mask.hide() else: item.setSelected(True) self.reaction_mask.show() reaction: cobra.Reaction = item.data(3, 0) self.last_selected = reaction.id self.reaction_mask.reaction = reaction self.reaction_mask.id.setText(reaction.id) self.reaction_mask.name.setText(reaction.name) self.reaction_mask.equation.setText( reaction.build_reaction_string()) self.reaction_mask.lower_bound.setText(str(reaction.lower_bound)) self.reaction_mask.upper_bound.setText(str(reaction.upper_bound)) self.reaction_mask.coefficent.setText( str(reaction.objective_coefficient)) self.reaction_mask.gene_reaction_rule.setText( str(reaction.gene_reaction_rule)) self.update_annotations(reaction.annotation) self.reaction_mask.changed = False turn_white(self.reaction_mask.id) turn_white(self.reaction_mask.name) turn_white(self.reaction_mask.name) turn_white(self.reaction_mask.equation) turn_white(self.reaction_mask.lower_bound) turn_white(self.reaction_mask.upper_bound) turn_white(self.reaction_mask.coefficent) turn_white(self.reaction_mask.gene_reaction_rule) self.reaction_mask.is_valid = True (_, r) = self.splitter.getRange(1) self.splitter.moveSplitter(r/2, 1) self.reaction_mask.update_state()