X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fjmol%2FJmolParser.java;h=c64dac1fd2cb75249fbc98958227beb1c50ad296;hb=beb2fee66dde629e3bbb7febb38d0116e1a64df2;hp=969d195a9e68e8c6bdfc17c128b88981a15b74a5;hpb=7e3a6674abdd31bf48e7e249a74eff50fd2ce589;p=jalview.git diff --git a/src/jalview/ext/jmol/JmolParser.java b/src/jalview/ext/jmol/JmolParser.java index 969d195..c64dac1 100644 --- a/src/jalview/ext/jmol/JmolParser.java +++ b/src/jalview/ext/jmol/JmolParser.java @@ -88,6 +88,10 @@ public class JmolParser extends StructureFile implements JmolStatusListener super(inFile, sourceType, tempfacType); } + public JmolParser(FileParse fp, boolean doXferSettings) throws IOException + { + super(fp, doXferSettings); + } public JmolParser(FileParse fp) throws IOException { super(fp); @@ -108,6 +112,12 @@ public class JmolParser extends StructureFile implements JmolStatusListener @Override public void parse() throws IOException { + parse(true); + } + + @Override + public void parse(boolean doXferSettings) throws IOException + { setChains(new Vector()); Viewer jmolModel = getJmolData(); jmolModel.openReader(getDataName(), getDataName(), getReader()); @@ -132,7 +142,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener ? PDBEntry.Type.MMCIF.toString() : "PDB"); - transformJmolModelToJalview(jmolModel.ms); + transformJmolModelToJalview(jmolModel.ms, doXferSettings); } } @@ -202,7 +212,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener return false; } - public void transformJmolModelToJalview(ModelSet ms) throws IOException + public void transformJmolModelToJalview(ModelSet ms, + boolean localDoXferSettings) throws IOException { try { @@ -230,9 +241,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener { setId(pdbId); setPDBIdAvailable(true); - Console.debug("##### DATASOURCETYPE=" + getDataSourceType()); - setAlphafoldModel(alphaFold.search(pdbId) && isMMCIF - && getDataSourceType() == DataSourceType.URL); + setAlphafoldModel(alphaFold.search(pdbId) && isMMCIF); } List significantAtoms = convertSignificantAtoms(ms); for (Atom tmpatom : significantAtoms) @@ -262,7 +271,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener } lastID = tmpatom.resNumIns.trim(); } - if (isParseImmediately()) + if (isParseImmediately() && localDoXferSettings) { // configure parsing settings from the static singleton xferSettings(); @@ -294,7 +303,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener { try { - Console.info("retrieving pAE for " + pdbId); + Console.info("Retrieving PAE for " + pdbId); File paeFile = EBIAlfaFold.fetchAlphaFoldPAE(pdbId, null); this.setPAEMatrix(paeFile.getAbsolutePath()); } catch (Throwable t) @@ -303,33 +312,28 @@ public class JmolParser extends StructureFile implements JmolStatusListener } } // add a PAEMatrix if set (either by above or otherwise) - Console.debug("##### hasPAEMatrix()=" + hasPAEMatrix()); - Console.debug("##### isAlphafoldModel()=" + isAlphafoldModel()); - Console.debug("##### getPAEMatrix()=" + getPAEMatrix()); if (hasPAEMatrix()) { - Alignment al = new Alignment(prot.toArray(new SequenceI[0])); - if (isAlphafoldModel()) + try { + Alignment al = new Alignment(prot.toArray(new SequenceI[0])); EBIAlfaFold.addAlphaFoldPAE(al, new File(this.getPAEMatrix()), 0, - null, false, false); - } - else - { - EBIAlfaFold.addPAEToStructure(null, this.getInFile(), - new File(this.getPAEMatrix())); - } + null, false, false, null); - Console.debug("##### al.getAlignmentAnnotation()=" - + al.getAlignmentAnnotation()); - if (al.getAlignmentAnnotation() != null) - { - for (AlignmentAnnotation alann : al.getAlignmentAnnotation()) + if (al.getAlignmentAnnotation() != null) { - Console.debug("##### Adding to alann" + alann.annotationId + "(" - + alann.getCalcId() + ")"); - annotations.add(alann); + for (AlignmentAnnotation alann : al.getAlignmentAnnotation()) + { + annotations.add(alann); + } } + } catch (Throwable ff) + { + Console.error("Couldn't import PAE Matrix from " + getPAEMatrix(), + ff); + warningMessage += "Couldn't import PAE Matrix" + + getNewlineString() + ff.getLocalizedMessage() + + getNewlineString(); } } } catch (OutOfMemoryError er)