def test_read_notes(): sbgn = libsbgn.sbgn() map = libsbgn.map() map.set_language(Language.PD) sbgn.set_map(map) text = """ <body xmlns="http://www.w3.org/1999/xhtml"> This is an example note describing the map. </body> """ notes = Notes(text) map.set_notes(notes) assert map.get_notes() is not None f = tempfile.NamedTemporaryFile(suffix=".sbgn") utils.write_to_file(sbgn, f.name) del map, sbgn, notes sbgn2 = utils.read_from_file(f.name) print(utils.write_to_string(sbgn2)) map2 = sbgn2.get_map() notes2 = map2.get_notes() assert notes2 is not None assert "<body" in str(notes2)
def test_read_extension(): sbgn = libsbgn.sbgn() map = libsbgn.map() map.set_language(Language.PD) sbgn.set_map(map) extension = Extension( """<renderInformation id="example" programName="SBML Layout" programVersion="3.0" xmlns="http://projects.eml.org/bcb/sbml/render/level2"> <listOfColorDefinitions> <colorDefinition id="yelloComp" value="#ffffccff" /> <colorDefinition id="grayComp" value="#e0e0e0ff" /> <colorDefinition id="orange" value="#fa9e2fff" /> <colorDefinition id="blue" value="#2958acff" /> <colorDefinition id="green" value="#378f5cff" /> <colorDefinition id="Color_0" value="#969696" /> <colorDefinition id="Color_1" value="#ff9900" /> <colorDefinition id="Color_2" value="#000000" /> </listOfColorDefinitions> </renderInformation>""" ) map.set_extension(extension) assert map.get_extension() is not None f = tempfile.NamedTemporaryFile(suffix=".sbgn") utils.write_to_file(sbgn, f.name) del map, sbgn, extension sbgn = utils.read_from_file(f.name) map = sbgn.get_map() extension = map.get_extension() assert extension is not None assert "<colorDefinition" in str(extension)
def read_glyph_notes(f): """Read notes from glyphs. :return: None """ sbgn = utils.read_from_file(f=f) # map is a container for the glyphs and arcs map = sbgn.get_map() glyphs = map.get_glyph() for g in glyphs: notes = g.get_notes() if notes: print(g.get_id()) print(notes)
def read_glyph_notes(f): """ Read notes from glyphs. :return: """ sbgn = utils.read_from_file(f=f) # map is a container for the glyphs and arcs map = sbgn.get_map() glyphs = map.get_glyph() for g in glyphs: notes = g.get_notes() if notes: print(g.get_id()) print(notes)
def __init__(self,sbgnPath,nodeBindings,edgeBindings,timeCourse=None): self.sbgn = utils.read_from_file(sbgnPath) self.map = sbgn.get_map() self.map.set_language(Language.PD) glyphs = self.map.get_glyph() validIDs = [g.get_id() for g in glyphs] processes = {g.get_id():[p.get_id() for p in g.get_port()] for g in glyphs if g.get_class()=="process"} arcs = self.map.get_arc() self.edges = {g:[a.get_id() for a in arcs if (a.get_source() in p) or (a.get_target() in p)] for g, p in processes.items()} self.edges = {reaction:self.edges[sbgnID] for reaction, sbgnID in edgeBindings if sbgnID in self.edges.keys()} self.nodes = {metabolite:sbgnID for metabolite, sbgnID in nodeBindings if sbgnID in validIDs} self.timeCourse = timeCourse
###RENDER SBGN FILE### from libsbgnpy import render, utils import os.path filename = raw_input("Enter the name of the existing SBGN file: ") if ".sbgn" not in filename: filename = filename + ".sbgn" exist = os.path.isfile(filename) while exist == False: filename = raw_input("The file does not exist, please try again: ") if ".sbgn" not in filename: filename = filename + ".sbgn" exist = os.path.isfile(filename) sbgn = utils.read_from_file(filename) pngname = "" for w in filename: if w == '.': break else: pngname += w pngname += ".png" render.render_sbgn(sbgn, pngname)
def test_write_to_string(f_adh): sbgn = utils.read_from_file(f_adh) sbgn_str = utils.write_to_string(sbgn) assert sbgn_str is not None assert "xml" in sbgn_str
def test_write_to_file(f_adh): sbgn = utils.read_from_file(f_adh) f_out = tempfile.NamedTemporaryFile(suffix=".sbgn") utils.write_to_file(sbgn, f_out.name) sbgn2 = utils.read_from_file(f_out) assert sbgn2 is not None
def test_read_from_file(f_adh): sbgn = utils.read_from_file(f_adh) assert sbgn is not None
def test_render_sbgn(f_adh): sbgn = utils.read_from_file(f_adh) tmp_file = tempfile.NamedTemporaryFile(suffix=".png") render.render_sbgn(sbgn, image_file=tmp_file.name, file_format="png")
value) + "\n" styleStr = styleStr + """</listOfStyles> </renderInformation>""" extension = Extension(extString) self.map.set_extension(extension) render.render_sbgn(self.sbgn, image_file=fPath, file_format="png") myModel = modelRunner(test_string,os.path.join(working_dir, 'copasiRuns', 'testRun6')) myModel.genReactionAntString() data = myModel.runTimeCourse(1) data2 = myModel.runTimeCourse(1,genReactions=True) sbgn = utils.read_from_file(os.path.join(working_dir, "test6.sbgn")) map = sbgn.get_map() map.set_language(Language.PD) extString = """<renderInformation id="example" programName="SBML Layout" programVersion="3.0" xmlns="http://projects.eml.org/bcb/sbml/render/level2"> <listOfStyles> """ extString = (extString +"\n"+sbgnLineStyle("R2-react0",0.5) +"\n"+ sbgnFillStyle("sa0",0.5) +"\n"+ """</listOfStyles> </renderInformation>""") extension = Extension(extString) map.set_extension(extension)
def test_render_sbgn(f_adh): sbgn = utils.read_from_file(f_adh) tmp_file = tempfile.NamedTemporaryFile(suffix=".png") render.render_sbgn(sbgn, image_file=tmp_file.name, file_format="png")