import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
+import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.URL;
import java.util.ArrayList;
import jalview.viewmodel.ViewportRanges;
import jalview.ws.DBRefFetcher;
import jalview.ws.DBRefFetcher.FetchFinishedListenerI;
-import jalview.ws.datamodel.alphafold.PAEContactMatrix;
import jalview.ws.jws1.Discoverer;
import jalview.ws.jws2.Jws2Discoverer;
import jalview.ws.jws2.jabaws2.Jws2Instance;
*/
public void saveAlignment(String file, FileFormatI format)
{
+ saveAlignment(file, format, false);
+ }
+
+ public void saveAlignment(String file, FileFormatI format, boolean stdout)
+ {
lastSaveSuccessful = true;
- lastFilenameSaved = file;
+ if (!stdout)
+ {
+ lastFilenameSaved = file;
+ }
lastFormatSaved = format;
if (FileFormat.Jalview.equals(format))
shortName = shortName
.substring(shortName.lastIndexOf(File.separatorChar) + 1);
}
+ // TODO deal with stdout=true
lastSaveSuccessful = new Jalview2XML().saveAlignment(this, file,
shortName);
else
{
// create backupfiles object and get new temp filename destination
- boolean doBackup = BackupFiles.getEnabled();
+ boolean doBackup = BackupFiles.getEnabled() && !stdout;
BackupFiles backupfiles = null;
if (doBackup)
{
String tempFilePath = doBackup ? backupfiles.getTempFilePath()
: file;
Console.trace("ALIGNFRAME setting PrintWriter");
- PrintWriter out = new PrintWriter(new FileWriter(tempFilePath));
+ PrintWriter out = stdout
+ ? new PrintWriter(new OutputStreamWriter(System.out))
+ : new PrintWriter(new FileWriter(tempFilePath));
if (backupfiles != null)
{
}
out.print(output);
+ out.flush();
Console.trace("ALIGNFRAME about to close file");
out.close();
Console.trace("ALIGNFRAME closed file");
- AlignFrame.this.setTitle(file);
- statusBar.setText(MessageManager.formatMessage(
- "label.successfully_saved_to_file_in_format", new Object[]
- { fileName, format.getName() }));
+ AlignFrame.this.setTitle(stdout ? "STDOUT" : file);
+ if (stdout)
+ {
+ statusBar.setText(MessageManager.formatMessage(
+ "label.successfully_printed_to_stdout_in_format",
+ new Object[]
+ { format.getName() }));
+ }
+ else
+ {
+ statusBar.setText(MessageManager.formatMessage(
+ "label.successfully_saved_to_file_in_format",
+ new Object[]
+ { fileName, format.getName() }));
+ }
lastSaveSuccessful = true;
} catch (IOException e)
{
protected void htmlMenuItem_actionPerformed(ActionEvent e)
{
HtmlSvgOutput htmlSVG = new HtmlSvgOutput(alignPanel);
- try {
+ try
+ {
htmlSVG.exportHTML(null);
- } catch (ImageOutputException x) {
+ } catch (ImageOutputException x)
+ {
// report problem to console and raise dialog
}
}
public void bioJSMenuItem_actionPerformed(ActionEvent e)
{
BioJsHTMLOutput bjs = new BioJsHTMLOutput(alignPanel);
- try {
- bjs.exportHTML(null);
- } catch (ImageOutputException x) {
- // report problem to console and raise dialog
- }
+ try
+ {
+ bjs.exportHTML(null);
+ } catch (ImageOutputException x)
+ {
+ // report problem to console and raise dialog
+ }
}
public void createImageMap(File file, String image)
{
- try {
- alignPanel.makePNGImageMap(file, image);
- } catch (ImageOutputException x) {
+ try
+ {
+ alignPanel.makePNGImageMap(file, image);
+ } catch (ImageOutputException x)
+ {
// report problem to console and raise dialog
}
}
@Override
- public void createPNG_actionPerformed(ActionEvent e) {
- try{
+ public void createPNG_actionPerformed(ActionEvent e)
+ {
+ try
+ {
createPNG(null);
} catch (ImageOutputException ioex)
{
// raise dialog, and report via console
}
}
+
@Override
- public void createEPS_actionPerformed(ActionEvent e) {
- try{
+ public void createEPS_actionPerformed(ActionEvent e)
+ {
+ try
+ {
createEPS(null);
} catch (ImageOutputException ioex)
{
// raise dialog, and report via console
}
-
+
}
+
@Override
- public void createSVG_actionPerformed(ActionEvent e) {
- try{
+ public void createSVG_actionPerformed(ActionEvent e)
+ {
+ try
+ {
createSVG(null);
} catch (ImageOutputException ioex)
{
// raise dialog, and report via console
}
-
+
}
+
/**
* Creates a PNG image of the alignment and writes it to the given file. If
* the file is null, the user is prompted to choose a file.
createPNG(f, null, BitmapImageSizing.nullBitmapImageSizing());
}
- public void createPNG(File f, String renderer, BitmapImageSizing userBis) throws ImageOutputException
+ public void createPNG(File f, String renderer, BitmapImageSizing userBis)
+ throws ImageOutputException
{
alignPanel.makeAlignmentImage(TYPE.PNG, f, renderer, userBis);
}
*
* @param f
*/
- public void createEPS(File f) throws ImageOutputException
+ public void createEPS(File f) throws ImageOutputException
{
createEPS(f, null);
}
*
* @param f
*/
- public void createSVG(File f) throws ImageOutputException
+ public void createSVG(File f) throws ImageOutputException
{
createSVG(f, null);
}
// annotation was duplicated earlier
alignment.addAnnotation(sequences[i].getAnnotation()[a]);
// take care of contact matrix too
- ContactMatrixI cm=sequences[i].getContactMatrixFor(sequences[i].getAnnotation()[a]);
- if (cm!=null)
+ ContactMatrixI cm = sequences[i]
+ .getContactMatrixFor(sequences[i].getAnnotation()[a]);
+ if (cm != null)
{
- alignment.addContactListFor(sequences[i].getAnnotation()[a], cm);
+ alignment.addContactListFor(sequences[i].getAnnotation()[a],
+ cm);
}
-
+
alignment.setAnnotationIndex(sequences[i].getAnnotation()[a],
a);
}
return tp;
}
- public void showContactMapTree(AlignmentAnnotation aa,
- ContactMatrixI cm)
+ public void showContactMapTree(AlignmentAnnotation aa, ContactMatrixI cm)
{
int x = 4, y = 5;
int w = 400, h = 500;
{
NewickFile fin = new NewickFile(
new FileParse(cm.getNewick(), DataSourceType.PASTE));
- String title = cm.getAnnotLabel() + " " + cm.getTreeMethod() + " tree"
- + aa.sequenceRef != null
+ String title = aa.label + " " + cm.getTreeMethod() + " tree"
+ + (aa.sequenceRef != null
? (" for " + aa.sequenceRef.getDisplayId(false))
- : "";
+ : "");
showColumnWiseTree(fin, aa, title, w, h, x, y);
} catch (Throwable xx)
{
return null;
}
- TreePanel tp = new TreePanel(alignPanel, nf, aa, title);
+ TreePanel tp = new TreePanel(alignPanel, nf, aa, treeTitle);
tp.setSize(w, h);
tp.setLocation(x, y);
}
- Desktop.addInternalFrame(tp, title, w, h);
+ Desktop.addInternalFrame(tp, treeTitle, w, h);
return tp;
} catch (Throwable xx)
{