import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureRenderer;
-import jalview.api.SequenceRenderer;
+import jalview.api.SequenceRendererI;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.PDBEntry;
import java.util.Map;
import java.util.Vector;
-import javax.swing.SwingUtilities;
-
import org.jmol.adapter.smarter.SmarterJmolAdapter;
import org.jmol.api.JmolAppConsoleInterface;
import org.jmol.api.JmolSelectionListener;
@Override
public void colourByChain()
{
- colourBySequence = false;
+ super.colourByChain();
// TODO: colour by chain should colour each chain distinctly across all
// visible models
// TODO: http://issues.jalview.org/browse/JAL-628
@Override
public void colourByCharge()
{
- colourBySequence = false;
+ super.colourByCharge();
evalStateCommand("select *;color white;select ASP,GLU;color red;"
+ "select LYS,ARG;color blue;select CYS;color yellow");
}
lastCommand = command;
}
+ Thread colourby = null;
/**
* Sends a set of colour commands to the structure viewer
*
protected void colourBySequence(
final StructureMappingcommandSet[] colourBySequenceCommands)
{
- SwingUtilities.invokeLater(new Runnable()
+ if (colourby != null)
+ {
+ colourby.interrupt();
+ colourby = null;
+ }
+ colourby = new Thread(new Runnable()
{
@Override
public void run()
}
}
});
+ colourby.start();
}
/**
*/
@Override
protected StructureMappingcommandSet[] getColourBySequenceCommands(
- String[] files, SequenceRenderer sr, AlignmentViewPanel viewPanel)
+ String[] files, SequenceRendererI sr, AlignmentViewPanel viewPanel, boolean showFeatures)
{
return JmolCommands.getColourBySequenceCommand(getSsm(), files,
- getSequence(), sr, viewPanel);
+ getSequence(), sr, viewPanel, showFeatures);
}
/**
}
@Override
- public void setJalviewColourScheme(ColourSchemeI cs)
+ public void setSimpleColourScheme(ColourSchemeI cs)
{
- colourBySequence = false;
-
- if (cs == null)
- {
- return;
- }
-
jmolHistory(false);
StringBuilder command = new StringBuilder(128);
command.append("select *;color white;");
- List<String> residueSet = ResidueProperties.getResidues(isNucleotide(),
- false);
- for (String resName : residueSet)
- {
- char res = resName.length() == 3
- ? ResidueProperties.getSingleCharacterCode(resName)
- : resName.charAt(0);
- Color col = cs.findColour(res, 0, null, null, 0f);
- command.append("select " + resName + ";color[" + col.getRed() + ","
- + col.getGreen() + "," + col.getBlue() + "];");
- }
+ if (cs != null)
+ {
+ List<String> residueSet = ResidueProperties.getResidues(isNucleotide(), false);
+ for (String resName : residueSet)
+ {
+ char res = resName.length() == 3 ? ResidueProperties.getSingleCharacterCode(resName)
+ : resName.charAt(0);
+ Color col = cs.findColour(res);
+ command.append("select " + resName + ";color[" + col.getRed() + "," + col.getGreen() + ","
+ + col.getBlue() + "];");
+ }
+ }
evalStateCommand(command.toString());
jmolHistory(true);