Skip to content

Commit 4676c44

Browse files
authored
SCRUM-5952 enable transgenic constructs to be displayed. (#1564)
1 parent c2a4e1d commit 4676c44

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

agr_api/src/main/java/org/alliancegenome/api/controller/AlleleController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.alliancegenome.core.exceptions.RestErrorMessage;
2020
import org.alliancegenome.core.translators.tdf.AlleleToTdfTranslator;
2121
import org.alliancegenome.curation_api.model.document.es.AlleleSummaryDocument;
22-
import org.alliancegenome.curation_api.model.document.es.TransgenicAlleleDocument;
22+
import org.alliancegenome.api.entity.TransgenicAlleleSummaryDocument;
2323
import org.alliancegenome.curation_api.model.document.es.VariantSummaryDocument;
2424
import org.alliancegenome.es.model.query.FieldFilter;
2525
import org.alliancegenome.es.model.query.Pagination;
@@ -67,8 +67,8 @@ public AlleleSummaryDocument getAllele(String id) {
6767
}
6868

6969
@Override
70-
public TransgenicAlleleDocument getAlleleConstructs(String alleleId) {
71-
JsonResultResponse<TransgenicAlleleDocument> transgenicAlleles = alleleEsService.getTransgenicAlleles(alleleId);
70+
public TransgenicAlleleSummaryDocument getAlleleConstructs(String alleleId) {
71+
JsonResultResponse<TransgenicAlleleSummaryDocument> transgenicAlleles = alleleEsService.getTransgenicAlleles(alleleId);
7272
if (transgenicAlleles == null) {
7373
return null;
7474
}

agr_api/src/main/java/org/alliancegenome/api/rest/interfaces/AlleleRESTInterface.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import org.alliancegenome.api.entity.AllelePhenotypeAnnotationDocument;
55
import org.alliancegenome.cache.repository.helper.JsonResultResponse;
66
import org.alliancegenome.curation_api.model.document.es.AlleleSummaryDocument;
7-
import org.alliancegenome.curation_api.model.document.es.TransgenicAlleleDocument;
7+
import org.alliancegenome.api.entity.TransgenicAlleleSummaryDocument;
88
import org.alliancegenome.curation_api.model.document.es.VariantSummaryDocument;
99
import org.alliancegenome.neo4j.view.PublicView;
1010
import org.apache.commons.lang3.ObjectUtils.Null;
@@ -48,7 +48,7 @@ public interface AlleleRESTInterface {
4848
@Operation(description = "Searches for transgenic alleles", summary = "Transgenic Alleles")
4949
@APIResponses(value = {@APIResponse(responseCode = "404", description = "Missing transgenic alleles", content = @Content(mediaType = "text/plain")),
5050
@APIResponse(responseCode = "200", description = "Search for alleles.", content = @Content(mediaType = "application/json", schema = @Schema(implementation = Null.class)))})
51-
TransgenicAlleleDocument getAlleleConstructs(@Parameter(in = ParameterIn.PATH, name = "id", description = "Search for constructs for a given Allele by ID", required = true, schema = @Schema(type = SchemaType.STRING)) @PathParam("id") String id);
51+
TransgenicAlleleSummaryDocument getAlleleConstructs(@Parameter(in = ParameterIn.PATH, name = "id", description = "Search for constructs for a given Allele by ID", required = true, schema = @Schema(type = SchemaType.STRING)) @PathParam("id") String id);
5252

5353
@GET
5454
@Path("/{id}/variants")

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.alliancegenome.cache.repository.helper.JsonResultResponse;
1414
import org.alliancegenome.curation_api.model.document.es.AlleleSummaryDocument;
1515
import org.alliancegenome.curation_api.model.document.es.ESDocument;
16-
import org.alliancegenome.curation_api.model.document.es.TransgenicAlleleDocument;
16+
import org.alliancegenome.api.entity.TransgenicAlleleSummaryDocument;
1717
import org.alliancegenome.curation_api.model.document.es.VariantSummaryDocument;
1818
import org.alliancegenome.es.model.query.Pagination;
1919
import org.elasticsearch.action.search.SearchResponse;
@@ -64,23 +64,23 @@ public class AlleleESService extends ESService {
6464
put(null, defaultSortMap);
6565
}};
6666

67-
public JsonResultResponse<TransgenicAlleleDocument> getTransgenicAlleles(String alleleId) {
67+
public JsonResultResponse<TransgenicAlleleSummaryDocument> getTransgenicAlleles(String alleleId) {
6868
BoolQueryBuilder bool = boolQuery();
6969
BoolQueryBuilder bool2 = boolQuery();
7070
bool.must(bool2);
7171
// ToDo: Change this class such that the category is public
72-
// TransgenicAlleleDocument.category
72+
// TransgenicAlleleSummaryDocument.category
7373
bool.filter(new TermQueryBuilder("category", "transgenic_allele_summary"));
7474
bool2.should(new MatchQueryBuilder("allele.primaryExternalId.keyword", alleleId));
7575

76-
JsonResultResponse<TransgenicAlleleDocument> ret = new JsonResultResponse<>();
76+
JsonResultResponse<TransgenicAlleleSummaryDocument> ret = new JsonResultResponse<>();
7777

7878
SearchResponse searchResponse = getSearchResponse(bool, new Pagination(), null, false);
7979
ret.setTotal((int) searchResponse.getHits().getTotalHits().value);
80-
List<TransgenicAlleleDocument> list = new ArrayList<>();
80+
List<TransgenicAlleleSummaryDocument> list = new ArrayList<>();
8181
Arrays.stream(searchResponse.getHits().getHits()).forEach(searchHit -> {
8282
try {
83-
TransgenicAlleleDocument object = mapper.readValue(searchHit.getSourceAsString(), TransgenicAlleleDocument.class);
83+
TransgenicAlleleSummaryDocument object = mapper.readValue(searchHit.getSourceAsString(), TransgenicAlleleSummaryDocument.class);
8484
list.add(object);
8585
} catch (Exception e) {
8686
e.printStackTrace();

agr_java_core/src/main/java/org/alliancegenome/core/variant/converters/VariantSummaryConverter.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,15 @@ public List<VariantSummaryDocument> convertContextToDocument(VariantContext ctx,
262262
allele.setTaxon(taxon);
263263
// If we want to show
264264

265+
// Sort PVCs by most severe consequence
266+
consequences.sort(Comparator.comparingInt(pvc -> {
267+
if (pvc.getVepConsequences() == null || pvc.getVepConsequences().isEmpty()) {
268+
return Integer.MAX_VALUE;
269+
}
270+
return pvc.getVepConsequences().stream()
271+
.mapToInt(c -> c.getSeverityOrder() != null ? c.getSeverityOrder() : Integer.MAX_VALUE)
272+
.min().orElse(Integer.MAX_VALUE);
273+
}));
265274
cvgla.setPredictedVariantConsequences(consequences);
266275
// Create the document for each consequence (full flattening)
267276
VariantSummaryDocument doc = new VariantSummaryDocument();

0 commit comments

Comments
 (0)