コード例 #1
0
ファイル: _prody.py プロジェクト: corredD/ePMV
 def computeNormalMode(self,) :         
     if self.anm is None :
         return
     if self.gammaStructure:
         self.gamma = prody.GammaStructureBased(self.ca_model)
     self.anm.buildHessian(self.ca_model, gamma=self.gamma, cutoff=self.cutoff)
     self.anm.calcModes()
     #extrapole
     self.bb_anm, self.bb_atoms = prody.extrapolateModel(self.anm, self.ca_model, self.model.select(self.conf))#self.conf))
     self.nbMode = self.anm.getNumOfModes()
コード例 #2
0
ファイル: _prody.py プロジェクト: skcsd/ePMV
 def computeNormalMode(self, ):
     if self.anm is None:
         return
     if self.gammaStructure:
         self.gamma = prody.GammaStructureBased(self.ca_model)
     self.anm.buildHessian(self.ca_model,
                           gamma=self.gamma,
                           cutoff=self.cutoff)
     self.anm.calcModes()
     #extrapole
     self.bb_anm, self.bb_atoms = prody.extrapolateModel(
         self.anm, self.ca_model,
         self.model.select(self.conf))  #self.conf))
     self.nbMode = self.anm.getNumOfModes()
コード例 #3
0
ファイル: _prody.py プロジェクト: skcsd/ePMV
 def applyMode(self, idMode):
     if idMode > self.nbMode:
         return
     #sample?should gave 10
     #or should I use traverseMode
     #should I redo the extrapolation ?
     self.bb_anm, self.bb_atoms = prody.extrapolateModel(
         self.anm, self.ca_model,
         self.model.select(self.conf))  #self.conf))
     self.nbMode = self.anm.getNumOfModes()
     if self.sample == "sample":
         ensemble = prody.sampleModes(self.bb_anm[idMode],
                                      self.bb_atoms,
                                      n_confs=self.nbconf,
                                      rmsd=self.rmsd)
     elif self.sample == "traverse":
         ensemble = prody.traverseMode(self.bb_anm[idMode],
                                       self.bb_atoms,
                                       n_steps=int(self.nbconf / 2),
                                       rmsd=self.rmsd)
     coords = ensemble.getCoordsets()
     nC = len(coords)  #should beequal to nbconf
     self.pmvmodel.allAtoms.setConformation(0)
     if self.first:
         self.oricoords = numpy.array(self.pmvmodel.allAtoms._coords[:])
         self.first = False
     else:
         self.pmvmodel.allAtoms._coords = self.oricoords.tolist()
         #self.pmvmodel.allAtoms._coords = numpy.concatenate(([oricoords,],coords),axis=0)
     #if a gui is available shoud update it
     #use current sel
     for i, c in enumerate(coords):
         if self.conf == "ca":
             if len(c) != len(self.pmvmodel.allAtoms.get("CA").coords):
                 return
             self.pmvmodel.allAtoms.get("CA").addConformation(c[:])
         elif self.conf == "protein and ca":
             self.pmvmodel.chains.residues.get("aminoacids").atoms.get(
                 "CA").addConformation(c[:])
         elif self.conf == "protein":
             self.pmvmodel.chains.residues.get(
                 "aminoacids").atoms.addConformation(c[:])
             #self.pmvmodel.allAtoms.get("aminoacids").addConformation(c[:])
         else:  #all
             if len(c) != len(self.pmvmodel.allAtoms.coords):
                 return
             self.pmvmodel.allAtoms.addConformation(c[:])
コード例 #4
0
ファイル: _prody.py プロジェクト: corredD/ePMV
 def applyMode(self,idMode):
     if idMode > self.nbMode:
         return
     #sample?should gave 10
     #or should I use traverseMode
     #should I redo the extrapolation ?
     self.bb_anm, self.bb_atoms = prody.extrapolateModel(self.anm, self.ca_model, self.model.select(self.conf))#self.conf))
     self.nbMode = self.anm.getNumOfModes()        
     if self.sample == "sample" :
         ensemble = prody.sampleModes(self.bb_anm[idMode], self.bb_atoms, n_confs=self.nbconf, rmsd=self.rmsd)
     elif  self.sample == "traverse" :
         ensemble = prody.traverseMode(self.bb_anm[idMode], self.bb_atoms, n_steps=int(self.nbconf/2), rmsd=self.rmsd)    
     coords=ensemble.getCoordsets() 
     nC = len(coords)   #should beequal to nbconf 
     self.pmvmodel.allAtoms.setConformation(0)
     if self.first:
         self.oricoords  = numpy.array(self.pmvmodel.allAtoms._coords[:])
         self.first = False
     else :
         self.pmvmodel.allAtoms._coords = self.oricoords.tolist()
         #self.pmvmodel.allAtoms._coords = numpy.concatenate(([oricoords,],coords),axis=0)        
     #if a gui is available shoud update it
     #use current sel
     for i,c in enumerate(coords):
         if self.conf == "ca" :
             if len(c) != len(self.pmvmodel.allAtoms.get("CA").coords):
                 return
             self.pmvmodel.allAtoms.get("CA").addConformation(c[:])
         elif self.conf == "protein and ca" :  
             self.pmvmodel.chains.residues.get("aminoacids").atoms.get("CA").addConformation(c[:])
         elif self.conf == "protein" :
             self.pmvmodel.chains.residues.get("aminoacids").atoms.addConformation(c[:])
             #self.pmvmodel.allAtoms.get("aminoacids").addConformation(c[:])
         else :#all
             if len(c) != len(self.pmvmodel.allAtoms.coords):
                 return
             self.pmvmodel.allAtoms.addConformation(c[:])