Exemplo n.º 1
0
 def testGenerateXSDataInputBestv1_2(
         self, _strFileNameXSDataInputStrategy_reference,
         _strFileNameXSDataInputBest_reference):
     """
     This method is testing the generation of the XSDataInputBest object given a XSDataIndexingStrategy object.
     """
     strReferenceInputFile = os.path.join(
         self.strDataPath, _strFileNameXSDataInputStrategy_reference)
     strPath = os.path.join(self.strDataPath, strReferenceInputFile)
     from XSDataMXv1 import XSDataInputStrategy
     xsDataInputStrategy = XSDataInputStrategy.parseFile(strPath)
     from EDHandlerXSDataBestv1_2 import EDHandlerXSDataBestv1_2
     edHandlerXSDataBestv1_2 = EDHandlerXSDataBestv1_2()
     xsDataInputBestv1_2 = edHandlerXSDataBestv1_2.getXSDataInputBest(
         xsDataInputStrategy)
     strReferencePath = os.path.join(self.strDataPath,
                                     _strFileNameXSDataInputBest_reference)
     strXMLInputBestReference = EDUtilsTest.readAndParseFile(
         strReferencePath)
     EDFactoryPluginStatic.loadModule("XSDataBestv1_2")
     from XSDataBestv1_2 import XSDataInputBest
     xsDataInputBestReference = XSDataInputBest.parseString(
         strXMLInputBestReference)
     EDAssert.equal(xsDataInputBestReference.marshal(),
                    xsDataInputBestv1_2.marshal())
    def doRaddoseToBestTransition(self, _edPlugin):
        """
        """
        self.DEBUG(
            "EDPluginControlKappaStrategyv2_0.doRaddoseToBestTransition")
        self.retrieveSuccessMessages(
            _edPlugin,
            "EDPluginControlKappaStrategyv2_0.doRaddoseToBestTransition")

        xsDataRaddoseOutput = self.edPluginRaddose.getDataOutput()

        # update the strategy data with the data coming from Raddose
        self.xsDataSampleCopy.setAbsorbedDoseRate(
            xsDataRaddoseOutput.getAbsorbedDoseRate())

        # Call the Best Translator layer

        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(
            self.getDataInput("mxv1InputStrategy")[0].marshal())
        xsDataInputStrategyCopy.setSample(self.xsDataSampleCopy)

        xsDataInputBest = self.edHandlerXSDataBest.getXSDataInputBest(
            xsDataInputStrategyCopy)

        self.edPluginBest.setDataInput(xsDataInputBest)
        self.edPluginBest.executeSynchronous()
Exemplo n.º 3
0
    def doBestToAlignmentTransition(self, _edPlugin):
        """
        """
        EDVerbose.DEBUG(
            "EDPluginControlKappaStrategyv2_0.doBestToAlignmentTransition")
        #self.retrieveSuccessMessages( _edPlugin, "EDPluginControlStrategyv01.doRaddoseToBestTransition" )

        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(
            self.getDataInput("mxv1InputStrategy")[0].marshal())
        xsDataInputStrategyCopy.setSample(self.xsDataSampleCopy)

        xsDataInputBest = self.edHandlerXSDataBest.getXSDataInputBest(
            xsDataInputStrategyCopy)

        #xsDataAlignmentInput=EDList()
        #xsDataAlignmentInput.add(xsDataBestInput)
        ##data collection descriptor
        #xsDataAlignmentInput.add(self.getDataInput("mxv2DataCollection")[0])
        ##indexing result
        #xsDataAlignmentInput.add(self.getDataInput("mxv1Indexingresult")[0])
        #self.edPluginAlignment.setDataInput( xsDataAlignmentInput )
        self.edPluginAlignment.setDataInput(xsDataInputBest, "inputBest")
        self.edPluginAlignment.setDataInput(
            self.getDataInput("mxv2DataCollection")[0], "dataCollection")
        self.edPluginAlignment.setDataInput(
            self.getDataInput("mxv1IndexingResult")[0], "indexingResult")

        self.edPluginAlignment.executeSynchronous()
    def doBestToAlignmentTransition(self, _edPlugin):
        """
        """
        EDVerbose.DEBUG("EDPluginControlKappaStrategyv2_0.doBestToAlignmentTransition")
        #self.retrieveSuccessMessages( _edPlugin, "EDPluginControlStrategyv01.doRaddoseToBestTransition" )


        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(self.getDataInput("mxv1InputStrategy")[0].marshal())
        xsDataInputStrategyCopy.setSample(self.xsDataSampleCopy)

        xsDataInputBest = self.edHandlerXSDataBest.getXSDataInputBest(xsDataInputStrategyCopy)

        #xsDataAlignmentInput=EDList()
        #xsDataAlignmentInput.add(xsDataBestInput)
        ##data collection descriptor
        #xsDataAlignmentInput.add(self.getDataInput("mxv2DataCollection")[0])
        ##indexing result
        #xsDataAlignmentInput.add(self.getDataInput("mxv1Indexingresult")[0])
        #self.edPluginAlignment.setDataInput( xsDataAlignmentInput )
        self.edPluginAlignment.setDataInput(xsDataInputBest, "inputBest")
        self.edPluginAlignment.setDataInput(self.getDataInput("mxv2DataCollection")[0], "dataCollection")
        self.edPluginAlignment.setDataInput(self.getDataInput("mxv1IndexingResult")[0], "indexingResult")


        self.edPluginAlignment.executeSynchronous()
Exemplo n.º 5
0
    def doRaddoseToBestTransition(self, _edPlugin):
        EDVerbose.DEBUG(
            "EDPluginControlStrategyv1_2.doRaddoseToBestTransition")
        self.retrieveSuccessMessages(
            _edPlugin, "EDPluginControlStrategyv1_2.doRaddoseToBestTransition")

        xsDataRaddoseOutput = self._edPluginRaddose.getDataOutput()

        # update the strategy data with the data coming from Raddose
        self._xsDataSampleCopy.setAbsorbedDoseRate(
            xsDataRaddoseOutput.getAbsorbedDoseRate())
        if xsDataRaddoseOutput.getPathToLogFile() != None:
            self.xsDataFileRaddoseLog = xsDataRaddoseOutput.getPathToLogFile()

        # Call the Best Translator layer
        from EDHandlerXSDataBestv1_2 import EDHandlerXSDataBestv1_2
        self._edHandlerXSDataBest = EDHandlerXSDataBestv1_2()

        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(
            self.getDataInput().marshal())
        xsDataInputStrategyCopy.setSample(self._xsDataSampleCopy)

        xsDataInputBest = self._edHandlerXSDataBest.getXSDataInputBest(
            xsDataInputStrategyCopy)

        self._edPluginBest.setDataInput(xsDataInputBest)
        self._edPluginBest.executeSynchronous()
Exemplo n.º 6
0
    def executeBest(self, _edPlugin=None):
        # Call the Best Translator layer

        from EDHandlerXSDataBestv1_2    import EDHandlerXSDataBestv1_2
        self._edHandlerXSDataBest = EDHandlerXSDataBestv1_2()
        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(self.getDataInput().marshal())
        xsDataInputStrategyCopy.setSample(self._xsDataSampleCopy)
        xsDataInputBest = self._edHandlerXSDataBest.getXSDataInputBest(xsDataInputStrategyCopy)
        self._edPluginBest.setDataInput(xsDataInputBest)
        self._edPluginBest.executeSynchronous()
Exemplo n.º 7
0
    def executeBest(self, _edPlugin=None):
        # Call the Best Translator layer

        from EDHandlerXSDataBestv1_2    import EDHandlerXSDataBestv1_2
        self._edHandlerXSDataBest = EDHandlerXSDataBestv1_2()
        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(self.getDataInput().marshal())
        xsDataInputStrategyCopy.setSample(self._xsDataSampleCopy)
        xsDataInputBest = self._edHandlerXSDataBest.getXSDataInputBest(xsDataInputStrategyCopy)
        self._edPluginBest.setDataInput(xsDataInputBest)
        self._edPluginBest.executeSynchronous()
 def testGenerateXSDataInputBestv1_2(self, _strFileNameXSDataInputStrategy_reference, _strFileNameXSDataInputBest_reference):
     """
     This method is testing the generation of the XSDataInputBest object given a XSDataIndexingStrategy object.
     """
     strReferenceInputFile = os.path.join(self.strDataPath, _strFileNameXSDataInputStrategy_reference)
     strPath = os.path.join(self.strDataPath, strReferenceInputFile)
     from XSDataMXv1 import XSDataInputStrategy
     xsDataInputStrategy = XSDataInputStrategy.parseFile(strPath)
     from EDHandlerXSDataBestv1_2 import EDHandlerXSDataBestv1_2
     edHandlerXSDataBestv1_2 = EDHandlerXSDataBestv1_2()
     xsDataInputBestv1_2 = edHandlerXSDataBestv1_2.getXSDataInputBest(xsDataInputStrategy)
     strReferencePath = os.path.join(self.strDataPath, _strFileNameXSDataInputBest_reference)
     strXMLInputBestReference = EDUtilsTest.readAndParseFile(strReferencePath)
     EDFactoryPluginStatic.loadModule("XSDataBestv1_2")
     from XSDataBestv1_2 import XSDataInputBest
     xsDataInputBestReference = XSDataInputBest.parseString(strXMLInputBestReference)
     EDAssert.equal(xsDataInputBestReference.marshal(), xsDataInputBestv1_2.marshal())
    def doRaddoseToBestTransition(self, _edPlugin):
        """
        """
        EDVerbose.DEBUG("EDPluginControlKappaStrategyv2_0.doRaddoseToBestTransition")
        self.retrieveSuccessMessages(_edPlugin, "EDPluginControlKappaStrategyv2_0.doRaddoseToBestTransition")

        xsDataRaddoseOutput = self.edPluginRaddose.getDataOutput()

        # update the strategy data with the data coming from Raddose
        self.xsDataSampleCopy.setAbsorbedDoseRate(xsDataRaddoseOutput.getAbsorbedDoseRate())

        # Call the Best Translator layer

        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(self.getDataInput("mxv1InputStrategy")[0].marshal())
        xsDataInputStrategyCopy.setSample(self.xsDataSampleCopy)

        xsDataInputBest = self.edHandlerXSDataBest.getXSDataInputBest(xsDataInputStrategyCopy)

        self.edPluginBest.setDataInput(xsDataInputBest)
        self.edPluginBest.executeSynchronous()
Exemplo n.º 10
0
    def doRaddoseToBestTransition(self, _edPlugin):
        EDVerbose.DEBUG("EDPluginControlStrategyv1_2.doRaddoseToBestTransition")
        self.retrieveSuccessMessages(_edPlugin, "EDPluginControlStrategyv1_2.doRaddoseToBestTransition")

        xsDataRaddoseOutput = self._edPluginRaddose.getDataOutput()

        # update the strategy data with the data coming from Raddose
        self._xsDataSampleCopy.setAbsorbedDoseRate(xsDataRaddoseOutput.getAbsorbedDoseRate())
        if xsDataRaddoseOutput.getPathToLogFile() != None:
            self.xsDataFileRaddoseLog = xsDataRaddoseOutput.getPathToLogFile()


        # Call the Best Translator layer
        from EDHandlerXSDataBestv1_2    import EDHandlerXSDataBestv1_2
        self._edHandlerXSDataBest = EDHandlerXSDataBestv1_2()

        xsDataInputStrategyCopy = XSDataInputStrategy.parseString(self.getDataInput().marshal())
        xsDataInputStrategyCopy.setSample(self._xsDataSampleCopy)

        xsDataInputBest = self._edHandlerXSDataBest.getXSDataInputBest(xsDataInputStrategyCopy)

        self._edPluginBest.setDataInput(xsDataInputBest)
        self._edPluginBest.executeSynchronous()
 def doCharacterisationSuccess(self, _edPlugin=None):
     EDVerbose.DEBUG(
         "EDPluginControlCharForReorientationv2_0.doCharacterisationSuccess"
     )
     self.retrieveSuccessMessages(
         _edPlugin,
         "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess")
     self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.getDataOutput(
     )
     # Check if kappa strategy is requested:
     if self.strPluginStrategyName is not None:
         self.edPluginControlStrategy = self.loadPlugin(self.strPluginStrategyName, \
                                                                "MXv2KappaStrategy")
         xsDataInputStrategy = XSDataInputStrategy()
         xsDataSolutionSelected = self.xsDataResultCharacterisation.getIndexingResult(
         ).getSelectedSolution()
         xsDataInputStrategy.setCrystalRefined(
             xsDataSolutionSelected.getCrystal())
         xsDataInputStrategy.setSample(self.xsDataResultCharacterisation.
                                       getDataCollection().getSample())
         xsDataIntegrationSubWedgeResultList = self.xsDataResultCharacterisation.getIntegrationResult(
         ).getIntegrationSubWedgeResult()
         xsDataInputStrategy.setBestFileContentDat(
             xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
         xsDataInputStrategy.setBestFileContentPar(
             xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
         xsDataInputStrategy.setExperimentalCondition(
             xsDataIntegrationSubWedgeResultList[0].
             getExperimentalConditionRefined())
         xsDataInputStrategy.setDataCollection(
             self.mxv1InputCharacterisation.getDataCollection())
         xsDataInputStrategy.setXdsBackgroundImage(
             self.xsDataResultCharacterisation.getXdsBackgroundImage())
         for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
             xsDataInputStrategy.addBestFileContentHKL(
                 xsDataIntegrationSubWedgeResult.getBestfileHKL())
         xsDataInputStrategy.setDiffractionPlan(
             self.xsDataResultCharacterisation.getDataCollection(
             ).getDiffractionPlan())
         self.edPluginControlStrategy.setDataInput(xsDataInputStrategy,
                                                   "mxv1InputStrategy")
         self.edPluginControlStrategy.setDataInput(self.mxv2DataCollection,
                                                   "mxv2DataCollection")
         self.edPluginControlStrategy.setDataInput(
             self.xsDataResultCharacterisation.getIndexingResult(),
             "mxv1IndexingResult")
         self.edPluginControlStrategy.connectSUCCESS(self.doStrategySuccess)
         self.edPluginControlStrategy.connectFAILURE(self.doStrategyFailure)
         self.executePluginSynchronous(self.edPluginControlStrategy)
Exemplo n.º 12
0
    def doIntegrationToStrategyTransition(self, _edPlugin=None):
        self.DEBUG(
            "EDPluginControlInducedRadiationProcessv10.doIntegrationToStrategyTransition"
        )
        self.retrieveSuccessMessages(
            _edPlugin,
            "EDPluginControlInducedRadiationProcessv10.doIntegrationToStrategyTransition"
        )

        xsDataIntegrationOutput = self.__edPluginIntegration.getDataOutput()
        self.__xsDataResultCharacterisation.setIntegrationResult(
            xsDataIntegrationOutput)
        # self.DEBUG( self.__xsDataExperimentCharacterisation.marshal() )
        xsDataInputStrategy = XSDataInputStrategy()

        xsDataSolutionSelected = self.__xsDataResultCharacterisation.getIndexingResult(
        ).getSelectedSolution()

        xsDataInputStrategy.setCrystalRefined(
            xsDataSolutionSelected.getCrystal())
        xsDataInputStrategy.setSample(self.__xsDataResultCharacterisation.
                                      getDataCollection().getSample())

        xsDataIntegrationSubWedgeResultList = xsDataIntegrationOutput.getIntegrationSubWedgeResult(
        )

        xsDataInputStrategy.setBestFileContentDat(
            xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
        xsDataInputStrategy.setBestFileContentPar(
            xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
        xsDataInputStrategy.setExperimentalCondition(
            xsDataIntegrationSubWedgeResultList[0].
            getExperimentalConditionRefined())
        xsDataInputStrategy.setDataCollection(
            self.getDataInput().getDataCollection())
        for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
            xsDataInputStrategy.addBestFileContentHKL(
                xsDataIntegrationSubWedgeResult.getBestfileHKL())

        xsDataInputStrategy.setDiffractionPlan(
            self.__xsDataResultCharacterisation.getDataCollection(
            ).getDiffractionPlan())

        # print xsDataInputStrategy.marshal()
        self.__edPluginStrategy.setDataInput(xsDataInputStrategy)
        self.__edPluginStrategy.executeSynchronous()
    def testSetDataModelInput(self):
        edPluginStrategy = self.createPlugin()
        strPathToTestConfigFile = os.path.join(self.getPluginTestsDataHome(),
                                               "XSConfiguration_ESRF.xml")
        edConfiguration = EDConfiguration(strPathToTestConfigFile)
        dictItem = edConfiguration.get(edPluginStrategy.getPluginName())
        edPluginStrategy.setConfig(dictItem)
        edPluginStrategy.configure()

        xsDataStrategy = XSDataInputStrategy()

        # Beam

        xsExperimentalCondition = XSDataExperimentalCondition()

        xsBeam = XSDataBeam()
        xsBeam.setFlux(XSDataFlux(1e+12))
        xsBeam.setWavelength(XSDataWavelength(2.41))
        xsBeam.setSize(XSDataSize(x=XSDataLength(0.1), y=XSDataLength(0.1)))
        xsBeam.setExposureTime(XSDataTime(1))

        xsExperimentalCondition.setBeam(xsBeam)

        # Detector and Exposure Time

        xsDataDetector = XSDataDetector()
        xsDataDetector.setType(XSDataString("q210-2x"))
        xsExperimentalCondition.setDetector(xsDataDetector)

        xsDataGoniostat = XSDataGoniostat()
        xsDataGoniostat.setRotationAxis(XSDataString("phi"))
        xsExperimentalCondition.setGoniostat(xsDataGoniostat)

        xsDataStrategy.setExperimentalCondition(xsExperimentalCondition)

        # Best Files
        bestFileContentDat = EDUtilsFile.readFile(
            os.path.join(self.strDataPath, "bestfile.dat"))
        xsDataStrategy.setBestFileContentDat(XSDataString(bestFileContentDat))
        bestFileContentPar = EDUtilsFile.readFile(
            os.path.join(self.strDataPath, "bestfile.par"))
        xsDataStrategy.setBestFileContentPar(XSDataString(bestFileContentPar))
        bestFileContentHKL = EDUtilsFile.readFile(
            os.path.join(self.strDataPath, "bestfile1.hkl"))
        xsDataStrategy.addBestFileContentHKL(XSDataString(bestFileContentHKL))

        # Crystal

        xsDataSampleCrystalMM = XSDataSampleCrystalMM()
        xsDataStructure = XSDataStructure()
        xsDataComposition = XSDataChemicalCompositionMM()

        xsDataChain = XSDataChain()
        xsDataChain.setType(XSDataString("protein"))
        xsDataChain.setNumberOfCopies(XSDataDouble(2))
        xsDataAtomicComposition = XSDataAtomicComposition()
        xsDataAtom1 = XSDataAtom()
        xsDataAtom1.setSymbol(XSDataString("Se"))
        xsDataAtom1.setNumberOf(XSDataDouble(4))
        xsDataAtomicComposition.addAtom(xsDataAtom1)

        xsDataChain.setHeavyAtoms(xsDataAtomicComposition)
        xsDataChain.setNumberOfMonomers(XSDataDouble(100))
        xsDataStructure.addChain(xsDataChain)

        xsDataChain2 = XSDataChain()
        xsDataChain2.setType(XSDataString("rna"))
        xsDataChain2.setNumberOfCopies(XSDataDouble(1))
        xsDataChain2.setNumberOfMonomers(XSDataDouble(60))
        xsDataStructure.addChain(xsDataChain2)

        xsDataLigand = XSDataLigand()
        xsDataLigand.setNumberOfCopies(XSDataDouble(2))
        xsDataLigand.setNumberOfLightAtoms(XSDataDouble(42))
        xsDataAtomicComposition = XSDataAtomicComposition()
        xsDataAtom2 = XSDataAtom()
        xsDataAtom2.setSymbol(XSDataString("Fe"))
        xsDataAtom2.setNumberOf(XSDataDouble(1))
        xsDataAtomicComposition.addAtom(xsDataAtom2)
        xsDataLigand.setHeavyAtoms(xsDataAtomicComposition)
        xsDataStructure.addLigand(xsDataLigand)
        xsDataStructure.setNumberOfCopiesInAsymmetricUnit(XSDataDouble(0.25))

        xsDataSolvent = XSDataSolvent()
        xsDataAtomicComposition = XSDataAtomicComposition()

        xsDataAtom3 = XSDataAtom()
        xsDataAtom3.setSymbol(XSDataString("Na"))
        xsDataAtom3.setConcentration(XSDataDouble(1000))
        xsDataAtom4 = XSDataAtom()
        xsDataAtom4.setSymbol(XSDataString("Cl"))
        xsDataAtom4.setConcentration(XSDataDouble(1000))

        xsDataAtomicComposition.addAtom(xsDataAtom3)
        xsDataAtomicComposition.addAtom(xsDataAtom4)
        xsDataSolvent.setAtoms(xsDataAtomicComposition)

        xsDataComposition.setStructure(xsDataStructure)
        xsDataComposition.setSolvent(xsDataSolvent)
        xsDataSampleCrystalMM.setChemicalComposition(xsDataComposition)

        xsDataSampleCrystalMM.setSize(
            XSDataSize(XSDataLength(0.1), XSDataLength(0.1),
                       XSDataLength(0.1)))

        xsDataCrystal = XSDataCrystal()
        xsDataCell = XSDataCell(angle_alpha=XSDataAngle(90.0),
                                angle_beta=XSDataAngle(90.0),
                                angle_gamma=XSDataAngle(90.0),
                                length_a=XSDataLength(78.9),
                                length_b=XSDataLength(95.162),
                                length_c=XSDataLength(104.087))
        xsDataCrystal.setCell(xsDataCell)

        xsDataSpaceGroup = XSDataSpaceGroup()
        xsDataSpaceGroup.setITNumber(XSDataInteger(16))
        xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)

        xsDataSampleCrystalMM.setSusceptibility(XSDataDouble(1.5))

        xsDataStrategy.setCrystalRefined(xsDataCrystal)

        xsDataStrategy.setSample(xsDataSampleCrystalMM)

        xsDataStrategy.exportToFile(self.strObtainedInputFile)

        pyStrExpectedInput = self.readAndParseFile(self.strReferenceInputFile)
        pyStrObtainedInput = self.readAndParseFile(self.strObtainedInputFile)

        xsDataInputExpected = XSDataInputStrategy.parseString(
            pyStrExpectedInput)
        xsDataInputObtained = XSDataInputStrategy.parseString(
            pyStrObtainedInput)

        EDAssert.equal(xsDataInputExpected.marshal(),
                       xsDataInputObtained.marshal())
Exemplo n.º 14
0
 def doSuccessIntegration(self, _edPlugin=None):
     EDVerbose.DEBUG(
         "EDPluginControlCharacterisationv1_3.doSuccessIntegration")
     self.retrieveSuccessMessages(
         _edPlugin,
         "EDPluginControlCharacterisationv1_3.doSuccessIntegration")
     # Wait for XDS plugin if necessary
     self._edPluginControlXDSGenerateBackgroundImage.synchronize()
     self.addStatusMessage("Integration successful.")
     xsDataIntegrationOutput = self._edPluginControlIntegration.getDataOutput(
     )
     self._xsDataResultCharacterisation.setIntegrationResult(
         xsDataIntegrationOutput)
     # Integration short summary
     if self._edPluginControlIntegration.hasDataOutput(
             "integrationShortSummary"):
         self._strCharacterisationShortSummary += self._edPluginControlIntegration.getDataOutput(
             "integrationShortSummary")[0].getValue()
     #EDVerbose.DEBUG( self._xsDataExperimentCharacterisation.marshal() )
     if self._bDoStrategyCalculation:
         xsDataInputStrategy = XSDataInputStrategy()
         xsDataSolutionSelected = self._xsDataResultCharacterisation.getIndexingResult(
         ).getSelectedSolution()
         xsDataInputStrategy.setCrystalRefined(
             xsDataSolutionSelected.getCrystal())
         xsDataInputStrategy.setSample(self._xsDataResultCharacterisation.
                                       getDataCollection().getSample())
         xsDataIntegrationSubWedgeResultList = xsDataIntegrationOutput.getIntegrationSubWedgeResult(
         )
         xsDataInputStrategy.setBestFileContentDat(
             xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
         xsDataInputStrategy.setBestFileContentPar(
             xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
         xsDataInputStrategy.setExperimentalCondition(
             xsDataIntegrationSubWedgeResultList[0].
             getExperimentalConditionRefined())
         xsDataInputStrategy.setXdsBackgroundImage(
             self._xsDataFileXdsBackgroundImage)
         for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
             xsDataInputStrategy.addBestFileContentHKL(
                 xsDataIntegrationSubWedgeResult.getBestfileHKL())
         xsDataInputStrategy.setDiffractionPlan(
             self._xsDataResultCharacterisation.getDataCollection(
             ).getDiffractionPlan())
         self._edPluginControlStrategy.setDataInput(xsDataInputStrategy)
         self.executePluginSynchronous(self._edPluginControlStrategy)
    def testSetDataModelInput(self):
        edPluginStrategy = self.createPlugin()
        strPathToTestConfigFile = os.path.join(self.getPluginTestsDataHome(), "XSConfiguration_ESRF.xml")
        edConfiguration = EDConfiguration(strPathToTestConfigFile)
        dictItem = edConfiguration.get(edPluginStrategy.getPluginName())
        edPluginStrategy.setConfig(dictItem)
        edPluginStrategy.configure()

        xsDataStrategy = XSDataInputStrategy()

        # Beam

        xsExperimentalCondition = XSDataExperimentalCondition()

        xsBeam = XSDataBeam()
        xsBeam.setFlux(XSDataFlux(1e+12))
        xsBeam.setWavelength(XSDataWavelength(2.41))
        xsBeam.setSize(XSDataSize(x=XSDataLength(0.1), y=XSDataLength(0.1)))
        xsBeam.setExposureTime(XSDataTime(1))

        xsExperimentalCondition.setBeam(xsBeam)

        # Detector and Exposure Time

        xsDataDetector = XSDataDetector()
        xsDataDetector.setType(XSDataString("q210-2x"))
        xsExperimentalCondition.setDetector(xsDataDetector)

        xsDataGoniostat = XSDataGoniostat()
        xsDataGoniostat.setRotationAxis(XSDataString("phi"))
        xsExperimentalCondition.setGoniostat(xsDataGoniostat)

        xsDataStrategy.setExperimentalCondition(xsExperimentalCondition)


        # Best Files
        bestFileContentDat = EDUtilsFile.readFile(os.path.join(self.strDataPath, "bestfile.dat"))
        xsDataStrategy.setBestFileContentDat(XSDataString(bestFileContentDat))
        bestFileContentPar = EDUtilsFile.readFile(os.path.join(self.strDataPath, "bestfile.par"))
        xsDataStrategy.setBestFileContentPar(XSDataString(bestFileContentPar))
        bestFileContentHKL = EDUtilsFile.readFile(os.path.join(self.strDataPath, "bestfile1.hkl"))
        xsDataStrategy.addBestFileContentHKL(XSDataString(bestFileContentHKL))

        # Crystal

        xsDataSampleCrystalMM = XSDataSampleCrystalMM()
        xsDataStructure = XSDataStructure()
        xsDataComposition = XSDataChemicalCompositionMM()

        xsDataChain = XSDataChain()
        xsDataChain.setType(XSDataString("protein"))
        xsDataChain.setNumberOfCopies(XSDataDouble(2))
        xsDataAtomicComposition = XSDataAtomicComposition()
        xsDataAtom1 = XSDataAtom()
        xsDataAtom1.setSymbol(XSDataString("Se"))
        xsDataAtom1.setNumberOf(XSDataDouble(4))
        xsDataAtomicComposition.addAtom(xsDataAtom1)

        xsDataChain.setHeavyAtoms(xsDataAtomicComposition)
        xsDataChain.setNumberOfMonomers(XSDataDouble(100))
        xsDataStructure.addChain(xsDataChain)

        xsDataChain2 = XSDataChain()
        xsDataChain2.setType(XSDataString("rna"))
        xsDataChain2.setNumberOfCopies(XSDataDouble(1))
        xsDataChain2.setNumberOfMonomers(XSDataDouble(60))
        xsDataStructure.addChain(xsDataChain2)

        xsDataLigand = XSDataLigand()
        xsDataLigand.setNumberOfCopies(XSDataDouble(2))
        xsDataLigand.setNumberOfLightAtoms(XSDataDouble(42))
        xsDataAtomicComposition = XSDataAtomicComposition()
        xsDataAtom2 = XSDataAtom()
        xsDataAtom2.setSymbol(XSDataString("Fe"))
        xsDataAtom2.setNumberOf(XSDataDouble(1))
        xsDataAtomicComposition.addAtom(xsDataAtom2)
        xsDataLigand.setHeavyAtoms(xsDataAtomicComposition)
        xsDataStructure.addLigand(xsDataLigand)
        xsDataStructure.setNumberOfCopiesInAsymmetricUnit(XSDataDouble(0.25))

        xsDataSolvent = XSDataSolvent()
        xsDataAtomicComposition = XSDataAtomicComposition()

        xsDataAtom3 = XSDataAtom()
        xsDataAtom3.setSymbol(XSDataString("Na"))
        xsDataAtom3.setConcentration(XSDataDouble(1000))
        xsDataAtom4 = XSDataAtom()
        xsDataAtom4.setSymbol(XSDataString("Cl"))
        xsDataAtom4.setConcentration(XSDataDouble(1000))

        xsDataAtomicComposition.addAtom(xsDataAtom3)
        xsDataAtomicComposition.addAtom(xsDataAtom4)
        xsDataSolvent.setAtoms(xsDataAtomicComposition)

        xsDataComposition.setStructure(xsDataStructure)
        xsDataComposition.setSolvent(xsDataSolvent)
        xsDataSampleCrystalMM.setChemicalComposition(xsDataComposition)

        xsDataSampleCrystalMM.setSize(XSDataSize(XSDataLength(0.1), XSDataLength(0.1), XSDataLength(0.1)))

        xsDataCrystal = XSDataCrystal()
        xsDataCell = XSDataCell(angle_alpha=XSDataAngle(90.0),
                                angle_beta=XSDataAngle(90.0),
                                angle_gamma=XSDataAngle(90.0),
                                length_a=XSDataLength(78.9),
                                length_b=XSDataLength(95.162),
                                length_c=XSDataLength(104.087))
        xsDataCrystal.setCell(xsDataCell)

        xsDataSpaceGroup = XSDataSpaceGroup()
        xsDataSpaceGroup.setITNumber(XSDataInteger(16))
        xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)

        xsDataSampleCrystalMM.setSusceptibility(XSDataDouble(1.5))

        xsDataStrategy.setCrystalRefined(xsDataCrystal)

        xsDataStrategy.setSample(xsDataSampleCrystalMM)

        xsDataStrategy.exportToFile(self.strObtainedInputFile)

        pyStrExpectedInput = self.readAndParseFile (self.strReferenceInputFile)
        pyStrObtainedInput = self.readAndParseFile (self.strObtainedInputFile)

        xsDataInputExpected = XSDataInputStrategy.parseString(pyStrExpectedInput)
        xsDataInputObtained = XSDataInputStrategy.parseString(pyStrObtainedInput)

        EDAssert.equal(xsDataInputExpected.marshal(), xsDataInputObtained.marshal())
    def doIntegrationToStrategyTransition(self, _edPlugin=None):
        EDVerbose.DEBUG("EDPluginControlInducedRadiationProcessv10.doIntegrationToStrategyTransition")
        self.retrieveSuccessMessages(_edPlugin, "EDPluginControlInducedRadiationProcessv10.doIntegrationToStrategyTransition")

        xsDataIntegrationOutput = self.__edPluginIntegration.getDataOutput()
        self.__xsDataResultCharacterisation.setIntegrationResult(xsDataIntegrationOutput)
        #EDVerbose.DEBUG( self.__xsDataExperimentCharacterisation.marshal() )
        xsDataInputStrategy = XSDataInputStrategy()

        xsDataSolutionSelected = self.__xsDataResultCharacterisation.getIndexingResult().getSelectedSolution()

        xsDataInputStrategy.setCrystalRefined(xsDataSolutionSelected.getCrystal())
        xsDataInputStrategy.setSample(self.__xsDataResultCharacterisation.getDataCollection().getSample())

        xsDataIntegrationSubWedgeResultList = xsDataIntegrationOutput.getIntegrationSubWedgeResult()

        xsDataInputStrategy.setBestFileContentDat(xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
        xsDataInputStrategy.setBestFileContentPar(xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
        xsDataInputStrategy.setExperimentalCondition(xsDataIntegrationSubWedgeResultList[0].getExperimentalConditionRefined())
        xsDataInputStrategy.setDataCollection(self.getDataInput().getDataCollection())
        for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
            xsDataInputStrategy.addBestFileContentHKL(xsDataIntegrationSubWedgeResult.getBestfileHKL())

        xsDataInputStrategy.setDiffractionPlan(self.__xsDataResultCharacterisation.getDataCollection().getDiffractionPlan())

        #print xsDataInputStrategy.marshal()
        self.__edPluginStrategy.setDataInput(xsDataInputStrategy)
        self.__edPluginStrategy.executeSynchronous()
 def doCharacterisationSuccess(self, _edPlugin=None):
     EDVerbose.DEBUG("EDPluginControlCharForReorientationv2_0.doCharacterisationSuccess")
     self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess")
     self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.getDataOutput()
     # Check if kappa strategy is requested:
     if self.strPluginStrategyName is not None:
         self.edPluginControlStrategy = self.loadPlugin(self.strPluginStrategyName, \
                                                                "MXv2KappaStrategy")
         xsDataInputStrategy = XSDataInputStrategy()
         xsDataSolutionSelected = self.xsDataResultCharacterisation.getIndexingResult().getSelectedSolution()
         xsDataInputStrategy.setCrystalRefined(xsDataSolutionSelected.getCrystal())
         xsDataInputStrategy.setSample(self.xsDataResultCharacterisation.getDataCollection().getSample())
         xsDataIntegrationSubWedgeResultList = self.xsDataResultCharacterisation.getIntegrationResult().getIntegrationSubWedgeResult()
         xsDataInputStrategy.setBestFileContentDat(xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
         xsDataInputStrategy.setBestFileContentPar(xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
         xsDataInputStrategy.setExperimentalCondition(xsDataIntegrationSubWedgeResultList[0].getExperimentalConditionRefined())
         xsDataInputStrategy.setDataCollection(self.mxv1InputCharacterisation.getDataCollection())
         xsDataInputStrategy.setXdsBackgroundImage(self.xsDataResultCharacterisation.getXdsBackgroundImage())
         for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
             xsDataInputStrategy.addBestFileContentHKL(xsDataIntegrationSubWedgeResult.getBestfileHKL())
         xsDataInputStrategy.setDiffractionPlan(self.xsDataResultCharacterisation.getDataCollection().getDiffractionPlan())
         self.edPluginControlStrategy.setDataInput(xsDataInputStrategy, "mxv1InputStrategy")
         self.edPluginControlStrategy.setDataInput(self.mxv2DataCollection, "mxv2DataCollection")
         self.edPluginControlStrategy.setDataInput(self.xsDataResultCharacterisation.getIndexingResult(), "mxv1IndexingResult")
         self.edPluginControlStrategy.connectSUCCESS(self.doStrategySuccess)
         self.edPluginControlStrategy.connectFAILURE(self.doStrategyFailure)
         self.executePluginSynchronous(self.edPluginControlStrategy)
Exemplo n.º 18
0
 def doSuccessIntegration(self, _edPlugin=None):
     self.DEBUG("EDPluginControlGridScreeningv1_0.doSuccessIntegration")
     self.retrieveSuccessMessages(
         _edPlugin, "EDPluginControlGridScreeningv1_0.doSuccessIntegration")
     self.addStatusMessage("Integration successful.")
     self.xsDataIntegrationOutput = self.edPluginControlIntegration.getDataOutput(
     )
     # Integration short summary
     if self.edPluginControlIntegration.hasDataOutput(
             "integrationShortSummary"):
         self.strCharacterisationShortSummary += self.edPluginControlIntegration.getDataOutput(
             "integrationShortSummary")[0].getValue()
     #self.DEBUG( self.xsDataExperimentCharacterisation.marshal() )
     if self.bDoOnlyIntegrationWithXMLOutput:
         # Run mtz2various
         xsDataInputMtz2Various = XSDataInputMtz2Various()
         xsDataInputMtz2Various.setMtzfile(
             self.edPluginControlIntegration.getDataOutput(
             ).getIntegrationSubWedgeResult()[0].getGeneratedMTZFile())
         xsDataInputMtz2Various.addLabin(XSDataString("I=I"))
         xsDataInputMtz2Various.addLabin(XSDataString("SIGI=SIGI"))
         xsDataInputMtz2Various.setOutput(
             XSDataString("USER '(3I4,2F10.1)'"))
         self.edPluginExecMtz2Various.setDataInput(xsDataInputMtz2Various)
         self.edPluginExecMtz2Various.executeSynchronous()
         strHklFilePath = self.edPluginExecMtz2Various.getDataOutput(
         ).getHklfile().getPath().getValue()
         strIntegration = EDUtilsFile.readFile(strHklFilePath)
         # Output the result in XML format
         self.xsDataGridScreeningResultIntegration = XSDataGridScreeningResultIntegration(
         )
         self.xsDataGridScreeningResultIntegration.setFileName(
             os.path.basename(self.strImageFile))
         self.xsDataGridScreeningResultIntegration.setFileDirectory(
             os.path.dirname(self.strImageFile))
         self.xsDataGridScreeningResultIntegration.setIntegratedData(
             strIntegration)
     else:
         # We continue with the strategy calculation
         xsDataInputStrategy = XSDataInputStrategy()
         xsDataSolutionSelected = self.xsDataIndexingResult.getSelectedSolution(
         )
         xsDataInputStrategy.setCrystalRefined(
             xsDataSolutionSelected.getCrystal())
         xsDataInputStrategy.setSample(self.xsDataCollection.getSample())
         xsDataIntegrationSubWedgeResultList = self.xsDataIntegrationOutput.getIntegrationSubWedgeResult(
         )
         xsDataInputStrategy.setBestFileContentDat(
             xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
         xsDataInputStrategy.setBestFileContentPar(
             xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
         xsDataInputStrategy.setExperimentalCondition(
             xsDataIntegrationSubWedgeResultList[0].
             getExperimentalConditionRefined())
         for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
             xsDataInputStrategy.addBestFileContentHKL(
                 xsDataIntegrationSubWedgeResult.getBestfileHKL())
         xsDataInputStrategy.setDiffractionPlan(self.xsDataDiffractionPlan)
         self.edPluginControlStrategy.connectSUCCESS(self.doSuccessStrategy)
         self.edPluginControlStrategy.connectFAILURE(self.doFailureStrategy)
         self.edPluginControlStrategy.setDataInput(xsDataInputStrategy)
         self.executePluginSynchronous(self.edPluginControlStrategy)
 def doSuccessIntegration(self, _edPlugin=None):
     self.DEBUG("EDPluginControlCharacterisationv1_5.doSuccessIntegration")
     self.retrieveSuccessMessages(self._edPluginControlIntegration, "EDPluginControlCharacterisationv1_5.doSuccessIntegration")
     # Wait for XDS plugin if necessary
     self._edPluginControlXDSGenerateBackgroundImage.synchronize()
     self.addStatusMessage("Integration successful.")
     xsDataIntegrationOutput = self._edPluginControlIntegration.getDataOutput()
     self._xsDataResultCharacterisation.setIntegrationResult(xsDataIntegrationOutput)
     # Integration short summary
     if self._edPluginControlIntegration.hasDataOutput("integrationShortSummary"):
         integrationShortSummary = self._edPluginControlIntegration.getDataOutput("integrationShortSummary")[0].getValue()
         self._strCharacterisationShortSummary += integrationShortSummary
         self.sendMessageToMXCuBE(integrationShortSummary)
     # self.DEBUG( self._xsDataExperimentCharacterisation.marshal() )
     if self._bDoStrategyCalculation:
         xsDataInputStrategy = XSDataInputStrategy()
         xsDataSolutionSelected = self._xsDataResultCharacterisation.getIndexingResult().getSelectedSolution()
         xsDataInputStrategy.setCrystalRefined(xsDataSolutionSelected.getCrystal())
         xsDataInputStrategy.setSample(self._xsDataResultCharacterisation.getDataCollection().getSample())
         xsDataIntegrationSubWedgeResultList = xsDataIntegrationOutput.getIntegrationSubWedgeResult()
         bFirst = True
         for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
             if xsDataIntegrationSubWedgeResult.getBestfileHKL() is not None:
                 xsDataInputStrategy.addBestFileContentHKL(xsDataIntegrationSubWedgeResult.getBestfileHKL())
                 if bFirst:
                     xsDataInputStrategy.setBestFileContentDat(xsDataIntegrationSubWedgeResult.getBestfileDat())
                     xsDataInputStrategy.setBestFileContentPar(xsDataIntegrationSubWedgeResult.getBestfilePar())
                     xsDataInputStrategy.setExperimentalCondition(xsDataIntegrationSubWedgeResult.getExperimentalConditionRefined())
                     bFirst = False
         xsDataInputStrategy.setXdsBackgroundImage(self._xsDataFileXdsBackgroundImage)
         xsDataInputStrategy.setDataCollection(self._xsDataCollection)
         xsDataInputStrategy.setDiffractionPlan(self._xsDataResultCharacterisation.getDataCollection().getDiffractionPlan())
         self._edPluginControlStrategy.setDataInput(xsDataInputStrategy)
         self.executePluginSynchronous(self._edPluginControlStrategy)
Exemplo n.º 20
0
    def doIntegrationToStrategyTransition(self, _edPlugin=None):
        EDVerbose.DEBUG(
            "EDPluginControlCharacterisationv2_0.doIntegrationToStrategyTransition"
        )
        self.retrieveSuccessMessages(
            _edPlugin,
            "EDPluginControlCharacterisationv2_0.doIntegrationToStrategyTransition"
        )

        xsDataIntegrationOutput = self.edPluginIntegration.getDataOutput()
        self.xsDataResultCharacterisation.setIntegrationResult(
            xsDataIntegrationOutput)
        #EDVerbose.DEBUG( self.xsDataExperimentCharacterisation.marshal() )
        from XSDataMXv1 import XSDataInputStrategy
        xsDataInputStrategyOLD = XSDataInputStrategy()

        xsDataSolutionSelected = self.xsDataResultCharacterisation.getIndexingResult(
        ).getSelectedSolution()

        xsDataInputStrategyOLD.setCrystalRefined(
            xsDataSolutionSelected.getCrystal())
        xsDataInputStrategyOLD.setSample(
            self.xsDataResultCharacterisation.getDataCollection().getSample())

        xsDataIntegrationSubWedgeResultList = xsDataIntegrationOutput.getIntegrationSubWedgeResult(
        )

        xsDataInputStrategyOLD.setBestFileContentDat(
            xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
        xsDataInputStrategyOLD.setBestFileContentPar(
            xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
        xsDataInputStrategyOLD.setExperimentalCondition(
            xsDataIntegrationSubWedgeResultList[0].
            getExperimentalConditionRefined())

        for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
            xsDataInputStrategyOLD.addBestFileContentHKL(
                xsDataIntegrationSubWedgeResult.getBestfileHKL())

        xsDataInputStrategyOLD.setDiffractionPlan(
            self.xsDataResultCharacterisation.getDataCollection(
            ).getDiffractionPlan())
        xsDataInputStrategyOLD.setXdsBackgroundImage(
            self.xsDataResultCharacterisation.getXdsBackgroundImage())

        #print xsDataInputStrategy.marshal()
        self.edPluginStrategy.setDataInput(xsDataInputStrategyOLD,
                                           "mxv1InputStrategy")
        if self.hasDataInput("mxv2DataCollection"):
            self.edPluginStrategy.setDataInput(
                self.getDataInput("mxv2DataCollection")[0],
                "mxv2DataCollection")
        self.edPluginStrategy.setDataInput(
            self.xsDataResultCharacterisation.getIndexingResult(),
            "mxv1IndexingResult")

        #            xsDataInputStrategy= EDList()
        #            xsDataInputStrategy.add(xsDataInputStrategyOLD)
        #            xsDataInputStrategy.add(self.getDataInput()[1])
        #            xsDataInputStrategy.add(self.xsDataResultCharacterisationv2_0.getIndexingResult())
        #            self.edPluginStrategy.setDataInput( xsDataInputStrategy )
        self.edPluginStrategy.executeSynchronous()
    def doIntegrationToStrategyTransition(self, _edPlugin=None):
        EDVerbose.DEBUG("EDPluginControlCharacterisationv2_0.doIntegrationToStrategyTransition")
        self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doIntegrationToStrategyTransition")

        xsDataIntegrationOutput = self.edPluginIntegration.getDataOutput()
        self.xsDataResultCharacterisation.setIntegrationResult(xsDataIntegrationOutput)
        #EDVerbose.DEBUG( self.xsDataExperimentCharacterisation.marshal() )
        from XSDataMXv1 import XSDataInputStrategy
        xsDataInputStrategyOLD = XSDataInputStrategy()

        xsDataSolutionSelected = self.xsDataResultCharacterisation.getIndexingResult().getSelectedSolution()

        xsDataInputStrategyOLD.setCrystalRefined(xsDataSolutionSelected.getCrystal())
        xsDataInputStrategyOLD.setSample(self.xsDataResultCharacterisation.getDataCollection().getSample())

        xsDataIntegrationSubWedgeResultList = xsDataIntegrationOutput.getIntegrationSubWedgeResult()

        xsDataInputStrategyOLD.setBestFileContentDat(xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
        xsDataInputStrategyOLD.setBestFileContentPar(xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
        xsDataInputStrategyOLD.setExperimentalCondition(xsDataIntegrationSubWedgeResultList[0].getExperimentalConditionRefined())

        for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
            xsDataInputStrategyOLD.addBestFileContentHKL(xsDataIntegrationSubWedgeResult.getBestfileHKL())

        xsDataInputStrategyOLD.setDiffractionPlan(self.xsDataResultCharacterisation.getDataCollection().getDiffractionPlan())
        xsDataInputStrategyOLD.setXdsBackgroundImage(self.xsDataResultCharacterisation.getXdsBackgroundImage())

        #print xsDataInputStrategy.marshal()
        self.edPluginStrategy.setDataInput(xsDataInputStrategyOLD, "mxv1InputStrategy")
        if self.hasDataInput("mxv2DataCollection"):
            self.edPluginStrategy.setDataInput(self.getDataInput("mxv2DataCollection")[0], "mxv2DataCollection")
        self.edPluginStrategy.setDataInput(self.xsDataResultCharacterisation.getIndexingResult(), "mxv1IndexingResult")

#            xsDataInputStrategy= EDList()
#            xsDataInputStrategy.add(xsDataInputStrategyOLD)
#            xsDataInputStrategy.add(self.getDataInput()[1])
#            xsDataInputStrategy.add(self.xsDataResultCharacterisationv2_0.getIndexingResult())
#            self.edPluginStrategy.setDataInput( xsDataInputStrategy )
        self.edPluginStrategy.executeSynchronous()
 def doSuccessIntegration(self, _edPlugin=None):
     self.DEBUG("EDPluginControlGridScreeningv1_0.doSuccessIntegration")
     self.retrieveSuccessMessages(_edPlugin, "EDPluginControlGridScreeningv1_0.doSuccessIntegration")
     self.addStatusMessage("Integration successful.")
     self.xsDataIntegrationOutput = self.edPluginControlIntegration.getDataOutput()
     # Integration short summary
     if self.edPluginControlIntegration.hasDataOutput("integrationShortSummary"):
         self.strCharacterisationShortSummary += self.edPluginControlIntegration.getDataOutput("integrationShortSummary")[0].getValue()
     # self.DEBUG( self.xsDataExperimentCharacterisation.marshal() )
     if self.bDoOnlyIntegrationWithXMLOutput:
         # Run mtz2various
         xsDataInputMtz2Various = XSDataInputMtz2Various()
         xsDataInputMtz2Various.setMtzfile(self.edPluginControlIntegration.getDataOutput().getIntegrationSubWedgeResult()[0].getGeneratedMTZFile())
         xsDataInputMtz2Various.addLabin(XSDataString("I=I"))
         xsDataInputMtz2Various.addLabin(XSDataString("SIGI=SIGI"))
         xsDataInputMtz2Various.setOutput(XSDataString("USER '(3I4,2F10.1)'"))
         self.edPluginExecMtz2Various.setDataInput(xsDataInputMtz2Various)
         self.edPluginExecMtz2Various.executeSynchronous()
         strHklFilePath = self.edPluginExecMtz2Various.getDataOutput().getHklfile().getPath().getValue()
         strIntegration = EDUtilsFile.readFile(strHklFilePath)
         # Output the result in XML format
         self.xsDataGridScreeningResultIntegration = XSDataGridScreeningResultIntegration()
         self.xsDataGridScreeningResultIntegration.setFileName(os.path.basename(self.strImageFile))
         self.xsDataGridScreeningResultIntegration.setFileDirectory(os.path.dirname(self.strImageFile))
         self.xsDataGridScreeningResultIntegration.setIntegratedData(strIntegration)
     else:
         # We continue with the strategy calculation
         xsDataInputStrategy = XSDataInputStrategy()
         xsDataSolutionSelected = self.xsDataIndexingResult.getSelectedSolution()
         xsDataInputStrategy.setCrystalRefined(xsDataSolutionSelected.getCrystal())
         xsDataInputStrategy.setSample(self.xsDataCollection.getSample())
         xsDataIntegrationSubWedgeResultList = self.xsDataIntegrationOutput.getIntegrationSubWedgeResult()
         xsDataInputStrategy.setBestFileContentDat(xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
         xsDataInputStrategy.setBestFileContentPar(xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
         xsDataInputStrategy.setExperimentalCondition(xsDataIntegrationSubWedgeResultList[0].getExperimentalConditionRefined())
         xsDataInputStrategy.setDataCollection(self.xsDataCollection)
         for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
             xsDataInputStrategy.addBestFileContentHKL(xsDataIntegrationSubWedgeResult.getBestfileHKL())
         xsDataInputStrategy.setDiffractionPlan(self.xsDataDiffractionPlan)
         self.edPluginControlStrategy.connectSUCCESS(self.doSuccessStrategy)
         self.edPluginControlStrategy.connectFAILURE(self.doFailureStrategy)
         self.edPluginControlStrategy.setDataInput(xsDataInputStrategy)
         self.executePluginSynchronous(self.edPluginControlStrategy)
 def doSuccessIntegration(self, _edPlugin=None):
     EDVerbose.DEBUG("EDPluginControlCharacterisationv1_2.doSuccessIntegration")
     self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv1_2.doSuccessIntegration")
     self.addStatusMessage("Integration successful.")
     xsDataIntegrationOutput = self.__edPluginControlIntegration.getDataOutput()
     self.__xsDataResultCharacterisation.setIntegrationResult(xsDataIntegrationOutput)
     # Integration short summary
     if self.__edPluginControlIntegration.hasDataOutput("integrationShortSummary"):
         self.__strCharacterisationShortSummary += self.__edPluginControlIntegration.getDataOutput("integrationShortSummary")[0].getValue()
     #EDVerbose.DEBUG( self.__xsDataExperimentCharacterisation.marshal() )
     if self.__bDoStrategyCalculation:
         xsDataInputStrategy = XSDataInputStrategy()
         xsDataSolutionSelected = self.__xsDataResultCharacterisation.getIndexingResult().getSelectedSolution()
         xsDataInputStrategy.setCrystalRefined(xsDataSolutionSelected.getCrystal())
         xsDataInputStrategy.setSample(self.__xsDataResultCharacterisation.getDataCollection().getSample())
         xsDataIntegrationSubWedgeResultList = xsDataIntegrationOutput.getIntegrationSubWedgeResult()
         xsDataInputStrategy.setBestFileContentDat(xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
         xsDataInputStrategy.setBestFileContentPar(xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
         xsDataInputStrategy.setExperimentalCondition(xsDataIntegrationSubWedgeResultList[0].getExperimentalConditionRefined())
         for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
             xsDataInputStrategy.addBestFileContentHKL(xsDataIntegrationSubWedgeResult.getBestfileHKL())
         xsDataInputStrategy.setDiffractionPlan(self.__xsDataResultCharacterisation.getDataCollection().getDiffractionPlan())
         self.__edPluginControlStrategy.setDataInput(xsDataInputStrategy)
         self.__edPluginControlStrategy.executeSynchronous()
 def doSuccessIntegration(self, _edPlugin=None):
     self.DEBUG("EDPluginControlGridScreeningv1_0.doSuccessIntegration")
     self.retrieveSuccessMessages(_edPlugin, "EDPluginControlGridScreeningv1_0.doSuccessIntegration")
     self.addStatusMessage("Integration successful.")
     self.xsDataIntegrationOutput = self.edPluginControlIntegration.getDataOutput()
     # Integration short summary
     if self.edPluginControlIntegration.hasDataOutput("integrationShortSummary"):
         self.strCharacterisationShortSummary += self.edPluginControlIntegration.getDataOutput("integrationShortSummary")[0].getValue()
     #self.DEBUG( self.xsDataExperimentCharacterisation.marshal() )
     xsDataInputStrategy = XSDataInputStrategy()
     xsDataSolutionSelected = self.xsDataIndexingResult.getSelectedSolution()
     xsDataInputStrategy.setCrystalRefined(xsDataSolutionSelected.getCrystal())
     xsDataInputStrategy.setSample(self.xsDataCollection.getSample())
     xsDataIntegrationSubWedgeResultList = self.xsDataIntegrationOutput.getIntegrationSubWedgeResult()
     xsDataInputStrategy.setBestFileContentDat(xsDataIntegrationSubWedgeResultList[0].getBestfileDat())
     xsDataInputStrategy.setBestFileContentPar(xsDataIntegrationSubWedgeResultList[0].getBestfilePar())
     xsDataInputStrategy.setExperimentalCondition(xsDataIntegrationSubWedgeResultList[0].getExperimentalConditionRefined())
     for xsDataIntegrationSubWedgeResult in xsDataIntegrationSubWedgeResultList:
         xsDataInputStrategy.addBestFileContentHKL(xsDataIntegrationSubWedgeResult.getBestfileHKL())
     xsDataInputStrategy.setDiffractionPlan(self.xsDataDiffractionPlan)
     self.edPluginControlStrategy.connectSUCCESS(self.doSuccessStrategy)
     self.edPluginControlStrategy.connectFAILURE(self.doFailureStrategy)
     self.edPluginControlStrategy.setDataInput(xsDataInputStrategy)
     self.executePluginSynchronous(self.edPluginControlStrategy)