def generateXSDataISPyBScreeningInput(_xsDataInputControlISPyB): """ """ EDFactoryPluginStatic.loadModule("XSDataISPyBv1_2") from XSDataISPyBv1_2 import XSDataISPyBScreeningInput from XSDataISPyBv1_2 import XSDataDouble xsDataResultCharacterisation = _xsDataInputControlISPyB.getCharacterisationResult() xsDataISPyBScreeningInput = XSDataISPyBScreeningInput() xsDataCollection = EDHandlerXSDataISPyBv2_0.getDataCollectionFromSuggestedStrategy(xsDataResultCharacterisation) # Data collection information if (xsDataCollection is not None): xsDataSubWedgeList = xsDataCollection.getSubWedge() if (xsDataSubWedgeList is not None): xsDataSubWedgeFirst = xsDataSubWedgeList[0] xsDataExperimentalCondition = xsDataSubWedgeFirst.getExperimentalCondition() if (xsDataExperimentalCondition is not None): xsDataDetector = xsDataExperimentalCondition.getDetector() if (xsDataDetector is not None): fBeamPositionX = xsDataDetector.getBeamPositionX().getValue() fBeamPositionY = xsDataDetector.getBeamPositionY().getValue() xsDataISPyBScreeningInput.setBeamX(XSDataDouble(fBeamPositionX)) xsDataISPyBScreeningInput.setBeamY(XSDataDouble(fBeamPositionY)) return xsDataISPyBScreeningInput
def generateXSDataISPyBScreeningInput(_xsDataInputControlISPyB): """ """ EDFactoryPluginStatic.loadModule("XSDataISPyBv1_2") from XSDataISPyBv1_2 import XSDataISPyBScreeningInput from XSDataISPyBv1_2 import XSDataDouble xsDataResultCharacterisation = _xsDataInputControlISPyB.getCharacterisationResult( ) xsDataISPyBScreeningInput = XSDataISPyBScreeningInput() # Data collection information xsDataCollection = xsDataResultCharacterisation.getDataCollection() if (xsDataCollection is not None): xsDataSubWedgeList = xsDataCollection.getSubWedge() if (xsDataSubWedgeList is not None): xsDataSubWedgeFirst = xsDataSubWedgeList[0] xsDataExperimentalCondition = xsDataSubWedgeFirst.getExperimentalCondition( ) if (xsDataExperimentalCondition is not None): xsDataDetector = xsDataExperimentalCondition.getDetector() if (xsDataDetector is not None): fBeamPositionX = xsDataDetector.getBeamPositionX( ).getValue() fBeamPositionY = xsDataDetector.getBeamPositionY( ).getValue() xsDataISPyBScreeningInput.setBeamX( XSDataDouble(fBeamPositionX)) xsDataISPyBScreeningInput.setBeamY( XSDataDouble(fBeamPositionY)) return xsDataISPyBScreeningInput
def testSetDataModelInput(self): """ A test for whether we can obtain the expected XML by setting a certain input for the plugin. """ edPluginISPyB = self.createPlugin() xsPluginItemISPyB = self.getPluginConfiguration(os.path.join(self.getPluginTestsDataHome(), "XSConfiguration.xml")) edPluginISPyB.setConfiguration(xsPluginItemISPyB) edPluginISPyB.configure() # Create XSDataISPyB objects xsDataISPyBImage = XSDataISPyBImage() xsDataISPyBImage.setFileName(XSDataString("test.img")) xsDataISPyBImage.setFileLocation(XSDataString("/tmp")) xsDataISPyBScreening = XSDataISPyBScreening() xsDataISPyBScreening.setProgramVersion(XSDataString("EDNA Prototype")) xsDataISPyBScreeningInput = XSDataISPyBScreeningInput() xsDataISPyBScreeningInput.setBeamX(XSDataDouble(10.4)) xsDataISPyBScreeningInput.setBeamY(XSDataDouble(2.31)) xsDataISPyBScreeningInput.setRmsErrorLimits(XSDataDouble(0.8)) xsDataISPyBScreeningInput.setMinimumFractionIndexed(XSDataDouble(0.4)) xsDataISPyBScreeningInput.setMaximumFractionRejected(XSDataDouble(0.45)) xsDataISPyBScreeningInput.setMinimumSignalToNoise(XSDataDouble(0.56)) xsDataISPyBScreeningOutput = XSDataISPyBScreeningOutput() xsDataISPyBScreeningOutput.setStatusDescription(XSDataString("It's just fine.")) xsDataISPyBScreeningOutput.setMosaicity(XSDataDouble(0.25)) xsDataISPyBScreeningOutput.setBeamShiftX(XSDataDouble (0.141)) xsDataISPyBScreeningOutput.setBeamShiftY(XSDataDouble (0.156)) xsDataISPyBScreeningOutputLattice = XSDataISPyBScreeningOutputLattice() xsDataISPyBScreeningOutputLattice.setSpaceGroup(XSDataString("P222")) xsDataISPyBScreeningStrategy = XSDataISPyBScreeningStrategy() xsDataISPyBScreeningStrategy.setPhiStart(XSDataDouble(0)) xsDataISPyBScreeningStrategy.setPhiEnd(XSDataDouble(20)) xsDataISPyBScreeningStrategy.setRotation(XSDataDouble(1)) xsDataISPyBScreeningStrategy.setProgram(XSDataString("EDNA")) xsDataISPyBScreeningStrategy.setAnomalous(XSDataBoolean(1)) xsDataISPyBScreeningStrategyWedge = XSDataISPyBScreeningStrategyWedge() xsDataISPyBScreeningStrategyWedge.setWedgeNumber(XSDataInteger(1)) xsDataISPyBScreeningStrategyWedge.setResolution(XSDataDouble(2.1)) xsDataISPyBScreeningStrategyWedge.setCompleteness(XSDataDouble(90)) xsDataISPyBScreeningStrategyWedge.setMultiplicity(XSDataDouble(1.5)) xsDataISPyBScreeningStrategyWedge.setDoseTotal(XSDataDouble(40.5)) xsDataISPyBScreeningStrategyWedge.setNumberOfImages(XSDataInteger(130)) xsDataISPyBScreeningStrategySubWedge = XSDataISPyBScreeningStrategySubWedge() xsDataISPyBScreeningStrategySubWedge.setSubWedgeNumber(XSDataInteger(1)) xsDataISPyBScreeningStrategySubWedge.setRotationAxis(XSDataString("Omega")) xsDataISPyBScreeningStrategySubWedge.setAxisStart(XSDataDouble(0.0)) xsDataISPyBScreeningStrategySubWedge.setAxisEnd(XSDataDouble(90.0)) xsDataISPyBScreeningStrategySubWedge.setExposureTime(XSDataDouble(0.5)) xsDataISPyBScreeningStrategySubWedge.setTransmission(XSDataDouble(100.0)) xsDataISPyBScreeningStrategySubWedge.setNumberOfImages(XSDataInteger(130)) xsDataISPyBScreeningStrategyWedgeContainer = XSDataISPyBScreeningStrategyWedgeContainer() xsDataISPyBScreeningStrategyWedgeContainer.setScreeningStrategyWedge(xsDataISPyBScreeningStrategyWedge) xsDataISPyBScreeningStrategyWedgeContainer.getScreeningStrategySubWedge().append(xsDataISPyBScreeningStrategySubWedge) xsDataISPyBScreeningStrategyContainer = XSDataISPyBScreeningStrategyContainer() xsDataISPyBScreeningStrategyContainer.setScreeningStrategy(xsDataISPyBScreeningStrategy) xsDataISPyBScreeningStrategyContainer.getScreeningStrategyWedgeContainer().append(xsDataISPyBScreeningStrategyWedgeContainer) xsDataISPyBScreeningOutputContainer = XSDataISPyBScreeningOutputContainer() xsDataISPyBScreeningOutputContainer.setScreeningOutput(xsDataISPyBScreeningOutput) xsDataISPyBScreeningOutputContainer.getScreeningOutputLattice().append(xsDataISPyBScreeningOutputLattice) xsDataISPyBScreeningOutputContainer.getScreeningStrategyContainer().append(xsDataISPyBScreeningStrategyContainer) xsDataISPyBScreeningRank = XSDataISPyBScreeningRank() xsDataISPyBScreeningRank.setRankValue(XSDataDouble(1.4)) xsDataISPyBScreeningRank.setRankInformation(XSDataString("This is the only one")) xsDataISPyBScreeningRankSet = XSDataISPyBScreeningRankSet() xsDataISPyBScreeningRankSet.setRankEngine(XSDataString("ISPyB")) xsDataISPyBScreeningFile = XSDataISPyBScreeningFile() xsDataISPyBScreeningFile.setFileType(XSDataString("log")) xsDataISPyBScreeningFile.setDescription(XSDataString("Output log file")) # Write XSDataISPyB objects to files xsDataISPyBScreening.outputFile(self.__strObtainedScreening) xsDataISPyBScreeningInput.outputFile(self.__strObtainedScreeningInput) xsDataISPyBScreeningOutputContainer.outputFile(self.__strObtainedScreeningOutputContainer) xsDataISPyBScreeningRank.outputFile(self.__strObtainedScreeningRank) xsDataISPyBScreeningRankSet.outputFile(self.__strObtainedScreeningRankSet) xsDataISPyBScreeningFile.outputFile(self.__strObtainedScreeningFile) # Compare screening strInputScreeningExpected = self.readAndParseFile(self.__strReferenceInputScreening) xsDataScreeningExpected = XSDataInputISPyB.parseString(strInputScreeningExpected) strXMLScreeningExpected = xsDataScreeningExpected.marshal() strScreeningObtained = self.readAndParseFile(self.__strObtainedScreening) xsDataScreeningObtained = XSDataInputISPyB.parseString(strScreeningObtained) strXMLScreeningObtained = xsDataScreeningObtained.marshal() EDAssert.equal(strXMLScreeningExpected, strXMLScreeningObtained) #Compare screeningInput strInputScreeningInputExpected = self.readAndParseFile(self.__strReferenceInputScreeningInput) xsDataScreeningInputExpected = XSDataInputISPyB.parseString(strInputScreeningInputExpected) strXMLScreeningInputExpected = xsDataScreeningInputExpected.marshal() strScreeningInputObtained = self.readAndParseFile(self.__strObtainedScreeningInput) xsDataScreeningInputObtained = XSDataInputISPyB.parseString(strScreeningInputObtained) strXMLScreeningInputObtained = xsDataScreeningInputObtained.marshal() EDAssert.equal(strXMLScreeningInputExpected, strXMLScreeningInputObtained) #Compare screeningOutputContainer strInputScreeningOutputContainerExpected = self.readAndParseFile(self.__strReferenceInputScreeningOutputContainer) xsDataScreeningOutputContainerExpected = XSDataInputISPyB.parseString(strInputScreeningOutputContainerExpected) strXMLScreeningOutputContainerExpected = xsDataScreeningOutputContainerExpected.marshal() strScreeningOutputContainerObtained = self.readAndParseFile(self.__strObtainedScreeningOutputContainer) xsDataScreeningOutputContainerObtained = XSDataInputISPyB.parseString(strScreeningOutputContainerObtained) strXMLScreeningOutputContainerObtained = xsDataScreeningOutputContainerObtained.marshal() EDAssert.equal(strXMLScreeningOutputContainerExpected, strXMLScreeningOutputContainerObtained) #Compare screeningRank strInputScreeningRankExpected = self.readAndParseFile(self.__strReferenceInputScreeningRank) xsDataScreeningRankExpected = XSDataInputISPyB.parseString(strInputScreeningRankExpected) strXMLScreeningRankExpected = xsDataScreeningRankExpected.marshal() strScreeningRankObtained = self.readAndParseFile(self.__strObtainedScreeningRank) xsDataScreeningRankObtained = XSDataInputISPyB.parseString(strScreeningRankObtained) strXMLScreeningRankObtained = xsDataScreeningRankObtained.marshal() EDAssert.equal(strXMLScreeningRankExpected, strXMLScreeningRankObtained) #Compare screeningRankSet strInputScreeningRankSetExpected = self.readAndParseFile(self.__strReferenceInputScreeningRankSet) xsDataScreeningRankSetExpected = XSDataInputISPyB.parseString(strInputScreeningRankSetExpected) strXMLScreeningRankSetExpected = xsDataScreeningRankSetExpected.marshal() strScreeningRankSetObtained = self.readAndParseFile(self.__strObtainedScreeningRankSet) xsDataScreeningRankSetObtained = XSDataInputISPyB.parseString(strScreeningRankSetObtained) strXMLScreeningRankSetObtained = xsDataScreeningRankSetObtained.marshal() EDAssert.equal(strXMLScreeningRankSetExpected, strXMLScreeningRankSetObtained) #Compare screeningFile strInputScreeningFileExpected = self.readAndParseFile(self.__strReferenceInputScreeningFile) xsDataScreeningFileExpected = XSDataInputISPyB.parseString(strInputScreeningFileExpected) strXMLScreeningFileExpected = xsDataScreeningFileExpected.marshal() strScreeningFileObtained = self.readAndParseFile(self.__strObtainedScreeningFile) xsDataScreeningFileObtained = XSDataInputISPyB.parseString(strScreeningFileObtained) strXMLScreeningFileObtained = xsDataScreeningFileObtained.marshal() EDAssert.equal(strXMLScreeningFileExpected, strXMLScreeningFileObtained) self.cleanUp(edPluginISPyB)
def testSetDataModelInput(self): """ A test for whether we can obtain the expected XML by setting a certain input for the plugin. """ edPluginISPyB = self.createPlugin() xsPluginItemISPyB = self.getPluginConfiguration( os.path.join(self.getPluginTestsDataHome(), "XSConfiguration.xml")) edPluginISPyB.setConfiguration(xsPluginItemISPyB) edPluginISPyB.configure() # Create XSDataISPyB objects xsDataISPyBImage = XSDataISPyBImage() xsDataISPyBImage.setFileName(XSDataString("test.img")) xsDataISPyBImage.setFileLocation(XSDataString("/tmp")) xsDataISPyBScreening = XSDataISPyBScreening() xsDataISPyBScreening.setProgramVersion(XSDataString("EDNA Prototype")) xsDataISPyBScreeningInput = XSDataISPyBScreeningInput() xsDataISPyBScreeningInput.setBeamX(XSDataDouble(10.4)) xsDataISPyBScreeningInput.setBeamY(XSDataDouble(2.31)) xsDataISPyBScreeningInput.setRmsErrorLimits(XSDataDouble(0.8)) xsDataISPyBScreeningInput.setMinimumFractionIndexed(XSDataDouble(0.4)) xsDataISPyBScreeningInput.setMaximumFractionRejected( XSDataDouble(0.45)) xsDataISPyBScreeningInput.setMinimumSignalToNoise(XSDataDouble(0.56)) xsDataISPyBScreeningOutput = XSDataISPyBScreeningOutput() xsDataISPyBScreeningOutput.setStatusDescription( XSDataString("It's just fine.")) xsDataISPyBScreeningOutput.setMosaicity(XSDataDouble(0.25)) xsDataISPyBScreeningOutput.setBeamShiftX(XSDataDouble(0.141)) xsDataISPyBScreeningOutput.setBeamShiftY(XSDataDouble(0.156)) xsDataISPyBScreeningOutputLattice = XSDataISPyBScreeningOutputLattice() xsDataISPyBScreeningOutputLattice.setSpaceGroup(XSDataString("P222")) xsDataISPyBScreeningStrategy = XSDataISPyBScreeningStrategy() xsDataISPyBScreeningStrategy.setPhiStart(XSDataDouble(0)) xsDataISPyBScreeningStrategy.setPhiEnd(XSDataDouble(20)) xsDataISPyBScreeningStrategy.setRotation(XSDataDouble(1)) xsDataISPyBScreeningStrategy.setProgram(XSDataString("EDNA")) xsDataISPyBScreeningStrategy.setAnomalous(XSDataBoolean(1)) xsDataISPyBScreeningStrategyWedge = XSDataISPyBScreeningStrategyWedge() xsDataISPyBScreeningStrategyWedge.setWedgeNumber(XSDataInteger(1)) xsDataISPyBScreeningStrategyWedge.setResolution(XSDataDouble(2.1)) xsDataISPyBScreeningStrategyWedge.setCompleteness(XSDataDouble(90)) xsDataISPyBScreeningStrategyWedge.setMultiplicity(XSDataDouble(1.5)) xsDataISPyBScreeningStrategyWedge.setDoseTotal(XSDataDouble(40.5)) xsDataISPyBScreeningStrategyWedge.setNumberOfImages(XSDataInteger(130)) xsDataISPyBScreeningStrategySubWedge = XSDataISPyBScreeningStrategySubWedge( ) xsDataISPyBScreeningStrategySubWedge.setSubWedgeNumber( XSDataInteger(1)) xsDataISPyBScreeningStrategySubWedge.setRotationAxis( XSDataString("Omega")) xsDataISPyBScreeningStrategySubWedge.setAxisStart(XSDataDouble(0.0)) xsDataISPyBScreeningStrategySubWedge.setAxisEnd(XSDataDouble(90.0)) xsDataISPyBScreeningStrategySubWedge.setExposureTime(XSDataDouble(0.5)) xsDataISPyBScreeningStrategySubWedge.setTransmission( XSDataDouble(100.0)) xsDataISPyBScreeningStrategySubWedge.setNumberOfImages( XSDataInteger(130)) xsDataISPyBScreeningStrategyWedgeContainer = XSDataISPyBScreeningStrategyWedgeContainer( ) xsDataISPyBScreeningStrategyWedgeContainer.setScreeningStrategyWedge( xsDataISPyBScreeningStrategyWedge) xsDataISPyBScreeningStrategyWedgeContainer.getScreeningStrategySubWedge( ).append(xsDataISPyBScreeningStrategySubWedge) xsDataISPyBScreeningStrategyContainer = XSDataISPyBScreeningStrategyContainer( ) xsDataISPyBScreeningStrategyContainer.setScreeningStrategy( xsDataISPyBScreeningStrategy) xsDataISPyBScreeningStrategyContainer.getScreeningStrategyWedgeContainer( ).append(xsDataISPyBScreeningStrategyWedgeContainer) xsDataISPyBScreeningOutputContainer = XSDataISPyBScreeningOutputContainer( ) xsDataISPyBScreeningOutputContainer.setScreeningOutput( xsDataISPyBScreeningOutput) xsDataISPyBScreeningOutputContainer.getScreeningOutputLattice().append( xsDataISPyBScreeningOutputLattice) xsDataISPyBScreeningOutputContainer.getScreeningStrategyContainer( ).append(xsDataISPyBScreeningStrategyContainer) xsDataISPyBScreeningRank = XSDataISPyBScreeningRank() xsDataISPyBScreeningRank.setRankValue(XSDataDouble(1.4)) xsDataISPyBScreeningRank.setRankInformation( XSDataString("This is the only one")) xsDataISPyBScreeningRankSet = XSDataISPyBScreeningRankSet() xsDataISPyBScreeningRankSet.setRankEngine(XSDataString("ISPyB")) xsDataISPyBScreeningFile = XSDataISPyBScreeningFile() xsDataISPyBScreeningFile.setFileType(XSDataString("log")) xsDataISPyBScreeningFile.setDescription( XSDataString("Output log file")) # Write XSDataISPyB objects to files xsDataISPyBScreening.outputFile(self.__strObtainedScreening) xsDataISPyBScreeningInput.outputFile(self.__strObtainedScreeningInput) xsDataISPyBScreeningOutputContainer.outputFile( self.__strObtainedScreeningOutputContainer) xsDataISPyBScreeningRank.outputFile(self.__strObtainedScreeningRank) xsDataISPyBScreeningRankSet.outputFile( self.__strObtainedScreeningRankSet) xsDataISPyBScreeningFile.outputFile(self.__strObtainedScreeningFile) # Compare screening strInputScreeningExpected = self.readAndParseFile( self.__strReferenceInputScreening) xsDataScreeningExpected = XSDataInputISPyB.parseString( strInputScreeningExpected) strXMLScreeningExpected = xsDataScreeningExpected.marshal() strScreeningObtained = self.readAndParseFile( self.__strObtainedScreening) xsDataScreeningObtained = XSDataInputISPyB.parseString( strScreeningObtained) strXMLScreeningObtained = xsDataScreeningObtained.marshal() EDAssert.equal(strXMLScreeningExpected, strXMLScreeningObtained) #Compare screeningInput strInputScreeningInputExpected = self.readAndParseFile( self.__strReferenceInputScreeningInput) xsDataScreeningInputExpected = XSDataInputISPyB.parseString( strInputScreeningInputExpected) strXMLScreeningInputExpected = xsDataScreeningInputExpected.marshal() strScreeningInputObtained = self.readAndParseFile( self.__strObtainedScreeningInput) xsDataScreeningInputObtained = XSDataInputISPyB.parseString( strScreeningInputObtained) strXMLScreeningInputObtained = xsDataScreeningInputObtained.marshal() EDAssert.equal(strXMLScreeningInputExpected, strXMLScreeningInputObtained) #Compare screeningOutputContainer strInputScreeningOutputContainerExpected = self.readAndParseFile( self.__strReferenceInputScreeningOutputContainer) xsDataScreeningOutputContainerExpected = XSDataInputISPyB.parseString( strInputScreeningOutputContainerExpected) strXMLScreeningOutputContainerExpected = xsDataScreeningOutputContainerExpected.marshal( ) strScreeningOutputContainerObtained = self.readAndParseFile( self.__strObtainedScreeningOutputContainer) xsDataScreeningOutputContainerObtained = XSDataInputISPyB.parseString( strScreeningOutputContainerObtained) strXMLScreeningOutputContainerObtained = xsDataScreeningOutputContainerObtained.marshal( ) EDAssert.equal(strXMLScreeningOutputContainerExpected, strXMLScreeningOutputContainerObtained) #Compare screeningRank strInputScreeningRankExpected = self.readAndParseFile( self.__strReferenceInputScreeningRank) xsDataScreeningRankExpected = XSDataInputISPyB.parseString( strInputScreeningRankExpected) strXMLScreeningRankExpected = xsDataScreeningRankExpected.marshal() strScreeningRankObtained = self.readAndParseFile( self.__strObtainedScreeningRank) xsDataScreeningRankObtained = XSDataInputISPyB.parseString( strScreeningRankObtained) strXMLScreeningRankObtained = xsDataScreeningRankObtained.marshal() EDAssert.equal(strXMLScreeningRankExpected, strXMLScreeningRankObtained) #Compare screeningRankSet strInputScreeningRankSetExpected = self.readAndParseFile( self.__strReferenceInputScreeningRankSet) xsDataScreeningRankSetExpected = XSDataInputISPyB.parseString( strInputScreeningRankSetExpected) strXMLScreeningRankSetExpected = xsDataScreeningRankSetExpected.marshal( ) strScreeningRankSetObtained = self.readAndParseFile( self.__strObtainedScreeningRankSet) xsDataScreeningRankSetObtained = XSDataInputISPyB.parseString( strScreeningRankSetObtained) strXMLScreeningRankSetObtained = xsDataScreeningRankSetObtained.marshal( ) EDAssert.equal(strXMLScreeningRankSetExpected, strXMLScreeningRankSetObtained) #Compare screeningFile strInputScreeningFileExpected = self.readAndParseFile( self.__strReferenceInputScreeningFile) xsDataScreeningFileExpected = XSDataInputISPyB.parseString( strInputScreeningFileExpected) strXMLScreeningFileExpected = xsDataScreeningFileExpected.marshal() strScreeningFileObtained = self.readAndParseFile( self.__strObtainedScreeningFile) xsDataScreeningFileObtained = XSDataInputISPyB.parseString( strScreeningFileObtained) strXMLScreeningFileObtained = xsDataScreeningFileObtained.marshal() EDAssert.equal(strXMLScreeningFileExpected, strXMLScreeningFileObtained) self.cleanUp(edPluginISPyB)