def __init__(self, checkID, level, modelCount ): NTdict.__init__( self, __CLASS__ = 'CingResult', checkID = checkID, alternate = None, level = level, # comment = Whatif.explain(checkID), ) # # Initialize the lists # if Whatif.cingNameDict.has_key(checkID): # self.alternate = Whatif.cingNameDict[checkID] # for c in [ VALUE_LIST_STR, QUAL_LIST_STR]: for c in [ constants.VALUE_LIST_STR ]: self[c] = nTfill( None, modelCount)
def _calculateAverage(self, dr): """ Calculate relative R-6 averaged distance contributions of dr Adapted from DistanceRestraint.calculateAverage returns None on error or list with relative contributions for each pair on success. """ # nTdebug('Queeny._calculateAverage: %s') # error = False # Indicates if an error was encountered when analyzing restraint @UnusedVariable modelCount = dr.getModelCount() if not modelCount: # nTdebug('DistanceRestraint.calculateAverage: No structure models (%s)', self) return None #end if if len(dr.atomPairs) == 0: return None #end if models = range(modelCount) pair = 0 rm6distances = nTfill(0.0, len(dr.atomPairs)) for atm1, atm2 in dr.atomPairs: # GV says: Check are done to prevent crashes upon rereading # datasets with floating/adhoc residues/atoms # skip trivial cases if atm1 == atm2: continue if atm1 is None or atm2 is None: continue #expand pseudoatoms atms1 = atm1.realAtoms() if atms1 is None: #nTdebug('DistanceRestraint.calculateAverage: %s.realAtoms() None (%s)', atm1, self) continue atms2 = atm2.realAtoms() if atms2 is None: #nTdebug('DistanceRestraint.calculateAverage: %s.realAtoms() None (%s)', atm2, self) continue for a1 in atms1: #print '>>>', a1.format() if len(a1.coordinates) != modelCount: return None #end if for a2 in atms2: #print '>>', atm1, a1, atm2, a2 if len(a2.coordinates) != modelCount: return None #end if for i in models: rm6distances[pair] += superpose.Rm6dist(a1.coordinates[i].e, a2.coordinates[i].e) #end for models #end for a2 #end for a1 pair += 1 #end for # if self.distances[i] > 0.0: # self.distances[i] = math.pow(self.distances[i], -0.166666666666666667) # #end if psum = sum(rm6distances) for i,value in enumerate(rm6distances): rm6distances[i] = value/psum #end for return rm6distances
def __init__( self, rowSize, colSize, default=None ): NTlist.__init__( self ) for _i in range(rowSize): self.append(nTfill(default, colSize)) self.rowSize = rowSize self.colSize = colSize
def __init__(self, rowSize, colSize, default=None): NTlist.__init__(self) for _i in range(rowSize): self.append(nTfill(default, colSize)) self.rowSize = rowSize self.colSize = colSize