Пример #1
0
    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")
Пример #2
0
 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")
Пример #3
0
    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")
Пример #4
0
 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")
Пример #5
0
 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")
Пример #6
0
 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")
Пример #7
0
    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
Пример #8
0
    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")
Пример #9
0
    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")
Пример #10
0
    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
Пример #11
0
 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")
Пример #12
0
 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")
Пример #13
0
 def buildColumn(self, column):
     self.column = column
     self.handler.startElement("column", Attributes(id=column))
     self.buildProteins(column)
     self.handler.endElement("column")