From 46978828b4b9d0dabeec8f35e2c5f8831ea9f6b1 Mon Sep 17 00:00:00 2001 From: tcarver <tjc> Date: Mon, 19 Aug 2013 16:20:18 +0100 Subject: [PATCH] add predicate to check partial settings --- uk/ac/sanger/artemis/io/ValidateFeature.java | 23 ++++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/uk/ac/sanger/artemis/io/ValidateFeature.java b/uk/ac/sanger/artemis/io/ValidateFeature.java index 027893ec3..eb3551cdf 100644 --- a/uk/ac/sanger/artemis/io/ValidateFeature.java +++ b/uk/ac/sanger/artemis/io/ValidateFeature.java @@ -133,6 +133,7 @@ public class ValidateFeature showFeatureList(STRAND_PREDICATE, "Gene Strand Errors", grp, sel, gotoSrc, plotGrp); showFeatureList(BOUNDARY_PREDICATE, "Gene Boundary Errors", grp, sel, gotoSrc, plotGrp); showFeatureList(COMPLETE_GENE_MODEL_PREDICATE, "Incomplete Gene Model", grp, sel, gotoSrc, plotGrp); + showFeatureList(PARTIAL_PREDICATE, "Partial Settings", grp, sel, gotoSrc, plotGrp); } showFeatureList(INTERNAL_STOP, "Internal Stop Codons", grp, sel, gotoSrc, plotGrp); @@ -212,15 +213,11 @@ public class ValidateFeature report.put("Gene features found on different strand", Level.FATAL); } - if(!isPartialConsistent(gffFeature, "Start_range")) + if(!isPartialConsistent(gffFeature, "Start_range") || + !isPartialConsistent(gffFeature, "End_range")) { pass = false; - report.put("Partial attribute 'Start_range' not consistent", Level.FATAL); - } - if(!isPartialConsistent(gffFeature, "End_range")) - { - pass = false; - report.put("Partial attribute 'End_range' not consistent", Level.FATAL); + report.put("Partial settings not consistent", Level.FATAL); } } @@ -547,6 +544,7 @@ public class ValidateFeature return true; } + /** * The phase is REQUIRED for all CDS features. * @param gffFeature @@ -903,6 +901,17 @@ public class ValidateFeature } }; + private static FeaturePredicate PARTIAL_PREDICATE = new FeaturePredicate() + { + public boolean testPredicate(uk.ac.sanger.artemis.Feature feature) + { + if( isPartialConsistent((GFFStreamFeature) feature.getEmblFeature(), "Start_range") && + isPartialConsistent((GFFStreamFeature) feature.getEmblFeature(), "End_range") ) + return false; + return true; + } + }; + private FeaturePredicate INTERNAL_STOP = new FeaturePredicate() { public boolean testPredicate(uk.ac.sanger.artemis.Feature feature) -- GitLab