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()
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()
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 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()
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)
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())
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)
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)
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)