FeatureSettingsModelI featureColourScheme = new SequenceFetcher()
.getFeatureColourScheme(source);
+ if (dna && AlignmentUtils.looksLikeEnsembl(alignment))
+ {
+ // override default featureColourScheme so products have Ensembl variant colours
+ featureColourScheme = new SequenceFetcher()
+ .getFeatureColourScheme(DBRefSource.ENSEMBL);
+ }
+
AlignmentI xrefsAlignment = makeCrossReferencesAlignment(dataset,
xrefs);
if (!dna)
AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
if (Cache.getDefault("HIDE_INTRONS", true))
{
- newFrame.hideFeatureColumns(SequenceOntologyI.EXON, false);
+ newFrame.hideFeatureColumns(false, SequenceOntologyI.EXON);
}
String newtitle = String.format("%s %s %s",
dna ? MessageManager.getString("label.proteins")
/*
* copy feature rendering settings to split frame
*/
- newFrame.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()
- .transferSettings(myFeatureStyling);
- copyThis.alignPanel.getSeqPanel().seqCanvas.getFeatureRenderer()
- .transferSettings(myFeatureStyling);
+ FeatureRenderer fr1 = newFrame.alignPanel.getSeqPanel().seqCanvas
+ .getFeatureRenderer();
+ fr1.transferSettings(myFeatureStyling);
+ fr1.findAllFeatures(true);
+ FeatureRenderer fr2 = copyThis.alignPanel.getSeqPanel().seqCanvas
+ .getFeatureRenderer();
+ fr2.transferSettings(myFeatureStyling);
+ fr2.findAllFeatures(true);
/*
* apply 'database source' feature configuration
- * if any was found
+ * if any - first to the new splitframe view about to be displayed
*/
- // TODO is this the feature colouring for the original
- // alignment or the fetched xrefs? either could be Ensembl
+
newFrame.getViewport().applyFeaturesStyle(featureColourScheme);
copyThis.getViewport().applyFeaturesStyle(featureColourScheme);
+ /*
+ * and for JAL-3330 also to original alignFrame view(s)
+ * this currently trashes any original settings.
+ */
+ for (AlignmentViewPanel origpanel: alignFrame.getAlignPanels()) {
+ origpanel.getAlignViewport()
+ .mergeFeaturesStyle(featureColourScheme);
+ }
+
SplitFrame sf = new SplitFrame(dna ? copyThis : newFrame,
dna ? newFrame : copyThis);
+
newFrame.setVisible(true);
copyThis.setVisible(true);
String linkedTitle = MessageManager
seq.getLength());
if (geneLoci != null)
{
- MapList map = geneLoci.getMap();
+ MapList map = geneLoci.getMapping();
int mappedFromLength = MappingUtils.getLength(map.getFromRanges());
if (mappedFromLength == seq.getLength())
{
seq.setGeneLoci(geneLoci.getSpeciesId(), geneLoci.getAssemblyId(),
- geneLoci.getChromosomeId(), geneLoci.getMap());
+ geneLoci.getChromosomeId(), map);
retrievedLoci.put(dbref, geneLoci);
return true;
}
seq.getLength());
if (geneLoci != null)
{
- MapList map = geneLoci.getMap();
+ MapList map = geneLoci.getMapping();
int mappedFromLength = MappingUtils.getLength(map.getFromRanges());
if (mappedFromLength == seq.getLength())
{
seq.setGeneLoci(geneLoci.getSpeciesId(), geneLoci.getAssemblyId(),
- geneLoci.getChromosomeId(), geneLoci.getMap());
+ geneLoci.getChromosomeId(), map);
retrievedLoci.put(dbref, geneLoci);
return true;
}