X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=32a50cfbfa30c359defac13060d2ebab1b8adf1b;hb=e4dca3706ab423352c26ac100f3ca5a3e7c3d2c4;hp=7984991493213e2ec273905968792d4bd9af4626;hpb=543ac79dd0fdd36f1c5a810c740d244069938be0;p=jalview.git
diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java
index 7984991..32a50cf 100755
--- a/src/jalview/gui/AlignFrame.java
+++ b/src/jalview/gui/AlignFrame.java
@@ -27,7 +27,6 @@ import java.awt.datatransfer.*;
import java.awt.event.*;
import java.awt.print.*;
import javax.swing.*;
-import javax.swing.event.*;
import jalview.analysis.*;
import jalview.datamodel.*;
@@ -35,6 +34,8 @@ import jalview.io.*;
import jalview.jbgui.*;
import jalview.schemes.*;
import jalview.ws.*;
+import java.awt.dnd.*;
+
/**
* DOCUMENT ME!
@@ -43,15 +44,15 @@ import jalview.ws.*;
* @version $Revision$
*/
public class AlignFrame
- extends GAlignFrame
+ extends GAlignFrame implements DropTargetListener
{
/** DOCUMENT ME!! */
public static final int NEW_WINDOW_WIDTH = 700;
/** DOCUMENT ME!! */
public static final int NEW_WINDOW_HEIGHT = 500;
- final AlignmentPanel alignPanel;
- final AlignViewport viewport;
+ AlignmentPanel alignPanel;
+ AlignViewport viewport;
/** DOCUMENT ME!! */
public String currentFileFormat = null;
@@ -59,6 +60,7 @@ public class AlignFrame
Stack redoList = new Stack();
private int treeCount = 0;
+
/**
* Creates a new AlignFrame object.
*
@@ -68,9 +70,11 @@ public class AlignFrame
{
viewport = new AlignViewport(al);
+ this.setDropTarget(new java.awt.dnd.DropTarget(this, this));
+
if(viewport.vconsensus==null)
{
- //Out of memory caluclating consensus.
+ //Out of memory calculating consensus.
BLOSUM62Colour.setEnabled(false);
PIDColour.setEnabled(false);
conservationMenuItem.setEnabled(false);
@@ -80,12 +84,6 @@ public class AlignFrame
}
alignPanel = new AlignmentPanel(this, viewport);
- alignPanel.annotationPanel.adjustPanelHeight();
- alignPanel.annotationSpaceFillerHolder.setPreferredSize(alignPanel.
- annotationPanel.getPreferredSize());
- alignPanel.annotationScroller.setPreferredSize(alignPanel.annotationPanel.
- getPreferredSize());
- alignPanel.setAnnotationVisible(viewport.getShowAnnotation());
String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT", "No sort");
@@ -94,7 +92,26 @@ public class AlignFrame
else if(sortby.equals("Pairwise Identity"))
sortPairwiseMenuItem_actionPerformed(null);
- getContentPane().add(alignPanel, java.awt.BorderLayout.CENTER);
+ // remove(tabbedPane);
+ getContentPane().add(alignPanel, BorderLayout.CENTER);
+
+
+
+ // tabbedPane.add(al.isNucleotide() ? "DNA":"Protein", alignPanel);
+
+ ///Dataset tab
+ /////////////////////////
+ if(al.getDataset()==null)
+ {
+ al.setDataset(null);
+ }
+ // AlignViewport ds = new AlignViewport(al.getDataset(), true);
+ // AlignmentPanel dap = new AlignmentPanel(this, ds);
+ // tabbedPane.add("Dataset", dap);
+ // viewports.add(ds);
+ // alignPanels.add(dap);
+ /////////////////////////
+
viewport.addPropertyChangeListener(new PropertyChangeListener()
{
@@ -108,7 +125,17 @@ public class AlignFrame
});
- addServiceListeners();
+ if (Desktop.desktop != null)
+ {
+ addServiceListeners();
+ setGUINucleotide(al.isNucleotide());
+ }
+
+ if(jalview.bin.Cache.getDefault("WRAP_ALIGNMENT", false))
+ {
+ wrapMenuItem.setSelected(true);
+ wrapMenuItem_actionPerformed(null);
+ }
}
/* Set up intrinsic listeners for dynamically generated GUI bits. */
@@ -145,68 +172,54 @@ public class AlignFrame
}
- /**
- * DOCUMENT ME!
- *
- * @param String DOCUMENT ME!
- */
-
- public void parseGroupsFile(String file)
+ public void setGUINucleotide(boolean nucleotide)
{
- try
+ showTranslation.setVisible( nucleotide );
+ //sequenceFeatures.setVisible(!nucleotide );
+ //featureSettings.setVisible( !nucleotide );
+ conservationMenuItem.setVisible( !nucleotide );
+ modifyConservation.setVisible( !nucleotide );
+
+ //Remember AlignFrame always starts as protein
+ if(!nucleotide)
{
- BufferedReader in = new BufferedReader(new FileReader(file));
- SequenceI seq = null;
- String line, text, token;
- UserColourScheme ucs;
- int index, start, end;
- StringTokenizer st;
- SequenceGroup sg;
- while ( (line = in.readLine()) != null)
- {
- st = new StringTokenizer(line, "\t");
- if (st.countTokens() != 6)
- {
- System.out.println("Groups file " + file +
- " is invalid. Read help file.");
- System.exit(1);
- }
+ calculateMenu.remove(calculateMenu.getItemCount()-2);
+ }
+ }
- while (st.hasMoreElements())
- {
- text = st.nextToken();
- token = st.nextToken();
- if (!token.equals("ID_NOT_SPECIFIED"))
- {
- index = viewport.alignment.findIndex(viewport.alignment.findName(
- token));
- st.nextToken();
- }
- else
- {
- index = Integer.parseInt(st.nextToken());
- }
- start = Integer.parseInt(st.nextToken());
- end = Integer.parseInt(st.nextToken());
- ucs = new UserColourScheme(st.nextToken());
+ /*
+ Added so Castor Mapping file can obtain Jalview Version
+ */
+ public String getVersion()
+ {
+ return jalview.bin.Cache.getProperty("VERSION");
+ }
- seq = viewport.alignment.getSequenceAt(index);
- start = seq.findIndex(start) - 1;
- end = seq.findIndex(end) - 1;
+ public FeatureRenderer getFeatureRenderer()
+ {
+ return alignPanel.seqPanel.seqCanvas.getFeatureRenderer();
+ }
- sg = new SequenceGroup(text, ucs, true, true, false, start, end);
- sg.addSequence(seq, true);
- viewport.alignment.addGroup(sg);
- }
- }
+ public void fetchSequence_actionPerformed(ActionEvent e)
+ {
+ new SequenceFetcher(this);
+ }
- }
- catch (Exception ex)
- {
- System.out.println("Error parsing groups file: " + ex);
- }
+ public void addFromFile_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.inputLocalFileMenuItem_actionPerformed(viewport);
+ }
+
+ public void addFromText_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.inputTextboxMenuItem_actionPerformed(viewport);
+ }
+
+ public void addFromURL_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.inputURLMenuItem_actionPerformed(viewport);
}
/**
@@ -217,19 +230,15 @@ public class AlignFrame
public void saveAlignmentMenu_actionPerformed(ActionEvent e)
{
JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.
- getProperty(
- "LAST_DIRECTORY"),
+ getProperty( "LAST_DIRECTORY"),
new String[]
- {
- "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc",
- "jar"
- },
+ { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc","jar" },
new String[]
- {
- "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "Jalview"
- }, currentFileFormat);
+ { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "Jalview" },
+ currentFileFormat,
+ false);
+
- chooser.setAcceptAllFileFilterUsed(false);
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle("Save Alignment to file");
chooser.setToolTipText("Save");
@@ -238,7 +247,18 @@ public class AlignFrame
if (value == JalviewFileChooser.APPROVE_OPTION)
{
- currentFileFormat = chooser.getSelectedFormat();
+ currentFileFormat = chooser.getSelectedFormat();
+
+ if (currentFileFormat == null)
+ {
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,
+ "You must select a file format before saving!",
+ "File format not specified",
+ JOptionPane.WARNING_MESSAGE);
+ value = chooser.showSaveDialog(this);
+ return;
+ }
+
jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT",
currentFileFormat);
@@ -261,14 +281,14 @@ public class AlignFrame
java.io.File.separatorChar) + 1);
}
- Jalview2XML.SaveAlignment(this, file, shortName);
+ new Jalview2XML().SaveAlignment(this, file, shortName);
// USE Jalview2XML to save this file
return true;
}
else
{
- String output = FormatAdapter.formatSequences(format,
+ String output = new FormatAdapter().formatSequences(format,
viewport.getAlignment().
getSequences());
if (output == null)
@@ -283,6 +303,7 @@ public class AlignFrame
out.print(output);
out.close();
+ this.setTitle(file);
return true;
}
catch (Exception ex)
@@ -304,7 +325,7 @@ public class AlignFrame
Desktop.addInternalFrame(cap,
"Alignment output - " + e.getActionCommand(), 600,
500);
- cap.setText(FormatAdapter.formatSequences(e.getActionCommand(),
+ cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),
viewport.getAlignment().
getSequences()));
}
@@ -316,7 +337,9 @@ public class AlignFrame
*/
protected void htmlMenuItem_actionPerformed(ActionEvent e)
{
- new HTMLOutput(viewport);
+ new HTMLOutput(viewport,
+ alignPanel.seqPanel.seqCanvas.getSequenceRenderer(),
+ alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
}
public void createImageMap(File file, String image)
@@ -356,6 +379,41 @@ public class AlignFrame
thread.start();
}
+ public void exportFeatures_actionPerformed(ActionEvent e)
+ {
+ new AnnotationExporter().exportFeatures(alignPanel);
+ }
+
+ public void exportAnnotations_actionPerformed(ActionEvent e)
+ {
+ new AnnotationExporter().exportAnnotations(
+ alignPanel,
+ viewport.alignment.getAlignmentAnnotation()
+ );
+ }
+
+
+ public void associatedData_actionPerformed(ActionEvent e)
+ {
+ // Pick the tree file
+ JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.
+ getProperty(
+ "LAST_DIRECTORY"));
+ chooser.setFileView(new JalviewFileView());
+ chooser.setDialogTitle("Load Jalview Annotations or Features File");
+ chooser.setToolTipText("Load Jalview Annotations / Features file");
+
+ int value = chooser.showOpenDialog(null);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+ loadJalviewDataFile(choice);
+ }
+
+ }
+
/**
* DOCUMENT ME!
*
@@ -446,42 +504,8 @@ public class AlignFrame
// used by undo and redo
void restoreHistoryItem(HistoryItem hi)
{
- if (hi.getType() == HistoryItem.SORT)
- {
- for (int i = 0; i < hi.getSequences().size(); i++)
- {
- viewport.alignment.getSequences().setElementAt(hi.getSequences()
- .elementAt(i),
- i);
- }
- }
- else
- {
- for (int i = 0; i < hi.getSequences().size(); i++)
- {
- SequenceI restore = (SequenceI) hi.getSequences().elementAt(i);
- if (restore.getLength() == 0)
- {
- restore.setSequence(hi.getHidden().elementAt(i).toString());
- viewport.alignment.getSequences().insertElementAt(restore,
- hi.getAlignIndex(i));
- }
- else
- {
- restore.setSequence(hi.getHidden().elementAt(i).toString());
- }
- }
-
- if (hi.getType() == HistoryItem.PASTE)
- {
- for (int i = viewport.alignment.getHeight() - 1;
- i > (hi.getSequences().size() - 1); i--)
- {
- viewport.alignment.deleteSequence(i);
- }
- }
- }
+ hi.restore();
updateEditMenuBar();
@@ -551,6 +575,8 @@ public class AlignFrame
alignPanel.repaint();
}
+
+
/**
* DOCUMENT ME!
*
@@ -566,9 +592,9 @@ public class AlignFrame
SequenceGroup sg = viewport.getSelectionGroup();
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
- StringBuffer buffer = new StringBuffer();
Hashtable orderedSeqs = new Hashtable();
+ SequenceI[] seqs = new SequenceI[sg.getSize()];
for (int i = 0; i < sg.getSize(); i++)
{
@@ -598,6 +624,7 @@ public class AlignFrame
index++;
}
}
+
//FIND START RES
//Returns residue following index if gap
startRes = seq.findPosition(sg.getStartRes());
@@ -620,14 +647,25 @@ public class AlignFrame
endRes += seq.getStart() - 1;
}
- buffer.append(seq.getName() + "\t" +
- startRes + "\t" +
- endRes + "\t" +
- seq.getSequence(sg.getStartRes(),
- sg.getEndRes() + 1) + "\n");
+ seqs[i] = new Sequence(seq.getName(),
+ seq.getSequence(sg.getStartRes(), sg.getEndRes() + 1),
+ startRes,
+ endRes);
+ seqs[i].setDescription(seq.getDescription());
+ seqs[i].setDBRef(seq.getDBRef());
+ seqs[i].setSequenceFeatures(seq.getSequenceFeatures());
+ seqs[i].setDatasetSequence(seq.getDatasetSequence());
+ if(seq.getAnnotation()!=null)
+ {
+ for(int a=0; a>>This is a fix for the moment, until a better solution is found!!<<<
+ af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().transferSettings(
+ alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
+
+
+ if (title.startsWith("Copied sequences"))
+ {
+ newtitle = title;
+ }
+ else
+ {
+ newtitle = newtitle.concat("- from " + title);
+ }
+
+ Desktop.addInternalFrame(af, newtitle, NEW_WINDOW_WIDTH,
+ NEW_WINDOW_HEIGHT);
+
+ }
+
+
}
catch (Exception ex)
{
+ ex.printStackTrace();
+ System.out.println("Exception whilst pasting: "+ex);
// could be anything being pasted in here
}
@@ -750,24 +845,50 @@ public class AlignFrame
return;
}
- addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment,
- HistoryItem.HIDE));
SequenceGroup sg = viewport.getSelectionGroup();
- boolean allSequences = false;
- if (sg.sequences.size() == viewport.alignment.getHeight())
+
+
+
+ //Jalview no longer allows deletion of residues.
+ //Check here whether any residues are in selection area
+ /* if( sg.getEndRes()-sg.getStartRes() < viewport.alignment.getWidth()-1)
{
- allSequences = true;
- }
+ for (int i = 0; i < sg.sequences.size(); i++)
+ {
+ SequenceI seq = sg.getSequenceAt(i);
+ int j = sg.getStartRes();
+ do
+ {
+ if (!jalview.util.Comparison.isGap(seq.getCharAt(j)))
+ {
+ JOptionPane.showInternalMessageDialog(
+ Desktop.desktop, "Cannot delete residues from alignment!\n"
+ + "Try hiding columns instead.",
+ "Deletion of residues not permitted",
+ JOptionPane.WARNING_MESSAGE);
+
+ return;
+ }
+ j++;
+ }while(j<=sg.getEndRes());
+ }
+ }*/
+
+
+ addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment,
+ HistoryItem.HIDE));
+
for (int i = 0; i < sg.sequences.size(); i++)
{
SequenceI seq = sg.getSequenceAt(i);
int index = viewport.getAlignment().findIndex(seq);
+
seq.deleteChars(sg.getStartRes(), sg.getEndRes() + 1);
// If the cut affects all sequences, remove highlighted columns
- if (allSequences)
+ if (sg.sequences.size() == viewport.alignment.getHeight())
{
viewport.getColumnSelection().removeElements(sg.getStartRes(),
sg.getEndRes() + 1);
@@ -842,10 +963,16 @@ public class AlignFrame
*/
public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
{
+ if(viewport.cursorMode)
+ {
+ alignPanel.seqPanel.keyboardNo1 = null;
+ alignPanel.seqPanel.keyboardNo2 = null;
+ }
viewport.setSelectionGroup(null);
viewport.getColumnSelection().clear();
viewport.setSelectionGroup(null);
- alignPanel.annotationPanel.activeRes = null;
+ alignPanel.seqPanel.seqCanvas.highlightSearchResults(null);
+ alignPanel.idPanel.idCanvas.searchResults = null;
PaintRefresher.Refresh(null, viewport.alignment);
}
@@ -1063,7 +1190,10 @@ public class AlignFrame
public void alignmentChanged()
{
- if(viewport.vconsensus!=null)
+ if(viewport.padGaps)
+ viewport.getAlignment().padGaps();
+
+ if(viewport.vconsensus!=null && viewport.autoCalculateConsensus)
{
viewport.updateConsensus();
viewport.updateConservation();
@@ -1072,6 +1202,8 @@ public class AlignFrame
if(alignPanel.overviewPanel!=null)
alignPanel.overviewPanel.updateOverviewImage();
+ viewport.alignment.adjustSequenceAnnotations();
+
alignPanel.repaint();
}
@@ -1124,20 +1256,9 @@ public class AlignFrame
addHistoryItem(new HistoryItem("Pad Gaps", viewport.alignment,
HistoryItem.HIDE));
- SequenceI current;
- int Width = viewport.getAlignment().getWidth();
-
- for (int i = 0; i < viewport.getAlignment().getSequences().size();
- i++)
- {
- current = viewport.getAlignment().getSequenceAt(i);
-
- if (current.getLength() < Width)
- {
- current.insertCharAt(Width - 1, viewport.getGapCharacter());
- }
- }
+ viewport.padGaps = padGapsMenuitem.isSelected();
+ // if (viewport.padGaps)
alignmentChanged();
}
@@ -1151,8 +1272,8 @@ public class AlignFrame
JInternalFrame frame = new JInternalFrame();
Finder finder = new Finder(viewport, alignPanel, frame);
frame.setContentPane(finder);
- Desktop.addInternalFrame(frame, "Find", 340, 110);
frame.setLayer(JLayeredPane.PALETTE_LAYER);
+ Desktop.addInternalFrame(frame, "Find", 340, 110);
}
/**
@@ -1162,22 +1283,31 @@ public class AlignFrame
*/
public void font_actionPerformed(ActionEvent e)
{
- FontChooser fc = new FontChooser(alignPanel);
+ new FontChooser(alignPanel);
+ }
+
+ public void smoothFont_actionPerformed(ActionEvent e)
+ {
+ viewport.antiAlias = smoothFont.isSelected();
+ alignPanel.annotationPanel.image = null;
+ alignPanel.repaint();
}
+
/**
* DOCUMENT ME!
*
* @param e DOCUMENT ME!
*/
- protected void fullSeqId_actionPerformed(ActionEvent e)
+ protected void seqLimit_actionPerformed(ActionEvent e)
{
- viewport.setShowFullId(fullSeqId.isSelected());
+ viewport.setShowJVSuffix(seqLimits.isSelected());
alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel.calculateIdWidth());
alignPanel.repaint();
}
+
/**
* DOCUMENT ME!
*
@@ -1194,7 +1324,7 @@ public class AlignFrame
*
* @param e DOCUMENT ME!
*/
- protected void wrapMenuItem_actionPerformed(ActionEvent e)
+ public void wrapMenuItem_actionPerformed(ActionEvent e)
{
viewport.setWrapAlignment(wrapMenuItem.isSelected());
alignPanel.setWrapAlignment(wrapMenuItem.isSelected());
@@ -1270,25 +1400,34 @@ public class AlignFrame
alignPanel.repaint();
}
+ public void fetchSeqFeatures_actionPerformed(ActionEvent e)
+ {
+ new DasSequenceFeatureFetcher(viewport.
+ alignment,
+ alignPanel);
+ viewport.setShowSequenceFeatures(true);
+ showSeqFeatures.setSelected(true);
+ }
+
+
+ public void featureSettings_actionPerformed(ActionEvent e)
+ {
+ new FeatureSettings(viewport, alignPanel);
+ }
+
/**
* DOCUMENT ME!
*
* @param evt DOCUMENT ME!
*/
- public void sequenceFeatures_actionPerformed(ActionEvent evt)
+ public void showSeqFeatures_actionPerformed(ActionEvent evt)
{
- viewport.showSequenceFeatures(sequenceFeatures.isSelected());
-
- if (viewport.showSequenceFeatures &&
- ! ( (Alignment) viewport.alignment).featuresAdded)
+ viewport.setShowSequenceFeatures(showSeqFeatures.isSelected());
+ alignPanel.repaint();
+ if (alignPanel.getOverviewPanel() != null)
{
- SequenceFeatureFetcher sft = new SequenceFeatureFetcher(viewport.
- alignment,
- alignPanel);
- ( (Alignment) viewport.alignment).featuresAdded = true;
+ alignPanel.getOverviewPanel().updateOverviewImage();
}
-
- alignPanel.repaint();
}
/**
@@ -1298,14 +1437,6 @@ public class AlignFrame
*/
public void annotationPanelMenuItem_actionPerformed(ActionEvent e)
{
- if (annotationPanelMenuItem.isSelected() &&
- viewport.getWrapAlignment())
- {
- annotationPanelMenuItem.setSelected(false);
-
- return;
- }
-
viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());
alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());
}
@@ -1443,6 +1574,12 @@ public class AlignFrame
changeColour(new NucleotideColourScheme());
}
+ public void annotationColour_actionPerformed(ActionEvent e)
+ {
+ new AnnotationColourChooser(viewport, alignPanel);
+ }
+
+
/**
* DOCUMENT ME!
*
@@ -1637,8 +1774,6 @@ public class AlignFrame
conservationMenuItem.setSelected(false);
viewport.setConservationSelected(false);
- ColourSchemeI cs = viewport.getGlobalColourScheme();
-
changeColour(viewport.getGlobalColourScheme());
modifyPID_actionPerformed(null);
@@ -1849,13 +1984,20 @@ public class AlignFrame
return;
}
- PCAPanel pcaPanel = new PCAPanel(viewport, null);
- JInternalFrame frame = new JInternalFrame();
- frame.setContentPane(pcaPanel);
- Desktop.addInternalFrame(frame, "Principal component analysis",
- 400, 400);
+ new PCAPanel(viewport);
}
+
+ public void autoCalculate_actionPerformed(ActionEvent e)
+ {
+ viewport.autoCalculateConsensus = autoCalculate.isSelected();
+ if(viewport.autoCalculateConsensus)
+ {
+ alignmentChanged();
+ }
+ }
+
+
/**
* DOCUMENT ME!
*
@@ -1905,7 +2047,7 @@ public class AlignFrame
*/
void NewTreePanel(String type, String pwType, String title)
{
- final TreePanel tp;
+ TreePanel tp;
if ( (viewport.getSelectionGroup() != null) &&
(viewport.getSelectionGroup().getSize() > 3))
@@ -1957,7 +2099,6 @@ public class AlignFrame
}
addTreeMenuItem(tp, title);
- viewport.setCurrentTree(tp.getTree());
Desktop.addInternalFrame(tp, title + " from " + this.title, 600, 500);
}
@@ -2256,16 +2397,17 @@ public class AlignFrame
*/
public void BuildWebServiceMenu()
{
- if ( (Desktop.discoverer.services != null)
- && (Desktop.discoverer.services.size() > 0))
+ if ( (Discoverer.services != null)
+ && (Discoverer.services.size() > 0))
{
- Vector msaws = (Vector) Desktop.discoverer.services.get("MsaWS");
- Vector secstrpr = (Vector) Desktop.discoverer.services.get("SecStrPred");
+ Vector msaws = (Vector) Discoverer.services.get("MsaWS");
+ Vector secstrpr = (Vector) Discoverer.services.get("SecStrPred");
Vector wsmenu = new Vector();
if (msaws != null)
{
// Add any Multiple Sequence Alignment Services
final JMenu msawsmenu = new JMenu("Alignment");
+ final AlignFrame af = this;
for (int i = 0, j = msaws.size(); i < j; i++)
{
final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) msaws.
@@ -2276,8 +2418,8 @@ public class AlignFrame
public void actionPerformed(ActionEvent e)
{
SequenceI[] msa = gatherSequencesForAlignment();
- MsaWSClient ct = new jalview.ws.MsaWSClient(sh, title, msa,
- false, true);
+ new jalview.ws.MsaWSClient(sh, title, msa,
+ false, true, viewport.getAlignment().getDataset(), af);
}
@@ -2293,8 +2435,8 @@ public class AlignFrame
public void actionPerformed(ActionEvent e)
{
SequenceI[] msa = gatherSequencesForAlignment();
- MsaWSClient ct = new jalview.ws.MsaWSClient(sh, title, msa,
- true, true);
+ new jalview.ws.MsaWSClient(sh, title, msa,
+ true, true, viewport.getAlignment().getDataset(), af);
}
@@ -2322,8 +2464,7 @@ public class AlignFrame
if (msa.length == 1)
{
// Single Sequence prediction
- jalview.ws.JPredClient ct = new jalview.ws.JPredClient(sh,
- title, msa[0]);
+ new jalview.ws.JPredClient(sh,title, msa[0]);
}
else
{
@@ -2356,4 +2497,274 @@ public class AlignFrame
// TODO: group services by location as well as function.
}
+ /* public void vamsasStore_actionPerformed(ActionEvent e)
+ {
+ JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.
+ getProperty("LAST_DIRECTORY"));
+
+ chooser.setFileView(new JalviewFileView());
+ chooser.setDialogTitle("Export to Vamsas file");
+ chooser.setToolTipText("Export");
+
+ int value = chooser.showSaveDialog(this);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ jalview.io.VamsasDatastore vs = new jalview.io.VamsasDatastore(viewport);
+ //vs.store(chooser.getSelectedFile().getAbsolutePath() );
+ vs.storeJalview( chooser.getSelectedFile().getAbsolutePath(), this);
+ }
+ }*/
+
+
+
+
+
+public void showTranslation_actionPerformed(ActionEvent e)
+{
+ int s, sSize = viewport.alignment.getHeight();
+ SequenceI [] newSeq = new SequenceI[sSize];
+
+ int res, resSize;
+ StringBuffer protein;
+ String seq;
+ for(s=0; s