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 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'])
Example #6
0
 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
Example #8
0
	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"
 def getModel(self):
         modeldata = apModel.getModelFromId(self.params['modelid'])
         self.modelfile = 'initmodel.mrc'