From 21bc9e43a858bd228c69c27ffceabf2dd689454d Mon Sep 17 00:00:00 2001 From: Rajkumar-D Date: Tue, 2 Jul 2024 15:49:34 +0100 Subject: [PATCH 1/2] ENA-6203: Sorting to get the same order as in FTWriter.write() --- .../api/validation/check/entry/ExonFeaturesIntervalCheck.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java b/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java index b657bda9..ae74da07 100644 --- a/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java +++ b/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java @@ -33,7 +33,10 @@ public class ExonFeaturesIntervalCheck extends EntryValidationCheck { public ValidationResult check(Entry entry) { result = new ValidationResult(); + List exonFeatures = SequenceEntryUtils.getFeatures(Feature.EXON_FEATURE_NAME, entry); + // Sorting to get the same order as in FTWriter.write() + Collections.sort(exonFeatures); List filteredExonFeatures = new ArrayList<>(); // filter non remote location exons From 5e3e771604e0ac5ed40daaadb40b494eabf49950 Mon Sep 17 00:00:00 2001 From: Rajkumar-D Date: Tue, 2 Jul 2024 16:27:45 +0100 Subject: [PATCH 2/2] ENA-6203: Sorting to get the same order as in FTWriter.write() --- .../entry/ExonFeaturesIntervalCheck.java | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java b/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java index ae74da07..906b136b 100644 --- a/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java +++ b/src/main/java/uk/ac/ebi/embl/api/validation/check/entry/ExonFeaturesIntervalCheck.java @@ -33,10 +33,7 @@ public class ExonFeaturesIntervalCheck extends EntryValidationCheck { public ValidationResult check(Entry entry) { result = new ValidationResult(); - List exonFeatures = SequenceEntryUtils.getFeatures(Feature.EXON_FEATURE_NAME, entry); - // Sorting to get the same order as in FTWriter.write() - Collections.sort(exonFeatures); List filteredExonFeatures = new ArrayList<>(); // filter non remote location exons @@ -55,12 +52,14 @@ public ValidationResult check(Entry entry) { if (filteredExonFeatures.size() == 0) return result; - List sortedFeatures = getSortedExonFeatures(filteredExonFeatures); + // Sorting to get the same order as in FTWriter.write() + Collections.sort(filteredExonFeatures); + String prevLocusTag = null; String prevGene = null; Long prevEndLocation = null; - for (Feature feature : sortedFeatures) { + for (Feature feature : filteredExonFeatures) { String currLocusTag = feature.getSingleQualifierValue(Qualifier.LOCUS_TAG_QUALIFIER_NAME); String currGene = feature.getSingleQualifierValue(Qualifier.GENE_QUALIFIER_NAME); @@ -102,17 +101,4 @@ public ValidationResult check(Entry entry) { return result; } - - public List getSortedExonFeatures(List exonFeatures) { - Collections.sort( - exonFeatures, - (feature1, feature2) -> - (feature1.getLocations().getMinPosition() < feature2.getLocations().getMinPosition()) - ? -1 - : (feature1.getLocations().getMinPosition() - > feature2.getLocations().getMinPosition()) - ? 1 - : 0); - return exonFeatures; - } }