def buildProtein(self, protein): self.protein = protein self.handler.startElement("protein", Attributes(id=protein.id, ac=protein.ac.ac)) self.buildDomains(protein) self.handler.endElement("protein")
def buildProtein(self, protein, protein_res): self.handler.startElement( "protein", Attributes(id=protein.id, ac=protein.ac.ac, residue=protein_res)) domain, domain_res = self.index.domain(protein, protein_res) self.buildDomain(domain, domain_res) self.handler.endElement("protein")
def buildDocument(self, family): self.handler.startElement("family", Attributes(id=family.id)) # Name, number of columns, etc self.handler.startElement("name") self.handler.characters(family.name) self.handler.endElement("name") self.handler.startElement("length") self.handler.characters( family.alignment.alignment.get_alignment_length()) self.handler.endElement("length") self.handler.startElement("members") self.handler.characters(len(family.proteins)) self.handler.endElement("members") # Proteins and family stuff self.structureProvider.buildProteins(family) self.selectionProvider.buildSelection(family) self.ieaProvider.buildIea(family) # Columns and Structure self.columnProvider.buildColumns(self.structureProvider.index) self.handler.endElement("family")
def buildSCCS(self, sccs, probability): self.handler.startElement("sccs", Attributes(id=sccs)) #self.handler.startElement("name") #self.handler.endElement("name") self.handler.startElement("probability") self.handler.characters(str(probability)) self.handler.endElement("probability") self.handler.endElement("sccs")
def buildModel(self, model): self.handler.startElement("model", Attributes(id=model.model)) if len(model.positive_selection) > 0: self.handler.startElement("sites") for ps in model.positive_selection: self.buildSite(ps) self.handler.endElement("sites") self.handler.endElement("model")
def buildDomain(self, domain, domain_num): self.domain = domain self.handler.startElement( "domain", Attributes(id=domain.id, num=domain_num, start=domain.region.start, stop=domain.region.stop)) self.handler.startElement("domain_type") self.handler.characters(domain.domain_type) self.handler.endElement("domain_type") self.buildStructures(domain) self.handler.endElement("domain")
def buildDecoy(self, structure, mcmdata): self.handler.startElement("structure", Attributes(type="decoy")) self.handler.startElement("id") self.handler.characters(str(structure.id)) self.handler.endElement("id") self.handler.startElement("scop") for mcm in mcmdata: self.buildSCCS(mcm.sccs, mcm.probability) self.handler.endElement("scop") try: self.buildDecoyIndex(structure) except Exception, e: print e
def buildTerm(self, term): self.handler.startElement("term") self.handler.startElement("acc") self.handler.characters(term.acc) self.handler.endElement("acc") self.handler.startElement("name") self.handler.characters(term.name) self.handler.endElement("name") self.handler.startElement("term_type") self.handler.characters(term.term_type) self.handler.endElement("term_type") self.handler.startElement("proteins") for protein in self.index.proteins(term): self.handler.startElement( "protein", Attributes(id=protein.id, ac=protein.ac.ac)) self.handler.endElement("protein") self.handler.endElement("proteins") self.handler.endElement("term")
def buildStructure(self, structure, structure_res): self.handler.startElement( "structure", Attributes(residue=structure_res, type=structure.type, id=structure.index)) self.handler.startElement("id") self.handler.characters(structure.id) self.handler.endElement("id") if structure.chain: self.handler.startElement("chain") self.handler.characters(structure.chain) self.handler.endElement("chain") att = self.index.attributes(structure, structure_res) for key, value in att.structure_dict.items(): self.handler.startElement(key) self.handler.characters(value) self.handler.endElement(key) self.handler.endElement("structure")
def buildPDB(self, domain): if not domain.sccs: return self.handler.startElement("structure", Attributes(type="pdb")) self.handler.startElement("id") self.handler.characters(str(domain.sccs.pdbid)) self.handler.endElement("id") self.handler.startElement("chain") self.handler.characters(str(domain.sccs.chain)) self.handler.endElement("chain") # This isn't guarenteed to have a superfamily prediction if domain.sccs and domain.sccs.sccs != None: self.handler.startElement("scop") for sccs in domain.sccs.sccs.split(","): self.buildSCCS(sccs, 1.0) self.handler.endElement("scop") try: self.buildPDBIndex(domain) except Exception, e: print e
def buildDomain(self, domain, domain_res): self.handler.startElement("domain", Attributes(id=domain.id, residue=domain_res)) self.buildStructures(domain, domain_res) self.handler.endElement("domain")
def buildProteins(self, column): self.handler.startElement("proteins", Attributes(id=column)) for protein, protein_res in self.index.proteins(column): self.buildProtein(protein, protein_res) self.handler.endElement("proteins")
def buildColumn(self, column): self.column = column self.handler.startElement("column", Attributes(id=column)) self.buildProteins(column) self.handler.endElement("column")