Jalview-JS/JAL-3253-applet also comments relating to JAL-3268
[jalview.git] / src / jalview / ext / ensembl / EnsemblCdna.java
index e01ad17..bdfd208 100644 (file)
@@ -23,6 +23,7 @@ package jalview.ext.ensembl;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
 import jalview.io.gff.SequenceOntologyI;
+import jalview.util.Platform;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -44,9 +45,7 @@ public class EnsemblCdna extends EnsemblSeqProxy
    * or ENSMUST or similar for other species
    * or CCDSnnnnn.nn with at least 3 digits
    */
-  private static final Regex ACCESSION_REGEX = new Regex(
-          "(ENS([A-Z]{3}|)[TG][0-9]{11}$)" + "|" + "(CCDS[0-9.]{3,}$)");
-
+  private static Regex ACCESSION_REGEX;
   /*
    * fetch exon features on genomic sequence (to identify the cdna regions)
    * and cds and variation features (to retain)
@@ -88,6 +87,16 @@ public class EnsemblCdna extends EnsemblSeqProxy
   @Override
   public Regex getAccessionValidator()
   {
+    if (ACCESSION_REGEX == null)
+    {
+      /*
+       * accepts ENSG/T/E/P with 11 digits
+       * or ENSMUSP or similar for other species
+       * or CCDSnnnnn.nn with at least 3 digits
+       */
+      ACCESSION_REGEX = Platform.newRegex(
+              "(ENS([A-Z]{3}|)[TG][0-9]{11}$)" + "|" + "(CCDS[0-9.]{3,}$)", null);
+    }
     return ACCESSION_REGEX;
   }