JAL-1944 bugfix for wrong alignment numbering when exporting an alignment and export...
[jalview.git] / src / jalview / gui / AlignFrame.java
index 401ccb7..7ab8311 100644 (file)
@@ -1313,7 +1313,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
 
     if (viewport.hasHiddenColumns() && !settings.isExportHiddenColumns())
     {
-      omitHidden = viewport.getViewAsString(false);
+      omitHidden = viewport.getViewAsString(false,
+              settings.isExportHiddenSequences());
     }
 
     int[] alignmentStartEnd = new int[2];
@@ -1324,17 +1325,15 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     else
     {
       alignmentToExport = viewport.getAlignment();
-      alignmentStartEnd = viewport.getAlignment()
-              .getVisibleStartAndEndIndex(
-                      viewport
-              .getColumnSelection().getHiddenColumns());
     }
+    alignmentStartEnd = alignmentToExport
+            .getVisibleStartAndEndIndex(viewport.getColumnSelection()
+                    .getHiddenColumns());
     AlignmentExportData ed = new AlignmentExportData(alignmentToExport,
             omitHidden, alignmentStartEnd, settings);
     return ed;
   }
 
-
   /**
    * DOCUMENT ME!
    * 
@@ -4681,6 +4680,17 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     return showp;
   }
 
+  /**
+   * Finds and displays cross-references for the selected sequences (protein
+   * products for nucleotide sequences, dna coding sequences for peptides).
+   * 
+   * @param sel
+   *          the sequences to show cross-references for
+   * @param dna
+   *          true if from a nucleotide alignment (so showing proteins)
+   * @param source
+   *          the database to show cross-references for
+   */
   protected void showProductsFor(final SequenceI[] sel, final boolean dna,
           final String source)
   {
@@ -4751,7 +4761,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 System.err.println("Failed to make CDS alignment");
               }
               al.getCodonFrames().clear();
-              al.getCodonFrames().addAll(copyAlignment.getCodonFrames());
+              al.addCodonFrames(copyAlignment.getCodonFrames());
+              al.addCodonFrames(cf);
 
               /*
                * pending getting Embl transcripts to 'align', 
@@ -4769,7 +4780,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
             {
               copyAlignment = AlignmentUtils.makeCopyAlignment(
                       sequenceSelection, xrefs.getSequencesArray());
-              copyAlignment.getCodonFrames().addAll(cf);
+              copyAlignment.addCodonFrames(cf);
+              al.addCodonFrames(copyAlignment.getCodonFrames());
+              al.addCodonFrames(cf);
             }
             copyAlignment.setGapCharacter(AlignFrame.this.viewport
                     .getGapCharacter());
@@ -4844,15 +4857,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
         } catch (Exception e)
         {
-          Cache.log.error(
-                  "Exception when finding crossreferences", e);
+          Cache.log.error("Exception when finding crossreferences", e);
         } catch (OutOfMemoryError e)
         {
           new OOMWarning("whilst fetching crossreferences", e);
         } catch (Throwable e)
         {
-          Cache.log.error("Error when finding crossreferences",
-                  e);
+          Cache.log.error("Error when finding crossreferences", e);
         } finally
         {
           AlignFrame.this.setProgressBar(MessageManager.formatMessage(
@@ -4930,7 +4941,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
               .getString("label.error_when_translating_sequences_submit_bug_report");
       final String errorTitle = MessageManager
               .getString("label.implementation_error")
-              + MessageManager.getString("translation_failed");
+              + MessageManager.getString("label.translation_failed");
       JOptionPane.showMessageDialog(Desktop.desktop, msg, errorTitle,
               JOptionPane.ERROR_MESSAGE);
       return;
@@ -5508,8 +5519,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 AlignFrame.this.setMenusForViewport();
               }
             });
-            dbRefFetcher
-                    .fetchDBRefs(false);
+            dbRefFetcher.fetchDBRefs(false);
           }
         }).start();
 
@@ -6067,9 +6077,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     try
     {
       Dna dna = new Dna(viewport, viewport.getViewAsVisibleContigs(true));
-
       al = dna.reverseCdna(complement);
       viewport.addAlignment(al, "");
+      addHistoryItem(new EditCommand(
+              MessageManager.getString("label.add_sequences"),
+              Action.PASTE, al.getSequencesArray(), 0, al.getWidth(),
+              viewport.getAlignment()));
     } catch (Exception ex)
     {
       System.err.println(ex.getMessage());