def cluster(self): """The corresponding MultiDictCluster """ rv=MultiDictCluster() rv.gNames=copy(self.oligoLongName) for i in xrange(len(self.uidList)): if not N.equal(self.array.mask,False)[i,:].any(): continue rv[self.uidList[i]]={} row=self.array[i,:] for j in xrange(len(self.arrayList)): if row.mask[j]: continue rv[self.uidList[i]][self.arrayList[j]]=row[j] return rv
#!/usr/local/bin/python import sys from utils import MultiDictCluster iFile=sys.stdin oFile=sys.stdout mdc=MultiDictCluster() iCol = iFile.next().strip().split('\t')[3:] for g in iCol: mdc[g]={} iFile.next() for r in iFile: rF=r.strip().split() a=rF[0] vals=rF[3:] for g,v in zip(iCol,rF): mdc[g][a]=v mdc.clusterFmt(oFile)
v=[] if type(recs) != ListType: rec=[res] for rec in recs: if rec.Flags>=0: # and re.match(r'\d+',rec.ID): v.append(rec['F532 Median - B532']) rv+=rec['F532 Median - B532'] if len(v)>0: rv/=float(len(recs)) print >> varianceFile, '\t'.join([str(x) for x in [rec.Name]+v]) return rv else: return None mdc=MultiDictCluster() for fn in glob('Prrsv_*idHack.gpr'): gpr=ATF.GPR(fn) eName=fn.split('.')[0] eName=chipMap[gprFN2chipNumber(eName)] expt={} for i in set((r.ID for r in gpr.dataLines)): expt[i]=mean532(gpr[i]) mdc.eAppend(expt,eName,sumNorm=False) mdc.gNames.update(dict((r.ID,r.Name) for r in gpr.dataLines)) varianceFile.close() mdc.clusterFmt()