Skip to content

Commit ea0f48a

Browse files
committed
update how gene DA and EA booleans are indexed
1 parent b58a01a commit ea0f48a

File tree

4 files changed

+28
-16
lines changed

4 files changed

+28
-16
lines changed

agr_api/src/main/java/org/alliancegenome/api/service/OrthologyESService.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package org.alliancegenome.api.service;
22

33
import java.util.ArrayList;
4+
import java.util.HashMap;
45
import java.util.List;
6+
import java.util.Map;
57

68
import static org.elasticsearch.index.query.QueryBuilders.boolQuery;
79

@@ -34,8 +36,16 @@ public JsonResultResponse<GeneToGeneOrthologyDocument> getOrthologyList(String g
3436
for (SearchHit searchHit : searchResponse.getHits().getHits()) {
3537
try {
3638
String source = searchHit.getSourceAsString();
37-
GeneToGeneOrthologyDocument object = mapper.readValue(source, GeneToGeneOrthologyDocument.class);
38-
list.add(object);
39+
GeneToGeneOrthologyDocument doc = mapper.readValue(source, GeneToGeneOrthologyDocument.class);
40+
41+
Map<String, Map<String, Object>> geneAnnotationsMap = new HashMap<>();
42+
doc.setGeneAnnotationsMap(geneAnnotationsMap);
43+
for (Map<String, Object> geneAnnotation : doc.getGeneAnnotations()) {
44+
String geneIdentifier = (String) geneAnnotation.get("geneIdentifier");
45+
geneAnnotationsMap.put(geneIdentifier, geneAnnotation);
46+
}
47+
48+
list.add(doc);
3949
} catch (Exception e) {
4050
e.printStackTrace();
4151
}

agr_indexer/src/main/java/org/alliancegenome/indexer/config/IndexerConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public enum IndexerConfig {
3333
ParalogyIndexer("paralogy", GeneToGeneParalogyIndexer.class, 4, 5000, 5000, 8, 1),
3434
PhenotypeAnnotationIndexer("phenotypeAnnotation", PhenotypeAnnotationCurationIndexer.class, 4, 1500, 1500, 2, 1),
3535
ReleaseInfoIndexer("release", ReleaseInfoIndexer.class, 1, 1, 1, 1, 1),
36-
// GeneToGeneOrthologyIndexer("geneToGeneOrthology", GeneToGeneOrthologyIndexer.class, 4, 1426, 1426, 8, 1)
36+
GeneToGeneOrthologyIndexer("geneToGeneOrthology", GeneToGeneOrthologyIndexer.class, 4, 1426, 1426, 8, 1)
3737
;
3838

3939

agr_indexer/src/main/java/org/alliancegenome/indexer/indexers/curation/GeneToGeneOrthologyIndexer.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void index() {
3636

3737
SearchResponse<GeneToGeneOrthologyGenerated> orthologyResponse = service.getGeneToGeneOrthology(0, 0);
3838

39-
log.info("GeneToGeneParalogy count: " + orthologyResponse.getTotalResults());
39+
log.info("GeneToGeneOrthology count: " + orthologyResponse.getTotalResults());
4040

4141
int totalPages = (int) (orthologyResponse.getTotalResults() / indexerConfig.getBufferSize());
4242

@@ -78,8 +78,7 @@ protected void startSingleThread(LinkedBlockingDeque<String> queue) {
7878
}
7979
}
8080

81-
private List<GeneToGeneOrthologyDocument> createGeneToGeneOrthologyDocuments(
82-
List<GeneToGeneOrthologyGenerated> g2gOrthoList) {
81+
private List<GeneToGeneOrthologyDocument> createGeneToGeneOrthologyDocuments( List<GeneToGeneOrthologyGenerated> g2gOrthoList) {
8382
List<GeneToGeneOrthologyDocument> documents = new ArrayList<>();
8483
for (GeneToGeneOrthologyGenerated g2gOrtho : g2gOrthoList) {
8584
GeneToGeneOrthologyDocument document = new GeneToGeneOrthologyDocument();
@@ -103,17 +102,18 @@ private void createStringencyFilter(GeneToGeneOrthologyGenerated g2gOrtho, GeneT
103102
}
104103

105104
private void createGeneAnnotations(GeneToGeneOrthologyGenerated g2gOrtho, GeneToGeneOrthologyDocument document) {
106-
Map<String, Object> map = new HashMap<>();
107-
putGeneInfo(map, g2gOrtho.getSubjectGene());
108-
putGeneInfo(map, g2gOrtho.getObjectGene());
109-
document.setGeneAnnotations(map);
105+
List<Map<String, Object>> geneAnnotationsList = new ArrayList<>();
106+
putGeneInfo(geneAnnotationsList, g2gOrtho.getSubjectGene());
107+
putGeneInfo(geneAnnotationsList, g2gOrtho.getObjectGene());
108+
document.setGeneAnnotations(geneAnnotationsList);
110109
}
111110

112-
private void putGeneInfo(Map<String, Object> map, Gene gene) {
111+
private void putGeneInfo(List<Map<String, Object>> list, Gene gene) {
113112
Map<String, Object> data = new HashMap<>();
113+
data.put("geneIdentifier", gene.getIdentifier());
114114
data.put("hasExpressionAnnotations", hasExpressionAnnotations(gene));
115115
data.put("hasDiseaseAnnotations", hasDiseaseAnnotations(gene));
116-
map.put(gene.getIdentifier(), data);
116+
list.add(data);
117117
}
118118

119119
private boolean hasDiseaseAnnotations(Gene gene) {
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.alliancegenome.api.entity;
22

3+
import java.util.List;
34
import java.util.Map;
45

56
import org.alliancegenome.curation_api.model.entities.orthology.GeneToGeneOrthologyGenerated;
@@ -8,18 +9,19 @@
89
import lombok.Data;
910
import lombok.EqualsAndHashCode;
1011

11-
@Data @EqualsAndHashCode(callSuper = true)
12+
@Data
13+
@EqualsAndHashCode(callSuper = true)
1214
public class GeneToGeneOrthologyDocument extends ESDocument {
1315

1416
protected String category = "gene_to_gene_orthology";
1517
private String stringencyFilter = "all";
16-
private Map<String, Object> geneAnnotations;
17-
18+
private List<Map<String, Object>> geneAnnotations;
19+
private Map<String, Map<String, Object>> geneAnnotationsMap;
1820
private GeneToGeneOrthologyGenerated geneToGeneOrthologyGenerated;
1921

22+
2023
@Override
2124
public String getType() {
2225
return category;
2326
}
24-
2527
}

0 commit comments

Comments
 (0)