本文整理汇总了Python中XSDataMXv1.XSDataCrystal.setSpaceGroup方法的典型用法代码示例。如果您正苦于以下问题:Python XSDataCrystal.setSpaceGroup方法的具体用法?Python XSDataCrystal.setSpaceGroup怎么用?Python XSDataCrystal.setSpaceGroup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XSDataMXv1.XSDataCrystal
的用法示例。
在下文中一共展示了XSDataCrystal.setSpaceGroup方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generateXSDataIndexingResult
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
def generateXSDataIndexingResult(_xsDataResultXDSIndexing, _xsDataExperimentalCondition=None):
xsDataIndexingResult = XSDataIndexingResult()
xsDataIndexingSolutionSelected = XSDataIndexingSolutionSelected()
xsDataCrystalSelected = XSDataCrystal()
# xsDataIndexingSolutionSelected.setNumber(XSDataInteger(iIndex))
# xsDataCellSelected = xsDataLabelitSolution.getUnitCell()
spaceGroupName = EDUtilsSymmetry.getMinimumSymmetrySpaceGroupFromBravaisLattice(_xsDataResultXDSIndexing.bravaisLattice.value)
xsDataCrystalSelected = XSDataCrystal()
xsDataSpaceGroupSelected = XSDataSpaceGroup()
xsDataSpaceGroupSelected.setName(XSDataString(spaceGroupName))
xsDataCrystalSelected.setSpaceGroup(xsDataSpaceGroupSelected)
# xsDataCrystalSelected.setCell(xsDataCellSelected)
xsDataCrystalSelected.setMosaicity(XSDataDouble(_xsDataResultXDSIndexing.mosaicity.value))
xsDataCrystalSelected.setCell(XSDataCell.parseString(_xsDataResultXDSIndexing.unitCell.marshal()))
xsDataIndexingSolutionSelected.setCrystal(xsDataCrystalSelected)
xsDataOrientation = XSDataOrientation()
xsDataOrientation.setMatrixA(_xsDataResultXDSIndexing.getAMatrix())
xsDataOrientation.setMatrixU(_xsDataResultXDSIndexing.getUMatrix())
xsDataIndexingSolutionSelected.setOrientation(xsDataOrientation)
xsDataStatisticsIndexing = XSDataStatisticsIndexing()
if (_xsDataExperimentalCondition is not None):
fBeamPositionXOrig = _xsDataExperimentalCondition.getDetector().getBeamPositionX().getValue()
fBeamPositionYOrig = _xsDataExperimentalCondition.getDetector().getBeamPositionY().getValue()
fBeamPositionXNew = _xsDataResultXDSIndexing.getBeamCentreX().getValue()
fBeamPositionYNew = _xsDataResultXDSIndexing.getBeamCentreY().getValue()
xsDataStatisticsIndexing.setBeamPositionShiftX(XSDataLength(fBeamPositionXOrig - fBeamPositionXNew))
xsDataStatisticsIndexing.setBeamPositionShiftY(XSDataLength(fBeamPositionYOrig - fBeamPositionYNew))
xsDataExperimentalConditionRefined = None
if (_xsDataExperimentalCondition is None):
xsDataExperimentalConditionRefined = XSDataExperimentalCondition()
else:
# Copy the incoming experimental condition
xmlExperimentalCondition = _xsDataExperimentalCondition.marshal()
xsDataExperimentalConditionRefined = XSDataExperimentalCondition.parseString(xmlExperimentalCondition)
xsDataDetector = xsDataExperimentalConditionRefined.getDetector()
if (xsDataDetector is None):
xsDataDetector = XSDataDetector()
xsDataDetector.setBeamPositionX(XSDataLength(_xsDataResultXDSIndexing.getBeamCentreX().value))
xsDataDetector.setBeamPositionY(XSDataLength(_xsDataResultXDSIndexing.getBeamCentreY().value))
xsDataDetector.setDistance(_xsDataResultXDSIndexing.getDistance())
xsDataExperimentalConditionRefined.setDetector(xsDataDetector)
xsDataIndexingSolutionSelected.setExperimentalConditionRefined(xsDataExperimentalConditionRefined)
xsDataIndexingResult.setSelectedSolution(xsDataIndexingSolutionSelected)
return xsDataIndexingResult
示例2: preProcess
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
def preProcess(self, _edObject=None):
"""
Gets the Configuration Parameters, if found, overrides default parameters
"""
EDPluginControl.preProcess(self, _edObject)
EDVerbose.DEBUG("EDPluginControlCharacterisationv1_1.preProcess...")
self.__edPluginIndexing = self.loadPlugin(self.__strPluginIndexingName , "Indexing")
self.__edPluginIntegration = self.loadPlugin(self.__strPluginIntegrationName, "Integration")
self.__edPluginStrategy = self.loadPlugin(self.__strPluginStrategyName , "Strategy")
if (self.__edPluginIndexing is not None):
EDVerbose.DEBUG("EDPluginControlCharacterisationv1_1.preProcess: " + self.__strPluginIndexingName + " Found... setting Data Input")
# create Data Input for indexing
xsDataInputStrategy = self.getDataInput()
xsDataCollection = xsDataInputStrategy.getDataCollection()
xsDataSample = xsDataCollection.getSample()
xsDataSubWedgeList = xsDataCollection.getSubWedge()
if ((xsDataSubWedgeList is None) or (xsDataSubWedgeList == [])):
strError = "EDPluginControlCharacterisationv1_1.preProcess: No subwedges in input data."
EDVerbose.ERROR(strError)
self.setFailure()
else:
xsDataExperimentalCondition = xsDataSubWedgeList[0].getExperimentalCondition()
# Fix for bug 431: if the flux is zero raise an error
xsDataDoubleFlux = xsDataExperimentalCondition.getBeam().getFlux()
if (xsDataDoubleFlux is not None):
if (xsDataDoubleFlux.getValue() < 0.1):
pyStrErrorMessage = "EDPluginControlCharacterisationv1_1.preProcess ERROR: Input flux is negative or close to zero. Execution of characterisation aborted."
EDVerbose.ERROR(pyStrErrorMessage)
self.addErrorMessage(pyStrErrorMessage)
self.setFailure()
xsDataIndexingInput = XSDataIndexingInput()
xsDataIndexingInput.setDataCollection(xsDataCollection)
xsDataIndexingInput.setExperimentalCondition(xsDataExperimentalCondition)
xsDataDiffractionPlan = xsDataCollection.getDiffractionPlan()
xsDataStringForcedSpaceGroup = xsDataDiffractionPlan.getForcedSpaceGroup()
if (xsDataStringForcedSpaceGroup is not None):
xsDataCrystal = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
xsDataSpaceGroup.setName(xsDataStringForcedSpaceGroup)
xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
xsDataIndexingInput.setCrystal(xsDataCrystal)
self.__edPluginIndexing.setDataInput(xsDataIndexingInput)
# Populate characterisation object
self.__xsDataResultCharacterisation = XSDataResultCharacterisation()
self.__xsDataResultCharacterisation.setDataCollection(XSDataCollection.parseString(xsDataCollection.marshal()))
示例3: preProcess
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
def preProcess(self, _edObject=None):
"""
Gets the Configuration Parameters, if found, overrides default parameters
"""
EDPluginControl.preProcess(self, _edObject)
EDVerbose.DEBUG("EDPluginControlCharacterisationv2_0.preProcess...")
self.edPluginIndexing = self.loadPlugin(self.strPluginIndexingName, "Indexing")
self.edPluginIntegration = self.loadPlugin(self.strPluginIntegrationName, "Integration")
self.edPluginStrategy = self.loadPlugin(self.strPluginStrategyName, "Strategy")
if self.edPluginIndexing is not None:
EDVerbose.DEBUG(
"EDPluginControlCharacterisationv2_0.preProcess: "
+ self.strPluginIndexingName
+ " Found... setting Data Input"
)
# create Data Input for indexing
xsDataInputStrategy = self.getDataInput("mxv1InputCharacterisation")[0]
xsDataCollection = xsDataInputStrategy.getDataCollection()
# xsDataSample = xsDataCollection.getSample()
xsDataSubWedgeList = xsDataCollection.getSubWedge()
xsDataExperimentalCondition = xsDataSubWedgeList[0].getExperimentalCondition()
xsDataIndexingInput = XSDataIndexingInput()
xsDataIndexingInput.setDataCollection(xsDataCollection)
xsDataIndexingInput.setExperimentalCondition(xsDataExperimentalCondition)
xsDataDiffractionPlan = xsDataCollection.getDiffractionPlan()
xsDataStringForcedSpaceGroup = xsDataDiffractionPlan.getForcedSpaceGroup()
if xsDataStringForcedSpaceGroup is not None:
xsDataCrystal = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
xsDataSpaceGroup.setName(xsDataStringForcedSpaceGroup)
xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
xsDataIndexingInput.setCrystal(xsDataCrystal)
self.edPluginIndexing.setDataInput(xsDataIndexingInput)
# Populate characterisation object
self.xsDataResultCharacterisationv2_0 = XSDataResultCharacterisationv2_0()
self.xsDataResultCharacterisation = XSDataResultCharacterisation()
self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(self.xsDataResultCharacterisation)
self.xsDataResultCharacterisation.setDataCollection(
XSDataCollection.parseString(xsDataCollection.marshal())
)
示例4: EDPluginControlCharacterisationv1_2
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
class EDPluginControlCharacterisationv1_2(EDPluginControl):
"""
[To be replaced with a description of EDPluginControlTemplatev10]
"""
def __init__(self):
EDPluginControl.__init__(self)
self.setXSDataInputClass(XSDataInputCharacterisation)
self.__strPluginControlIndexingIndicators = "EDPluginControlIndexingIndicatorsv10"
self.__strPluginControlIndexingLabelit = "EDPluginControlIndexingLabelitv10"
self.__strPluginExecEvaluationIndexing = "EDPluginExecEvaluationIndexingv10"
self.__strPluginControlGeneratePrediction = "EDPluginControlGeneratePredictionv10"
self.__strPluginControlIntegration = "EDPluginControlIntegrationv10"
self.__strPluginControlStrategy = "EDPluginControlStrategyv1_2"
self.__edPluginControlIndexingIndicators = None
self.__edPluginControlIndexingLabelit = None
self.__edPluginExecEvaluationIndexingMOSFLM = None
self.__edPluginExecEvaluationIndexingLABELIT = None
self.__edPluginControlGeneratePrediction = None
self.__edPluginControlIntegration = None
self.__edPluginControlStrategy = None
self.__xsDataCollection = None
self.__xsDataResultCharacterisation = None
self.__xsDataIndexingResultMOSFLM = None
self.__xsDataCrystal = None
self.__strCharacterisationShortSummary = ""
self.__strStatusMessage = ""
self.__bDoStrategyCalculation = True
def checkParameters(self):
"""
Checks the mandatory parameters.
"""
EDVerbose.DEBUG("EDPluginControlCharacterisationv1_2.checkParameters")
self.checkMandatoryParameters(self.getDataInput(), "Data Input is None")
self.checkMandatoryParameters(self.getDataInput().getDataCollection(), "dataCollection")
self.checkMandatoryParameters(self.getDataInput().getDataCollection().getDiffractionPlan(), "diffractionPlan")
def preProcess(self, _edObject=None):
EDPluginControl.preProcess(self)
EDVerbose.DEBUG("EDPluginControlCharacterisationv1_2.preProcess")
# Load the plugins
self.__edPluginControlIndexingIndicators = self.loadPlugin(self.__strPluginControlIndexingIndicators, \
"Indexing")
self.__edPluginControlIndexingLabelit = self.loadPlugin(self.__strPluginControlIndexingLabelit, \
"IndexingLabelit")
self.__edPluginExecEvaluationIndexingMOSFLM = self.loadPlugin(self.__strPluginExecEvaluationIndexing, \
"IndexingEvalualtionMOSFLM")
self.__edPluginExecEvaluationIndexingLABELIT = self.loadPlugin(self.__strPluginExecEvaluationIndexing, \
"IndexingEvalualtionLABELIT")
self.__edPluginControlGeneratePrediction = self.loadPlugin(self.__strPluginControlGeneratePrediction, \
"GeneratePrediction")
self.__edPluginControlIntegration = self.loadPlugin(self.__strPluginControlIntegration, \
"Integration")
self.__edPluginControlStrategy = self.loadPlugin(self.__strPluginControlStrategy, \
"Strategy")
if (self.__edPluginControlIndexingIndicators is not None):
EDVerbose.DEBUG("EDPluginControlCharacterisationv1_2.preProcess: " + self.__strPluginControlIndexingIndicators + " Found... setting Data Input")
# create Data Input for indexing
xsDataInputCharacterisation = self.getDataInput()
self.__xsDataCollection = xsDataInputCharacterisation.getDataCollection()
xsDataCrystal = None
xsDataSubWedgeList = self.__xsDataCollection.getSubWedge()
if ((xsDataSubWedgeList is None) or (xsDataSubWedgeList == [])):
strError = "EDPluginControlCharacterisationv1_2.preProcess: No subwedges in input data."
EDVerbose.ERROR(strError)
self.setFailure()
else:
xsDataExperimentalCondition = xsDataSubWedgeList[0].getExperimentalCondition()
# Fix for bug 431: if the flux is zero raise an error
xsDataDoubleFlux = xsDataExperimentalCondition.getBeam().getFlux()
if (xsDataDoubleFlux is not None):
if (xsDataDoubleFlux.getValue() < 0.1):
strErrorMessage = "Input flux is negative or close to zero. Execution of characterisation aborted."
EDVerbose.ERROR(strErrorMessage)
self.addErrorMessage("EDPluginControlCharacterisationv1_2.preProcess ERROR: " + strErrorMessage)
#self.addComment(strErrorMessage)
self.setFailure()
xsDataDiffractionPlan = self.__xsDataCollection.getDiffractionPlan()
xsDataStringForcedSpaceGroup = xsDataDiffractionPlan.getForcedSpaceGroup()
if (xsDataStringForcedSpaceGroup is not None):
self.__xsDataCrystal = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
xsDataSpaceGroup.setName(xsDataStringForcedSpaceGroup)
self.__xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
self.__edPluginControlIndexingIndicators.setDataInput(self.__xsDataCollection, "dataCollection")
if self.__xsDataCrystal is not None:
self.__edPluginControlIndexingIndicators.setDataInput(self.__xsDataCrystal, "crystal")
# Populate characterisation object
self.__xsDataResultCharacterisation = XSDataResultCharacterisation()
self.__xsDataResultCharacterisation.setDataCollection(XSDataCollection.parseString(self.__xsDataCollection.marshal()))
#.........这里部分代码省略.........
示例5: testSetDataModelInput
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
#.........这里部分代码省略.........
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())
示例6: generateXSDataIndexingResult
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
def generateXSDataIndexingResult(_xsDataResultLabelitIndexing, _xsDataExperimentalCondition=None):
EDVerbose.DEBUG("EDHandlerXSDataLabelitv1_1.generateXSDataIndexingOutput")
xsDataLabelitScreenOutput = _xsDataResultLabelitIndexing.screenOutput
xsDataLabelitMosflmScriptsOutput = _xsDataResultLabelitIndexing.mosflmScriptsOutput
iSelectedSolutionNumber = xsDataLabelitScreenOutput.getSelectedSolutionNumber().getValue()
xsDataIndexingResult = XSDataIndexingResult()
xsDataIndexingSolutionSelected = None
for xsDataLabelitSolution in xsDataLabelitScreenOutput.getLabelitScreenSolution():
xsDataCrystal = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
edStringSpaceGroupName = EDUtilsSymmetry.getMinimumSymmetrySpaceGroupFromBravaisLattice(xsDataLabelitSolution.getBravaisLattice().getValue())
xsDataSpaceGroup.setName(XSDataString(edStringSpaceGroupName))
xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
xsDataCrystal.setCell(xsDataLabelitSolution.getUnitCell())
xsDataIndexingSolution = XSDataIndexingSolution()
xsDataIndexingSolution.setCrystal(xsDataCrystal)
iIndex = xsDataLabelitSolution.getSolutionNumber().getValue()
xsDataIndexingSolution.setNumber(XSDataInteger(iIndex))
xsDataIndexingResult.addSolution(xsDataIndexingSolution)
if (iIndex == iSelectedSolutionNumber):
xsDataIndexingSolutionSelected = XSDataIndexingSolutionSelected()
xsDataIndexingSolutionSelected.setNumber(XSDataInteger(iIndex))
edStringSelectedSpaceGroupName = edStringSpaceGroupName
xsDataCellSelected = xsDataLabelitSolution.getUnitCell()
fRmsdSelected = xsDataLabelitSolution.getRmsd().getValue()
iNumberOfSpotsSelected = xsDataLabelitSolution.getNumberOfSpots().getValue()
xsDataCrystalSelected = XSDataCrystal()
xsDataSpaceGroupSelected = XSDataSpaceGroup()
xsDataSpaceGroupSelected.setName(XSDataString(edStringSelectedSpaceGroupName))
xsDataSpaceGroupSelected.setITNumber(XSDataInteger(EDUtilsSymmetry.getITNumberFromSpaceGroupName(edStringSelectedSpaceGroupName)))
xsDataCrystalSelected.setSpaceGroup(xsDataSpaceGroupSelected)
xsDataCrystalSelected.setCell(xsDataCellSelected)
xsDataCrystalSelected.setMosaicity(XSDataDouble(xsDataLabelitScreenOutput.getMosaicity().getValue()))
xsDataIndexingSolutionSelected.setCrystal(xsDataCrystalSelected)
xsDataOrientation = XSDataOrientation()
xsDataOrientation.setMatrixA(xsDataLabelitMosflmScriptsOutput.getAMatrix())
xsDataOrientation.setMatrixU(xsDataLabelitMosflmScriptsOutput.getUMatrix())
xsDataIndexingSolutionSelected.setOrientation(xsDataOrientation)
xsDataStatisticsIndexing = XSDataStatisticsIndexing()
if (_xsDataExperimentalCondition is not None):
fBeamPositionXOrig = _xsDataExperimentalCondition.getDetector().getBeamPositionX().getValue()
fBeamPositionYOrig = _xsDataExperimentalCondition.getDetector().getBeamPositionY().getValue()
fBeamPositionXNew = xsDataLabelitScreenOutput.getBeamCentreX().getValue()
fBeamPositionYNew = xsDataLabelitScreenOutput.getBeamCentreY().getValue()
xsDataStatisticsIndexing.setBeamPositionShiftX(XSDataLength(fBeamPositionXOrig - fBeamPositionXNew))
xsDataStatisticsIndexing.setBeamPositionShiftY(XSDataLength(fBeamPositionYOrig - fBeamPositionYNew))
# xsDataStatisticsIndexing.setSpotDeviXSDataLength( dDistanceRefinedationAngular( XSDataAngle( dDeviationAngular ) )
xsDataStatisticsIndexing.setSpotDeviationPositional(XSDataLength(fRmsdSelected))
xsDataStatisticsIndexing.setSpotsUsed(XSDataInteger(iNumberOfSpotsSelected))
xsDataStatisticsIndexing.setSpotsTotal(XSDataInteger(iNumberOfSpotsSelected))
xsDataIndexingSolutionSelected.setStatistics(xsDataStatisticsIndexing)
xsDataExperimentalConditionRefined = None
if (_xsDataExperimentalCondition is None):
xsDataExperimentalConditionRefined = XSDataExperimentalCondition()
else:
# Copy the incoming experimental condition
xmlExperimentalCondition = _xsDataExperimentalCondition.marshal()
xsDataExperimentalConditionRefined = XSDataExperimentalCondition.parseString(xmlExperimentalCondition)
xsDataDetector = xsDataExperimentalConditionRefined.getDetector()
if (xsDataDetector is None):
xsDataDetector = XSDataDetector()
xsDataDetector.setBeamPositionX(xsDataLabelitScreenOutput.getBeamCentreX())
xsDataDetector.setBeamPositionY(xsDataLabelitScreenOutput.getBeamCentreY())
xsDataDetector.setDistance(xsDataLabelitScreenOutput.getDistance())
xsDataExperimentalConditionRefined.setDetector(xsDataDetector)
xsDataIndexingSolutionSelected.setExperimentalConditionRefined(xsDataExperimentalConditionRefined)
xsDataIndexingResult.setSelectedSolution(xsDataIndexingSolutionSelected)
xsDataIndexingResult.setIndexingLogFile(xsDataLabelitScreenOutput.getPathToLogFile())
return xsDataIndexingResult
示例7: testGetXSDataRaddoseInput
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
#.........这里部分代码省略.........
from XSDataMXv1 import XSDataCell
from EDHandlerXSDataRaddosev10 import EDHandlerXSDataRaddosev10
EDFactoryPluginStatic.loadModule("XSDataRaddosev10")
from XSDataRaddosev10 import XSDataRaddoseInput
xsDataBeam = XSDataBeam()
xsDataBeam.setSize(XSDataSize(x=XSDataLength(0.1), y=XSDataLength(0.1)))
xsDataBeam.setWavelength(XSDataWavelength(2.41))
xsDataBeam.setFlux(XSDataFlux(1e+12))
xsDataSample = 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)
xsDataAtom2 = XSDataAtom()
xsDataAtom2.setSymbol(XSDataString("S"))
xsDataAtom2.setNumberOf(XSDataDouble(5))
xsDataAtomicComposition.addAtom(xsDataAtom2)
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()
xsDataAtom3 = XSDataAtom()
xsDataAtom3.setSymbol(XSDataString("Fe"))
xsDataAtom3.setNumberOf(XSDataDouble(1))
xsDataAtomicComposition.addAtom(xsDataAtom3)
xsDataLigand.setHeavyAtoms(xsDataAtomicComposition)
xsDataStructure.addLigand(xsDataLigand)
xsDataStructure.setNumberOfCopiesInAsymmetricUnit(XSDataDouble(0.25))
xsDataSolvent = XSDataSolvent()
xsDataAtomicComposition = XSDataAtomicComposition()
xsDataAtomNa = XSDataAtom()
xsDataAtomNa.setSymbol(XSDataString("Na"))
xsDataAtomNa.setConcentration(XSDataDouble(1000))
xsDataAtomicComposition.addAtom(xsDataAtomNa)
xsDataAtomCl = XSDataAtom()
xsDataAtomCl.setSymbol(XSDataString("Cl"))
xsDataAtomCl.setConcentration(XSDataDouble(1000))
xsDataAtomicComposition.addAtom(xsDataAtomCl)
xsDataSolvent.setAtoms(xsDataAtomicComposition)
xsDataComposition.setStructure(xsDataStructure)
xsDataComposition.setSolvent(xsDataSolvent)
xsDataSample.setChemicalComposition(xsDataComposition)
xsDataSample.setSize(XSDataSize(XSDataLength(0.1), XSDataLength(0.1), XSDataLength(0.1)))
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 = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
xsDataCrystal.setCell(xsDataCell)
xsDataSpaceGroup.setITNumber(XSDataInteger(16))
xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
xsDataSample.setCrystal(xsDataCrystal)
iNumSymOperators = 4
xsDataRaddosev01Input = EDHandlerXSDataRaddosev10().getXSDataRaddoseInput(xsDataBeam,
xsDataSample,
iNumSymOperators)
xsDataRaddosev01Input.exportToFile(self.strObtainedInputFile2)
strExpectedInput = EDUtilsTest.readAndParseFile (self.strReferenceInputFile2)
strObtainedInput = EDUtilsTest.readAndParseFile (self.strObtainedInputFile2)
xsDataInputExpected = XSDataRaddoseInput.parseString(strExpectedInput)
xsDataInputObtained = XSDataRaddoseInput.parseString(strObtainedInput)
EDAssert.equal(xsDataInputExpected.marshal(), xsDataInputObtained.marshal())
示例8: EDPluginControlCharacterisationv1_5
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
#.........这里部分代码省略.........
self.warning(strWarningMessageBanner)
self.addWarningMessage(strWarningMessageBanner)
self.addWarningMessage(strWarningMessage1)
self.addWarningMessage(strWarningMessage2)
self.addWarningMessage(strWarningMessageBanner)
self.sendMessageToMXCuBE(strWarningMessage1, "warning")
self.sendMessageToMXCuBE(strWarningMessage2, "warning")
xsDataCrystal = None
xsDataSubWedgeList = self._xsDataCollection.getSubWedge()
if ((xsDataSubWedgeList is None) or (xsDataSubWedgeList == [])):
strError = "EDPluginControlCharacterisationv1_5.preProcess: No subwedges in input data."
self.ERROR(strError)
self.setFailure()
else:
xsDataExperimentalCondition = xsDataSubWedgeList[0].getExperimentalCondition()
# Fix for bug 431: if the flux is zero raise an error
xsDataDoubleFlux = xsDataExperimentalCondition.getBeam().getFlux()
if (xsDataDoubleFlux is not None):
if (xsDataDoubleFlux.getValue() < 0.1):
strErrorMessage = "Input flux is negative or close to zero. Execution of characterisation aborted."
self.ERROR(strErrorMessage)
self.sendMessageToMXCuBE(strErrorMessage, "error")
self.addErrorMessage("EDPluginControlCharacterisationv1_5.preProcess ERROR: " + strErrorMessage)
# self.addComment(strErrorMessage)
self.setFailure()
xsDataDiffractionPlan = self._xsDataCollection.getDiffractionPlan()
xsDataStringForcedSpaceGroup = xsDataDiffractionPlan.getForcedSpaceGroup()
if (xsDataStringForcedSpaceGroup is not None):
self._xsDataCrystal = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
xsDataSpaceGroup.setName(xsDataStringForcedSpaceGroup)
self._xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
self._edPluginControlIndexingIndicators.setDataInput(self._xsDataCollection, "dataCollection")
if self._xsDataCrystal is not None:
self._edPluginControlIndexingIndicators.setDataInput(self._xsDataCrystal, "crystal")
# Populate characterisation object
self._xsDataResultCharacterisation.setDataCollection(XSDataCollection.parseString(self._xsDataCollection.marshal()))
# Load the thumbnail plugins
self._iNoReferenceImages = 0
if not self.isFailure():
for subWedge in xsDataInputCharacterisation.dataCollection.subWedge:
for image in subWedge.image:
self._iNoReferenceImages += 1
edPluginJpeg = self.loadPlugin(self._strPluginGenerateThumbnailName)
xsDataInputMXThumbnail = XSDataInputMXThumbnail()
xsDataInputMXThumbnail.image = XSDataFile(image.path)
xsDataInputMXThumbnail.height = XSDataInteger(1024)
xsDataInputMXThumbnail.width = XSDataInteger(1024)
jpegFilename = os.path.splitext(os.path.basename(image.path.value))[0] + ".jpg"
xsDataInputMXThumbnail.outputPath = XSDataFile(XSDataString(os.path.join(self.getWorkingDirectory(), jpegFilename)))
edPluginJpeg.dataInput = xsDataInputMXThumbnail
edPluginThumnail = self.loadPlugin(self._strPluginGenerateThumbnailName)
xsDataInputMXThumbnail = XSDataInputMXThumbnail()
xsDataInputMXThumbnail.image = XSDataFile(image.path)
xsDataInputMXThumbnail.height = XSDataInteger(256)
xsDataInputMXThumbnail.width = XSDataInteger(256)
thumbnailFilename = os.path.splitext(os.path.basename(image.path.value))[0] + ".thumbnail.jpg"
xsDataInputMXThumbnail.outputPath = XSDataFile(XSDataString(os.path.join(self.getWorkingDirectory(), thumbnailFilename)))
edPluginThumnail.dataInput = xsDataInputMXThumbnail
self._listPluginGenerateThumbnail.append((image, edPluginJpeg, edPluginThumnail))
示例9: generateXSDataIndexingResult
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
def generateXSDataIndexingResult(_xsDataMOSFLMIndexingOutput, _xsDataExperimentalCondition=None):
"""
Translation from XSDataMOSFLMIndexingOutput to XSDataIndexingResult.
"""
EDVerbose.DEBUG("EDHandlerXSDataMOSFLMv10.generateXSDataIndexingOutput")
xsDataMOSFLMBeamPositionRefined = _xsDataMOSFLMIndexingOutput.getRefinedBeam()
xsDataMOSFLMBeamPositionShift = _xsDataMOSFLMIndexingOutput.getBeamShift()
dDeviationAngular = _xsDataMOSFLMIndexingOutput.getDeviationAngular().getValue()
dDeviationPositional = _xsDataMOSFLMIndexingOutput.getDeviationPositional().getValue()
dMosaicityEstimation = _xsDataMOSFLMIndexingOutput.getMosaicityEstimation().getValue()
dDistanceRefined = _xsDataMOSFLMIndexingOutput.getRefinedDistance().getValue()
iSelectedSolution = _xsDataMOSFLMIndexingOutput.getSelectedSolutionNumber().getValue()
iSpotsTotal = _xsDataMOSFLMIndexingOutput.getSpotsTotal().getValue()
iSpotsUsed = _xsDataMOSFLMIndexingOutput.getSpotsUsed().getValue()
xsDataCellRefined = _xsDataMOSFLMIndexingOutput.getRefinedNewmat().getRefinedCell()
xsDataMatrixA = _xsDataMOSFLMIndexingOutput.getRefinedNewmat().getAMatrix()
xsDataMatrixU = _xsDataMOSFLMIndexingOutput.getRefinedNewmat().getUMatrix()
strSelectedSpaceGroupName = _xsDataMOSFLMIndexingOutput.getSelectedSolutionSpaceGroup().getValue()
iSelectedSpaceGroupNumber = _xsDataMOSFLMIndexingOutput.getSelectedSolutionSpaceGroupNumber().getValue()
xsDataIndexingResult = XSDataIndexingResult()
xsDataIndexingSolutionSelected = None
for possibleSolutions in _xsDataMOSFLMIndexingOutput.getPossibleSolutions():
xsDataCrystal = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
xsDataSpaceGroup.setName(XSDataString(possibleSolutions.getLattice().getValue()))
xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
xsDataCrystal.setCell(possibleSolutions.getCell())
xsDataIndexingSolution = XSDataIndexingSolution()
xsDataIndexingSolution.setCrystal(xsDataCrystal)
iIndex = possibleSolutions.getIndex().getValue()
xsDataIndexingSolution.setNumber(XSDataInteger(iIndex))
xsDataIndexingSolution.setPenalty(XSDataFloat(possibleSolutions.getPenalty().getValue()))
xsDataIndexingResult.addSolution(xsDataIndexingSolution)
if (iIndex == iSelectedSolution):
xsDataIndexingSolutionSelected = XSDataIndexingSolutionSelected()
xsDataIndexingSolutionSelected.setNumber(XSDataInteger(iIndex))
xsDataIndexingSolutionSelected.setPenalty(XSDataFloat(possibleSolutions.getPenalty().getValue()))
xsDataCrystalSelected = XSDataCrystal()
xsDataSpaceGroupSelected = XSDataSpaceGroup()
xsDataSpaceGroupSelected.setName(XSDataString(strSelectedSpaceGroupName))
xsDataSpaceGroupSelected.setITNumber(XSDataInteger(iSelectedSpaceGroupNumber))
xsDataCrystalSelected.setSpaceGroup(xsDataSpaceGroupSelected)
xsDataCrystalSelected.setCell(xsDataCellRefined)
xsDataCrystalSelected.setMosaicity(XSDataDouble(dMosaicityEstimation))
xsDataIndexingSolutionSelected.setCrystal(xsDataCrystalSelected)
xsDataOrientation = XSDataOrientation()
xsDataOrientation.setMatrixA(xsDataMatrixA)
xsDataOrientation.setMatrixU(xsDataMatrixU)
xsDataIndexingSolutionSelected.setOrientation(xsDataOrientation)
xsDataStatisticsIndexing = XSDataStatisticsIndexing()
xsDataStatisticsIndexing.setBeamPositionShiftX(XSDataLength(xsDataMOSFLMBeamPositionShift.getX().getValue()))
xsDataStatisticsIndexing.setBeamPositionShiftY(XSDataLength(xsDataMOSFLMBeamPositionShift.getY().getValue()))
xsDataStatisticsIndexing.setSpotDeviationAngular(XSDataAngle(dDeviationAngular))
xsDataStatisticsIndexing.setSpotDeviationPositional(XSDataLength(dDeviationPositional))
xsDataStatisticsIndexing.setSpotsUsed(XSDataInteger(iSpotsUsed))
xsDataStatisticsIndexing.setSpotsTotal(XSDataInteger(iSpotsTotal))
xsDataIndexingSolutionSelected.setStatistics(xsDataStatisticsIndexing)
xsDataExperimentalConditionRefined = None
if (_xsDataExperimentalCondition is None):
xsDataExperimentalConditionRefined = XSDataExperimentalCondition()
else:
# Copy the incoming experimental condition
xmlExperimentalCondition = _xsDataExperimentalCondition.marshal()
xsDataExperimentalConditionRefined = XSDataExperimentalCondition.parseString(xmlExperimentalCondition)
xsDataDetector = xsDataExperimentalConditionRefined.getDetector()
if (xsDataDetector is None):
xsDataDetector = XSDataDetector()
xsDataDetector.setBeamPositionX(XSDataLength(xsDataMOSFLMBeamPositionRefined.getX().getValue()))
xsDataDetector.setBeamPositionY(XSDataLength(xsDataMOSFLMBeamPositionRefined.getY().getValue()))
xsDataDetector.setDistance(XSDataLength(dDistanceRefined))
xsDataExperimentalConditionRefined.setDetector(xsDataDetector)
xsDataIndexingSolutionSelected.setExperimentalConditionRefined(xsDataExperimentalConditionRefined)
xsDataIndexingResult.setSelectedSolution(xsDataIndexingSolutionSelected)
return xsDataIndexingResult
示例10: EDPluginControlCharacterisationv1_3
# 需要导入模块: from XSDataMXv1 import XSDataCrystal [as 别名]
# 或者: from XSDataMXv1.XSDataCrystal import setSpaceGroup [as 别名]
#.........这里部分代码省略.........
self.warning(strWarningMessageBanner)
self.warning(strWarningMessage1)
self.warning(strWarningMessage2)
self.warning(strWarningMessageBanner)
self.addWarningMessage(strWarningMessageBanner)
self.addWarningMessage(strWarningMessage1)
self.addWarningMessage(strWarningMessage2)
self.addWarningMessage(strWarningMessageBanner)
xsDataCrystal = None
xsDataSubWedgeList = self._xsDataCollection.getSubWedge()
if ((xsDataSubWedgeList is None) or (xsDataSubWedgeList == [])):
strError = "EDPluginControlCharacterisationv1_3.preProcess: No subwedges in input data."
self.ERROR(strError)
self.setFailure()
else:
xsDataExperimentalCondition = xsDataSubWedgeList[0].getExperimentalCondition()
# Fix for bug 431: if the flux is zero raise an error
xsDataDoubleFlux = xsDataExperimentalCondition.getBeam().getFlux()
if (xsDataDoubleFlux is not None):
if (xsDataDoubleFlux.getValue() < 0.1):
strErrorMessage = "Input flux is negative or close to zero. Execution of characterisation aborted."
self.ERROR(strErrorMessage)
self.addErrorMessage("EDPluginControlCharacterisationv1_3.preProcess ERROR: " + strErrorMessage)
#self.addComment(strErrorMessage)
self.setFailure()
xsDataDiffractionPlan = self._xsDataCollection.getDiffractionPlan()
xsDataStringForcedSpaceGroup = xsDataDiffractionPlan.getForcedSpaceGroup()
if (xsDataStringForcedSpaceGroup is not None):
self._xsDataCrystal = XSDataCrystal()
xsDataSpaceGroup = XSDataSpaceGroup()
xsDataSpaceGroup.setName(xsDataStringForcedSpaceGroup)
self._xsDataCrystal.setSpaceGroup(xsDataSpaceGroup)
self._edPluginControlIndexingIndicators.setDataInput(self._xsDataCollection, "dataCollection")
if self._xsDataCrystal is not None:
self._edPluginControlIndexingIndicators.setDataInput(self._xsDataCrystal, "crystal")
# Populate characterisation object
self._xsDataResultCharacterisation = XSDataResultCharacterisation()
self._xsDataResultCharacterisation.setDataCollection(XSDataCollection.parseString(self._xsDataCollection.marshal()))
# Load the thumbnail plugins
for subWedge in xsDataInputCharacterisation.dataCollection.subWedge:
for image in subWedge.image:
edPluginJpeg = self.loadPlugin(self._strPluginGenerateThumbnailName)
xsDataInputMXThumbnail = XSDataInputMXThumbnail()
xsDataInputMXThumbnail.image = XSDataFile(image.path)
xsDataInputMXThumbnail.height = XSDataInteger(1024)
xsDataInputMXThumbnail.width = XSDataInteger(1024)
jpegFilename = os.path.splitext(os.path.basename(image.path.value))[0]+".jpg"
xsDataInputMXThumbnail.outputPath = XSDataFile(XSDataString(os.path.join(self.getWorkingDirectory(), jpegFilename)))
edPluginJpeg.dataInput = xsDataInputMXThumbnail
edPluginThumnail = self.loadPlugin(self._strPluginGenerateThumbnailName)
xsDataInputMXThumbnail = XSDataInputMXThumbnail()
xsDataInputMXThumbnail.image = XSDataFile(image.path)
xsDataInputMXThumbnail.height = XSDataInteger(256)
xsDataInputMXThumbnail.width = XSDataInteger(256)
thumbnailFilename = os.path.splitext(os.path.basename(image.path.value))[0]+".thumbnail.jpg"
xsDataInputMXThumbnail.outputPath = XSDataFile(XSDataString(os.path.join(self.getWorkingDirectory(), thumbnailFilename)))
edPluginThumnail.dataInput = xsDataInputMXThumbnail
self._listPluginGenerateThumbnail.append((image, edPluginJpeg, edPluginThumnail))
def process(self, _edObject=None):
EDPluginControl.process(self)