JAL-1705 align CDS and peptide products to transcripts
[jalview.git] / src / jalview / gui / AlignFrame.java
index 7777324..8d54f08 100644 (file)
@@ -4780,11 +4780,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
               AlignmentI copyAlignment = null;
               final SequenceI[] sequenceSelection = AlignFrame.this.viewport
                       .getSequenceSelection();
+              final char gapChar = AlignFrame.this.viewport
+                      .getGapCharacter();
               List<AlignedCodonFrame> cf = xrefs.getCodonFrames();
               if (dna)
               {
                 copyAlignment = AlignmentUtils.makeCdsAlignment(
-                        sequenceSelection, cf);
+                        sequenceSelection, cf, gapChar);
                 al.getCodonFrames().clear();
                 al.getCodonFrames().addAll(cf);
               }
@@ -4793,6 +4795,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 copyAlignment = new Alignment(new Alignment(
                         sequenceSelection));
                 copyAlignment.getCodonFrames().addAll(cf);
+                copyAlignment.setGapCharacter(gapChar);
               }
               StructureSelectionManager ssm = StructureSelectionManager
                       .getStructureSelectionManager(Desktop.instance);
@@ -4810,15 +4813,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
               /*
                * align protein to dna
                */
-              // TODO needs debugging
-              // if (dna)
-              // {
-              // al.alignAs(copyAlignment);
-              // }
-              // else
-              // {
-              // copyAlignment.alignAs(al);
-              // }
+              if (dna)
+              {
+                al.alignAs(copyAlignment);
+              }
+              else
+              {
+                copyAlignment.alignAs(al);
+              }
 
               AlignFrame copyThis = new AlignFrame(copyAlignment,
                       AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);