X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fjmol%2FJalviewJmolBinding.java;h=bf80831a32e4d19a5e01d93578d8333d0bc075e7;hb=51728d3951398f9c12d7017c776953f17322cc68;hp=abebcf7a7bff935aab5241092b81c4afdf90de72;hpb=c3b8fbc19c04c2daec702a2bffdfab5d10555143;p=jalview.git diff --git a/src/jalview/ext/jmol/JalviewJmolBinding.java b/src/jalview/ext/jmol/JalviewJmolBinding.java index abebcf7..bf80831 100644 --- a/src/jalview/ext/jmol/JalviewJmolBinding.java +++ b/src/jalview/ext/jmol/JalviewJmolBinding.java @@ -20,14 +20,13 @@ */ package jalview.ext.jmol; -import jalview.api.AlignmentViewPanel; import jalview.api.FeatureRenderer; import jalview.api.SequenceRenderer; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; import jalview.io.StructureFile; import jalview.schemes.ColourSchemeI; import jalview.schemes.ResidueProperties; @@ -49,8 +48,6 @@ import java.util.List; import java.util.Map; import java.util.Vector; -import javajs.awt.Dimension; - import org.jmol.adapter.smarter.SmarterJmolAdapter; import org.jmol.api.JmolAppConsoleInterface; import org.jmol.api.JmolSelectionListener; @@ -78,8 +75,6 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel Hashtable chainFile; - public String fileLoadingError; - /* * the default or current model displayed if the model cannot be identified * from the selection message @@ -100,7 +95,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel public JalviewJmolBinding(StructureSelectionManager ssm, PDBEntry[] pdbentry, SequenceI[][] sequenceIs, - String protocol) + DataSourceType protocol) { super(ssm, pdbentry, sequenceIs, protocol); /* @@ -173,6 +168,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel releaseUIResources(); } + @Override public void colourByChain() { colourBySequence = false; @@ -182,6 +178,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel evalStateCommand("select *;color chain"); } + @Override public void colourByCharge() { colourBySequence = false; @@ -243,6 +240,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel * @param _hiddenCols * an array of corresponding hidden columns for each alignment */ + @Override public void superposeStructures(AlignmentI[] _alignment, int[] _refStructure, ColumnSelection[] _hiddenCols) { @@ -489,35 +487,15 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } /** - * colour any structures associated with sequences in the given alignment - * using the getFeatureRenderer() and getSequenceRenderer() renderers but only - * if colourBySequence is enabled. + * Sends a set of colour commands to the structure viewer + * + * @param colourBySequenceCommands */ - public void colourBySequence(AlignmentViewPanel alignmentv) + @Override + protected void colourBySequence( + StructureMappingcommandSet[] colourBySequenceCommands) { - boolean showFeatures = alignmentv.getAlignViewport() - .isShowSequenceFeatures(); - if (!colourBySequence || !isLoadingFinished()) - { - return; - } - if (getSsm() == null) - { - return; - } - String[] files = getPdbFile(); - - SequenceRenderer sr = getSequenceRenderer(alignmentv); - - FeatureRenderer fr = null; - if (showFeatures) - { - fr = getFeatureRenderer(alignmentv); - } - AlignmentI alignment = alignmentv.getAlignment(); - - for (jalview.structure.StructureMappingcommandSet cpdbbyseq : getColourBySequenceCommands( - files, sr, fr, alignment)) + for (StructureMappingcommandSet cpdbbyseq : colourBySequenceCommands) { for (String cbyseq : cpdbbyseq.commands) { @@ -533,6 +511,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel * @param alignment * @return */ + @Override protected StructureMappingcommandSet[] getColourBySequenceCommands( String[] files, SequenceRenderer sr, FeatureRenderer fr, AlignmentI alignment) @@ -600,17 +579,6 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } /** - * returns the current featureRenderer that should be used to colour the - * structures - * - * @param alignment - * - * @return - */ - public abstract FeatureRenderer getFeatureRenderer( - AlignmentViewPanel alignment); - - /** * instruct the Jalview binding to update the pdbentries vector if necessary * prior to matching the jmol view's contents to the list of structure files * Jalview knows about. @@ -719,16 +687,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel return null; } - /** - * returns the current sequenceRenderer that should be used to colour the - * structures - * - * @param alignment - * - * @return - */ - public abstract SequenceRenderer getSequenceRenderer( - AlignmentViewPanel alignment); + // /////////////////////////////// // JmolStatusListener @@ -1143,13 +1102,14 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel for (int pe = 0; pe < getPdbCount(); pe++) { boolean matches = false; + addSequence(pe, getSequence()[pe]); if (fileName == null) { if (false) // see JAL-623 - need method of matching pasted data up { pdb = getSsm().setMapping(getSequence()[pe], getChains()[pe], - pdbfile, AppletFormatAdapter.PASTE); + pdbfile, DataSourceType.PASTE); getPdbEntry(modelnum).setFile("INLINE" + pdb.getId()); matches = true; foundEntry = true; @@ -1167,12 +1127,12 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel // needs // to be tested. See mantis bug // https://mantis.lifesci.dundee.ac.uk/view.php?id=36605 - String protocol = AppletFormatAdapter.URL; + DataSourceType protocol = DataSourceType.URL; try { if (fl.exists()) { - protocol = AppletFormatAdapter.FILE; + protocol = DataSourceType.FILE; } } catch (Exception e) { @@ -1287,6 +1247,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } + @Override public void setJalviewColourScheme(ColourSchemeI cs) { colourBySequence = false; @@ -1301,10 +1262,12 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel command.append("select *;color white;"); List residueSet = ResidueProperties.getResidues(isNucleotide(), false); - for (String res : residueSet) + for (String resName : residueSet) { - Color col = cs.findColour(res.charAt(0)); - command.append("select " + res + ";color[" + col.getRed() + "," + 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() + "];"); } @@ -1401,6 +1364,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel protected org.jmol.api.JmolAppConsoleInterface console = null; + @Override public void setBackgroundColour(java.awt.Color col) { jmolHistory(false); @@ -1410,7 +1374,7 @@ public abstract class JalviewJmolBinding extends AAStructureBindingModel } @Override - public Dimension resizeInnerPanel(String data) + public int[] resizeInnerPanel(String data) { // Jalview doesn't honour resize panel requests return null;