import jalview.io.HtmlSvgOutput;
import jalview.io.IdentifyFile;
import jalview.io.NewickFile;
+import jalview.io.exceptions.ImageOutputException;
+import jalview.schemes.ColourSchemeI;
+import jalview.schemes.ColourSchemeProperty;
import jalview.structure.StructureImportSettings.TFType;
import jalview.structure.StructureSelectionManager;
import jalview.util.FileUtils;
theseArgsWereParsed &= processLinked(id);
processGroovyScript(id);
boolean processLinkedOkay = theseArgsWereParsed;
+
+ // wait around until alignFrame isn't busy
+ AlignFrame af=afMap.get(id);
+ while (af!=null && af.getViewport().isCalcInProgress())
+ {
+ try {
+ Thread.sleep(25);
+ } catch (Exception q) {};
+ }
+
theseArgsWereParsed &= processImages(id);
if (processLinkedOkay)
theseArgsWereParsed &= processOutput(id);
// close ap
if (avm.getBoolean(Arg.CLOSE))
{
- AlignFrame af = afMap.get(id);
+ af = afMap.get(id);
if (af != null)
{
af.closeMenuItem_actionPerformed(true);
Arg.COLOUR, sv, null, "DEFAULT_COLOUR_PROT", "");
if ("" != colour)
{
- af.changeColour_actionPerformed(colour);
+ ColourSchemeI cs = ColourSchemeProperty.getColourScheme(
+ af.getViewport(), af.getViewport().getAlignment(), colour);
+
+ if (cs==null && !"None".equals(colour))
+ {
+ Console.warn("Couldn't parse '"+colour+"' as a colourscheme.");
+ } else {
+ af.changeColour(cs);
+ }
Jalview.testoutput(argParser, Arg.COLOUR, "zappo", colour);
}
Console.debug("Using structure file "
+ structureFile.getAbsolutePath());
- // ##### Does this need to happen? Follow
- // openStructureFileForSequence() below
- /*
- PDBEntry fileEntry = new AssociatePdbFileWithSeq()
- .associatePdbWithSeq(structureFile.getAbsolutePath(),
- DataSourceType.FILE, seq, true, Desktop.instance);
- */
-
// open structure view
AlignmentPanel ap = af.alignPanel;
if (headless)
Arg.NOTEMPFAC, subVals, null, "ADD_TEMPFACT_ANN", false,
true);
TFType tft = notempfac ? null : TFType.DEFAULT;
- /*
- String tftString = subVals.get("tempfac");
- ArgValue tftAv = getArgAssociatedWithStructure(Arg.TEMPFAC, avm,
- af, structureFilepath);
- if (tftString == null && tftAv != null)
- {
- tftString = tftAv.getSubVals().getContent();
- }
- */
if (tftString != null && !notempfac)
{
// get kind of temperature factor annotation
structureFilepath, tft, paeFilepath, false,
ssFromStructure, false, viewerType);
- if (headless)
+ if (sv==null)
{
- sv.setAsync(false);
+ Console.error("Failed to import and open structure view.");
+ continue;
+ }
+ while (sv.isBusy())
+ {
+ try {
+ Thread.sleep(25);
+ }
+ catch (Exception x)
+ {
+
+ }
}
String structureImageFilename = ArgParser.getValueFromSubValOrArg(
if (sview instanceof AppJmol)
{
AppJmol jmol = (AppJmol) sview;
- jmol.makePDBImage(structureImageFile, imageType, renderer,
+ try {
+ jmol.makePDBImage(structureImageFile, imageType, renderer,
userBis);
+ }
+ catch (ImageOutputException ioexc)
+ {
+ Console.warn("Unexpected error whilst exporting image to "+structureImageFile,ioexc);
+ }
+
}
break;
default:
Cache.setProperty("EXPORT_EMBBED_BIOJSON", "false");
Console.info("Writing " + file);
-
+ try {
switch (type)
{
break;
case "biojs":
+ Console.debug("Creating BioJS MSA Viwer HTML file: " + fileName);
try
{
BioJsHTMLOutput.refreshVersionInfo(
}
BioJsHTMLOutput bjs = new BioJsHTMLOutput(af.alignPanel);
bjs.exportHTML(fileName);
- Console.debug("Creating BioJS MSA Viwer HTML file: " + fileName);
break;
case "eps":
- af.createEPS(file, name);
Console.debug("Creating EPS file: " + fileName);
+ af.createEPS(file, name);
break;
case "imagemap":
- af.createImageMap(file, name);
Console.debug("Creating ImageMap file: " + fileName);
+ af.createImageMap(file, name);
break;
default:
+ "' not known. Ignoring");
break;
}
+ } catch (Exception ioex) {
+ Console.warn("Unexpected error during export",ioex);
+ }
}
}
return true;