*/
package jalview.io;
+import java.awt.Color;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.util.List;
+import java.util.Vector;
+
import jalview.analysis.AlignSeq;
import jalview.api.FeatureSettingsModelI;
import jalview.datamodel.Alignment;
import jalview.datamodel.PDBEntry.Type;
import jalview.datamodel.SequenceI;
import jalview.structure.StructureImportSettings;
-
-import java.awt.Color;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.util.List;
-import java.util.Vector;
-
+import jalview.structure.StructureImportSettings.TFType;
import mc_view.PDBChain;
public abstract class StructureFile extends AlignFile
private boolean pdbIdAvailable;
+ private StructureImportSettings.TFType temperatureFactorType = TFType.DEFAULT;
+
+ 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(StructureImportSettings.TFType t)
+ {
+ this.temperatureFactorType = t;
+ }
+
+ public StructureImportSettings.TFType getTemperatureFactorType()
+ {
+ return temperatureFactorType;
+ }
+
+ public void setAlphafoldModel(boolean afm)
+ {
+ alphaFoldModel = afm;
+ }
+
+ public boolean isAlphafoldModel()
+ {
+ return alphaFoldModel;
+ }
+
public StructureFile(Object inFile, DataSourceType sourceType)
throws IOException
{
- super(inFile, sourceType);
+ this(inFile, sourceType, null);
+ }
+
+ public StructureFile(Object inFile, DataSourceType sourceType,
+ StructureImportSettings.TFType tempfacType) throws IOException
+ {
+ super(false, inFile, sourceType);
+ this.setTemperatureFactorType(tempfacType);
+ doParse();
}
public StructureFile(FileParse fp) throws IOException
.isProcessSecondaryStructure();
this.externalSecondaryStructure = StructureImportSettings
.isExternalSecondaryStructure();
-
+ this.temperatureFactorType = StructureImportSettings
+ .getTemperatureFactorType();
}
public StructureFile(boolean parseImmediately, Object dataObject,
pdbSequence.setName(getId() + "|" + pdbSequence.getName());
PDBEntry entry = new PDBEntry();
entry.setId(getId());
+ entry.setFakedPDBId(!isPPDBIdAvailable());
entry.setType(getStructureFileType());
if (chain.id != null)
{
.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));
StructureImportSettings.setShowSeqFeatures(true);
}
- public PDBChain findChain(String id) throws Exception
+ /**
+ * Answers the first PDBChain found matching the given id, or null if none is
+ * found
+ *
+ * @param id
+ * @return
+ */
+ public PDBChain findChain(String id)
{
for (PDBChain chain : getChains())
{
return chain;
}
}
- throw new Exception("PDB chain not Found!");
+ return null;
}
public void makeResidueList()