X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=cistematic%2Fprograms%2Flocator.py;fp=cistematic%2Fprograms%2Flocator.py;h=6634602f75c97d701859c2223caa3633b444a978;hp=0000000000000000000000000000000000000000;hb=bc30aca13e5ec397c92e67002fbf7a103130b828;hpb=0d3e3112fd04c2e6b44a25cacef1d591658ad181 diff --git a/cistematic/programs/locator.py b/cistematic/programs/locator.py new file mode 100644 index 0000000..6634602 --- /dev/null +++ b/cistematic/programs/locator.py @@ -0,0 +1,94 @@ +########################################################################### +# # +# C O P Y R I G H T N O T I C E # +# Copyright (c) 2003-10 by: # +# * California Institute of Technology # +# # +# All Rights Reserved. # +# # +# Permission is hereby granted, free of charge, to any person # +# obtaining a copy of this software and associated documentation files # +# (the "Software"), to deal in the Software without restriction, # +# including without limitation the rights to use, copy, modify, merge, # +# publish, distribute, sublicense, and/or sell copies of the Software, # +# and to permit persons to whom the Software is furnished to do so, # +# subject to the following conditions: # +# # +# The above copyright notice and this permission notice shall be # +# included in all copies or substantial portions of the Software. # +# # +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS # +# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN # +# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # +# SOFTWARE. # +########################################################################### +# +# locator.py +from cistematic.programs import Program +from cistematic.core.motif import Motif + +class Locator(Program): + motifs = [] + consensus = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + identifier = "DEFAULT" + PWM = [] + seqs = [] + motFile = "" + + + def getSettings(self): + return (self.consensus, self.identifier, self.PWM, self.seqs, self.motFile) + + + def setSettings(self, settings): + self.motifs = [] + progsettings = "" + commSettings = "progsettings = %s" % str(settings) + exec commSettings + (self.consensus, self.identifier, self.PWM, self.seqs, self.motFile) = progsettings + + + def setGenExpOptions(self, optionArray): + for option in optionArray: + (optionTag, optionValue) = option.split(":") + if optionTag == "consensus": + self.setConsensus(optionValue) + + if optionTag == "identifier": + self.setID(optionValue) + + + def setConsensus(self, cons): + self.consensus = cons + + + def setID(self, ident): + self.identifier = ident + + + def setPWM(self, aPWM): + self.PWM[self.identifier] = aPWM + + + def useMotifFile(self, mFile): + self.motFile = mFile + + + def run(self): + pass + + + def getMotifs(self): + self.motifs = [] + if self.motFile != "": + motif = Motif("%s-LOC-%s" % (self.tagID, self.identifier), motifFile=self.motFile) + self.motifs.append(motif) + else: + motif = Motif("%s-LOC-%s" % (self.tagID, self.identifier), self.consensus, self.PWM, self.seqs) + self.motifs.append(motif) + + return self.motifs \ No newline at end of file