def __construct_reaction(self, rname, ko, reac, arrow, prod, mname): """ Code to parse and construct a reaction""" # Step 1. split reactants. rname = str(rname) mname = str(mname) r = Reaction(rname) left_coef, left_comp = self.__get_coef_and_name(reac) right_coef, right_comp = self.__get_coef_and_name(prod) r.substrates.extend(left_comp) r.products.extend(right_comp) for i in xrange(len(left_coef)): r.stoichiometry[left_comp[i]] = left_coef[i] for i in xrange(len(right_coef)): r.stoichiometry[right_comp[i]] = right_coef[i] r.reversible = arrow r.arrow = arrow if ko == True: r.ko = True elif ko == False: r.ko = False elif 'false' in ko: # elif type(ko) == type("") and ko.lower() == "false": r.ko = False else: r.ko = True r.metabolism = mname r.active = True return r
def __construct_reaction_from_reactionlst(self, reaction, rid, reversible): substrates = [] products = [] stoichiometry = {} longname_map = {} r = Reaction(rid) substrates = self.reactiondb.get_stoichiometry(rid, "_substrates_") products = self.reactiondb.get_stoichiometry(rid, "_products_") if substrates == "None": return None for sub in substrates: stoichiometry[ sub ] = self.reactiondb.get_stoichiometry(rid, sub) longname_map[ sub ] = self.reactiondb.get_long_name(sub) for prod in products: stoichiometry[ prod ] = self.reactiondb.get_stoichiometry(rid, prod) longname_map[ prod ] = self.reactiondb.get_long_name( prod ) r.substrates = substrates r.products = products r.stoichiometry = stoichiometry r.reversible = reversible r.longname_map = longname_map return r
def __construct_reaction_from_reactionlst(self, reaction, rid, reversible): substrates = [] products = [] stoichiometry = {} longname_map = {} r = Reaction(rid) substrates = self.reactiondb.get_stoichiometry(rid, "_substrates_") products = self.reactiondb.get_stoichiometry(rid, "_products_") # print "Get RID", rid # print "sub is", substrates if substrates == "None": return None for sub in substrates: stoichiometry[sub] = self.reactiondb.get_stoichiometry(rid, sub) longname_map[sub] = self.reactiondb.get_long_name(sub) # print sub, self.reactiondb.get_long_name(sub) # print for prod in products: # print '"' + prod + '"', '"'+ self.reactiondb.get_long_name(prod)+'"' stoichiometry[prod] = self.reactiondb.get_stoichiometry(rid, prod) longname_map[prod] = self.reactiondb.get_long_name(prod) # print # print "====" r.substrates = substrates r.products = products r.stoichiometry = stoichiometry r.reversible = reversible r.longname_map = longname_map return r
def __construct_reaction(self, rname, ko, reac, arrow, prod, mname): """ Code to parse and construct a reaction""" # Step 1. split reactants. rname = str(rname) mname = str(mname) r = Reaction(rname) left_coef, left_comp = self.__get_coef_and_name(reac) right_coef, right_comp = self.__get_coef_and_name(prod) r.substrates.extend(left_comp) r.products.extend(right_comp) print "[Add pathway] The substrates are ", r.substrates print "[Add pathway] The products are ", r.products for i in xrange(len(left_coef)): r.stoichiometry[left_comp[i]] = left_coef[i] for i in xrange(len(right_coef)): r.stoichiometry[right_comp[i]] = right_coef[i] print "[Add pathway] r.stoichiometry is ", r.stoichiometry print "Get external arrow is ", arrow r.reversible = arrow r.arrow = arrow if ko == "false": r.ko = False else: r.ko = True r.metabolism = mname r.active = True return r
def __construct_reaction_from_reactionlst(self, reaction, rid, reversible): substrates = [] products = [] stoichiometry = {} longname_map = {} r = Reaction(rid) substrates = self.reactiondb.get_stoichiometry(rid, "_substrates_") products = self.reactiondb.get_stoichiometry(rid, "_products_") # print "Get RID", rid # print "sub is", substrates if substrates == "None": return None for sub in substrates: stoichiometry[ sub ] = self.reactiondb.get_stoichiometry(rid, sub) longname_map[ sub ] = self.reactiondb.get_long_name(sub) # print sub, self.reactiondb.get_long_name(sub) # print for prod in products: # print '"' + prod + '"', '"'+ self.reactiondb.get_long_name(prod)+'"' stoichiometry[ prod ] = self.reactiondb.get_stoichiometry(rid, prod) longname_map[ prod ] = self.reactiondb.get_long_name( prod ) # print # print "====" r.substrates = substrates r.products = products r.stoichiometry = stoichiometry r.reversible = reversible r.longname_map = longname_map return r
def __construct_reaction_from_kgml(self, reaction, rid, reversible): substrates = [] products = [] stoichiometry = {} for sub in reaction.getiterator('substrate'): name = remove_comma(sub.get('name')) substrates.append(name) stoichiometry[ name ] = self.reactiondb.get_stoichiometry(rid, name) for prod in reaction.getiterator('product'): name = remove_comma(prod.get('name')) products.append(name) stoichiometry[ name ] = self.reactiondb.get_stoichiometry(rid, name) r = Reaction(rid) r.substrates = substrates r.products = products r.stoichiometry = stoichiometry r.reversible = reversible return r
def __construct_reaction_from_kgml(self, reaction, rid, reversible): substrates = [] products = [] stoichiometry = {} for sub in reaction.getiterator('substrate'): name = remove_comma(sub.get('name')) substrates.append(name) stoichiometry[name] = self.reactiondb.get_stoichiometry(rid, name) for prod in reaction.getiterator('product'): name = remove_comma(prod.get('name')) products.append(name) stoichiometry[name] = self.reactiondb.get_stoichiometry(rid, name) r = Reaction(rid) r.substrates = substrates r.products = products r.stoichiometry = stoichiometry r.reversible = reversible return r