Skip to content

Commit 1def62d

Browse files
committed
Fix Hypergeometric distance setting.
1 parent 04b36dc commit 1def62d

File tree

3 files changed

+17
-33
lines changed

3 files changed

+17
-33
lines changed

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/heatmap/ClusterRankingOption.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,17 @@ public class ClusterRankingOption implements RankingOption {
2525
private final TaskManager<?,?> taskManager;
2626

2727
private final EnrichmentMap map;
28-
private Distance distance = Distance.PEARSON;
28+
private Distance distance;
2929

3030
public interface Factory {
31-
ClusterRankingOption create(EnrichmentMap map);
31+
ClusterRankingOption create(EnrichmentMap map, Distance distance);
3232
}
3333

3434
@Inject
35-
public ClusterRankingOption(@Assisted EnrichmentMap map, @Dialog TaskManager<?,?> taskManager) {
35+
public ClusterRankingOption(@Assisted EnrichmentMap map, @Assisted Distance distance, @Dialog TaskManager<?,?> taskManager) {
3636
this.map = map;
3737
this.taskManager = taskManager;
38+
this.distance = distance;
3839
}
3940

4041
@Override

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/heatmap/HeatMapMediator.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ private void updateHeatMap(CyNetworkView networkView) {
291291

292292
List<RankingOption> rankOptions = getDataSetRankOptions(map, network, selectedNodes, selectedEdges);
293293
HeatMapParams params = getHeatMapParams(map, network.getSUID(), onlyEdges);
294-
ClusterRankingOption clusterRankingOption = getClusterRankingOption(map);
294+
ClusterRankingOption clusterRankingOption = clusterRankOptionFactory.create(map, params.getDistanceMetric());
295295

296296
invokeOnEDT(() -> {
297297
HeatMapContentPanel contentPanel = getContentPanel();
@@ -353,7 +353,7 @@ private void updateHeatMapPanel() {
353353
EnrichmentMap map = tableModel.getEnrichmentMap();
354354
CyNetwork network = networkManager.getNetwork(map.getNetworkID());
355355
List<RankingOption> rankOptions = getDataSetRankOptions(map);
356-
ClusterRankingOption clusterRankingOption = getClusterRankingOption(map);
356+
ClusterRankingOption clusterRankingOption = clusterRankOptionFactory.create(map, params.getDistanceMetric());
357357

358358
resetWithoutListeners(() -> {
359359
getContentPanel().update(network, map, params, rankOptions, getContentPanel().getUnionGenes(), getContentPanel().getInterGenes(), clusterRankingOption);
@@ -392,9 +392,10 @@ private void updateSetting_ShowValues() {
392392
}
393393

394394
private void updateSetting_Distance(Distance distance) {
395-
EnrichmentMap map = getContentPanel().getEnrichmentMap();
396-
ClusterRankingOption clusterRankingOption = getClusterRankingOption(map);
397-
clusterRankingOption.setDistance(distance);
395+
RankingOption clusterRankingOption = getContentPanel().getClusterRankingOption();
396+
if(clusterRankingOption instanceof ClusterRankingOption) {
397+
((ClusterRankingOption)clusterRankingOption).setDistance(distance);
398+
}
398399
getContentPanel().setSelectedRankingOption(clusterRankingOption);
399400
settingChanged();
400401
}
@@ -406,10 +407,6 @@ private void settingChanged() {
406407
}
407408
}
408409

409-
public ClusterRankingOption getClusterRankingOption(EnrichmentMap map) {
410-
return clusterRankOptionFactory.create(map);
411-
}
412-
413410
public List<RankingOption> getDataSetRankOptions(EnrichmentMap map) {
414411
CyNetwork network = networkManager.getNetwork(map.getNetworkID());
415412

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/heatmap/OptionsPopup.java

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -144,36 +144,22 @@ public JMenuItem getPathwayCommonsButton() {
144144
}
145145

146146
public void update(HeatMapParams params) {
147+
updateDistanceMenu(params.getDistanceMetric());
148+
}
149+
150+
private void updateDistanceMenu(Distance dm) {
147151
cosineRadio.removeActionListener(cosineListener);
148152
euclideanRadio.removeActionListener(euclideanListener);
149153
pearsonRadio.removeActionListener(pearsonListener);
150154

151-
updateDistanceMenu(params.getDistanceMetric());
155+
cosineRadio.setSelected(dm == Distance.COSINE);
156+
euclideanRadio.setSelected(dm == Distance.EUCLIDEAN);
157+
pearsonRadio.setSelected(dm == Distance.PEARSON);
152158

153159
cosineRadio.addActionListener(cosineListener);
154160
euclideanRadio.addActionListener(euclideanListener);
155161
pearsonRadio.addActionListener(pearsonListener);
156162
}
157-
158-
private void updateDistanceMenu(Distance dm) {
159-
switch (dm) {
160-
case COSINE:
161-
cosineRadio.setSelected(true);
162-
euclideanRadio.setSelected(false);
163-
pearsonRadio.setSelected(false);
164-
break;
165-
case EUCLIDEAN:
166-
cosineRadio.setSelected(false);
167-
euclideanRadio.setSelected(true);
168-
pearsonRadio.setSelected(false);
169-
break;
170-
case PEARSON:
171-
cosineRadio.setSelected(false);
172-
euclideanRadio.setSelected(false);
173-
pearsonRadio.setSelected(true);
174-
break;
175-
}
176-
}
177163

178164

179165
public Distance getDistance() {

0 commit comments

Comments
 (0)