import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureSettingsModelI;
import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.DBRefEntry;
import jalview.util.MapList;
import jalview.util.MappingUtils;
import jalview.util.MessageManager;
+import jalview.viewmodel.seqfeatures.FeatureRendererModel;
import jalview.ws.SequenceFetcher;
import java.util.ArrayList;
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)
.isShowSequenceFeatures();
newFrame.setShowSeqFeatures(showSequenceFeatures);
copyThis.setShowSeqFeatures(showSequenceFeatures);
- FeatureRenderer myFeatureStyling = alignFrame.alignPanel
+ FeatureRendererModel myFeatureStyling = alignFrame.alignPanel
.getSeqPanel().seqCanvas.getFeatureRenderer();
/*
* copy feature rendering settings to split frame
*/
- FeatureRenderer fr1 = newFrame.alignPanel.getSeqPanel().seqCanvas
+ FeatureRendererModel fr1 = newFrame.alignPanel.getSeqPanel().seqCanvas
.getFeatureRenderer();
fr1.transferSettings(myFeatureStyling);
fr1.findAllFeatures(true);
- FeatureRenderer fr2 = copyThis.alignPanel.getSeqPanel().seqCanvas
+ FeatureRendererModel fr2 = copyThis.alignPanel.getSeqPanel().seqCanvas
.getFeatureRenderer();
fr2.transferSettings(myFeatureStyling);
fr2.findAllFeatures(true);
* and for JAL-3330 also to original alignFrame view(s)
* this currently trashes any original settings.
*/
- for (AlignmentViewPanel origpanel: alignFrame.getAlignPanels()) {
+ for (AlignmentViewPanel origpanel : alignFrame.getAlignPanels())
+ {
origpanel.getAlignViewport()
.mergeFeaturesStyle(featureColourScheme);
}
new OOMWarning("whilst fetching crossreferences", e);
} catch (Throwable e)
{
- Cache.log.error("Error when finding crossreferences", e);
+ Console.error("Error when finding crossreferences", e);
} finally
{
alignFrame.setProgressBar(MessageManager.formatMessage(
{
return;
}
-
+
Set<String> ensemblDivisions = new EnsemblInfo().getDivisions();
-
+
/*
* first look for direct dbrefs from sequence to Ensembl
*/
String[] divisionsArray = ensemblDivisions
.toArray(new String[ensemblDivisions.size()]);
- DBRefEntry[] seqRefs = seq.getDBRefs();
- DBRefEntry[] directEnsemblRefs = DBRefUtils.selectRefs(seqRefs,
+ List<DBRefEntry> seqRefs = seq.getDBRefs();
+ List<DBRefEntry> directEnsemblRefs = DBRefUtils.selectRefs(seqRefs,
divisionsArray);
if (directEnsemblRefs != null)
{
{
if (dbref.getMap() != null && dbref.getMap().getTo() != null)
{
- DBRefEntry[] dbrefs = dbref.getMap().getTo().getDBRefs();
- DBRefEntry[] indirectEnsemblRefs = DBRefUtils.selectRefs(dbrefs,
+ List<DBRefEntry> dbrefs = dbref.getMap().getTo().getDBRefs();
+ List<DBRefEntry> indirectEnsemblRefs = DBRefUtils.selectRefs(dbrefs,
divisionsArray);
if (indirectEnsemblRefs != null)
{
copyAlignment = AlignmentUtils.makeCopyAlignment(sel,
xrefs.getSequencesArray(), dataset);
}
- copyAlignment
- .setGapCharacter(alignFrame.viewport.getGapCharacter());
+ copyAlignment.setGapCharacter(alignFrame.viewport.getGapCharacter());
StructureSelectionManager ssm = StructureSelectionManager
.getStructureSelectionManager(Desktop.instance);
if (copyAlignment.getHeight() <= 0)
{
- System.err.println(
- "No Sequences generated for xRef type " + source);
+ System.err.println("No Sequences generated for xRef type " + source);
return null;
}