JAL-1466 flag and jalview_properties setting to control retrieval of full length...
[jalview.git] / src / jalview / ws / DBRefFetcher.java
index 9742bca..a156b2c 100644 (file)
@@ -78,6 +78,11 @@ public class DBRefFetcher implements Runnable
 
   private SequenceI[] alseqs;
 
+  /**
+   * when true - retrieved sequences will be trimmed to cover longest derived alignment sequence 
+   */
+  private boolean trimDsSeqs=true;
+
   public DBRefFetcher()
   {
   }
@@ -124,6 +129,8 @@ public class DBRefFetcher implements Runnable
     this.dataset = ds;
     // TODO Jalview 2.5 lots of this code should be in the gui package!
     sfetcher = jalview.gui.SequenceFetcher.getSequenceFetcherSingleton(af);
+    // set default behaviour for transferring excess sequence data to the dataset 
+    trimDsSeqs = Cache.getDefault("TRIM_FETCHED_DATASET_SEQS", true);
     if (sources == null)
     {
       // af.featureSettings_actionPerformed(null);
@@ -372,7 +379,7 @@ public class DBRefFetcher implements Runnable
             if (retrieved != null)
             {
               transferReferences(sdataset, dbsource.getDbSource(),
-                      retrieved);
+                      retrieved,trimDsSeqs);
             }
           }
           else
@@ -469,12 +476,14 @@ public class DBRefFetcher implements Runnable
   /**
    * Verify local sequences in seqRefs against the retrieved sequence database
    * records.
+   * @param trimDatasetSeqs 
    * 
    */
   void transferReferences(Vector sdataset, String dbSource,
-          AlignmentI retrievedAl) // File
+          AlignmentI retrievedAl, boolean trimDatasetSeqs) // File
   // file)
   {
+    System.out.println("trimming ? "+trimDatasetSeqs);
     if (retrievedAl == null || retrievedAl.getHeight() == 0)
     {
       return;