本文整理汇总了Python中EDUtilsTable.EDUtilsTable类的典型用法代码示例。如果您正苦于以下问题:Python EDUtilsTable类的具体用法?Python EDUtilsTable怎么用?Python EDUtilsTable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了EDUtilsTable类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getDamParOutputFromDNATables
def getDamParOutputFromDNATables(self, _xsDataDnaTables):
xsDataResultBest = XSDataResultBest()
xsTablesCollectionStrategy = EDUtilsTable.getTableListFromTables(_xsDataDnaTables, "dam_par_plan")
iCollectionPlanNumber = 1
for xsTableCollectionStrategy in xsTablesCollectionStrategy:
xsDataBestCollectionPlan = XSDataBestCollectionPlan()
xsDataStrategySummary = XSDataBestStrategySummary()
xsGeneralList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "general")[0]
xsCollectionRunList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "collection_run")
iCollectionRunNumber = 1
for xsCollectionRunItemList in xsCollectionRunList:
xsDataCollectionRun = self.collectionRunItemListToCollectionRun(xsCollectionRunItemList, iCollectionRunNumber)
xsDataBestCollectionPlan.addCollectionRun(xsDataCollectionRun)
iCollectionRunNumber = iCollectionRunNumber + 1
xsDataBestCollectionPlan.setCollectionPlanNumber(XSDataInteger(iCollectionPlanNumber))
xsDataResultBest.addCollectionPlan(xsDataBestCollectionPlan)
iCollectionPlanNumber = iCollectionPlanNumber + 1
xsItemDistance = EDUtilsTable.getItemFromList(xsGeneralList, "distance")
fDistance = float(xsItemDistance.getValueOf_())
xsDataStrategySummary.setDistance(XSDataLength(fDistance))
xsItemResolution = EDUtilsTable.getItemFromList(xsGeneralList, "resolution")
fResolution = float(xsItemResolution.getValueOf_())
xsDataStrategySummary.setResolution(XSDataDouble(fResolution))
xsDataBestCollectionPlan.setStrategySummary(xsDataStrategySummary)
return xsDataResultBest
示例2: testListOfTables
def testListOfTables(self):
xsItem = None
xsItem2 = None
strDnaTablesXML = EDUtilsFile.readFile(self.__strFilePath2)
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
listTable = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "data_collection_strategy")
EDAssert.equal(2, len(listTable))
bFoundPlan1 = False
bFoundPlan2 = False
for xsTable in listTable:
xsItem = None
xsLists = EDUtilsTable.getListsFromTable(xsTable, "summary")
for xsList in xsLists:
xsItem = EDUtilsTable.getItemFromList(xsList, "resolution_reasoning")
if(xsItem.getValueOf_() == "Low-resolution pass, no overloads"):
bFoundPlan1 = True
if(xsItem.getValueOf_() == "Resolution limit is set by the initial image resolution"):
bFoundPlan2 = True
EDAssert.equal(True, bFoundPlan1)
EDAssert.equal(True, bFoundPlan2)
示例3: getMOSFLMIntegrationStatisticsPerResolutionBin
def getMOSFLMIntegrationStatisticsPerResolutionBin(self, _xsDataDnaTables, _strListName, _fMinResolution=None):
"""
This method creates an XSDataMOSFLMIntegrationStatisticsPerResolutionBin object given an XSDataDnaTables object
and a list name, e.g. "bin_1". If _fMinResolution is provided it is used for setting the minimum resolution,
otherwise the min and max resolution are set to the same value provided by the xsDataList object.
"""
xsDataTableProfileFittedFull = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "profile_fitted_full")
xsDataTableProfileFittedPartial = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "profile_fitted_partial")
xsDataTableSummationFull = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "summation_full")
xsDataTableSummationPartial = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "summation_partial")
xsListProfileFittedFull = EDUtilsTable.getListsFromTable(xsDataTableProfileFittedFull, _strListName)[0]
xsListProfileFittedPartial = EDUtilsTable.getListsFromTable(xsDataTableProfileFittedPartial, _strListName)[0]
xsListSummationFull = EDUtilsTable.getListsFromTable(xsDataTableSummationFull, _strListName)[0]
xsListSummationPartial = EDUtilsTable.getListsFromTable(xsDataTableSummationPartial, _strListName)[0]
xsDataMOSFLMIntegrationDataProfileFittedFull = self.getMOSFLMIntegrationStatistics(xsListProfileFittedFull)
xsDataMOSFLMIntegrationDataProfileFittedPartials = self.getMOSFLMIntegrationStatistics(
xsListProfileFittedPartial
)
xsDataMOSFLMIntegrationSummationFull = self.getMOSFLMIntegrationStatistics(xsListSummationFull)
xsDataMOSFLMIntegrationSummationPartial = self.getMOSFLMIntegrationStatistics(xsListSummationPartial)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted = (
XSDataMOSFLMIntegrationStatisticsPerReflectionType()
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted.setFullyRecorded(
xsDataMOSFLMIntegrationDataProfileFittedFull
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted.setPartials(
xsDataMOSFLMIntegrationDataProfileFittedPartials
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation = (
XSDataMOSFLMIntegrationStatisticsPerReflectionType()
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation.setFullyRecorded(
xsDataMOSFLMIntegrationSummationFull
)
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation.setPartials(xsDataMOSFLMIntegrationSummationPartial)
xsDataMOSFLMIntegrationStatisticsPerResolutionBin = XSDataMOSFLMIntegrationStatisticsPerResolutionBin()
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setProfileFitted(
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeProfileFitted
)
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setSummation(
xsDataMOSFLMIntegrationStatisticsPerReflectionTypeSummation
)
strMaxResolution = EDUtilsTable.getItemFromList(xsListProfileFittedFull, "resolution").getValueOf_()
if strMaxResolution != "overall":
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setMaxResolution(XSDataFloat(float(strMaxResolution)))
if _fMinResolution is not None:
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setMinResolution(XSDataFloat(_fMinResolution))
else:
xsDataMOSFLMIntegrationStatisticsPerResolutionBin.setMinResolution(XSDataFloat(float(strMaxResolution)))
return xsDataMOSFLMIntegrationStatisticsPerResolutionBin
示例4: getOutputDataFromDNATableFile
def getOutputDataFromDNATableFile(self, _strFileName):
"""Parses the result 'DNA'-type XML file"""
xsDataResultRdfit = XSDataResultRdfit()
strDnaTablesXML = self.readProcessFile(_strFileName)
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
# Loop through all the tables and fill in the relevant parts of xsDataResultBest
xsDataRDFIT_Results = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "RDFIT_Results")[0]
xsDataListGeneral = EDUtilsTable.getListsFromTable(xsDataRDFIT_Results, "general")[0]
xsDataItemBeta = EDUtilsTable.getItemFromList(xsDataListGeneral, "beta")
if xsDataItemBeta is not None:
beta = xsDataItemBeta.getValueOf_()
xsDataResultRdfit.setBeta(XSDataDouble(beta))
xsDataItemGama = EDUtilsTable.getItemFromList(xsDataListGeneral, "gama")
if xsDataItemGama is not None:
gama = xsDataItemGama.getValueOf_()
xsDataResultRdfit.setGama(XSDataDouble(gama))
xsDataItemDose_half_th = EDUtilsTable.getItemFromList(xsDataListGeneral, "Dose_1/2_th")
if xsDataItemDose_half_th is not None:
dose_half_th = xsDataItemDose_half_th.getValueOf_()
xsDataResultRdfit.setDose_half_th(XSDataDouble(dose_half_th))
xsDataItemDose_half = EDUtilsTable.getItemFromList(xsDataListGeneral, "Dose_1/2")
if xsDataItemDose_half is not None:
dose_half = xsDataItemDose_half.getValueOf_()
xsDataResultRdfit.setDose_half(XSDataDouble(dose_half))
xsDataItemRelative_radiation_sensitivity = EDUtilsTable.getItemFromList(xsDataListGeneral, "Relative_Radiation_Sensitivity")
if xsDataItemRelative_radiation_sensitivity is not None:
relative_radiation_sensitivity = xsDataItemRelative_radiation_sensitivity.getValueOf_()
xsDataResultRdfit.setRelative_radiation_sensitivity(XSDataDouble(relative_radiation_sensitivity))
return xsDataResultRdfit
示例5: collectionRunItemListToCollectionRun
def collectionRunItemListToCollectionRun(self, _xsCollectionRunItemList, _iCollectionRunNumber):
xsDataCollectionRun = XSDataBestCollectionRun()
xsItemWedge = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "Wedge")
if xsItemWedge is not None:
iWedge = int(xsItemWedge.getValueOf_())
else:
iWedge = _iCollectionRunNumber
xsDataCollectionRun.setCollectionRunNumber(XSDataInteger(iWedge))
xsItemCrystal = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "Crystal")
if xsItemCrystal is not None:
iCrystal = int(xsItemCrystal.getValueOf_())
xsDataCollectionRun.setCrystalPosition(XSDataInteger(iCrystal))
xsItemExposureTime = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "exposure_time")
fExposureTime = float(xsItemExposureTime.getValueOf_())
xsDataCollectionRun.setExposureTime(XSDataTime(fExposureTime))
xsItemAction = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "action")
if (xsItemAction is not None):
strAction = xsItemAction.getValueOf_()
xsDataCollectionRun.setAction(XSDataString(strAction))
xsItemRotationAxisStart = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "phi_start")
fRotationAxisStart = float(xsItemRotationAxisStart.getValueOf_())
xsDataCollectionRun.setPhiStart(XSDataAngle(fRotationAxisStart))
xsNumberOfImages = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "number_of_images")
iNumberOfImages = int(xsNumberOfImages.getValueOf_())
xsDataCollectionRun.setNumberOfImages(XSDataInteger(iNumberOfImages))
xsItemPhiWidth = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "phi_width")
fPhiWidth = float(xsItemPhiWidth.getValueOf_())
xsDataCollectionRun.setPhiWidth(XSDataAngle(fPhiWidth))
xsItemOverlaps = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "overlaps")
if (xsItemOverlaps is not None):
strOverlaps = xsItemOverlaps.getValueOf_()
xsDataCollectionRun.setOverlaps(XSDataString(strOverlaps))
xsItemTransmission = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "transmission")
if (xsItemTransmission is not None):
fTransmission = float(xsItemTransmission.getValueOf_())
xsDataCollectionRun.setTransmission(XSDataDouble(fTransmission))
return xsDataCollectionRun
示例6: getMOSFLMIntegrationStatistics
def getMOSFLMIntegrationStatistics(self, _xsDataList):
"""
This method creates a new XSDataMOSFLMIntegrationStatistics object and populates it with
values (averaged intensity, sigma, average I over sigma and number of reflections)
from the _xsDataList object.
"""
xsDataMOSFLMIntegrationStatistics = XSDataMOSFLMIntegrationStatistics()
strAverageIntensity = EDUtilsTable.getItemFromList(_xsDataList, "i").getValueOf_()
xsDataMOSFLMIntegrationStatistics.setAverageIntensity(XSDataFloat(float(strAverageIntensity)))
strAverageSigma = EDUtilsTable.getItemFromList(_xsDataList, "sig").getValueOf_()
xsDataMOSFLMIntegrationStatistics.setAverageSigma(XSDataFloat(float(strAverageSigma)))
strAverageIOverSigma = EDUtilsTable.getItemFromList(_xsDataList, "i_sig").getValueOf_()
xsDataMOSFLMIntegrationStatistics.setAverageIOverSigma(XSDataFloat(float(strAverageIOverSigma)))
strNumberOfReflections = EDUtilsTable.getItemFromList(_xsDataList, "count").getValueOf_()
xsDataMOSFLMIntegrationStatistics.setNumberOfReflections(XSDataInteger(int(strNumberOfReflections)))
return xsDataMOSFLMIntegrationStatistics
示例7: getBonlyOutputFromDNATables
def getBonlyOutputFromDNATables(self, _xsDataDnaTables):
xsDataResultBest = XSDataResultBest()
xsTablesGeneralInform = EDUtilsTable.getTableListFromTables(_xsDataDnaTables, "general_inform")
xsDataBestCollectionPlan = XSDataBestCollectionPlan()
xsDataCrystalScale = XSDataCrystalScale()
xsCrystalScaleList = EDUtilsTable.getListsFromTable(xsTablesGeneralInform[0], "crystal_scale")[0]
xsItemScal = EDUtilsTable.getItemFromList(xsCrystalScaleList, "scal")
fScal = float(xsItemScal.getValueOf_())
xsDataCrystalScale.setScale(XSDataDouble(fScal))
xsItemBfactor = EDUtilsTable.getItemFromList(xsCrystalScaleList, "B_factor")
fBfactor = float(xsItemBfactor.getValueOf_())
xsDataCrystalScale.setBFactor(XSDataDouble(fBfactor))
xsDataBestCollectionPlan.setCrystalScale(xsDataCrystalScale)
xsDataResultBest.addCollectionPlan(xsDataBestCollectionPlan)
return xsDataResultBest
示例8: collectionRunItemListToCollectionRun
def collectionRunItemListToCollectionRun(self, _xsCollectionRunItemList):
"""
"""
xsDataCollectionRun = XSDataBestCollectionRun()
xsItemExposureTime = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "exposure_time")
fExposureTime = float(xsItemExposureTime.getValueOf_())
xsDataCollectionRun.setExposureTime(XSDataTime(fExposureTime))
xsItemDistance = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "distance")
fDistance = float(xsItemDistance.getValueOf_())
xsDataCollectionRun.setDistance(XSDataLength(fDistance))
xsItemRotationAxisStart = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "phi_start")
fRotationAxisStart = float(xsItemRotationAxisStart.getValueOf_())
xsDataCollectionRun.setPhiStart(XSDataAngle(fRotationAxisStart))
xsNumberOfImages = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "number_of_images")
iNumberOfImages = int(xsNumberOfImages.getValueOf_())
xsDataCollectionRun.setNumberOfImages(XSDataInteger(iNumberOfImages))
xsItemPhiWidth = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "phi_width")
fPhiWidth = float(xsItemPhiWidth.getValueOf_())
xsDataCollectionRun.setPhiWidth(XSDataAngle(fPhiWidth))
xsItemOverlaps = EDUtilsTable.getItemFromList(_xsCollectionRunItemList, "overlaps")
strOverlaps = xsItemOverlaps.getValueOf_()
xsDataCollectionRun.setOverlaps(XSDataString(strOverlaps))
return xsDataCollectionRun
示例9: strategySummaryItemListToStrategySummary
def strategySummaryItemListToStrategySummary(self, _xsStrategySummaryItemList):
xsDataStrategySummary = XSDataBestStrategySummary()
xsItemDistance = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "distance")
fDistance = float(xsItemDistance.getValueOf_())
xsDataStrategySummary.setDistance(XSDataLength(fDistance))
strItemTransmission = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "transmission")
fTransmission = float(strItemTransmission.getValueOf_())
xsDataStrategySummary.setTransmission(XSDataDouble(fTransmission))
strItemCompleteness = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "completeness")
# For homegeneity concerns, EDNA data model should store all the completeness value in fraction
# ( DNA table xml file stores the summary strategy completeness in percentage whereas
# the resolution bin completeness are in fraction )
fCompleteness = float(strItemCompleteness.getValueOf_()) / 100
xsDataStrategySummary.setCompleteness(XSDataDouble(fCompleteness))
strItemISigma = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "i_sigma")
fISigma = float(strItemISigma.getValueOf_())
xsDataStrategySummary.setISigma(XSDataDouble(fISigma))
strItemRedundancy = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "redundancy")
fRedundancy = float(strItemRedundancy.getValueOf_())
xsDataStrategySummary.setRedundancy(XSDataDouble(fRedundancy))
strItemResolution = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "resolution")
fResolution = float(strItemResolution.getValueOf_())
xsDataStrategySummary.setResolution(XSDataDouble(fResolution))
strItemResolutionReasoning = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "resolution_reasoning")
strResolutionReasoning = strItemResolutionReasoning.getValueOf_()
xsDataStrategySummary.setResolutionReasoning(XSDataString(strResolutionReasoning))
strItemTotalDataCollectionTime = EDUtilsTable.getItemFromList(
_xsStrategySummaryItemList, "total_data_collection_time"
)
fTotalDataCollectionTime = float(strItemTotalDataCollectionTime.getValueOf_())
xsDataStrategySummary.setTotalDataCollectionTime(XSDataTime(fTotalDataCollectionTime))
strItemTotalExposureTime = EDUtilsTable.getItemFromList(_xsStrategySummaryItemList, "total_exposure_time")
fTotalExposureTime = float(strItemTotalExposureTime.getValueOf_())
xsDataStrategySummary.setTotalExposureTime(XSDataTime(fTotalExposureTime))
return xsDataStrategySummary
示例10: getOutputDataFromDNATableFile
def getOutputDataFromDNATableFile(self, _strFileName):
"""
"""
xsDataBestOutput = XSDataBestOutput()
strDnaTablesXML = self.readProcessFile(_strFileName)
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
# Loop through all the tables and fill in the relevant parts of xsDataBestOutput
# SubWedges
xsTablesCollectionStrategy = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "data_collection_strategy")
for xsTableCollectionStrategy in xsTablesCollectionStrategy:
xsDataBestCollectionPlan = XSDataBestCollectionPlan()
xsCollectionRunList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "collection_run")
for xsCollectionRunItemList in xsCollectionRunList:
xsDataCollectionRun = self.collectionRunItemListToCollectionRun(xsCollectionRunItemList)
xsDataBestCollectionPlan.addCollectionRun(xsDataCollectionRun)
# Strategy Summary
xsStrategySummaryItemList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "summary")
xsDataStrategySummary = self.strategySummaryItemListToStrategySummary(xsStrategySummaryItemList[0])
# Ranking Resolution
# Not part of strategySummaryItemListToStrategySummary method since it is in the general_form part
xsTableGeneralInform = EDUtilsTable.getTableFromTables(xsDataDnaTables, "general_inform")
xsRankingResolutionItemList = EDUtilsTable.getListsFromTable(xsTableGeneralInform, "ranking_resolution")
xsItemRankingResolution = EDUtilsTable.getItemFromList(xsRankingResolutionItemList[0], "dmin")
fRankingResolution = float(xsItemRankingResolution.getValueOf_())
xsDataStrategySummary.setRankingResolution(XSDataFloat(fRankingResolution))
xsDataBestCollectionPlan.setStrategySummary(xsDataStrategySummary)
# Satistics
xsTablesStatisticalPrediction = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "statistical_prediction")
for xsTableStatisticalPrediction in xsTablesStatisticalPrediction:
if(xsTableStatisticalPrediction.getIndex() == xsTableCollectionStrategy.getIndex()):
xsResolutionBinList = EDUtilsTable.getListsFromTable(xsTableStatisticalPrediction, "resolution_bin")
xsDataStatisticalPrediction = XSDataBestStatisticalPrediction()
for xsResolutionBinItemList in xsResolutionBinList:
xsDataResolutionBin = self.resolutionBinItemListToResolutionBin(xsResolutionBinItemList)
xsDataStatisticalPrediction.addResolutionBin(xsDataResolutionBin)
xsDataBestCollectionPlan.setStatisticalPrediction(xsDataStatisticalPrediction)
xsDataBestOutput.addCollectionPlan(xsDataBestCollectionPlan)
return xsDataBestOutput
示例11: testTableListItem
def testTableListItem(self):
xsItem = None
xsItem2 = None
strDnaTablesXML = EDUtilsFile.readFile(self.__strFilePath)
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
xsTable = EDUtilsTable.getTableFromTables(xsDataDnaTables, "input")
xsLists = EDUtilsTable.getListsFromTable(xsTable, "select_task")
for xsList in xsLists:
xsItem = EDUtilsTable.getItemFromList(xsList, "task")
xsItem2 = EDUtilsTable.getItemFromList(xsList, "tata")
EDAssert.equal("optimize", xsItem.getValueOf_())
EDAssert.equal(None, xsItem2)
xsLists = EDUtilsTable.getListsFromTable(xsTable, "select_tata")
EDAssert.equal([], xsLists)
xsTable = EDUtilsTable.getTableFromTables(xsDataDnaTables, "toto")
EDAssert.equal(None, xsTable)
EDVerbose.DEBUG("Test done...")
示例12: resolutionBinItemListToResolutionBin
def resolutionBinItemListToResolutionBin(self, _xsResolutionBinItemList):
xsDataResolutionBin = XSDataBestResolutionBin()
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "min_resolution")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setMinResolution(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "max_resolution")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setMaxResolution(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "completeness")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setCompleteness(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "redundancy")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setRedundancy(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "average_intensity")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setAverageIntensity(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "average_error")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setAverageSigma(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "average_i_over_sigma")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setIOverSigma(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "average_i_over_average_sigma")
if (strItem is not None):
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setAverageIntensityOverAverageSigma(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "R_factor")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setRFactor(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "R_friedel")
if (strItem is not None):
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setRFriedel(XSDataDouble(fItem))
# strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "average_i_over_sigma_Chi**2")
# if (strItem is not None):
# fItem = float(strItem.getValueOf_())
# xsDataResolutionBin.setIOverSigmaChi(XSDataDouble(fItem))
strItem = EDUtilsTable.getItemFromList(_xsResolutionBinItemList, "fract_overload")
fItem = float(strItem.getValueOf_())
xsDataResolutionBin.setPercentageOverload(XSDataDouble(fItem))
return xsDataResolutionBin
示例13: getDataCollectionOutputDataFromDNATables
def getDataCollectionOutputDataFromDNATables(self, _xsDataDnaTables):
xsDataResultBest = XSDataResultBest()
# SubWedges
xsTablesCollectionStrategy = EDUtilsTable.getTableListFromTables(_xsDataDnaTables, "data_collection_strategy")
iCollectionPlanNumber = 1
for xsTableCollectionStrategy in xsTablesCollectionStrategy:
xsDataBestCollectionPlan = XSDataBestCollectionPlan()
xsCollectionRunList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "collection_run")
iCollectionRunNumber = 1
for xsCollectionRunItemList in xsCollectionRunList:
xsDataCollectionRun = self.collectionRunItemListToCollectionRun(xsCollectionRunItemList, iCollectionRunNumber)
xsDataBestCollectionPlan.addCollectionRun(xsDataCollectionRun)
iCollectionRunNumber = iCollectionRunNumber + 1
# Strategy Summary
xsStrategySummaryItemList = EDUtilsTable.getListsFromTable(xsTableCollectionStrategy, "summary")
xsDataStrategySummary = self.strategySummaryItemListToStrategySummary(xsStrategySummaryItemList[0])
# Ranking Resolution
# Not part of strategySummaryItemListToStrategySummary method since it is in the general_form part
xsTableGeneralInform = EDUtilsTable.getTableFromTables(_xsDataDnaTables, "general_inform")
xsRankingResolutionItemList = EDUtilsTable.getListsFromTable(xsTableGeneralInform, "ranking_resolution")
xsItemRankingResolution = EDUtilsTable.getItemFromList(xsRankingResolutionItemList[0], "dmin")
fRankingResolution = float(xsItemRankingResolution.getValueOf_())
xsDataStrategySummary.setRankingResolution(XSDataDouble(fRankingResolution))
xsDataBestCollectionPlan.setStrategySummary(xsDataStrategySummary)
# Satistics
xsTablesStatisticalPrediction = EDUtilsTable.getTableListFromTables(_xsDataDnaTables, "statistical_prediction")
for xsTableStatisticalPrediction in xsTablesStatisticalPrediction:
if(xsTableStatisticalPrediction.getIndex() == xsTableCollectionStrategy.getIndex()):
xsResolutionBinList = EDUtilsTable.getListsFromTable(xsTableStatisticalPrediction, "resolution_bin")
xsDataStatisticalPrediction = XSDataBestStatisticalPrediction()
for xsResolutionBinItemList in xsResolutionBinList:
xsDataResolutionBin = self.resolutionBinItemListToResolutionBin(xsResolutionBinItemList)
xsDataStatisticalPrediction.addResolutionBin(xsDataResolutionBin)
xsDataBestCollectionPlan.setStatisticalPrediction(xsDataStatisticalPrediction)
xsDataBestCollectionPlan.setCollectionPlanNumber(XSDataInteger(iCollectionPlanNumber))
xsDataResultBest.addCollectionPlan(xsDataBestCollectionPlan)
iCollectionPlanNumber = iCollectionPlanNumber + 1
# Fix the order of the collection plans - then low resolution pass should be the first one
listCollectionPlan = xsDataResultBest.getCollectionPlan()
if (len(listCollectionPlan) > 1):
bIsModified = False
for xsDataCollectionPlan in listCollectionPlan:
xsDataStrategySummary = xsDataCollectionPlan.getStrategySummary()
strReasoning = xsDataStrategySummary.getResolutionReasoning().getValue()
if ((strReasoning.find("Low-resolution") != -1) and xsDataCollectionPlan.getCollectionPlanNumber().getValue() != 1):
listCollectionPlan.remove(xsDataCollectionPlan)
listCollectionPlan.insert(0, xsDataCollectionPlan)
bIsModified = True
if (bIsModified):
iCollectionPlanNumber = 1
for xsDataCollectionPlan in listCollectionPlan:
xsDataCollectionPlan.setCollectionPlanNumber(XSDataInteger(iCollectionPlanNumber))
iCollectionPlanNumber = iCollectionPlanNumber + 1
return xsDataResultBest
示例14: createDataMOSFLMOutputIntegration
def createDataMOSFLMOutputIntegration(self):
self.DEBUG("EDPluginMOSFLMIntegrationv10.createDataMOSFLMOutputIntegration")
xsDataMOSFLMOutputIntegration = XSDataMOSFLMOutputIntegration()
# Read bestfile.par, bestfile.hkl and bestfile.dat
strBestfilePar = self.readBestFile("bestfile.par")
bContinue = True
if (strBestfilePar is not None):
xsDataMOSFLMOutputIntegration.setBestfilePar(XSDataString(strBestfilePar))
else:
bContinue = False
if bContinue:
strBestfileHKL = self.readBestFile("bestfile.hkl")
if (strBestfileHKL is not None):
xsDataMOSFLMOutputIntegration.setBestfileHKL(XSDataString(strBestfileHKL))
else:
bContinue = False
if bContinue:
strBestfileDat = self.readBestFile("bestfile.dat")
if (strBestfileDat is not None):
xsDataMOSFLMOutputIntegration.setBestfileDat(XSDataString(strBestfileDat))
else:
bContinue = False
if bContinue:
strDnaTablesXML = self.readProcessFile(self.getBaseName() + "_dnaTables.xml")
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
xsTableIntegrationResults = EDUtilsTable.getTableFromTables(xsDataDnaTables, "integration_results")
xsListFinalResiduals = EDUtilsTable.getListsFromTable(xsTableIntegrationResults, "final_residuals")[0]
strRMSSpotDeviation = EDUtilsTable.getItemFromList(xsListFinalResiduals, "rms").getValueOf_()
xsDataMOSFLMOutputIntegration.setRMSSpotDeviation(XSDataLength(float(strRMSSpotDeviation)))
strBeamPositionX = EDUtilsTable.getItemFromList(xsListFinalResiduals, "xcen").getValueOf_()
strBeamPositionY = EDUtilsTable.getItemFromList(xsListFinalResiduals, "ycen").getValueOf_()
xsDataMOSFLMBeamPosition = XSDataMOSFLMBeamPosition()
xsDataMOSFLMBeamPosition.setX(XSDataLength(float(strBeamPositionX)))
xsDataMOSFLMBeamPosition.setY(XSDataLength(float(strBeamPositionY)))
xsDataMOSFLMOutputIntegration.setRefinedBeam(xsDataMOSFLMBeamPosition)
xsDataMOSFLMNewmatMatrix = self.getDataMOSFLMMatrix()
xsDataMOSFLMOutputIntegration.setRefinedNewmat(xsDataMOSFLMNewmatMatrix)
# New results (described in bug #63)
xsTableIntegrationOutput = EDUtilsTable.getTableFromTables(xsDataDnaTables, "integration_output")
xsListOutputFiles = EDUtilsTable.getListsFromTable(xsTableIntegrationOutput, "output_files")[0]
strMTZFilename = EDUtilsTable.getItemFromList(xsListOutputFiles, "hklout").getValueOf_()
strMTZPath = os.path.join(self.getWorkingDirectory(), strMTZFilename)
xsDataFile = XSDataFile()
xsDataFile.setPath(XSDataString(strMTZPath))
xsDataMOSFLMOutputIntegration.setGeneratedMTZFile(xsDataFile)
xsTableSummaryInformation = EDUtilsTable.getTableFromTables(xsDataDnaTables, "summary_information")
xsListSummary = EDUtilsTable.getListsFromTable(xsTableSummaryInformation, "summary")[0]
xsListSpots = EDUtilsTable.getListsFromTable(xsTableSummaryInformation, "spots")[0]
strDistance = EDUtilsTable.getItemFromList(xsListSummary, "distance").getValueOf_()
xsDataMOSFLMOutputIntegration.setRefinedDistance(XSDataLength(float(strDistance)))
strYScale = EDUtilsTable.getItemFromList(xsListSummary, "yscale").getValueOf_()
xsDataMOSFLMOutputIntegration.setRefinedYScale(XSDataFloat(float(strYScale)))
strOverallIOverSigma = EDUtilsTable.getItemFromList(xsListSummary, "isigall").getValueOf_()
xsDataMOSFLMOutputIntegration.setOverallIOverSigma(XSDataFloat(float(strOverallIOverSigma)))
strHighestResolutionIOverSigma = EDUtilsTable.getItemFromList(xsListSummary, "isigout").getValueOf_()
xsDataMOSFLMOutputIntegration.setHighestResolutionIOverSigma(XSDataFloat(float(strHighestResolutionIOverSigma)))
strNumberOfBadReflections = EDUtilsTable.getItemFromList(xsListSpots, "bad_spots").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfBadReflections(XSDataInteger(int(strNumberOfBadReflections)))
strNumberOfFullyRecordedReflections = EDUtilsTable.getItemFromList(xsListSpots, "full").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfFullyRecordedReflections(XSDataInteger(int(strNumberOfFullyRecordedReflections)))
strNumberOfNegativeReflections = EDUtilsTable.getItemFromList(xsListSpots, "negative").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfNegativeReflections(XSDataInteger(int(strNumberOfNegativeReflections)))
strNumberOfOverlappedReflections = EDUtilsTable.getItemFromList(xsListSpots, "overlap").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfOverlappedReflections(XSDataInteger(int(strNumberOfOverlappedReflections)))
strNumberOfPartialReflections = EDUtilsTable.getItemFromList(xsListSpots, "partial").getValueOf_()
xsDataMOSFLMOutputIntegration.setNumberOfPartialReflections(XSDataInteger(int(strNumberOfPartialReflections)))
# Fill in the statistics
xsDataMOSFLMOutputIntegration.setOverallStatistics(self.getMOSFLMIntegrationStatisticsPerResolutionBin(xsDataDnaTables, "bin_0"))
iIndex = 1
bContinue = True
fMinResolution = None
while (bContinue == True):
strBin = "bin_%d" % iIndex
# I don't know how many intensity bins there are. Since the EDUtilsTable.getListsFromTable
# method crashes if the list is not present, I had to wrap the calls to this method in
# try - except:
try:
xsDataMOSFLMIntegrationStatisticsPerResolutionBin = self.getMOSFLMIntegrationStatisticsPerResolutionBin(xsDataDnaTables, strBin, fMinResolution)
fMinResolution = xsDataMOSFLMIntegrationStatisticsPerResolutionBin.getMaxResolution().getValue()
#.........这里部分代码省略.........
示例15: createDataMOSFLMOutputIndexing
def createDataMOSFLMOutputIndexing(self):
EDVerbose.DEBUG("EDPluginMOSFLMIndexingv10.createDataMOSFLMOutputIndexing")
xsDataMOSFLMOutputIndexing = XSDataMOSFLMOutputIndexing()
# Read Newmat file
xsDataMOSFLMNewmat = self.getDataMOSFLMNewmat()
if (xsDataMOSFLMNewmat is None):
strError = "MOSFLM indexing error : No solution was obtained!"
EDVerbose.ERROR(strError)
self.setFailure()
else:
xsDataMOSFLMOutputIndexing.setRefinedNewmat(xsDataMOSFLMNewmat)
# Then read the XML file
strDnaTablesXML = self.readProcessFile(self.getScriptBaseName() + "_dnaTables.xml")
xsDataDnaTables = dna_tables.parseString(strDnaTablesXML)
listXSTableMosaicityEstimation = EDUtilsTable.getTableListFromTables(xsDataDnaTables, "mosaicity_estimation")
dMosaicityValueSum = 0.0
nValues = 0
for xsTableMosaicityEstimation in listXSTableMosaicityEstimation:
for xsListMosaicity in EDUtilsTable.getListsFromTable(xsTableMosaicityEstimation, "mosaicity"):
dMosaicityValue = float(EDUtilsTable.getItemFromList(xsListMosaicity, "value").getValueOf_())
dMosaicityValueSum += dMosaicityValue
nValues += 1
xsDataFloatMosaicityEstimation = XSDataFloat()
xsDataFloatMosaicityEstimation.setValue(dMosaicityValueSum / nValues)
xsDataMOSFLMOutputIndexing.setMosaicityEstimation(xsDataFloatMosaicityEstimation)
xsTableRefinement = EDUtilsTable.getTableFromTables(xsDataDnaTables, "refinement")
if (xsTableRefinement is None):
strError = "MOSFLM indexing error : No solution was refined!"
EDVerbose.ERROR(strError)
self.setFailure()
else:
xsListDeviations = EDUtilsTable.getListsFromTable(xsTableRefinement, "deviations")[0]
dDeviationAngular = float(EDUtilsTable.getItemFromList(xsListDeviations, "angular").getValueOf_())
dDeviationPositional = float(EDUtilsTable.getItemFromList(xsListDeviations, "positional").getValueOf_())
xsDataMOSFLMOutputIndexing.setDeviationAngular(XSDataAngle(dDeviationAngular))
xsDataMOSFLMOutputIndexing.setDeviationPositional(XSDataLength(dDeviationPositional))
xsListResults = EDUtilsTable.getListsFromTable(xsTableRefinement, "results")[0]
dDetectorDistance = float(EDUtilsTable.getItemFromList(xsListResults, "detector_distance").getValueOf_())
xsDataMOSFLMOutputIndexing.setRefinedDistance(XSDataLength(dDetectorDistance))
xsListParameters = EDUtilsTable.getListsFromTable(xsTableRefinement, "parameters")[0]
iSpotsUsed = int(EDUtilsTable.getItemFromList(xsListParameters, "used").getValueOf_())
iSpotsTotal = int(EDUtilsTable.getItemFromList(xsListParameters, "out_of").getValueOf_())
xsDataMOSFLMOutputIndexing.setSpotsUsed(XSDataInteger(iSpotsUsed))
xsDataMOSFLMOutputIndexing.setSpotsTotal(XSDataInteger(iSpotsTotal))
xsTableSolutionRefinement = EDUtilsTable.getTableFromTables(xsDataDnaTables, "solution_refinement")
xsListParameters = EDUtilsTable.getListsFromTable(xsTableSolutionRefinement, "selection")[0]
iSelectedSolutionNumber = int(EDUtilsTable.getItemFromList(xsListParameters, "number").getValueOf_())
xsDataMOSFLMOutputIndexing.setSelectedSolutionNumber(XSDataInteger(iSelectedSolutionNumber))
strSelectedSolutionSpaceGroup = (EDUtilsTable.getItemFromList(xsListParameters, "spacegroup").getValueOf_())
xsDataMOSFLMOutputIndexing.setSelectedSolutionSpaceGroup(XSDataString(strSelectedSolutionSpaceGroup))
iSelectedSolutionSpaceGroupNumber = int(EDUtilsTable.getItemFromList(xsListParameters, "spacegroup_number").getValueOf_())
xsDataMOSFLMOutputIndexing.setSelectedSolutionSpaceGroupNumber(XSDataInteger(iSelectedSolutionSpaceGroupNumber))
xsTableAutoIndexSolutions = EDUtilsTable.getTableFromTables(xsDataDnaTables, "autoindex_solutions")
xsListsSolution = xsTableAutoIndexSolutions.getList()
for xsListSolution in xsListsSolution:
xsDataMOSFLMIndexingSolution = XSDataMOSFLMIndexingSolution()
xsDataCell = XSDataCell()
iSolutionNumber = int(EDUtilsTable.getItemFromList(xsListSolution, "index").getValueOf_())
xsDataMOSFLMIndexingSolution.setIndex(XSDataInteger(iSolutionNumber))
iPenalty = int(EDUtilsTable.getItemFromList(xsListSolution, "penalty").getValueOf_())
xsDataMOSFLMIndexingSolution.setPenalty(XSDataInteger(iPenalty))
strLattice = (EDUtilsTable.getItemFromList(xsListSolution, "lattice").getValueOf_())
xsDataMOSFLMIndexingSolution.setLattice(XSDataString(strLattice))
dA = float(EDUtilsTable.getItemFromList(xsListSolution, "a").getValueOf_())
xsDataCell.setLength_a(XSDataLength(dA))
dB = float(EDUtilsTable.getItemFromList(xsListSolution, "b").getValueOf_())
xsDataCell.setLength_b(XSDataLength(dB))
dC = float(EDUtilsTable.getItemFromList(xsListSolution, "c").getValueOf_())
xsDataCell.setLength_c(XSDataLength(dC))
dAlpha = float(EDUtilsTable.getItemFromList(xsListSolution, "alpha").getValueOf_())
xsDataCell.setAngle_alpha(XSDataAngle(dAlpha))
dBeta = float(EDUtilsTable.getItemFromList(xsListSolution, "beta").getValueOf_())
xsDataCell.setAngle_beta(XSDataAngle(dBeta))
dGamma = float(EDUtilsTable.getItemFromList(xsListSolution, "gamma").getValueOf_())
xsDataCell.setAngle_gamma(XSDataAngle(dGamma))
xsDataMOSFLMIndexingSolution.setCell(xsDataCell)
xsDataMOSFLMOutputIndexing.addPossibleSolutions(xsDataMOSFLMIndexingSolution)
xsTableBeamRefinement = EDUtilsTable.getTableFromTables(xsDataDnaTables, "beam_refinement")
xsDataMOSFLMBeamPositionRefined = XSDataMOSFLMBeamPosition()
xsDataMOSFLMBeamPositionShift = XSDataMOSFLMBeamPosition()
dInitialBeamX = 0.0
dInitialBeamY = 0.0
dRefinedBeamX = 0.0
dRefinedBeamY = 0.0
xsListInitialBeam = EDUtilsTable.getListsFromTable(xsTableBeamRefinement, "initial_beam")[0]
fInitialBeamPositionX = float(EDUtilsTable.getItemFromList(xsListInitialBeam, "x").getValueOf_())
fInitialBeamPositionY = float(EDUtilsTable.getItemFromList(xsListInitialBeam, "y").getValueOf_())
xsListRefinedBeam = EDUtilsTable.getListsFromTable(xsTableBeamRefinement, "refined_beam")[0]
fRefinedBeamPositionX = float(EDUtilsTable.getItemFromList(xsListRefinedBeam, "x").getValueOf_())
fRefinedBeamPositionY = float(EDUtilsTable.getItemFromList(xsListRefinedBeam, "y").getValueOf_())
xsDataMOSFLMBeamPositionRefined.setX(XSDataLength(fRefinedBeamPositionX))
xsDataMOSFLMBeamPositionRefined.setY(XSDataLength(fRefinedBeamPositionY))
xsDataMOSFLMBeamPositionShift.setX(XSDataLength(fInitialBeamPositionX - fRefinedBeamPositionX))
xsDataMOSFLMBeamPositionShift.setY(XSDataLength(fInitialBeamPositionY - fRefinedBeamPositionY))
xsDataMOSFLMOutputIndexing.setRefinedBeam(xsDataMOSFLMBeamPositionRefined)
#.........这里部分代码省略.........