from elementtree.SimpleXMLWriter import XMLWriter import biogeneutil import sys class grimm_to_xml: def __init__(self, network, xmlfile): """ constructor to generate xml file from gene rearrangement data network -- RearrangementNetwork to create XML from xmlfile -- name of xmlfile to output to """ fxml = open(xmlfile,'w') writer = XMLWriter(fxml, 'utf-8') xmlout = writer.start("gene-rearrangement-network") for n in network: stepnum = str(n.get_grimmaction().get_step()) writer.start("rearrangement-step", step=stepnum) for a in n.get_annotations(): chrname = a.get_chrcontig() txtchr = str(a.chrlist) writer.start("chromosome", name=chrname) writer.data(txtchr) writer.end() writer.end("rearrangement-step") writer.end("gene-rearrangement-network") writer.close(xmlout) if __name__ == "__main__": from elementtree.SimpleXMLWriter import XMLWriter import sys w = XMLWriter(sys.stdout) html = w.start("html") w.start("head") w.element("title", "my document") w.element("meta", name="generator", value="my application 1.0") w.end() w.start("body") w.element("h1", "this is a heading") w.element("p", "this is a paragraph") w.start("p") w.data("this is ") w.element("b", "bold") w.data(" and ") w.element("i", "italic") w.data(".") w.end("p") w.close(html)