def setupInitialModel(self): modeldata = apModel.getModelFromId(self.params["modelid"]) modelfile = os.path.join(modeldata["path"]["path"], modeldata["name"]) modelsym = modeldata["symmetry"]["symmetry"] apDisplay.printMsg("Current symmetry: %s" % (modeldata["symmetry"]["description"])) # if icosahedral recon, rotate volume to 3DEM standard orientation if modelsym.startswith("Icos (5 3 2)"): tempfile = "temp.mrc" emancmd = "proc3d %s %s icos5fTo2f" % (modelfile, tempfile) apEMAN.executeEmanCmd(emancmd, verbose=True) modelfile = tempfile if modelsym.startswith("Icos (5 3 2)") or modelsym.startswith("Icos (2 5 3)"): tempfile = "temp.mrc" emancmd = "proc3d %s %s rotspin=0,0,1,90" % (modelfile, tempfile) apEMAN.executeEmanCmd(emancmd, verbose=True) modelfile = tempfile outmodelfile = os.path.join(self.params["rundir"], "initmodel.hed") apFile.removeStack(outmodelfile, warn=False) emancmd = "proc3d %s %s clip=%d,%d,%d " % (modelfile, outmodelfile, self.boxsize, self.boxsize, self.boxsize) # rescale initial model if necessary scale = modeldata["pixelsize"] / self.apix if abs(scale - 1.0) > 1e-3: emancmd += "scale=%.4f " % (scale) apEMAN.executeEmanCmd(emancmd, verbose=True) apImagicFile.setImagic4DHeader(outmodelfile, machineonly=True) return outmodelfile
def setupInitialModel(self): modeldata = apModel.getModelFromId(self.params['modelid']) modelfile = os.path.join(modeldata['path']['path'], modeldata['name']) modelsym = modeldata['symmetry']['symmetry'] apDisplay.printMsg("Current symmetry: %s"%(modeldata['symmetry']['description'])) # if icosahedral recon, rotate volume to 3DEM standard orientation if modelsym.startswith('Icos (5 3 2)'): tempfile = "temp.mrc" emancmd = 'proc3d %s %s icos5fTo2f' % (modelfile, tempfile) apEMAN.executeEmanCmd(emancmd, verbose=True) modelfile = tempfile if modelsym.startswith('Icos (5 3 2)') or modelsym.startswith('Icos (2 5 3)'): tempfile = "temp.mrc" emancmd = 'proc3d %s %s rotspin=0,0,1,90' % (modelfile, tempfile) apEMAN.executeEmanCmd(emancmd, verbose=True) modelfile = tempfile outmodelfile = os.path.join(self.params['rundir'], "initmodel.hed") apFile.removeStack(outmodelfile, warn=False) emancmd = "proc3d %s %s clip=%d,%d,%d " % (modelfile, outmodelfile, self.boxsize, self.boxsize, self.boxsize) # rescale initial model if necessary scale = modeldata['pixelsize']/self.apix if abs(scale - 1.0) > 1e-3: emancmd += "scale=%.4f "%(scale) apEMAN.executeEmanCmd(emancmd, verbose=True) apImagicFile.setImagic4DHeader(outmodelfile, machineonly=True) return outmodelfile
def getModelParams(self): modeldata = apModel.getModelFromId(self.params['oldmodelid']) self.params['oldapix'] = float(modeldata['pixelsize']) if self.params['symmetry'] is None: self.params['symdata'] = modeldata['symmetry'] self.params['symmetry'] = self.params['symdata']['eman_name'] self.params['res'] = float(modeldata['resolution']) self.params['file'] = os.path.join(modeldata['path']['path'], modeldata['name'])
def __initializeModel(self,modelid,ismask=False): self.model = {} self.model['data'] = apModel.getModelFromId(modelid) self.model['id'] = modelid self.model['file'] = os.path.join(self.model['data']['path']['path'], self.model['data']['name']) self.model['apix'] = self.model['data']['pixelsize'] self.model['format'] = self.model['data']['name'].split('.')[-1] self.model['ismask'] = ismask
def __initializeModel(self, modelid, ismask=False): self.model = {} self.model['data'] = apModel.getModelFromId(modelid) self.model['id'] = modelid self.model['file'] = os.path.join(self.model['data']['path']['path'], self.model['data']['name']) self.model['apix'] = self.model['data']['pixelsize'] self.model['format'] = self.model['data']['name'].split('.')[-1] self.model['ismask'] = ismask
def getRunData(self): ### setup refinement run jobdata = apDatabase.getJobDataFromPathAndType(self.params['rundir'], "runfrealign") runq = appiondata.ApRefineRunData() runq['runname'] = self.params['runname'] runq['package'] = "Frealign" runq['description'] = self.params['description'] runq['hidden'] = False runq['num_iter'] = self.numiter runq['stack'] = apStack.getOnlyStackData(self.params['stackid']) runq['initialModel'] = apModel.getModelFromId(self.params['modelid']) runq['path'] = appiondata.ApPathData(path=os.path.abspath(self.params['rundir'])) runq['job'] = jobdata return runq
def getRunData(self): ### setup refinement run jobdata = apDatabase.getJobDataFromPathAndType(self.params["rundir"], "runfrealign") runq = appiondata.ApRefineRunData() runq["runname"] = self.params["runname"] runq["package"] = "Frealign" runq["description"] = self.params["description"] runq["hidden"] = False runq["num_iter"] = self.numiter runq["stack"] = apStack.getOnlyStackData(self.params["stackid"]) runq["initialModel"] = apModel.getModelFromId(self.params["modelid"]) runq["path"] = appiondata.ApPathData(path=os.path.abspath(self.params["rundir"])) runq["job"] = jobdata return runq
def start(self): self.params["nproc"] = 6 ### get info about the model if self.params["modelid"] is not None: apDisplay.printMsg("Information about model id %d" % (self.params["modelid"])) modeldata = apModel.getModelFromId(self.params["modelid"]) apDisplay.printMsg("\tboxsize %d pixels" % (modeldata["boxsize"])) apDisplay.printMsg("\tpixelsize %.3f Angstroms" % (modeldata["pixelsize"])) apDisplay.printMsg("\n\n") self.getModel() inputlines = self.createFastFreeHandInputLineTemplate() free_hand_scripts = self.writeMultipleFreeHandTestShells(inputlines, self.params["nproc"]) print free_hand_scripts # self.runMultipleFreeHandTest(free_hand_scripts) merged_outfile = self.mergeResults() plot = plotFreeHandTestResult(merged_outfile, self.params["angSearch"], self.params["scoringtype"]) plot.plotResult()
def start(self): self.params['nproc'] = 6 ### get info about the model if self.params['modelid'] is not None: apDisplay.printMsg("Information about model id %d"%(self.params['modelid'])) modeldata = apModel.getModelFromId(self.params['modelid']) apDisplay.printMsg("\tboxsize %d pixels"%(modeldata['boxsize'])) apDisplay.printMsg("\tpixelsize %.3f Angstroms"%(modeldata['pixelsize'])) apDisplay.printMsg("\n\n") self.getModel() inputlines = self.createFastFreeHandInputLineTemplate() free_hand_scripts = self.writeMultipleFreeHandTestShells(inputlines,self.params['nproc']) print free_hand_scripts #self.runMultipleFreeHandTest(free_hand_scripts) merged_outfile = self.mergeResults() plot = plotFreeHandTestResult(merged_outfile,self.params['angSearch'],self.params['scoringtype']) plot.plotResult()
def getModel(self): modeldata = apModel.getModelFromId(self.params['modelid']) self.modelfile = 'initmodel.mrc'
def getModel(self): modeldata = apModel.getModelFromId(self.params["modelid"]) self.modelfile = "initmodel.mrc"