import jalview.datamodel.annotations.AlphaFoldAnnotationRowBuilder;
import jalview.datamodel.annotations.AnnotationRowBuilder;
import jalview.io.DataSourceType;
-import jalview.io.FileFormatException;
import jalview.io.FileParse;
import jalview.io.StructureFile;
import jalview.schemes.ResidueProperties;
super(inFile, sourceType, tempfacType);
}
+ public JmolParser(FileParse fp, boolean doXferSettings) throws IOException
+ {
+ super(fp, doXferSettings);
+ }
public JmolParser(FileParse fp) throws IOException
{
super(fp);
@Override
public void parse() throws IOException
{
+ parse(true);
+ }
+
+ @Override
+ public void parse(boolean doXferSettings) throws IOException
+ {
setChains(new Vector<PDBChain>());
Viewer jmolModel = getJmolData();
jmolModel.openReader(getDataName(), getDataName(), getReader());
? PDBEntry.Type.MMCIF.toString()
: "PDB");
- transformJmolModelToJalview(jmolModel.ms);
+ transformJmolModelToJalview(jmolModel.ms, doXferSettings);
}
}
return false;
}
- public void transformJmolModelToJalview(ModelSet ms) throws IOException
+ public void transformJmolModelToJalview(ModelSet ms,
+ boolean localDoXferSettings) throws IOException
{
try
{
}
lastID = tmpatom.resNumIns.trim();
}
- if (isParseImmediately())
+ if (isParseImmediately() && localDoXferSettings)
{
// configure parsing settings from the static singleton
xferSettings();
{
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)
{
Alignment al = new Alignment(prot.toArray(new SequenceI[0]));
EBIAlfaFold.addAlphaFoldPAE(al, new File(this.getPAEMatrix()), 0,
- null, false, false);
+ null, false, false, null);
if (al.getAlignmentAnnotation() != null)
{
+ getNewlineString();
}
}
-
} catch (OutOfMemoryError er)
{
System.out.println(
{
int length = sq.getLength();
boolean ssFound = false;
- Annotation asecstr[] = new Annotation[length + firstResNum - 1];
+ Annotation asecstr[] = new Annotation[length + (firstResNum-sq.getStart())];
for (int p = 0; p < length; p++)
{
if (secstr[p] >= 'A' && secstr[p] <= 'z')