Skip to content

Commit 5f695fc

Browse files
committed
Resolver will create data sets from just GMT files. Fixes #402
1 parent 059c8e5 commit 5f695fc

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

EnrichmentMapPlugin/src/main/java/org/baderlab/csplugins/enrichmentmap/resolver/DataSetResolver.java

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,17 +113,22 @@ private static List<DataSetParameters> createDataSets(Map<Type,List<Path>> types
113113
List<Path> clasFiles = new ArrayList<>(types.get(Type.CLASS));
114114
List<Path> gmtFiles = new ArrayList<>(types.get(Type.GENE_SETS));
115115

116-
dataSets.addAll(processEnrichments(types.get(Type.ENRICHMENT_GENERIC), Method.Generic, exprFiles, rankFiles, clasFiles, gmtFiles));
117-
dataSets.addAll(processEnrichments(types.get(Type.ENRICHMENT_ENRICHR), Method.Generic, exprFiles, rankFiles, clasFiles, gmtFiles));
118-
dataSets.addAll(processEnrichments(types.get(Type.ENRICHMENT_DAVID), Method.Specialized, exprFiles, rankFiles, clasFiles, gmtFiles));
119-
dataSets.addAll(processEnrichments(types.get(Type.ENRICHMENT_BINGO), Method.Specialized, exprFiles, rankFiles, clasFiles, gmtFiles));
120-
dataSets.addAll(processEnrichments(types.get(Type.ENRICHMENT_GREAT), Method.Specialized, exprFiles, rankFiles, clasFiles, gmtFiles));
116+
dataSets.addAll(createDataSetsFromEnrichments(types.get(Type.ENRICHMENT_GENERIC), Method.Generic, exprFiles, rankFiles, clasFiles, gmtFiles));
117+
dataSets.addAll(createDataSetsFromEnrichments(types.get(Type.ENRICHMENT_ENRICHR), Method.Generic, exprFiles, rankFiles, clasFiles, gmtFiles));
118+
dataSets.addAll(createDataSetsFromEnrichments(types.get(Type.ENRICHMENT_DAVID), Method.Specialized, exprFiles, rankFiles, clasFiles, gmtFiles));
119+
dataSets.addAll(createDataSetsFromEnrichments(types.get(Type.ENRICHMENT_BINGO), Method.Specialized, exprFiles, rankFiles, clasFiles, gmtFiles));
120+
dataSets.addAll(createDataSetsFromEnrichments(types.get(Type.ENRICHMENT_GREAT), Method.Specialized, exprFiles, rankFiles, clasFiles, gmtFiles));
121+
122+
// If there are no enrichments but there are GMT files then create datasets from the GMT files.
123+
if(dataSets.isEmpty() && !types.get(Type.GENE_SETS).isEmpty()) {
124+
dataSets.addAll(createDataSetsFromGeneSets(types.get(Type.GENE_SETS)));
125+
}
121126

122127
return dataSets;
123128
}
124129

125130

126-
private static List<DataSetParameters> processEnrichments(
131+
private static List<DataSetParameters> createDataSetsFromEnrichments(
127132
Collection<Path> enrichments,
128133
Method method,
129134
List<Path> exprFiles,
@@ -171,6 +176,18 @@ private static List<DataSetParameters> processEnrichments(
171176
}
172177

173178

179+
private static List<DataSetParameters> createDataSetsFromGeneSets(List<Path> gmtFiles) {
180+
List<DataSetParameters> dataSets = new ArrayList<>();
181+
for(Path gmt : gmtFiles) {
182+
DataSetFiles files = new DataSetFiles();
183+
files.setGMTFileName(gmt.toAbsolutePath().toString());
184+
String name = getDatasetNameGeneric(gmt.getFileName());
185+
dataSets.add(new DataSetParameters(name, Method.Generic, files));
186+
}
187+
return dataSets;
188+
}
189+
190+
174191
private static Optional<Path> findClosestMatch(Path p, List<Path> candidates) {
175192
String pf = p.getFileName().toString();
176193

0 commit comments

Comments
 (0)