def attrs(objects, internals, mod, *attr): for a in attr: print a g = getattr(A, a) if hasattr(g, 'data'): data = globals.json(getattr(g, 'data'), globals.datasource) for o in objects.keys(): if not hasattr(g, 'data'): if hasattr(g, 'args'): args = getattr(g,'args') mod.__getattribute__(getattr(g, 'fun'))(objects[o], args) else: mod.__getattribute__(getattr(g, 'fun'))(objects[o]) else: if hasattr(g, 'args'): args = getattr(g,'args') mod.__getattribute__(getattr(g, 'fun'))(objects[o], data, args) else: mod.__getattribute__(getattr(g, 'fun'))(objects[o], data) intermethods = [i for i in internals.__dict__.keys() if not i.startswith('_')] apply(internal, [objects[o], internals] + sorted(intermethods))
def init(objects, clas, mod, types): g = getattr(A, types) data = globals.json(getattr(g, 'data'), globals.datasource) for t in data: objects[t] = clas(t)
def initall(objects, orfs, parset): plist = globals.json(filehash[parset]) for par in plist: objects[(par[0], par[1])] = paralogs((orfs[par[0]], orfs[par[1]]))
def init(objects, clas, types): data = globals.json(filehash[types], globals.datasource) for t in data: objects[t] = clas(t)
import simplejson import globals filehash = globals.json('Paralogsfilehash', './dbase/') class paralogs: def __init__(self, orfs): self.orfs = orfs def getalignindex(self): if hasattr(self, 'alignment') and getattr( self, 'alignment').keys().__len__() == 2: print 'alignindex:' + str(self.orfs[0].orfname) + str( self.orfs[1].orfname) alignindex = {} dashes = 0 i = 0 alignseq = getattr(self, 'alignment') alignindex[self.orfs[0].orfname] = {} while i < len(self.orfs[0].seq): if alignseq[self.orfs[0].orfname][i + dashes] == '-': dashes = dashes + 1 else: alignindex[self.orfs[0].orfname][i] = dashes + i i = i + 1 alignindex[self.orfs[1].orfname] = {} i = 0 dashes = 0 while i < len(self.orfs[1].seq): if alignseq[self.orfs[1].orfname][i + dashes] == '-':
import ORFs import globals def init(objects, clas, types): data = globals.json(filehash[types], globals.datasource) for t in data: objects[t] = clas(t) def attrs(objects, *attr): for o in objects.keys(): for a in attr: if 'args' in attrmethods[a].keys(): args = attrmethods[a]['args'] ORFs.__getattribute__(attrmethods[a]['fun'])(objects[o], args) apply(internal, [objects[o]] + intermethods.keys()) def internal(obj, *internalattr): for ia in internalattr: obj.__class__.__dict__[intermethods[ia]](obj) filehash = globals.json('./dbase/filehash') attrmethods = globals.json('./dbase/attrmethods') intermethods = globals.json('./dbase/intermethods') if __name__ == '__main__': orfs ={} init(orfs, ORFs.Orf, 'geneset')
import simplejson import Paralogs import globals """ get wapinski paralogs, convert them to tupules, and add them as attributes to the Paralog objects """ file = "paralogswapinskilistfigS6" paraloglines = globals.json(file) paraloglist = map(lambda x: x.strip("\n").split("\t"), paraloglines) plist = [(x[0], x[1]) for x in paraloglist if x[0] in orfs.keys() and x[1] in orfs.keys()] file = open("./data/DICparsalignment") dicpars = simplejson.load(file) file.close() for p in Pars.keys(): if hasattr(Pars[p], "alignindex"): setattr(Pars[p], "phosphosites", {}) for o in Pars[p].orfs: if o in orfs.keys() and hasattr(orfs[o], "phosphosite"): f = filter(lambda x: x in Pars[p].alignindex[o].keys(), orfs[o].phosphosite) Pars[p].phosphosites[o] = map(lambda x: Pars[p].alignindex[o][x], f) # add SYT positions for p in Pars.keys(): if hasattr(Pars[p], "alignindex"):
import simplejson import globals filehash = globals.json('Paralogsfilehash', './dbase/') class paralogs: def __init__(self, orfs): self.orfs = orfs def getalignindex(self): if hasattr(self, 'alignment') and getattr(self, 'alignment').keys().__len__() == 2: print 'alignindex:' + str(self.orfs[0].orfname) + str(self.orfs[1].orfname) alignindex = {} dashes = 0 i = 0 alignseq = getattr(self, 'alignment') alignindex[self.orfs[0].orfname] = {} while i < len(self.orfs[0].seq): if alignseq[self.orfs[0].orfname][i+dashes] == '-': dashes = dashes + 1 else: alignindex[self.orfs[0].orfname][i] = dashes+i i = i+1 alignindex[self.orfs[1].orfname] = {} i = 0 dashes = 0 while i < len(self.orfs[1].seq): if alignseq[self.orfs[1].orfname][i+dashes] == '-': dashes = dashes + 1 else: alignindex[self.orfs[1].orfname][i] = dashes+i
import simplejson import Paralogs import globals ''' get wapinski paralogs, convert them to tupules, and add them as attributes to the Paralog objects ''' file = 'paralogswapinskilistfigS6' paraloglines = globals.json(file) paraloglist = map(lambda x: x.strip('\n').split('\t'), paraloglines) plist = [(x[0], x[1]) for x in paraloglist if x[0] in orfs.keys() and x[1] in orfs.keys()] file = open('./data/DICparsalignment') dicpars = simplejson.load(file) file.close() for p in Pars.keys(): if hasattr(Pars[p], 'alignindex'): setattr(Pars[p], 'phosphosites', {}) for o in Pars[p].orfs: if o in orfs.keys() and hasattr(orfs[o], 'phosphosite'): f = (filter(lambda x: x in Pars[p].alignindex[o].keys(), orfs[o].phosphosite)) Pars[p].phosphosites[o] = (map(lambda x: Pars[p].alignindex[o][x], f)) # add SYT positions