package jalview.gui;
import jalview.analysis.AlignmentUtils;
-import jalview.analysis.AlignmentUtils.MappingResult;
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.analysis.NJTree;
import jalview.api.AlignViewportI;
}
/*
- * Try to find mappings for at least one sequence. Any mappings made will be
- * added to the protein alignment.
+ * Map sequences. At least one should get mapped as we have already passed
+ * the test for 'mappability'. Any mappings made will be added to the
+ * protein alignment.
*/
- MappingResult mapped = AlignmentUtils.mapProteinToCdna(protein, cdna);
- if (mapped != MappingResult.Mapped)
- {
- /*
- * No mapping possible - warn the user, but leave window open.
- */
- final String msg = JvSwingUtils.wrapTooltip(true,
- MessageManager.getString("label.mapping_failed"));
- JOptionPane.showInternalMessageDialog(Desktop.desktop, msg,
- MessageManager.getString("label.no_mappings"),
- JOptionPane.WARNING_MESSAGE);
- }
+ AlignmentUtils.mapProteinToCdna(protein, cdna);
try
{
: copyMe;
AlignmentI protein = proteinFrame.viewport.getAlignment();
protein.setCodonFrames(mappings);
+ proteinFrame.viewport.initComplementConsensus();
cdnaFrame.setVisible(true);
proteinFrame.setVisible(true);
new Annotation[1], 0f, 100f, AlignmentAnnotation.BAR_GRAPH);
initConsensus(consensus);
- if (!alignment.isNucleotide())
+ initComplementConsensus();
+ }
+ }
+
+ /**
+ * If this is a protein alignment and there are mappings to cDNA, add the cDNA
+ * consensus annotation.
+ */
+ protected void initComplementConsensus()
+ {
+ if (!alignment.isNucleotide())
+ {
+ final Set<AlignedCodonFrame> codonMappings = alignment
+ .getCodonFrames();
+ if (codonMappings != null && !codonMappings.isEmpty())
{
- final Set<AlignedCodonFrame> codonMappings = alignment
- .getCodonFrames();
- if (codonMappings != null && !codonMappings.isEmpty())
- {
- complementConsensus = new AlignmentAnnotation("cDNA Consensus",
- "PID for cDNA", new Annotation[1], 0f, 100f,
- AlignmentAnnotation.BAR_GRAPH);
- initConsensus(complementConsensus);
- }
+ complementConsensus = new AlignmentAnnotation("cDNA Consensus",
+ "PID for cDNA", new Annotation[1], 0f, 100f,
+ AlignmentAnnotation.BAR_GRAPH);
+ initConsensus(complementConsensus);
}
}
}