import javax.swing.SwingUtilities;
+import jalview.analysis.AlignmentUtils;
import jalview.bin.Console;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
}
infoPanel.showResultsNewFrame.addActionListener(evt -> {
// copy alignment for each frame to have its own instance
- var alnCpy = new Alignment(result);
- alnCpy.setGapCharacter(result.getGapCharacter());
- alnCpy.setDataset(result.getDataset());
- for (AlignmentAnnotation annotation : result.getAlignmentAnnotation())
- alnCpy.addAnnotation(new AlignmentAnnotation(annotation));
- if (result.hasSeqrep())
- {
- int idx = result.findIndex(result.getSeqrep());
- if (idx >= 0)
- alnCpy.setSeqrep(alnCpy.getSequenceAt(idx));
- }
- if (result.getHiddenColumns() != null)
- alnCpy.setHiddenColumns(new HiddenColumns(result.getHiddenColumns()));
+ var alnCpy = AlignmentUtils.deepCopyAlignment(result);
displayResultsNewFrame(alnCpy);
});
SwingUtilities.invokeLater(infoPanel::setResultsReady);