Skip to content

Commit 14f6f2e

Browse files
committed
Use namespace for attribute prefix. Refs #272
1 parent fa15661 commit 14f6f2e

File tree

10 files changed

+56
-16
lines changed

10 files changed

+56
-16
lines changed

EnrichmentMapIntegrationTest/src/test/java/org/baderlab/csplugins/enrichmentmap/integration/task/Protocol1Test.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public void testProtocol1() throws Exception {
4343
task.filterArgs.qvalue = 0.00001;
4444
task.filterArgs.similaritycutoff = 0.25;
4545
task.filterArgs.edgeStrategy.setSelectedValue(EdgeStrategy.COMPOUND.name());
46+
task.filterArgs.attributePrefix = "EM1_";
4647

4748
SerialTestTaskManager taskManager = new SerialTestTaskManager();
4849
taskManager.execute(new TaskIterator(task));

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/CyActivator.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,15 @@
2525
import org.baderlab.csplugins.enrichmentmap.model.io.SessionListener;
2626
import org.baderlab.csplugins.enrichmentmap.rest.EnrichmentMapResource;
2727
import org.baderlab.csplugins.enrichmentmap.style.ChartFactoryManager;
28+
import org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder;
2829
import org.baderlab.csplugins.enrichmentmap.style.charts.radialheatmap.RadialHeatMapChartFactory;
30+
import org.baderlab.csplugins.enrichmentmap.view.EMColumnPresentation;
2931
import org.baderlab.csplugins.enrichmentmap.view.control.ControlPanelMediator;
3032
import org.baderlab.csplugins.enrichmentmap.view.creation.CreationDialogShowAction;
3133
import org.baderlab.csplugins.enrichmentmap.view.heatmap.HeatMapMediator;
3234
import org.baderlab.csplugins.enrichmentmap.view.legend.LegendPanelMediator;
3335
import org.cytoscape.application.CyApplicationConfiguration;
36+
import org.cytoscape.application.swing.CyColumnPresentation;
3437
import org.cytoscape.command.StringTunableHandlerFactory;
3538
import org.cytoscape.property.CyProperty;
3639
import org.cytoscape.service.util.AbstractCyActivator;
@@ -109,6 +112,11 @@ public void start(BundleContext bc) {
109112
registerAllServices(bc, controlPanelMediator);
110113
HeatMapMediator heatMapMediator = injector.getInstance(HeatMapMediator.class);
111114
registerAllServices(bc, heatMapMediator);
115+
116+
// column namespace
117+
Properties colProps = new Properties();
118+
colProps.put(CyColumnPresentation.NAMESPACE, EMStyleBuilder.Columns.NAMESPACE);
119+
registerService(bc, new EMColumnPresentation(), CyColumnPresentation.class, colProps);
112120
}
113121

114122
// If the App is updated or restarted then we want to reload the model and view from the tables

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/commands/EMGseaCommandTask.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
import org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters.EdgeStrategy;
1212
import org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters.SimilarityMetric;
1313
import org.baderlab.csplugins.enrichmentmap.model.EMDataSet.Method;
14-
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapManager;
1514
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentMapParameters;
1615
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentResultFilterParams.NESFilter;
1716
import org.baderlab.csplugins.enrichmentmap.model.LegacySupport;
17+
import org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder;
1818
import org.baderlab.csplugins.enrichmentmap.task.CreateEnrichmentMapTaskFactory;
1919
import org.cytoscape.work.AbstractTask;
2020
import org.cytoscape.work.TaskMonitor;
@@ -55,10 +55,11 @@ public class EMGseaCommandTask extends AbstractTask {
5555
@Tunable(description="combinedconstant ", groups={"User Input","Parameters"}, gravity = 19.0, tooltip="coeffecient between 0 and 1.")
5656
public Double combinedconstant ;
5757

58+
@Tunable(description="Prefix added to all column names. In older versions of EnrichmentMap this was typically 'EM1_'.")
59+
public String attributePrefix = EMStyleBuilder.Columns.NAMESPACE_PREFIX;
60+
5861

5962
@Inject private CreateEnrichmentMapTaskFactory.Factory taskFactoryFactory;
60-
@Inject private EnrichmentMapManager emManager;
61-
@Inject private LegacySupport legacySupport;
6263

6364
public EMGseaCommandTask() {
6465
similaritymetric = new ListSingleSelection<String>(EnrichmentMapParameters.SM_OVERLAP, EnrichmentMapParameters.SM_JACCARD, EnrichmentMapParameters.SM_COMBINED);
@@ -79,9 +80,8 @@ private void buildEnrichmentMap(){
7980

8081
SimilarityMetric metric = EnrichmentMapParameters.stringToSimilarityMetric(similaritymetric.getSelectedValue());
8182

82-
String prefix = legacySupport.getNextAttributePrefix();
8383
EMCreationParameters creationParams =
84-
new EMCreationParameters(prefix, pvalue, qvalue, NESFilter.ALL, Optional.empty(), true,
84+
new EMCreationParameters(attributePrefix, pvalue, qvalue, NESFilter.ALL, Optional.empty(), true,
8585
metric, overlap, combinedconstant, EdgeStrategy.AUTOMATIC);
8686

8787
CreateEnrichmentMapTaskFactory taskFactory = taskFactoryFactory.create(creationParams, dataSets);

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/commands/tunables/FilterTunables.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,10 @@
1414
import org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters.SimilarityMetric;
1515
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentResultFilterParams.NESFilter;
1616
import org.baderlab.csplugins.enrichmentmap.model.LegacySupport;
17+
import org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder;
1718
import org.cytoscape.work.Tunable;
1819
import org.cytoscape.work.util.ListSingleSelection;
1920

20-
import com.google.inject.Inject;
21-
2221

2322
/**
2423
* Use with the @ContainsTunables annotation.
@@ -56,8 +55,8 @@ public class FilterTunables {
5655
@Tunable
5756
public String networkName = null;
5857

59-
60-
@Inject private LegacySupport legacySupport;
58+
@Tunable(description="Prefix added to all column names. In older versions of EnrichmentMap this was typically 'EM1_'.")
59+
public String attributePrefix = EMStyleBuilder.Columns.NAMESPACE_PREFIX;
6160

6261

6362
public FilterTunables() {
@@ -72,8 +71,7 @@ public FilterTunables() {
7271

7372

7473
public EMCreationParameters getCreationParameters() throws IllegalArgumentException {
75-
String prefix = legacySupport.getNextAttributePrefix();
76-
return new EMCreationParameters(prefix, pvalue, qvalue, getNesFilter(),
74+
return new EMCreationParameters(attributePrefix, pvalue, qvalue, getNesFilter(),
7775
Optional.ofNullable(minExperiments), filterByExpressions,
7876
getSimilarityMetric(), similaritycutoff, combinedConstant,
7977
getEdgeStrategy());

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/model/EMCreationParameters.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public static enum EdgeStrategy {
1919
AUTOMATIC, DISTINCT, COMPOUND
2020
}
2121

22-
private String attributePrefix; // MKTODO this shouldn't be here
22+
private String attributePrefix;
2323

2424
// Node filtering (gene-sets)
2525
private double pvalue;

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/style/EMStyleBuilder.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ public class EMStyleBuilder {
8484
private static final NodeShape SIGNATURE_NODE_SHAPE = DIAMOND;
8585

8686
public static class Columns {
87+
public static final String NAMESPACE = "EnrichmentMap";
88+
public static final String NAMESPACE_PREFIX = NAMESPACE + "::"; // added in Cytoscape 3.7
89+
8790
// Common attributes that apply to the entire network
8891
public static final ColumnDescriptor<String> NODE_NAME = new ColumnDescriptor<>("Name", String.class);
8992
public static final ColumnDescriptor<String> NODE_GS_DESCR = new ColumnDescriptor<>("GS_DESCR", String.class);
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package org.baderlab.csplugins.enrichmentmap.view;
2+
3+
import java.net.URL;
4+
5+
import javax.swing.Icon;
6+
import javax.swing.ImageIcon;
7+
8+
import org.cytoscape.application.swing.CyColumnPresentation;
9+
10+
public class EMColumnPresentation implements CyColumnPresentation {
11+
12+
private final Icon icon;
13+
14+
public EMColumnPresentation() {
15+
URL logoURL = getClass().getClassLoader().getResource("images/enrichmentmap_logo_16.png");
16+
icon = new ImageIcon(logoURL);
17+
}
18+
19+
@Override
20+
public Icon getNamespaceIcon() {
21+
return icon;
22+
}
23+
24+
@Override
25+
public String getNamespaceDescription() {
26+
return null;
27+
}
28+
29+
}

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/view/creation/MasterDetailDialogPage.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@
5454
import org.baderlab.csplugins.enrichmentmap.model.EMCreationParameters.SimilarityMetric;
5555
import org.baderlab.csplugins.enrichmentmap.model.EMDataSet.Method;
5656
import org.baderlab.csplugins.enrichmentmap.model.EnrichmentResultFilterParams.NESFilter;
57-
import org.baderlab.csplugins.enrichmentmap.model.LegacySupport;
5857
import org.baderlab.csplugins.enrichmentmap.resolver.ResolverTask;
58+
import org.baderlab.csplugins.enrichmentmap.style.EMStyleBuilder;
5959
import org.baderlab.csplugins.enrichmentmap.task.CreateEnrichmentMapTaskFactory;
6060
import org.baderlab.csplugins.enrichmentmap.view.util.CardDialogCallback;
6161
import org.baderlab.csplugins.enrichmentmap.view.util.CardDialogPage;
@@ -81,7 +81,6 @@ public class MasterDetailDialogPage implements CardDialogPage {
8181
@Inject private Provider<JFrame> jframeProvider;
8282
@Inject private FileBrowser fileBrowser;
8383
@Inject private PropertyManager propertyManager;
84-
@Inject private LegacySupport legacySupport;
8584

8685
@Inject private Provider<DetailCommonPanel> commonPanelProvider;
8786
@Inject private DetailDataSetPanel.Factory dataSetPanelFactory;
@@ -120,7 +119,8 @@ public void finish() {
120119
if(!validateInput())
121120
return;
122121

123-
String prefix = legacySupport.getNextAttributePrefix();
122+
String prefix = EMStyleBuilder.Columns.NAMESPACE_PREFIX;
123+
124124
SimilarityMetric similarityMetric = cutoffPanel.getSimilarityMetric();
125125
double pvalue = cutoffPanel.getPValue();
126126
double qvalue = cutoffPanel.getQValue();

EnrichmentMapPlugin/src/test/java/org/baderlab/csplugins/enrichmentmap/task/TableLoadNetworkTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public void testTableCommand(TableCommandTask command, CyNetworkManager networkM
8383
command.tableArgs.nameColumn = NAME;
8484
command.tableArgs.genesColumn = GENES;
8585
command.tableArgs.descriptionColumn = DESCRIPTION;
86+
command.filterArgs.attributePrefix = "EM1_";
8687

8788
SerialTestTaskManager testTaskManager = new SerialTestTaskManager();
8889
testTaskManager.ignoreTask(CreateEMViewTask.class);

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<properties>
1111
<bundle.namespace>org.baderlab.csplugins</bundle.namespace>
1212
<project.name>EnrichmentMap</project.name>
13-
<cy3.version>3.6.0</cy3.version>
13+
<cy3.version>3.7.0</cy3.version>
1414
<osgi.api.version>4.2.0</osgi.api.version>
1515
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1616
</properties>

0 commit comments

Comments
 (0)