From 8a06ce3bcf22b44e94e4b691e5fc07d445d58ae4 Mon Sep 17 00:00:00 2001 From: tpylak <tpylak> Date: Wed, 18 May 2011 11:54:42 +0000 Subject: [PATCH] LMS-2256 display the number of genes in the assay in the gene summary view SVN: 21370 --- .../server/FeatureVectorSummaryProvider.java | 4 ++-- .../MaterialReplicaFeatureSummaryProvider.java | 3 ++- .../MaterialFeatureVectorSummaryLoader.java | 7 ++++++- .../logic/WellReplicaSummaryCalculator.java | 17 +++++++++-------- .../basic/dto/MaterialFeatureVectorSummary.java | 11 ++++++++++- .../MaterialReplicaFeatureSummaryResult.java | 9 ++++++++- .../FeatureVectorSummaryGridColumnIDs.java | 2 +- 7 files changed, 38 insertions(+), 15 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/FeatureVectorSummaryProvider.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/FeatureVectorSummaryProvider.java index a06bbb354c8..4d664115a3e 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/FeatureVectorSummaryProvider.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/FeatureVectorSummaryProvider.java @@ -43,7 +43,7 @@ class FeatureVectorSummaryProvider extends AbstractTableModelProvider<MaterialFe { private static final String SHOW_DETAILS_MSG = "Show details"; - private static final String RANK_COLUMN_TITLE_SUFFIX_MSG = " rank"; + private static final String RANK_COLUMN_MSG = " Rank"; private static final String MATERIAL_PROPS_GROUP = "MATERIAL_PROP-"; @@ -89,7 +89,7 @@ class FeatureVectorSummaryProvider extends AbstractTableModelProvider<MaterialFe featureColumnIds.add(featureColumnId); String rankColumnId = getRankColumnId(featureCode); - String rankTitle = featureLabel + RANK_COLUMN_TITLE_SUFFIX_MSG; + String rankTitle = RANK_COLUMN_MSG; builder.addColumn(rankColumnId).withTitle(rankTitle).withDataType(DataTypeCode.INTEGER); rankColumnIds.add(rankColumnId); } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/MaterialReplicaFeatureSummaryProvider.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/MaterialReplicaFeatureSummaryProvider.java index bcd8e51afe5..3ab37d858d3 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/MaterialReplicaFeatureSummaryProvider.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/MaterialReplicaFeatureSummaryProvider.java @@ -73,7 +73,8 @@ class MaterialReplicaFeatureSummaryProvider extends builder.addColumn(FEATURE); builder.addColumn(MEDIAN).withDataType(DataTypeCode.REAL); builder.addColumn(DEVIATION).withDataType(DataTypeCode.REAL); - builder.addColumn(RANK).withDataType(DataTypeCode.INTEGER); + String rankTitle = "Rank (" + replicaResult.getNumberOfMaterialsInExperiment() + ")"; + builder.addColumn(RANK).withDataType(DataTypeCode.INTEGER).withTitle(rankTitle); List<MaterialReplicaFeatureSummary> rows = replicaResult.getFeatureSummaries(); List<String> subgroupLabels = replicaResult.getSubgroupLabels(); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/MaterialFeatureVectorSummaryLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/MaterialFeatureVectorSummaryLoader.java index 672cee58449..6b6d025c2ae 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/MaterialFeatureVectorSummaryLoader.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/MaterialFeatureVectorSummaryLoader.java @@ -66,7 +66,12 @@ public class MaterialFeatureVectorSummaryLoader extends ExperimentFeatureVectorS List<MaterialReplicaFeatureSummary> replicaRows = convertToFeatureRows(resultOrNull); List<String> subgroupLabels = tryGetSubgroupLabels(resultOrNull); - return new MaterialReplicaFeatureSummaryResult(subgroupLabels, replicaRows); + + int materialsInExperiment = + (resultOrNull != null ? resultOrNull.getGeneralSummary() + .getNumberOfMaterialsInExperiment() : 0); + return new MaterialReplicaFeatureSummaryResult(subgroupLabels, replicaRows, + materialsInExperiment); } private static List<MaterialReplicaFeatureSummary> convertToFeatureRows( diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/WellReplicaSummaryCalculator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/WellReplicaSummaryCalculator.java index 3739e11f46c..66b586a140d 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/WellReplicaSummaryCalculator.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/WellReplicaSummaryCalculator.java @@ -35,8 +35,8 @@ import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.MaterialFeatur import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.MaterialReplicaSummaryAggregationType; /** - * Calculates summaries and ranks for each group of well replicas. Usually a replica is determined - * by the material in the well, e.g. gene or compound. + * Calculates summaries and ranks for each group of well replicas (biological or technical). Usually + * a replica is determined by the material in the well, e.g. gene or compound. * * @author Tomasz Pylak */ @@ -50,13 +50,13 @@ public class WellReplicaSummaryCalculator .calculateReplicasFeatureVectorSummaries(); } - public static float[] calculateSummaryFeatureVector(List<IWellData> oneReplicaWells, + public static float[] calculateSummaryFeatureVector(List<IWellData> techicalReplicaWells, MaterialReplicaSummaryAggregationType aggregationType) { - validate(oneReplicaWells); - int numberOfFeatures = getNumberOfFeatures(oneReplicaWells); - return calculateSummaryFeatureVector(oneReplicaWells, aggregationType, numberOfFeatures) - .getAggregates(); + validate(techicalReplicaWells); + int numberOfFeatures = getNumberOfFeatures(techicalReplicaWells); + return calculateSummaryFeatureVector(techicalReplicaWells, aggregationType, + numberOfFeatures).getAggregates(); } private static void validate(List<IWellData> wellDataList) @@ -112,6 +112,7 @@ public class WellReplicaSummaryCalculator List<MaterialFeatureVectorSummary> summaries = new ArrayList<MaterialFeatureVectorSummary>(); Set<Long> replicaIds = replicaToWellDataMap.getKeys(); + int numberOfReplicas = replicaIds.size(); for (Long replicaId : replicaIds) { List<IWellData> replicaWells = replicaToWellDataMap.getOrDie(replicaId); @@ -120,7 +121,7 @@ public class WellReplicaSummaryCalculator Material material = replicaWells.get(0).getMaterial(); MaterialFeatureVectorSummary summary = new MaterialFeatureVectorSummary(material, summaryFeatures.getAggregates(), - summaryFeatures.getDeviation(), ranks.get(replicaId)); + summaryFeatures.getDeviation(), ranks.get(replicaId), numberOfReplicas); summaries.add(summary); } return summaries; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialFeatureVectorSummary.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialFeatureVectorSummary.java index 1830116e17b..69656ef667b 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialFeatureVectorSummary.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialFeatureVectorSummary.java @@ -37,6 +37,8 @@ public class MaterialFeatureVectorSummary implements ISerializable private int[] featureVectorRanks; + private int numberOfMaterialsInExperiment; + // GTW @SuppressWarnings("unused") private MaterialFeatureVectorSummary() @@ -44,12 +46,14 @@ public class MaterialFeatureVectorSummary implements ISerializable } public MaterialFeatureVectorSummary(Material material, float[] featureVectorSummary, - float[] featureVectorDeviations, int[] featureVectorRanks) + float[] featureVectorDeviations, int[] featureVectorRanks, + int numberOfMaterialsInExperiment) { this.material = material; this.featureVectorSummary = featureVectorSummary; this.featureVectorDeviations = featureVectorDeviations; this.featureVectorRanks = featureVectorRanks; + this.numberOfMaterialsInExperiment = numberOfMaterialsInExperiment; } public Material getMaterial() @@ -71,4 +75,9 @@ public class MaterialFeatureVectorSummary implements ISerializable { return featureVectorRanks; } + + public int getNumberOfMaterialsInExperiment() + { + return numberOfMaterialsInExperiment; + } } \ No newline at end of file diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaFeatureSummaryResult.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaFeatureSummaryResult.java index 5ed046fb71b..4dbb554f836 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaFeatureSummaryResult.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/MaterialReplicaFeatureSummaryResult.java @@ -36,11 +36,14 @@ public class MaterialReplicaFeatureSummaryResult implements ISerializable // represents a single row in the table private final List<MaterialReplicaFeatureSummary> replicaSummaries; + private final int numberOfMaterialsInExperiment; + public MaterialReplicaFeatureSummaryResult(List<String> subgroupLabels, - List<MaterialReplicaFeatureSummary> replicaSummaries) + List<MaterialReplicaFeatureSummary> replicaSummaries, int numberOfMaterialsInExperiment) { this.subgroupLabels = Collections.unmodifiableList(subgroupLabels); this.replicaSummaries = Collections.unmodifiableList(replicaSummaries); + this.numberOfMaterialsInExperiment = numberOfMaterialsInExperiment; } public List<String> getSubgroupLabels() @@ -54,4 +57,8 @@ public class MaterialReplicaFeatureSummaryResult implements ISerializable return replicaSummaries; } + public int getNumberOfMaterialsInExperiment() + { + return numberOfMaterialsInExperiment; + } } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/grids/FeatureVectorSummaryGridColumnIDs.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/grids/FeatureVectorSummaryGridColumnIDs.java index e0c05a93868..7c920a3dfa5 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/grids/FeatureVectorSummaryGridColumnIDs.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/grids/FeatureVectorSummaryGridColumnIDs.java @@ -25,6 +25,6 @@ public class FeatureVectorSummaryGridColumnIDs public static final String DETAILS = "details"; - public static final String RANK_PREFIX = "RANK-"; + public static final String RANK_PREFIX = "RANK"; } -- GitLab