+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.bin;
import java.awt.Color;
}
// colour alignment
- String colour = avm.getFromSubValArgOrPref(av, Arg.COLOUR, sv,
- null, "DEFAULT_COLOUR_PROT", "");
- this.colourAlignFrame(af, colour);
+ String colour = null;
+ if (avm.containsArg(Arg.COLOUR)
+ || !(format == FileFormat.Jalview))
+ {
+ colour = avm.getFromSubValArgOrPref(av, Arg.COLOUR, sv, null,
+ "DEFAULT_COLOUR_PROT", null);
+ }
+ if (colour != null)
+ {
+ this.colourAlignFrame(af, colour);
+ }
// Change alignment frame title
String title = avm.getFromSubValArgOrPref(av, Arg.TITLE, sv, null,
if (avm.containsArg(Arg.STRUCTURE))
{
commandArgsProvided = true;
- for (
-
- ArgValue av : avm.getArgValueList(Arg.STRUCTURE))
+ for (ArgValue structureAv : avm.getArgValueList(Arg.STRUCTURE))
{
argParser.setStructureFilename(null);
- String val = av.getValue();
- SubVals subVals = av.getSubVals();
- int argIndex = av.getArgIndex();
- SequenceI seq = getSpecifiedSequence(af, avm, av);
+ String val = structureAv.getValue();
+ SubVals subVals = structureAv.getSubVals();
+ int argIndex = structureAv.getArgIndex();
+ SequenceI seq = getSpecifiedSequence(af, avm, structureAv);
if (seq == null)
{
// Could not find sequence from subId, let's assume the first
// get PAEMATRIX file and label from subvals or Arg.PAEMATRIX
String paeFilepath = avm.getFromSubValArgOrPrefWithSubstitutions(
- argParser, Arg.PAEMATRIX, ArgValuesMap.Position.AFTER, av,
- subVals, null, null, null);
+ argParser, Arg.PAEMATRIX, ArgValuesMap.Position.AFTER,
+ structureAv, subVals, null, null, null);
if (paeFilepath != null)
{
File paeFile = new File(paeFilepath);
// get TEMPFAC type from subvals or Arg.TEMPFAC in case user Adds
// reference annotations
String tftString = avm.getFromSubValArgOrPrefWithSubstitutions(
- argParser, Arg.TEMPFAC, ArgValuesMap.Position.AFTER, av,
- subVals, null, null, null);
+ argParser, Arg.TEMPFAC, ArgValuesMap.Position.AFTER,
+ structureAv, subVals, null, null, null);
boolean notempfac = avm.getFromSubValArgOrPref(Arg.NOTEMPFAC,
subVals, null, "ADD_TEMPFACT_ANN", false, true);
TFType tft = notempfac ? null : TFType.DEFAULT;
}
String sViewerName = avm.getFromSubValArgOrPref(
- Arg.STRUCTUREVIEWER, ArgValuesMap.Position.AFTER, av,
- subVals, null, null, "jmol");
+ Arg.STRUCTUREVIEWER, ArgValuesMap.Position.AFTER,
+ structureAv, subVals, null, null, "jmol");
ViewerType viewerType = ViewerType.getFromString(sViewerName);
// TODO use ssFromStructure
if (avm.containsArg(Arg.STRUCTUREIMAGE))
{
for (ArgValue structureImageArgValue : avm
- .getArgValueList(Arg.STRUCTUREIMAGE))
+ .getArgValueListFromSubValOrArg(structureAv,
+ Arg.STRUCTUREIMAGE, subVals))
{
String structureImageFilename = argParser.makeSubstitutions(
structureImageArgValue.getValue(), id, true);
private void colourAlignFrame(AlignFrame af, ColourSchemeI cs)
{
- // Note that cs == null removes colour scheme from af
- af.changeColour(cs);
+ try {
+ SwingUtilities.invokeAndWait(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ // Note that cs == null removes colour scheme from af
+ af.changeColour(cs);
+ }
+ }); } catch (Exception x) {
+ Console.trace("Interrupted whilst waiting for colorAlignFrame action",x);
+
+ }
}
private ColourSchemeI getColourScheme(AlignFrame af)