X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=cistematic%2Fprograms%2F__init__.py;fp=cistematic%2Fprograms%2F__init__.py;h=efb49d2131ef73fa41b8b8d65f0345e3f9462ad1;hp=0000000000000000000000000000000000000000;hb=bc30aca13e5ec397c92e67002fbf7a103130b828;hpb=0d3e3112fd04c2e6b44a25cacef1d591658ad181 diff --git a/cistematic/programs/__init__.py b/cistematic/programs/__init__.py new file mode 100644 index 0000000..efb49d2 --- /dev/null +++ b/cistematic/programs/__init__.py @@ -0,0 +1,128 @@ +########################################################################### +# # +# 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. # +########################################################################### +# +__all__ = ["meme", "locator","mafft", "paircomp", "cisGreedy", "gibbs"] + +from os import environ + +supportedPrograms = [("locator" ,"Locator", {"consensus": "", + "identifier": ""}), + ("meme" ,"Meme", {"model": "zoops", + "nmotifs": 10, + "maxwidth": 16}), + ("cisGreedy", "CisGreedy", {"model": "zoops", + "nmotifs": 10, + "maxwidth": 16, + "minwidth": 6, + "reverse": True, + "background": "None", + "iterations": 100, + "founder": False, + "percentID": 75, + "Markov size": 3}), + ("gibbs", "Gibbs", {"model": "zoops", + "nmotifs": 10, + "maxwidth":16, + "minwidth": 6, + "reverse": True, + "background": "None", + "percentID": 50, + "Markov size": 3, + "iterations": 100}) +] + + +class Program: + """ Program is the Super class for all of the programs supported by cistematic and + that are typically called by other classes in cistematic, such as the Experiments. + Children will overide the methods that they need to instantiate. + """ + if environ.get("CISTEMATIC_ROOT"): + programRoot = "%s/programs" % environ.get("CISTEMATIC_ROOT") + else: + programRoot = "/proj/genome/programs" + + contents = "" + tagID = "" + + def __init__(self, tagID="", inputFilePath="", outputFilePath=""): + self.tagID = "" + self.inputFilePath = inputFilePath + self.outputFilePath = outputFilePath + + + def setTagID(self, tid): + self.tagID = tid + + + def name(self): + return self.__class__.__name__ + + + def inputFile(self, inputFilePath): + self.inputFilePath = inputFilePath + + + def outputFile(self, outputFilePath): + self.outputFilePath = outputFilePath + + + def setSeqLength(self, length): + pass + + + def setGenome(self, genome): + pass + + + def setGenExpOptions(self, optionArray): + pass + + + def run(self): + pass + + + def display(self): + for line in self.contents: + print line + + + def load(self, inFilePath): + inFile = open(inFilePath, "r") + self.contents = inFile.readlines() + inFile.close() + + + def save(self): + outFile = open(self.outputFilePath, "w") + for line in self.contents: + outFile.write(line) + + outFile.close() \ No newline at end of file