X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fstructures%2Fmodels%2FAAStructureBindingModel.java;fp=src%2Fjalview%2Fstructures%2Fmodels%2FAAStructureBindingModel.java;h=d92c78a841182343b77f7d201ef6833f520a2adc;hb=d87b55e45cc1e6a5b7df3865ded1b87a0e3dc7ff;hp=f69a423b5c9ec962a5ee35d68247476173dab8a1;hpb=4994aa94fd62af0058f2db96f0ea6c4ca1abe80b;p=jalview.git diff --git a/src/jalview/structures/models/AAStructureBindingModel.java b/src/jalview/structures/models/AAStructureBindingModel.java index f69a423..d92c78a 100644 --- a/src/jalview/structures/models/AAStructureBindingModel.java +++ b/src/jalview/structures/models/AAStructureBindingModel.java @@ -47,6 +47,7 @@ import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.ext.rbvi.chimera.JalviewChimeraBinding; +import jalview.gui.AlignmentPanel; import jalview.gui.Desktop; import jalview.gui.StructureViewer.ViewerType; import jalview.io.DataSourceType; @@ -56,6 +57,7 @@ import jalview.schemes.ColourSchemeI; import jalview.schemes.ResidueProperties; import jalview.structure.AtomSpec; import jalview.structure.AtomSpecModel; +import jalview.structure.StructureCommand; import jalview.structure.StructureCommandI; import jalview.structure.StructureCommandsI; import jalview.structure.StructureListener; @@ -83,20 +85,20 @@ public abstract class AAStructureBindingModel public static class SuperposeData { public String filename; - + public String pdbId; - + public String chain = ""; - + public boolean isRna; - + /* * The pdb residue number (if any) mapped to columns of the alignment */ public int[] pdbResNo; // or use SparseIntArray? - + public String modelId; - + /** * Constructor * @@ -262,6 +264,7 @@ public abstract class AAStructureBindingModel chains = newchains; return chainmaps > 0; } + public StructureSelectionManager getSsm() { return ssm; @@ -659,7 +662,8 @@ public abstract class AAStructureBindingModel * @return */ protected int findSuperposableResidues(AlignmentI alignment, - BitSet matched, AAStructureBindingModel.SuperposeData[] structures) + BitSet matched, + AAStructureBindingModel.SuperposeData[] structures) { int refStructure = -1; String[] files = getStructureFiles(); @@ -885,8 +889,8 @@ public abstract class AAStructureBindingModel * Calculate the superposable alignment columns ('matched'), and the * corresponding structure residue positions (structures.pdbResNo) */ - int refStructure = findSuperposableResidues(alignment, - matched, structures); + int refStructure = findSuperposableResidues(alignment, matched, + structures); /* * require at least 4 positions to be able to execute superposition @@ -894,8 +898,8 @@ public abstract class AAStructureBindingModel int nmatched = matched.cardinality(); if (nmatched < MIN_POS_TO_SUPERPOSE) { - String msg = MessageManager.formatMessage("label.insufficient_residues", - nmatched); + String msg = MessageManager + .formatMessage("label.insufficient_residues", nmatched); error += view.getViewName() + ": " + msg + "; "; continue; } @@ -939,7 +943,8 @@ public abstract class AAStructureBindingModel return error; } - private AtomSpecModel getAtomSpec(AAStructureBindingModel.SuperposeData superposeData, + private AtomSpecModel getAtomSpec( + AAStructureBindingModel.SuperposeData superposeData, BitSet matched) { AtomSpecModel model = new AtomSpecModel(); @@ -1008,7 +1013,7 @@ public abstract class AAStructureBindingModel { return; } - + /* * build a map of {Residue3LetterCode, Color} */ @@ -1078,7 +1083,7 @@ public abstract class AAStructureBindingModel */ final JalviewStructureDisplayI theViewer = getViewer(); final long handle = msg == null ? 0 : theViewer.startProgressBar(msg); - + SwingUtilities.invokeLater(new Runnable() { @Override @@ -1126,7 +1131,7 @@ public abstract class AAStructureBindingModel */ final JalviewStructureDisplayI theViewer = getViewer(); final long handle = msg == null ? 0 : theViewer.startProgressBar(msg); - + List response = getReply ? new ArrayList<>() : null; try { @@ -1356,17 +1361,17 @@ public abstract class AAStructureBindingModel AlignmentI al = viewport.getAlignment(); Map colourMap = new LinkedHashMap<>(); Color lastColour = null; - + for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++) { final String modelId = getModelIdForFile(files[pdbfnum]); StructureMapping[] mapping = ssm.getMapping(files[pdbfnum]); - + if (mapping == null || mapping.length < 1) { continue; } - + int startPos = -1, lastPos = -1; String lastChain = ""; for (int s = 0; s < sequence[pdbfnum].length; s++) @@ -1386,14 +1391,14 @@ public abstract class AAStructureBindingModel continue; } int pos = mapping[m].getPDBResNum(asp.findPosition(r)); - + if (pos < 1 || pos == lastPos) { continue; } - + Color colour = sr.getResidueColour(seq, r, finder); - + /* * darker colour for hidden regions */ @@ -1401,9 +1406,9 @@ public abstract class AAStructureBindingModel { colour = Color.GRAY; } - + final String chain = mapping[m].getChain(); - + /* * Just keep incrementing the end position for this colour range * _unless_ colour, PDB model or chain has changed, or there is a @@ -1416,8 +1421,8 @@ public abstract class AAStructureBindingModel { if (startPos != -1) { - addAtomSpecRange(colourMap, lastColour, modelId, - startPos, lastPos, lastChain); + addAtomSpecRange(colourMap, lastColour, modelId, startPos, + lastPos, lastChain); } startPos = pos; } @@ -1469,8 +1474,9 @@ public abstract class AAStructureBindingModel } /** - * Helper method to add one contiguous range to the AtomSpec model for the given - * value (creating the model if necessary). As used by Jalview, {@code value} is + * Helper method to add one contiguous range to the AtomSpec model for the + * given value (creating the model if necessary). As used by Jalview, + * {@code value} is *