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