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;
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 NOTprocessWithJmolParser(List<SequenceI> prot)
+ throws Exception
{
try
{
StructureImportSettings.setShowSeqFeatures(true);
}
+ private void processWithJmolParser(List<SequenceI> prot,
+ boolean doXferSettings) throws MalformedURLException, IOException
+ {
+ FileParse fp = new FileParse(getDataName(), dataSourceType);
+
+ 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)
+ {
+ sq.getDatasetSequence().getAllPDBEntries().clear();
+ }
+ else
+ {
+ sq.getAllPDBEntries().clear();
+ }
+ }
+ replaceAndUpdateChains(prot, al, AlignSeq.PEP, false);
+ StructureImportSettings.setShowSeqFeatures(true);
+ }
+
/**
* Answers the first PDBChain found matching the given id, or null if none is
* found