X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fjmol%2FJmolParser.java;h=dc3d0eef52d3591a0bcdeafbf858ef2af27ec4ea;hb=c78840385a5ac9dd6d16a37aa7b55cfaeb360456;hp=c73657f8e3e1fc2e9f007f8a426b81eb1be30d73;hpb=e97cd6659f6bcac55dc030e770192b0044960dc5;p=jalview.git diff --git a/src/jalview/ext/jmol/JmolParser.java b/src/jalview/ext/jmol/JmolParser.java index c73657f..dc3d0ee 100644 --- a/src/jalview/ext/jmol/JmolParser.java +++ b/src/jalview/ext/jmol/JmolParser.java @@ -24,6 +24,7 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.Annotation; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; import jalview.io.FileParse; import jalview.io.StructureFile; import jalview.schemes.ResidueProperties; @@ -38,8 +39,6 @@ import java.util.List; import java.util.Map; import java.util.Vector; -import javajs.awt.Dimension; - import org.jmol.api.JmolStatusListener; import org.jmol.api.JmolViewer; import org.jmol.c.CBK; @@ -61,9 +60,10 @@ public class JmolParser extends StructureFile implements JmolStatusListener { Viewer viewer = null; - public JmolParser(String inFile, String type) throws IOException + public JmolParser(String inFile, DataSourceType sourceType) + throws IOException { - super(inFile, type); + super(inFile, sourceType); } public JmolParser(FileParse fp) throws IOException @@ -105,8 +105,9 @@ public class JmolParser extends StructureFile implements JmolStatusListener // } // ; // instead, we distinguish .cif from non-.cif by filename - setStructureFileType(getDataName().toLowerCase().endsWith(".cif") ? PDBEntry.Type.MMCIF - .toString() : "PDB"); + setStructureFileType(getDataName().toLowerCase().endsWith(".cif") + ? PDBEntry.Type.MMCIF.toString() + : "PDB"); transformJmolModelToJalview(jmolModel.ms); } @@ -124,19 +125,19 @@ public class JmolParser extends StructureFile implements JmolStatusListener try { /* - * params -o (output to sysout) -i (no info logging, less verbose) - * -n (nodisplay) -x (exit when finished) + * params -o (output to sysout) -n (nodisplay) -x (exit when finished) * see http://wiki.jmol.org/index.php/Jmol_Application */ viewer = (Viewer) JmolViewer.allocateViewer(null, null, null, null, - null, "-x -o -n -i", this); + null, "-x -o -n", this); // ensure the 'new' (DSSP) not 'old' (Ramachandran) SS method is used viewer.setBooleanProperty("defaultStructureDSSP", true); } catch (ClassCastException x) { throw new Error(MessageManager.formatMessage( "error.jmol_version_not_compatible_with_jalview_version", - new String[] { JmolViewer.getJmolVersion() }), x); + new String[] + { JmolViewer.getJmolVersion() }), x); } } return viewer; @@ -155,10 +156,12 @@ public class JmolParser extends StructureFile implements JmolStatusListener if (pdbId == null) { setId(safeName(getDataName())); + setPDBIdAvailable(false); } else { setId(pdbId); + setPDBIdAvailable(true); } List significantAtoms = convertSignificantAtoms(ms); for (Atom tmpatom : significantAtoms) @@ -204,11 +207,10 @@ public class JmolParser extends StructureFile implements JmolStatusListener } } catch (OutOfMemoryError er) { - System.out - .println("OUT OF MEMORY LOADING TRANSFORMING JMOL MODEL TO JALVIEW MODEL"); - throw new IOException( - MessageManager - .getString("exception.outofmemory_loading_mmcif_file")); + System.out.println( + "OUT OF MEMORY LOADING TRANSFORMING JMOL MODEL TO JALVIEW MODEL"); + throw new IOException(MessageManager + .getString("exception.outofmemory_loading_mmcif_file")); } } @@ -235,8 +237,9 @@ public class JmolParser extends StructureFile implements JmolStatusListener curAtom.number = atom.getAtomNumber(); curAtom.resName = atom.getGroup3(true); curAtom.resNumber = atom.getResno(); - curAtom.occupancy = ms.occupancies != null ? ms.occupancies[atom - .getIndex()] : Float.valueOf(atom.getOccupancy100()); + curAtom.occupancy = ms.occupancies != null + ? ms.occupancies[atom.getIndex()] + : Float.valueOf(atom.getOccupancy100()); String fmt = new Format("%4i").form(curAtom.resNumber); curAtom.resNumIns = (fmt + curAtom.insCode); curAtom.tfactor = atom.getBfactor100() / 100f; @@ -258,7 +261,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener HashMap chainTerMap) { // System.out.println("Atom: " + curAtom.getAtomNumber() - // + " Last atom index " + curAtom.group.lastAtomIndex); + // + " Last atom index " + curAtom.group.lastAtomIndex); if (chainTerMap == null || prevAtom == null) { return true; @@ -281,7 +284,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener { return false; } - if ((curAtom.getResno() - chainTerMap.get(curAtomChId).getResno()) < 5) + if ((curAtom.getResno() + - chainTerMap.get(curAtomChId).getResno()) < 5) { chainTerMap.put(curAtomChId, curAtom); return true; @@ -296,7 +300,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener { return false; } - if ((curAtom.getResno() - chainTerMap.get(curAtomChId).getResno()) < 5) + if ((curAtom.getResno() + - chainTerMap.get(curAtomChId).getResno()) < 5) { chainTerMap.put(curAtomChId, curAtom); return true; @@ -304,8 +309,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener return false; } // HETATM with resNum jump > 2 - return !(curAtom.isHetero() && ((curAtom.getResno() - prevAtom - .getResno()) > 2)); + return !(curAtom.isHetero() + && ((curAtom.getResno() - prevAtom.getResno()) > 2)); } private void createAnnotation(SequenceI sequence, PDBChain chain, @@ -350,10 +355,10 @@ public class JmolParser extends StructureFile implements JmolStatusListener SequenceI sq, char[] secstr, char[] secstrcode, String chainId, int firstResNum) { - char[] seq = sq.getSequence(); + int length = sq.getLength(); boolean ssFound = false; - Annotation asecstr[] = new Annotation[seq.length + firstResNum - 1]; - for (int p = 0; p < seq.length; p++) + Annotation asecstr[] = new Annotation[length + firstResNum - 1]; + for (int p = 0; p < length; p++) { if (secstr[p] >= 'A' && secstr[p] <= 'z') { @@ -410,8 +415,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener * @param secstr * @param secstrcode */ - protected void setSecondaryStructure(STR proteinStructureSubType, - int pos, char[] secstr, char[] secstrcode) + protected void setSecondaryStructure(STR proteinStructureSubType, int pos, + char[] secstr, char[] secstrcode) { switch (proteinStructureSubType) { @@ -471,7 +476,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener * Not implemented - returns null */ @Override - public String print() + public String print(SequenceI[] seqs, boolean jvSuffix) { return null; } @@ -488,8 +493,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener @Override public void notifyCallback(CBK cbType, Object[] data) { - String strInfo = (data == null || data[1] == null ? null : data[1] - .toString()); + String strInfo = (data == null || data[1] == null ? null + : data[1].toString()); switch (cbType) { case ECHO: @@ -589,7 +594,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener * Not implemented - returns null */ @Override - public float[][][] functionXYZ(String functionName, int nx, int ny, int nz) + public float[][][] functionXYZ(String functionName, int nx, int ny, + int nz) { return null; } @@ -625,7 +631,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener * Not implemented - returns null */ @Override - public Dimension resizeInnerPanel(String data) + public int[] resizeInnerPanel(String data) { return null; } @@ -641,7 +647,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener return predictSecondaryStructure; } - public void setPredictSecondaryStructure(boolean predictSecondaryStructure) + public void setPredictSecondaryStructure( + boolean predictSecondaryStructure) { this.predictSecondaryStructure = predictSecondaryStructure; }