import jalview.jbgui.*;
import jalview.schemes.*;
import jalview.ws.*;
-
+import java.beans.PropertyChangeEvent;
public class AlignFrame extends GAlignFrame
{
if(value == JalviewFileChooser.APPROVE_OPTION)
{
currentFileFormat = chooser.getSelectedFormat();
+ jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT", currentFileFormat);
if (currentFileFormat.equals("Jalview"))
{
protected void outputText_actionPerformed(ActionEvent e)
{
- CutAndPasteTransfer cap = new CutAndPasteTransfer(false);
- JInternalFrame frame = new JInternalFrame();
- cap.formatForOutput();
- frame.setContentPane(cap);
- Desktop.addInternalFrame(frame, "Alignment output - "+e.getActionCommand(), 600, 500);
+ CutAndPasteTransfer cap = new CutAndPasteTransfer();
+ Desktop.addInternalFrame(cap, "Alignment output - "+e.getActionCommand(), 600, 500);
cap.setText( FormatAdapter.formatSequences(e.getActionCommand(), viewport.getAlignment().getSequences()));
}
protected void htmlMenuItem_actionPerformed(ActionEvent e)
{
- HTMLOutput htmlOutput = new HTMLOutput(viewport);
- htmlOutput = null;
+ new HTMLOutput(viewport);
}
protected void createPNG_actionPerformed(ActionEvent e)
viewport.alignment.deleteSequence(i);
}
}
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());
+ updateEditMenuBar();
- updateEditMenuBar();
-
- viewport.updateConsensus();
- viewport.updateConservation();
- alignPanel.repaint();
- }
+ viewport.updateConsensus();
+ viewport.updateConservation();
+ alignPanel.repaint();
+ }
public void moveSelectedSequences(boolean up)
{
}
else
{
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());
viewport.setEndSeq(viewport.alignment.getHeight());
viewport.alignment.getWidth();
viewport.updateConservation();
protected void delete_actionPerformed(ActionEvent e)
{
- addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment, HistoryItem.HIDE));
+ boolean seqsdeleted=false;
if (viewport.getSelectionGroup() == null)
return;
+ addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment, HistoryItem.HIDE));
+
SequenceGroup sg = viewport.getSelectionGroup();
for (int i=0;i < sg.sequences.size(); i++)
{
int index = viewport.getAlignment().findIndex(seq);
seq.deleteChars(sg.getStartRes(),sg.getEndRes()+1);
- if(seq.getSequence().length()<1)
- viewport.getAlignment().deleteSequence(seq);
- else
- viewport.getAlignment().getSequences().setElementAt(seq, index);
+ if(seq.getSequence().length()<1) {
+ seqsdeleted=true;
+ viewport.getAlignment().deleteSequence(seq);
+ } else {
+ viewport.getAlignment().getSequences().setElementAt(seq, index);
+ }
}
viewport.setSelectionGroup(null);
viewport.alignment.deleteGroup(sg);
+ if (seqsdeleted)
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());
viewport.resetSeqLimits( alignPanel.seqPanel.seqCanvas.getHeight());
if(viewport.getAlignment().getHeight()<1)
try
}catch(Exception ex){}
viewport.updateConservation();
viewport.updateConsensus();
- alignPanel.repaint();
-
- }
+ alignPanel.repaint();
+ }
protected void deleteGroups_actionPerformed(ActionEvent e)
public void clustalColour_actionPerformed(ActionEvent e)
{
- abovePIDThreshold.setSelected(false);
changeColour(new ClustalxColourScheme(viewport.alignment.getSequences(), viewport.alignment.getWidth()));
}
ccs.setConsensus( viewport.vconsensus );
viewport.setGlobalColourScheme(ccs);
- SliderPanel.setConservationSlider(alignPanel, ccs, "Background");
+ ccs.inc = SliderPanel.setConservationSlider(alignPanel, ccs, "Background");
}
else
{
SequenceGroup sg = (SequenceGroup)groups.elementAt(i);
- if (cs instanceof ClustalxColourScheme)
- {
+ if(cs==null)
+ sg.cs = null;
+ else if (cs instanceof ClustalxColourScheme)
sg.cs = new ClustalxColourScheme(sg.sequences, sg.getWidth());
- }
- else if(cs!=null)
- {
+ else if (cs instanceof UserColourScheme)
+ sg.cs = new UserColourScheme( ((UserColourScheme)cs).getColours());
+ else
try{
sg.cs = (ColourSchemeI) cs.getClass().newInstance();
- }catch(Exception ex){ex.printStackTrace();}
- }
+ }catch(Exception ex){}
if(viewport.getAbovePIDThreshold())
{
public void userDefinedColour_actionPerformed(ActionEvent e)
{
- UserDefinedColours chooser = new UserDefinedColours( alignPanel, null);
+ new UserDefinedColours( alignPanel, null);
}
public void PIDColour_actionPerformed(ActionEvent e)
public void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
{
- RedundancyPanel sp = new RedundancyPanel(alignPanel);
+ RedundancyPanel sp = new RedundancyPanel(alignPanel,this);
JInternalFrame frame = new JInternalFrame();
frame.setContentPane(sp);
Desktop.addInternalFrame(frame, "Redundancy threshold selection", 400, 100, false);
public void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
{
- if(viewport.getSelectionGroup().getSize()<2)
+ if((viewport.getSelectionGroup()==null) ||
+ viewport.getSelectionGroup().getSize()<2)
JOptionPane.showInternalMessageDialog(this, "You must select at least 2 sequences.", "Invalid Selection", JOptionPane.WARNING_MESSAGE);
else
{
protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
{
- NewTreePanel("AV", "BL", "Average distance tree using BLOSUM62PID");
+ NewTreePanel("AV", "BL", "Average distance tree using BLOSUM62");
}
void NewTreePanel(String type, String pwType, String title)
//are the sequences aligned?
if(!viewport.alignment.isAligned())
{
- JOptionPane.showMessageDialog(Desktop.desktop, "The sequences must be aligned before creating a tree.",
+ JOptionPane.showMessageDialog(Desktop.desktop, "The sequences must be aligned before creating a tree.\n"
+ +"Try using the Pad function in the edit menu,\n"
+ +"or one of the multiple sequence alignment web services.",
"Sequences not aligned", JOptionPane.WARNING_MESSAGE);
return;
}
sort.remove(sortByTreeMenu);
};
});
+ viewport.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt)
+ {
+ if (evt.getPropertyName().equals("alignment")) {
+ treePanel.getTree().UpdatePlaceHolders( (Vector) evt.getNewValue());
+ treePanel.repaint();
+ }
+ }
+ }
+ );
}
protected void jpred_actionPerformed(ActionEvent e)
{
+ SequenceI seq=null;
+ SequenceI[] msa=null;
if (viewport.getSelectionGroup() != null && viewport.getSelectionGroup().getSize()>0)
{
SequenceGroup seqs = viewport.getSelectionGroup();
if (seqs.getSize() == 1 || !viewport.alignment.isAligned())
{
- JPredClient ct = new JPredClient( (SequenceI)seqs.getSequenceAt(0));
+ seq = (SequenceI)seqs.getSequenceAt(0);
}
else
{
int sz;
- SequenceI[] msa = new SequenceI[sz=seqs.getSize()];
+ msa = new SequenceI[sz=seqs.getSize()];
for (int i = 0; i < sz; i++)
{
msa[i] = (SequenceI) seqs.getSequenceAt(i);
}
-
- JPredClient ct = new JPredClient(title, msa);
}
-
}
else
{
if (seqs.size() == 1 || !viewport.alignment.isAligned())
{
- JPredClient ct = new JPredClient( (SequenceI)
- seqs.elementAt(0));
+ seq = (SequenceI) seqs.elementAt(0);
}
else
{
- SequenceI[] msa = new SequenceI[seqs.size()];
+ msa = new SequenceI[seqs.size()];
for (int i = 0; i < seqs.size(); i++)
{
msa[i] = (SequenceI) seqs.elementAt(i);
}
-
- JPredClient ct = new JPredClient(title, msa);
}
-
+ }
+ if (msa!=null) {
+ JPredClient ct = new JPredClient(title, msa);
+ } else
+ if (seq!=null) {
+ JPredClient ct = new JPredClient(title, seq);
+ } else {
+ System.err.print("JALVIEW ERROR! - Unexpected JPred selection state!\n");
}
}
protected void msaAlignMenuItem_actionPerformed(ActionEvent e)