JAL-1705 (new preference option to) hide introns when fetching genomic
[jalview.git] / src / jalview / gui / SequenceFetcher.java
index 784474e..b6ee041 100755 (executable)
 package jalview.gui;
 
 import jalview.api.FeatureSettingsModelI;
+import jalview.bin.Cache;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
+import jalview.io.gff.SequenceOntologyI;
 import jalview.util.DBRefUtils;
 import jalview.util.MessageManager;
 import jalview.ws.dbsources.das.api.DasSourceRegistryI;
@@ -156,9 +158,9 @@ public class SequenceFetcher extends JPanel implements Runnable
       }
     }
     if (sfetch == null
-            || dasRegistry != jalview.bin.Cache.getDasSourceRegistry()
-            || lastDasSourceRegistry != (jalview.bin.Cache
-                    .getDasSourceRegistry().getDasRegistryURL() + jalview.bin.Cache
+            || dasRegistry != Cache.getDasSourceRegistry()
+            || lastDasSourceRegistry != (Cache.getDasSourceRegistry()
+                    .getDasRegistryURL() + Cache
                     .getDasSourceRegistry().getLocalSourceString())
                     .hashCode())
     {
@@ -173,7 +175,7 @@ public class SequenceFetcher extends JPanel implements Runnable
                 .getString("status.init_sequence_database_fetchers"),
                 Thread.currentThread().hashCode());
       }
-      dasRegistry = jalview.bin.Cache.getDasSourceRegistry();
+      dasRegistry = Cache.getDasSourceRegistry();
       dasRegistry.refreshSources();
 
       jalview.ws.SequenceFetcher sf = new jalview.ws.SequenceFetcher();
@@ -592,7 +594,8 @@ public class SequenceFetcher extends JPanel implements Runnable
               }
             } catch (Exception e)
             {
-              jalview.bin.Cache.log.info("Error retrieving " + item
+              Cache.log.info(
+                      "Error retrieving " + item
                       + " from " + proxy.getDbName(), e);
               nextfetch.add(item);
             }
@@ -833,8 +836,15 @@ public class SequenceFetcher extends JPanel implements Runnable
 
         if (preferredFeatureColours != null)
         {
-          af.viewport.applyFeaturesStyle(preferredFeatureColours);
+          af.getViewport().applyFeaturesStyle(preferredFeatureColours);
         }
+        if (Cache.getDefault("HIDE_INTRONS", true))
+        {
+          af.avc.markColumnsContainingFeatures(true, false, false,
+                  SequenceOntologyI.EXON);
+          af.getViewport().hideSelectedColumns();
+        }
+
         Desktop.addInternalFrame(af, title, AlignFrame.DEFAULT_WIDTH,
                 AlignFrame.DEFAULT_HEIGHT);
 
@@ -843,7 +853,7 @@ public class SequenceFetcher extends JPanel implements Runnable
 
         try
         {
-          af.setMaximum(jalview.bin.Cache.getDefault("SHOW_FULLSCREEN",
+          af.setMaximum(Cache.getDefault("SHOW_FULLSCREEN",
                   false));
         } catch (Exception ex)
         {