Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 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
Ejemplo n.º 8
0
 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
Ejemplo n.º 9
0
 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
Ejemplo n.º 10
0
 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
Ejemplo n.º 11
0
    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()