diff --git a/service/src/main/java/org/cbioportal/genome_nexus/service/internal/VariantAnnotationSummaryServiceImpl.java b/service/src/main/java/org/cbioportal/genome_nexus/service/internal/VariantAnnotationSummaryServiceImpl.java index 1869a8da..d672a3cd 100644 --- a/service/src/main/java/org/cbioportal/genome_nexus/service/internal/VariantAnnotationSummaryServiceImpl.java +++ b/service/src/main/java/org/cbioportal/genome_nexus/service/internal/VariantAnnotationSummaryServiceImpl.java @@ -4,6 +4,7 @@ import org.cbioportal.genome_nexus.model.TranscriptConsequenceSummary; import org.cbioportal.genome_nexus.model.VariantAnnotationSummary; import org.cbioportal.genome_nexus.model.IntergenicConsequenceSummary; +import org.cbioportal.genome_nexus.model.IntergenicConsequences; import org.cbioportal.genome_nexus.model.RevisedProteinEffectJsonRecord; import org.cbioportal.genome_nexus.model.TranscriptConsequence; import org.cbioportal.genome_nexus.model.VariantAnnotation; @@ -115,14 +116,16 @@ public VariantAnnotationSummary getAnnotationSummaryForCanonical(VariantAnnotati if (canonicalTranscript == null && annotation.getIntergenicConsequences() != null && !annotation.getIntergenicConsequences().isEmpty()) { // Set variantClassification to "IGR" and when variant is "intergenic_variant". // This is useful for genome nexus annotation pipeline, so when doing curation, those mutations will be filtered out by "IGR" rule, instead of being imported as "MUTATED". - IntergenicConsequenceSummary intergenicConsequenceSummary = new IntergenicConsequenceSummary(); - // Get related fields from annotation.getIntergenicConsequences() and add "variantClassification" - intergenicConsequenceSummary.setVariantClassification(this.variantClassificationResolver.resolve(annotation, canonicalTranscript)); - // Use the first intergenic consequence to set impact, variantAllele and consequenceTerms - intergenicConsequenceSummary.setImpact(annotation.getIntergenicConsequences().get(0).getImpact()); - intergenicConsequenceSummary.setVariantAllele(annotation.getIntergenicConsequences().get(0).getVariantAllele()); - intergenicConsequenceSummary.setConsequenceTerms(annotation.getIntergenicConsequences().get(0).getConsequenceTerms()); - annotationSummary.setIntergenicConsequenceSummaries(Collections.singletonList(intergenicConsequenceSummary)); + List intergenicConsequenceSummaries = new ArrayList<>(); + for (IntergenicConsequences intergenicConsequence : annotation.getIntergenicConsequences()) { + IntergenicConsequenceSummary intergenicConsequenceSummary = new IntergenicConsequenceSummary(); + intergenicConsequenceSummary.setVariantClassification(this.variantClassificationResolver.resolve(annotation, canonicalTranscript)); + intergenicConsequenceSummary.setImpact(intergenicConsequence.getImpact()); + intergenicConsequenceSummary.setVariantAllele(intergenicConsequence.getVariantAllele()); + intergenicConsequenceSummary.setConsequenceTerms(intergenicConsequence.getConsequenceTerms()); + intergenicConsequenceSummaries.add(intergenicConsequenceSummary); + } + annotationSummary.setIntergenicConsequenceSummaries(intergenicConsequenceSummaries); } else { annotationSummary.setTranscriptConsequenceSummary(this.getTranscriptSummary(annotation, canonicalTranscript, vuesMap));