import java.awt.Color;
import java.io.IOException;
import java.lang.reflect.Constructor;
+import java.net.MalformedURLException;
import java.util.List;
import java.util.Vector;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.PDBEntry.Type;
import jalview.datamodel.SequenceI;
+import jalview.ext.jmol.JmolParser;
import jalview.structure.StructureImportSettings;
import jalview.structure.StructureImportSettings.TFType;
import mc_view.PDBChain;
private boolean pdbIdAvailable;
- private StructureImportSettings.TFType temperatureFactorType = TFType.DEFAULT;
+ private TFType temperatureFactorType = TFType.DEFAULT;
- public void setTemperatureFactorType(StructureImportSettings.TFType t)
+ private String paeMatrix = null;
+
+ private boolean alphaFoldModel;
+
+ public void setPAEMatrix(String paeFilename)
+ {
+ paeMatrix = paeFilename;
+ }
+
+ public String getPAEMatrix()
+ {
+ return paeMatrix;
+ }
+
+ public boolean hasPAEMatrix()
+ {
+ return paeMatrix != null;
+ }
+
+ public void setTemperatureFactorType(TFType t)
{
this.temperatureFactorType = t;
}
- public StructureImportSettings.TFType getTemperatureFactorType()
+ public TFType getTemperatureFactorType()
{
return temperatureFactorType;
}
+ public void setAlphafoldModel(boolean afm)
+ {
+ alphaFoldModel = afm;
+ }
+
+ public boolean isAlphafoldModel()
+ {
+ return alphaFoldModel;
+ }
+
public StructureFile(Object inFile, DataSourceType sourceType)
throws IOException
{
}
public StructureFile(Object inFile, DataSourceType sourceType,
- StructureImportSettings.TFType tempfacType) throws IOException
+ TFType tempfacType) throws IOException
{
super(false, inFile, sourceType);
this.setTemperatureFactorType(tempfacType);
public StructureFile(FileParse fp) throws IOException
{
- super(fp);
+ this(fp, true);
+ }
+
+ public StructureFile(FileParse fp, boolean doXferSettings)
+ throws IOException
+ {
+ super(fp, doXferSettings);
}
public void addSettings(boolean addAlignmentAnnotations,
public void xferSettings()
{
- this.visibleChainAnnotation = StructureImportSettings
- .isVisibleChainAnnotation();
- this.predictSecondaryStructure = StructureImportSettings
- .isProcessSecondaryStructure();
- this.externalSecondaryStructure = StructureImportSettings
- .isExternalSecondaryStructure();
- this.temperatureFactorType = StructureImportSettings
- .getTemperatureFactorType();
+ if (this.getDoXferSettings())
+ {
+ this.visibleChainAnnotation = StructureImportSettings
+ .isVisibleChainAnnotation();
+ this.predictSecondaryStructure = StructureImportSettings
+ .isProcessSecondaryStructure();
+ this.externalSecondaryStructure = StructureImportSettings
+ .isExternalSecondaryStructure();
+ this.temperatureFactorType = StructureImportSettings
+ .getTemperatureFactorType();
+ }
}
public StructureFile(boolean parseImmediately, Object dataObject,
{
try
{
- processWithJmolParser(proteinSequences);
+ processWithJmolParser(proteinSequences, true);
} catch (Exception x)
{
System.err.println(
}
}
- @SuppressWarnings({ "unchecked", "rawtypes" })
- private void processWithJmolParser(List<SequenceI> prot) throws Exception
+ private void processWithJmolParser(List<SequenceI> prot,
+ boolean doXferSettings) throws MalformedURLException, IOException
{
- try
- {
+ FileParse fp = new FileParse(getDataName(), dataSourceType);
- Class cl = Class.forName("jalview.ext.jmol.JmolParser");
- if (cl != null)
+ StructureImportSettings.setShowSeqFeatures(false);
+ StructureImportSettings.setVisibleChainAnnotation(false);
+ StructureImportSettings
+ .setProcessSecondaryStructure(predictSecondaryStructure);
+ StructureImportSettings
+ .setExternalSecondaryStructure(externalSecondaryStructure);
+ StructureImportSettings.setTemperatureFactorType(temperatureFactorType);
+ JmolParser jmf = new JmolParser(fp, doXferSettings);
+ AlignmentI al = new Alignment((SequenceI[]) jmf.getSeqsAsArray());
+ jmf.addAnnotations(al);
+ for (SequenceI sq : al.getSequences())
+ {
+ if (sq.getDatasetSequence() != null)
{
- final Constructor constructor = cl
- .getConstructor(new Class[]
- { FileParse.class });
- final Object[] args = new Object[] {
- new FileParse(getDataName(), dataSourceType) };
-
- StructureImportSettings.setShowSeqFeatures(false);
- StructureImportSettings.setVisibleChainAnnotation(false);
- StructureImportSettings
- .setProcessSecondaryStructure(predictSecondaryStructure);
- StructureImportSettings
- .setExternalSecondaryStructure(externalSecondaryStructure);
- StructureImportSettings
- .setTemperatureFactorType(temperatureFactorType);
- Object jmf = constructor.newInstance(args);
- AlignmentI al = new Alignment((SequenceI[]) cl
- .getMethod("getSeqsAsArray", new Class[] {}).invoke(jmf));
- cl.getMethod("addAnnotations", new Class[] { AlignmentI.class })
- .invoke(jmf, al);
- for (SequenceI sq : al.getSequences())
- {
- if (sq.getDatasetSequence() != null)
- {
- sq.getDatasetSequence().getAllPDBEntries().clear();
- }
- else
- {
- sq.getAllPDBEntries().clear();
- }
- }
- replaceAndUpdateChains(prot, al, AlignSeq.PEP, false);
+ sq.getDatasetSequence().getAllPDBEntries().clear();
+ }
+ else
+ {
+ sq.getAllPDBEntries().clear();
}
- } catch (ClassNotFoundException q)
- {
}
+ replaceAndUpdateChains(prot, al, AlignSeq.PEP, false);
StructureImportSettings.setShowSeqFeatures(true);
}