X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=cistematic%2Fprograms%2Fparent.py;fp=cistematic%2Fprograms%2Fparent.py;h=582352e234e5026287159b3ce5f268ffa61c32f8;hp=0000000000000000000000000000000000000000;hb=bc30aca13e5ec397c92e67002fbf7a103130b828;hpb=0d3e3112fd04c2e6b44a25cacef1d591658ad181 diff --git a/cistematic/programs/parent.py b/cistematic/programs/parent.py new file mode 100644 index 0000000..582352e --- /dev/null +++ b/cistematic/programs/parent.py @@ -0,0 +1,83 @@ +########################################################################### +# # +# 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. # +########################################################################### +# +# parent.py - defines Parent class used by all children classes in cistematic.programs +# +class Parent: + 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 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