def actionPerformed(self, event): output = open("profelis.query.fas", "w") for gene in self.panel.outGenes.model.elements(): print gene.location if gene.location[0] < gene.location[1]: proteins = utils.translate(self.panel.genome[gene.location[0]-1:gene.location[1]]) else: proteins = utils.translate(utils.reverseComplement(self.panel.genome[gene.location[1]-1:gene.location[0]])) output.write(">profelis" + ":" + "-".join(map(str, gene.location)) + "\n") for i in xrange(0, len(proteins), 50): output.write(proteins[i:min(i+50, len(proteins))] + "\n") output.close() self.panel.frame.blastLocation.background = Color.white self.panel.frame.databaseLocation.background = Color.white try: utils.cachedBlast("profelis.query.blastp.xml", self.panel.frame.blastLocation.text, self.panel.frame.databaseLocation.text + "/" + self.panel.database, self.panel.evalue, "profelis.query.fas", self.panel, True) except OSError: self.panel.frame.blastLocation.background = Color.red self.panel.frame.databaseLocation.background = Color.red return genes = utils.parseBlast("profelis.query.blastp.xml")[2] self.panel.outGenes.model.clear() [self.panel.inGenes.model.add(0, gene) for gene in genes[::-1]] xml.addGenes(self.panel.name + ".blastp.xml", "profelis.query.blastp.xml") xml.writeHTML(self.panel.name + ".blastp.xml") self.panel.writeArtemisFile()
def actionPerformed(self, event): index = 0 removed = [] while index < self.panel.inGenes.model.size(): if self.panel.inGenes.model.get(index).remove: removed.append(self.panel.inGenes.model.remove(index).location[0]) else: index += 1 xml.deleteGenes(self.panel.name + ".blastp.xml", removed) xml.writeHTML(self.panel.name + ".blastp.xml") self.panel.writeArtemisFile()
def actionPerformed(self, event): index = 0 removed = [] while index < self.panel.inGenes.model.size(): if self.panel.inGenes.model.get(index).remove: removed.append( self.panel.inGenes.model.remove(index).location[0]) else: index += 1 xml.deleteGenes(self.panel.name + ".blastp.xml", removed) xml.writeHTML(self.panel.name + ".blastp.xml") self.panel.writeArtemisFile()
def actionPerformed(self, event): output = open("profelis.query.fas", "w") for gene in self.panel.outGenes.model.elements(): print gene.location if gene.location[0] < gene.location[1]: proteins = utils.translate( self.panel.genome[gene.location[0] - 1:gene.location[1]]) else: proteins = utils.translate( utils.reverseComplement( self.panel.genome[gene.location[1] - 1:gene.location[0]])) output.write(">profelis" + ":" + "-".join(map(str, gene.location)) + "\n") for i in xrange(0, len(proteins), 50): output.write(proteins[i:min(i + 50, len(proteins))] + "\n") output.close() self.panel.frame.blastLocation.background = Color.white self.panel.frame.databaseLocation.background = Color.white try: utils.cachedBlast( "profelis.query.blastp.xml", self.panel.frame.blastLocation.text, self.panel.frame.databaseLocation.text + "/" + self.panel.database, self.panel.evalue, "profelis.query.fas", self.panel, True) except OSError: self.panel.frame.blastLocation.background = Color.red self.panel.frame.databaseLocation.background = Color.red return genes = utils.parseBlast("profelis.query.blastp.xml")[2] self.panel.outGenes.model.clear() [self.panel.inGenes.model.add(0, gene) for gene in genes[::-1]] xml.addGenes(self.panel.name + ".blastp.xml", "profelis.query.blastp.xml") xml.writeHTML(self.panel.name + ".blastp.xml") self.panel.writeArtemisFile()