def generateMOSFLMCommands(self):
        """
        This method creates a list of MOSFLM integration commands given a valid
        XSDataMOSFLMIntegrationingInput as self.getDataInput()
        """
        EDPluginMOSFLMv10.generateMOSFLMCommands(self)
        self.DEBUG("EDPluginMOSFLMIntegrationv10.generateMOSFLMCommands")

        xsDataMOSFLMInputIntegration = self.getDataInput()

        if (xsDataMOSFLMInputIntegration is not None):


            iImageStart = xsDataMOSFLMInputIntegration.getImageStart().getValue()
            iImageEnd = xsDataMOSFLMInputIntegration.getImageEnd().getValue()
            fRotationAxisStart = xsDataMOSFLMInputIntegration.getRotationAxisStart().getValue()
            fOscillationWidth = xsDataMOSFLMInputIntegration.getOscillationWidth().getValue()

            self.addListCommandExecution("HKLOUT process_%d_%d.mtz" %
                                                       (iImageStart, iImageEnd))
            self.addListCommandExecution("PROCESS %d TO %d START %f ANGLE %f" %
                                                       (iImageStart, iImageEnd, fRotationAxisStart, fOscillationWidth))


            self.addListCommandExecution("BEST ON")
            self.addListCommandExecution("GO")
            self.addListCommandExecution("BEST OFF")

        # Force name of log file
        self.setScriptLogFileName(self.compactPluginName(self.getClassName())+".log")

        self.DEBUG("Finished EDPluginMOSFLMIntegrationv10.generateMOSFLMCommands")
Beispiel #2
0
    def generateMOSFLMCommands(self):
        """
        This method creates a list of MOSFLM integration commands given a valid
        XSDataMOSFLMIntegrationingInput as self.getDataInput()
        """
        EDPluginMOSFLMv10.generateMOSFLMCommands(self)
        self.DEBUG("EDPluginMOSFLMIntegrationv10.generateMOSFLMCommands")

        xsDataMOSFLMInputIntegration = self.getDataInput()

        if (xsDataMOSFLMInputIntegration is not None):


            iImageStart = xsDataMOSFLMInputIntegration.getImageStart().getValue()
            iImageEnd = xsDataMOSFLMInputIntegration.getImageEnd().getValue()
            fRotationAxisStart = xsDataMOSFLMInputIntegration.getRotationAxisStart().getValue()
            fOscillationWidth = xsDataMOSFLMInputIntegration.getOscillationWidth().getValue()

            self.addListCommandExecution("HKLOUT process_%d_%d.mtz" %
                                                       (iImageStart, iImageEnd))
            self.addListCommandExecution("PROCESS %d TO %d START %f ANGLE %f" %
                                                       (iImageStart, iImageEnd, fRotationAxisStart, fOscillationWidth))


            self.addListCommandExecution("BEST ON")
            self.addListCommandExecution("GO")
            self.addListCommandExecution("BEST OFF")

        # Force name of log file
        self.setScriptLogFileName(self.compactPluginName(self.getClassName())+".log")

        self.DEBUG("Finished EDPluginMOSFLMIntegrationv10.generateMOSFLMCommands")
    def generateMOSFLMCommands(self):
        """
        This method creates a list of MOSFLM integration commands given a valid
        XSDataMOSFLMInputGeneratePrediction as input to the plugin.
        """
        EDPluginMOSFLMv10.generateMOSFLMCommands(self)
        EDVerbose.DEBUG("EDPluginMOSFLMGeneratePredictionv10.generateMOSFLMCommands")

        xsDataMOSFLMInputGeneratePrediction = self.getDataInput()

        if (xsDataMOSFLMInputGeneratePrediction is not None):

            pyStrTemplate = xsDataMOSFLMInputGeneratePrediction.getTemplate().getValue()
            xsDataMOSFLMImage = xsDataMOSFLMInputGeneratePrediction.getImage()
            iImageNumber = xsDataMOSFLMImage.getNumber().getValue()

            pyStrImageFileName = self.getImageFileNameFromTemplate(pyStrTemplate, iImageNumber)
            if (pyStrImageFileName is not None):
                self.setPredictionImageFileName(pyStrImageFileName + "_pred.jpg")

            fRotationAxisStart = xsDataMOSFLMImage.getRotationAxisStart().getValue()
            fRotationAxisEnd = xsDataMOSFLMImage.getRotationAxisEnd().getValue()
            self.addListCommandExecution("XGUI ON")
            self.addListCommandExecution("IMAGE %d PHI %f TO %f" % (iImageNumber, fRotationAxisStart, fRotationAxisEnd))
            self.addListCommandExecution("GO")
            self.addListCommandExecution("PREDICT_SPOTS")
            self.addListCommandExecution("CREATE_IMAGE PREDICTION ON BINARY TRUE FILENAME %s" % (self.getPredictionImageFileName()))
            self.addListCommandExecution("RETURN")
            self.addListCommandExecution("EXIT")

            self.addListCommandPostExecution("chmod 644 %s" % self.getPredictionImageFileName())

        EDVerbose.DEBUG("Finished EDPluginMOSFLMGeneratePredictionv10.generateMOSFLMCommands")
    def generateMOSFLMCommands(self):
        """
        This method creates a list of MOSFLM indexing commands given a valid
        XSDataMOSFLMIndexingingInput as self.getDataInput()
        """
        EDPluginMOSFLMv10.generateMOSFLMCommands(self)
        EDVerbose.DEBUG("EDPluginMOSFLMIndexingv10.generateMOSFLMCommands")

        xsDataMOSFLMIndexingInput = self.getDataInput()

        if (xsDataMOSFLMIndexingInput != None):

            self.addListCommandExecution("NEWMAT " + self.getNewmatFileName())

            xsDataMOSFLMImageList = xsDataMOSFLMIndexingInput.getImage()
            for xsDataMOSFLMImage in xsDataMOSFLMImageList:
                iImageNumber = xsDataMOSFLMImage.getNumber().getValue()
                fRotationAxisStart = xsDataMOSFLMImage.getRotationAxisStart().getValue()
                fRotationAxisEnd = xsDataMOSFLMImage.getRotationAxisEnd().getValue()
                self.addListCommandExecution("AUTOINDEX DPS REFINE IMAGE " + str(iImageNumber) + " " \
                                                     "PHI " + str(fRotationAxisStart) + " " + str(fRotationAxisEnd))
            self.addListCommandExecution("GO")
            for xsDataImage in xsDataMOSFLMImageList:
                self.addListCommandExecution("MOSAIC ESTIMATE %d" % xsDataImage.getNumber().getValue())
                self.addListCommandExecution("GO")

#            strPrefix = strTemplate.split("#")[0][:-1]
#            strGenFileName = strPrefix + ".gen"
#            strSptFileName = strPrefix + ".spt"

        EDVerbose.DEBUG("Finished EDPluginMOSFLMIndexingv10.generateMOSFLMIndexingCommands")
    def generateMOSFLMCommands(self):
        """
        This method creates a list of MOSFLM integration commands given a valid
        XSDataMOSFLMIntegrationingInput as self.getDataInput()
        """
        EDPluginMOSFLMv10.generateMOSFLMCommands(self)
        EDVerbose.DEBUG("EDPluginMOSFLMIntegrationv10.generateMOSFLMCommands")

        xsDataMOSFLMInputIntegration = self.getDataInput()

        if xsDataMOSFLMInputIntegration is not None:

            iImageStart = xsDataMOSFLMInputIntegration.getImageStart().getValue()
            iImageEnd = xsDataMOSFLMInputIntegration.getImageEnd().getValue()
            fRotationAxisStart = xsDataMOSFLMInputIntegration.getRotationAxisStart().getValue()
            fOscillationWidth = xsDataMOSFLMInputIntegration.getOscillationWidth().getValue()

            self.addListCommandExecution("HKLOUT process_%d_%d.mtz" % (iImageStart, iImageEnd))
            self.addListCommandExecution(
                "PROCESS %d TO %d START %f ANGLE %f" % (iImageStart, iImageEnd, fRotationAxisStart, fOscillationWidth)
            )

            self.addListCommandExecution("BEST ON")
            self.addListCommandExecution("GO")
            self.addListCommandExecution("BEST OFF")

        EDVerbose.DEBUG("Finished EDPluginMOSFLMIntegrationv10.generateMOSFLMCommands")
    def generateMOSFLMCommands(self):
        """
        This method creates a list of MOSFLM integration commands given a valid
        XSDataMOSFLMInputGeneratePrediction as input to the plugin.
        """
        EDPluginMOSFLMv10.generateMOSFLMCommands(self)
        self.DEBUG(
            "EDPluginMOSFLMGeneratePredictionv10.generateMOSFLMCommands")

        xsDataMOSFLMInputGeneratePrediction = self.getDataInput()

        if (xsDataMOSFLMInputGeneratePrediction is not None):

            pyStrTemplate = xsDataMOSFLMInputGeneratePrediction.getTemplate(
            ).getValue()
            xsDataMOSFLMImage = xsDataMOSFLMInputGeneratePrediction.getImage()
            iImageNumber = xsDataMOSFLMImage.getNumber().getValue()
            pyStrImageFileName = self.getImageFileNameFromTemplate(
                pyStrTemplate, iImageNumber)
            if "master" in xsDataMOSFLMInputGeneratePrediction.template.value:
                iImageNumber = 1
            if (pyStrImageFileName is not None):
                self.setPredictionImageFileName(pyStrImageFileName +
                                                "_pred.jpg")

            fRotationAxisStart = xsDataMOSFLMImage.getRotationAxisStart(
            ).getValue()
            fRotationAxisEnd = xsDataMOSFLMImage.getRotationAxisEnd().getValue(
            )
            self.addListCommandExecution("XGUI ON")
            self.addListCommandExecution(
                "IMAGE %d PHI %f TO %f" %
                (iImageNumber, fRotationAxisStart, fRotationAxisEnd))
            self.addListCommandExecution("GO")
            self.addListCommandExecution("PREDICT_SPOTS")
            self.addListCommandExecution(
                "CREATE_IMAGE PREDICTION ON BINARY TRUE FILENAME %s" %
                (self.getPredictionImageFileName()))
            self.addListCommandExecution("RETURN")
            self.addListCommandExecution("EXIT")

            self.addListCommandPostExecution("chmod 644 %s" %
                                             self.getPredictionImageFileName())

        # Force name of log file
        self.setScriptLogFileName(
            self.compactPluginName(self.getClassName()) + ".log")

        self.DEBUG(
            "Finished EDPluginMOSFLMGeneratePredictionv10.generateMOSFLMCommands"
        )
    def generateMOSFLMCommands(self):
        """
        This method creates a list of MOSFLM indexing commands given a valid
        XSDataMOSFLMIndexingingInput as self.getDataInput()
        """
        EDPluginMOSFLMv10.generateMOSFLMCommands(self)
        self.DEBUG("EDPluginMOSFLMIndexingv10.generateMOSFLMCommands")

        xsDataMOSFLMIndexingInput = self.getDataInput()

        if (xsDataMOSFLMIndexingInput != None):

            self.addListCommandExecution("NEWMAT " + self.getNewmatFileName())

            xsDataMOSFLMImageList = xsDataMOSFLMIndexingInput.getImage()
            for xsDataMOSFLMImage in xsDataMOSFLMImageList:
                iImageNumber = xsDataMOSFLMImage.getNumber().getValue()
                fRotationAxisStart = xsDataMOSFLMImage.getRotationAxisStart(
                ).getValue()
                fRotationAxisEnd = xsDataMOSFLMImage.getRotationAxisEnd(
                ).getValue()
                self.addListCommandExecution("AUTOINDEX DPS REFINE IMAGE " + str(iImageNumber) + " " \
                                                     "PHI " + str(fRotationAxisStart) + " " + str(fRotationAxisEnd))
            self.addListCommandExecution("GO")
            for xsDataImage in xsDataMOSFLMImageList:
                self.addListCommandExecution(
                    "MOSAIC ESTIMATE %d" % xsDataImage.getNumber().getValue())
                self.addListCommandExecution("GO")

#            strPrefix = strTemplate.split("#")[0][:-1]
#            strGenFileName = strPrefix + ".gen"
#            strSptFileName = strPrefix + ".spt"
# Force name of log file
        self.setScriptLogFileName(
            self.compactPluginName(self.getClassName()) + ".log")

        self.DEBUG(
            "Finished EDPluginMOSFLMIndexingv10.generateMOSFLMIndexingCommands"
        )