/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
*/
package jalview.gui;
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Hashtable;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.Vector;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JColorChooser;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.JPopupMenu;
+import javax.swing.JRadioButtonMenuItem;
+
import jalview.analysis.AAFrequency;
import jalview.analysis.AlignmentAnnotationUtils;
+import jalview.analysis.AlignmentUtils;
import jalview.analysis.Conservation;
import jalview.commands.ChangeCaseCommand;
import jalview.commands.EditCommand;
+import jalview.commands.EditCommand.Action;
import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
import jalview.datamodel.Annotation;
+import jalview.datamodel.ColumnSelection;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.Sequence;
import jalview.util.MessageManager;
import jalview.util.UrlLink;
-import java.awt.Color;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.Vector;
-
-import javax.swing.ButtonGroup;
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JColorChooser;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPopupMenu;
-import javax.swing.JRadioButtonMenuItem;
-
/**
* DOCUMENT ME!
*
protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem();
- // protected JRadioButtonMenuItem covariationColour = new
- // JRadioButtonMenuItem();
-
JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
JMenuItem sequenceDetails = new JMenuItem();
JMenuItem sequenceSelDetails = new JMenuItem();
+
+ JMenuItem makeReferenceSeq = new JMenuItem();
JMenuItem chooseAnnotations = new JMenuItem();
JMenuItem pdbFromFile = new JMenuItem();
- // JBPNote: Commented these out - Should add these services via the web
- // services menu system.
- // JMenuItem ContraFold = new JMenuItem();
-
- // JMenuItem RNAFold = new JMenuItem();
-
JMenuItem enterPDB = new JMenuItem();
JMenuItem discoverPDB = new JMenuItem();
JMenu seqHideAnnotationsMenu = new JMenu();
- JMenuItem seqAddReferenceAnnotations = new JMenuItem();
+ JMenuItem seqAddReferenceAnnotations = new JMenuItem(
+ MessageManager.getString("label.add_reference_annotations"));
JMenu groupShowAnnotationsMenu = new JMenu();
JMenu groupHideAnnotationsMenu = new JMenu();
- JMenuItem groupAddReferenceAnnotations = new JMenuItem();
+ JMenuItem groupAddReferenceAnnotations = new JMenuItem(
+ MessageManager.getString("label.add_reference_annotations"));
JMenuItem sequenceFeature = new JMenuItem();
JMenu jMenu1 = new JMenu();
- JMenu structureMenu = new JMenu();
+ JMenuItem structureMenu = new JMenuItem();
JMenu viewStructureMenu = new JMenu();
- // JMenu colStructureMenu = new JMenu();
JMenuItem editSequence = new JMenuItem();
- // JMenuItem annotationMenuItem = new JMenuItem();
-
JMenu groupLinksMenu;
+ JMenuItem hideInsertions = new JMenuItem();
+
/**
* Creates a new PopupMenu object.
*
colours.add(BLOSUM62Colour);
colours.add(purinePyrimidineColour);
colours.add(RNAInteractionColour);
- // colours.add(covariationColour);
for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
{
if (seq != null)
{
sequenceMenu.setText(sequence.getName());
+ if (seq == ap.av.getAlignment().getSeqrep())
+ {
+ makeReferenceSeq.setText("Unmark representative");
+ } else {
+ makeReferenceSeq.setText("Mark as representative");
+ }
if (seq.getDatasetSequence().getPDBId() != null
&& seq.getDatasetSequence().getPDBId().size() > 0)
{
structureMenu.remove(viewStructureMenu);
}
- // structureMenu.remove(colStructureMenu);
}
-
if (ap.av.getAlignment().isNucleotide() == true)
{
AlignmentAnnotation[] aa = ap.av.getAlignment()
.getAlignmentAnnotation();
- for (int i = 0; i < aa.length; i++)
+ for (int i = 0; aa != null && i < aa.length; i++)
{
- if (aa[i].getRNAStruc() != null)
+ if (aa[i].isValidStruc() && aa[i].sequenceRef == null)
{
final String rnastruc = aa[i].getRNAStruc();
- final String structureLine = aa[i].label;
+ final String structureLine = aa[i].label + " (alignment)";
menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage(
- "label.2d_rna_structure_line", new String[]
+ "label.2d_rna_structure_line", new Object[]
{ structureLine }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
- // System.out.println("1:"+structureLine);
- System.out.println("1:sname" + seq.getName());
- System.out.println("2:seq" + seq);
-
- // System.out.println("3:"+seq.getSequenceAsString());
- System.out.println("3:strucseq" + rnastruc);
- // System.out.println("4:struc"+seq.getRNA());
- System.out.println("5:name" + seq.getName());
- System.out.println("6:ap" + ap);
new AppVarna(structureLine, seq, seq.getSequenceAsString(),
rnastruc, seq.getName(), ap);
- // new AppVarna(seq.getName(),seq,rnastruc,seq.getRNA(),
- // seq.getName(), ap);
System.out.println("end");
}
});
}
}
- // SequenceFeatures[] test = seq.getSequenceFeatures();
if (seq.getAnnotation() != null)
{
AlignmentAnnotation seqAnno[] = seq.getAnnotation();
for (int i = 0; i < seqAnno.length; i++)
{
- if (seqAnno[i].getRNAStruc() != null)
+ if (seqAnno[i].isValidStruc())
{
final String rnastruc = seqAnno[i].getRNAStruc();
// TODO: make rnastrucF a bit more nice
menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage(
- "label.2d_rna_sequence_name", new String[]
+ "label.2d_rna_sequence_name", new Object[]
{ seq.getName() }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
}
}
}
-
}
menuItem = new JMenuItem(
&& ap.av.getSelectionGroup().getSize() > 1)
{
menuItem = new JMenuItem(MessageManager.formatMessage(
- "label.represent_group_with", new String[]
+ "label.represent_group_with", new Object[]
{ seq.getName() }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
if (sg != null && sg.getSize() > 0)
{
groupName.setText(MessageManager.formatMessage("label.name_param",
- new String[]
+ new Object[]
{ sg.getName() }));
groupName.setText(MessageManager
.getString("label.edit_name_and_description_current_group"));
new PDBEntry[pdbe.size()]), pr = reppdb.values().toArray(
new PDBEntry[reppdb.size()]);
final JMenuItem gpdbview, rpdbview;
- if (pdbe.size() == 1)
- {
- structureMenu.add(gpdbview = new JMenuItem(MessageManager
- .formatMessage("label.view_structure_for", new String[]
- { sqass.getDisplayId(false) })));
- }
- else
- {
- structureMenu.add(gpdbview = new JMenuItem(MessageManager
- .formatMessage("label.view_all_structures", new String[]
- { new Integer(pdbe.size()).toString() })));
- }
- gpdbview.setToolTipText(MessageManager
- .getString("label.open_new_jmol_view_with_all_structures_associated_current_selection_superimpose_using_alignment"));
- gpdbview.addActionListener(new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- new StructureViewer(ap.getStructureSelectionManager())
- .viewStructures(ap, pe, ap.av.collateForPDB(pe));
- }
- });
- if (reppdb.size() > 1 && reppdb.size() < pdbe.size())
- {
- structureMenu.add(rpdbview = new JMenuItem(MessageManager
- .formatMessage(
- "label.view_all_representative_structures",
- new String[]
- { new Integer(reppdb.size()).toString() })));
- rpdbview.setToolTipText(MessageManager
- .getString("label.open_new_jmol_view_with_all_representative_structures_associated_current_selection_superimpose_using_alignment"));
- rpdbview.addActionListener(new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- new StructureViewer(ap.getStructureSelectionManager())
- .viewStructures(ap, pr, ap.av.collateForPDB(pr));
- }
- });
- }
}
}
else
final boolean actionIsShow)
{
String label = types.toString(); // [a, b, c]
- label = label.substring(1, label.length() - 1);
+ label = label.substring(1, label.length() - 1); // a, b, c
final JMenuItem item = new JMenuItem(label);
item.setToolTipText(calcId);
item.addActionListener(new java.awt.event.ActionListener()
@Override
public void actionPerformed(ActionEvent e)
{
- showHideAnnotation_actionPerformed(types, forSequences, allTypes,
- actionIsShow);
+ AlignmentUtils.showOrHideSequenceAnnotations(ap.getAlignment(), types,
+ forSequences, allTypes, actionIsShow);
+ refresh();
}
});
showOrHideMenu.add(item);
}
- /**
- * Action on selecting a list of annotation type (or the 'all types' values)
- * to show or hide for the specified sequences.
- *
- * @param types
- * @param forSequences
- * @param anyType
- * @param doShow
- */
- protected void showHideAnnotation_actionPerformed(
- Collection<String> types, List<SequenceI> forSequences,
- boolean anyType, boolean doShow)
- {
- for (AlignmentAnnotation aa : ap.getAlignment()
- .getAlignmentAnnotation())
- {
- if (anyType || types.contains(aa.label))
- {
- if ((aa.sequenceRef != null)
- && forSequences.contains(aa.sequenceRef))
- {
- aa.visible = doShow;
- }
- }
- }
- refresh();
- }
-
private void buildGroupURLMenu(SequenceGroup sg, Vector groupLinks)
{
if (urlset != null)
{
int type = urlLink.getGroupURLType() & 3;
- // System.out.println(urlLink.getGroupURLType()
- // +" "+((String[])urlset[3])[0]);
// first two bits ofurlLink type bitfield are sequenceids and sequences
// TODO: FUTURE: ensure the groupURL menu structure can be generalised
addshowLink(linkMenus[type], label
{
JMenuItem item = new JMenuItem(label);
item.setToolTipText(MessageManager.formatMessage(
- "label.open_url_param", new String[]
+ "label.open_url_param", new Object[]
{ url }));
item.addActionListener(new java.awt.event.ActionListener()
{
pdbFromFile_actionPerformed();
}
});
- // RNAFold.setText("From RNA Fold with predict2D");
- // RNAFold.addActionListener(new ActionListener()
- // {
- // public void actionPerformed(ActionEvent e)
- // {
- // try {
- // RNAFold_actionPerformed();
- // } catch (Exception e1) {
- // // TODO Auto-generated catch block
- // e1.printStackTrace();
- // }
- // }
- // });
- // ContraFold.setText("From Contra Fold with predict2D");
- // ContraFold.addActionListener(new ActionListener()
- // {
- // public void actionPerformed(ActionEvent e)
- // {
- // try {
- // ContraFold_actionPerformed();
- // } catch (Exception e1) {
- // // TODO Auto-generated catch block
- // e1.printStackTrace();
- // }
- // }
- // });
+
enterPDB.setText(MessageManager.getString("label.enter_pdb_id"));
enterPDB.addActionListener(new ActionListener()
{
}
});
jMenu1.setText(MessageManager.getString("label.group"));
- structureMenu.setText(MessageManager.getString("label.structure"));
+ structureMenu.setText(MessageManager.getString("label.view_structure"));
+ structureMenu.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent actionEvent)
+ {
+ SequenceI[] selectedSeqs = new SequenceI[]
+ { sequence };
+ if (ap.av.getSelectionGroup() != null)
+ {
+ selectedSeqs = ap.av.getSequenceSelection();
+ }
+ new StructureChooser(selectedSeqs, sequence, ap);
+ }
+ });
+
viewStructureMenu.setText(MessageManager
.getString("label.view_structure"));
// colStructureMenu.setText("Colour By Structure");
editSequence_actionPerformed(actionEvent);
}
});
+ makeReferenceSeq.setText(MessageManager
+ .getString("label.mark_as_representative"));
+ makeReferenceSeq.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent actionEvent)
+ {
+ makeReferenceSeq_actionPerformed(actionEvent);
+
+ }
+ });
+ hideInsertions.setText(MessageManager.getString("label.hide_insertions"));
+ hideInsertions.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ hideInsertions_actionPerformed(e);
+ }
+ });
/*
* annotationMenuItem.setText("By Annotation");
* annotationMenuItem.addActionListener(new ActionListener() { public void
groupMenu.add(sequenceSelDetails);
add(groupMenu);
add(sequenceMenu);
- this.add(structureMenu);
+ add(structureMenu);
+ if (sequence!=null)
+ {
+ add(hideInsertions);
+ }
// annotations configuration panel suppressed for now
// groupMenu.add(chooseAnnotations);
groupMenu.add(jMenu1);
sequenceMenu.add(sequenceName);
sequenceMenu.add(sequenceDetails);
+ sequenceMenu.add(makeReferenceSeq);
colourMenu.add(textColour);
colourMenu.add(noColourmenuItem);
colourMenu.add(clustalColour);
if (ap.getAlignment().isNucleotide())
{
// JBPNote - commented since the colourscheme isn't functional
- // colourMenu.add(RNAInteractionColour);
colourMenu.add(purinePyrimidineColour);
}
- // colourMenu.add(covariationColour);
colourMenu.add(userDefinedColour);
if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
colourMenu.addSeparator();
colourMenu.add(abovePIDColour);
colourMenu.add(conservationMenuItem);
- // colourMenu.add(annotationMenuItem);
editMenu.add(copy);
editMenu.add(cut);
editMenu.add(editSequence);
jMenu1.add(showColourText);
jMenu1.add(outline);
jMenu1.add(displayNonconserved);
- structureMenu.add(pdbMenu);
- structureMenu.add(viewStructureMenu);
- // structureMenu.add(colStructureMenu);
noColourmenuItem.setText(MessageManager.getString("label.none"));
noColourmenuItem.addActionListener(new java.awt.event.ActionListener()
{
/**
* Check for any annotations on the underlying dataset sequences (for the
- * current selection group) which are not on the alignment annotations for the
- * sequence. If any are found, enable the option to add them to the alignment.
- * The criteria for 'on the alignment' is finding an alignment annotation on
- * the sequence, that matches on calcId and label. A tooltip is also
- * constructed that displays the source (calcId) and type (label) of the
- * annotations that can be added.
+ * current selection group) which are not 'on the alignment'.If any are found,
+ * enable the option to add them to the alignment. The criteria for 'on the
+ * alignment' is finding an alignment annotation on the alignment, matched on
+ * calcId, label and sequenceRef.
+ *
+ * A tooltip is also constructed that displays the source (calcId) and type
+ * (label) of the annotations that can be added.
*
* @param menuItem
* @param forSequences
protected void configureReferenceAnnotationsMenu(
JMenuItem menuItem, List<SequenceI> forSequences)
{
- menuItem.setText(MessageManager
- .getString("label.add_reference_annotations"));
menuItem.setEnabled(false);
- if (forSequences == null)
- {
- return;
- }
/*
* Temporary store to hold distinct calcId / type pairs for the tooltip.
* Using TreeMap means calcIds are shown in alphabetical order.
*/
Map<String, String> tipEntries = new TreeMap<String, String>();
- StringBuilder tooltip = new StringBuilder(64);
- tooltip.append(MessageManager.getString("label.add_annotations_for"));
-
- /*
- * For each sequence selected in the alignment, make a list of any
- * annotations on the underlying dataset sequence which are not already on
- * the sequence in the alignment.
- *
- * Build a map of { alignmentSequence, <List of annotations to add> }
- */
final Map<SequenceI, List<AlignmentAnnotation>> candidates = new LinkedHashMap<SequenceI, List<AlignmentAnnotation>>();
- for (SequenceI seq : forSequences)
- {
- SequenceI dataset = seq.getDatasetSequence();
- if (dataset == null)
- {
- continue;
- }
- AlignmentAnnotation[] datasetAnnotations = dataset.getAnnotation();
- if (datasetAnnotations == null)
- {
- continue;
- }
- final List<AlignmentAnnotation> result = new ArrayList<AlignmentAnnotation>();
- for (AlignmentAnnotation dsann : datasetAnnotations)
- {
- /*
- * If the sequence has no annotation that matches this one, then add
- * this one to the results list.
- */
- if (seq.getAlignmentAnnotations(dsann.getCalcId(), dsann.label)
- .isEmpty())
- {
- result.add(dsann);
- tipEntries.put(dsann.getCalcId(), dsann.label);
- }
- }
- /*
- * Save any addable annotations for this sequence
- */
- if (!result.isEmpty())
- {
- candidates.put(seq, result);
- }
- }
+ AlignmentI al = this.ap.av.getAlignment();
+ AlignmentUtils.findAddableReferenceAnnotations(forSequences,
+ tipEntries, candidates, al);
if (!candidates.isEmpty())
{
+ StringBuilder tooltip = new StringBuilder(64);
+ tooltip.append(MessageManager.getString("label.add_annotations_for"));
+
/*
* Found annotations that could be added. Enable the menu item, and
* configure its tooltip and action.
protected void addReferenceAnnotations_actionPerformed(
Map<SequenceI, List<AlignmentAnnotation>> candidates)
{
- /*
- * Add annotations at the top of the annotation, in the same order as their
- * related sequences.
- */
- int insertPosition = 0;
- for (SequenceI seq : candidates.keySet())
+ final SequenceGroup selectionGroup = this.ap.av.getSelectionGroup();
+ final AlignmentI alignment = this.ap.getAlignment();
+ AlignmentUtils.addReferenceAnnotations(candidates, alignment,
+ selectionGroup);
+ refresh();
+ }
+
+ protected void makeReferenceSeq_actionPerformed(ActionEvent actionEvent)
+ {
+ if (!ap.av.getAlignment().hasSeqrep())
{
- for (AlignmentAnnotation ann : candidates.get(seq))
+ // initialise the display flags so the user sees something happen
+ ap.av.setDisplayReferenceSeq(true);
+ ap.av.setColourByReferenceSeq(true);
+ ap.av.getAlignment().setSeqrep(sequence);
+ }
+ else
+ {
+ if (ap.av.getAlignment().getSeqrep() == sequence)
{
- AlignmentAnnotation copyAnn = new AlignmentAnnotation(ann);
- int startRes = 0;
- int endRes = ann.annotations.length;
- final SequenceGroup selectionGroup = this.ap.av.getSelectionGroup();
- if (selectionGroup != null)
- {
- startRes = selectionGroup.getStartRes();
- endRes = selectionGroup.getEndRes();
- }
- copyAnn.restrict(startRes, endRes);
-
- // add to the sequence (sets copyAnn.datasetSequence)
- seq.addAlignmentAnnotation(copyAnn);
- // adjust for gaps
- copyAnn.adjustForAlignment();
- // add to the alignment and set visible
- this.ap.getAlignment().addAnnotation(copyAnn, insertPosition++);
- copyAnn.visible = true;
+ ap.av.getAlignment().setSeqrep(null);
+ }
+ else
+ {
+ ap.av.getAlignment().setSeqrep(sequence);
}
}
refresh();
}
+ protected void hideInsertions_actionPerformed(ActionEvent actionEvent)
+ {
+ if (sequence != null)
+ {
+ ColumnSelection cs = ap.av.getColumnSelection();
+ if (cs == null)
+ {
+ cs = new ColumnSelection();
+ }
+ cs.hideInsertionsFor(sequence);
+ ap.av.setColumnSelection(cs);
+ }
+ refresh();
+ }
protected void sequenceSelectionDetails_actionPerformed()
{
createSequenceDetailsReport(ap.av.getSequenceSelection());
+ MessageManager
.formatMessage(
"label.create_sequence_details_report_annotation_for",
- new String[]
+ new Object[]
{ seq.getDisplayId(true) }) + "</h2></p><p>");
new SequenceAnnotationReport(null)
.createSequenceAnnotationReport(
true,
true,
false,
- (ap.seqPanel.seqCanvas.fr != null) ? ap.seqPanel.seqCanvas.fr.minmax
+ (ap.getSeqPanel().seqCanvas.fr != null) ? ap
+ .getSeqPanel().seqCanvas.fr
+ .getMinMax()
: null);
contents.append("</p>");
}
cap.setText("<html>" + contents.toString() + "</html>");
- Desktop.instance.addInternalFrame(cap, MessageManager.formatMessage(
- "label.sequece_details_for",
- (sequences.length == 1 ? new String[]
- { sequences[0].getDisplayId(true) } : new String[]
+ Desktop.addInternalFrame(cap, MessageManager.formatMessage(
+ "label.sequence_details_for",
+ (sequences.length == 1 ? new Object[]
+ { sequences[0].getDisplayId(true) } : new Object[]
{ MessageManager.getString("label.selection") })), 500, 400);
}
int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup()
.getName());
- sg.cs.setThreshold(threshold, ap.av.getIgnoreGapsConsensus());
+ sg.cs.setThreshold(threshold, ap.av.isIgnoreGapsConsensus());
SliderPanel.showPIDSlider();
}
else
// remove PIDColouring
{
- sg.cs.setThreshold(0, ap.av.getIgnoreGapsConsensus());
+ sg.cs.setThreshold(0, ap.av.isIgnoreGapsConsensus());
}
refresh();
}
int gsize = sg.getSize();
- SequenceI[] hseqs;
-
- hseqs = new SequenceI[gsize];
-
- int index = 0;
- for (int i = 0; i < gsize; i++)
- {
- hseqs[index++] = sg.getSequenceAt(i);
- }
+ SequenceI[] hseqs = sg.getSequences().toArray(new SequenceI[gsize]);
ap.av.hideSequence(hseqs);
// refresh(); TODO: ? needed ?
if (sg != null)
{
- int[][] startEnd = ap.av.getVisibleRegionBoundaries(sg.getStartRes(),
+ List<int[]> startEnd = ap.av.getVisibleRegionBoundaries(
+ sg.getStartRes(),
sg.getEndRes() + 1);
String description;
CutAndPasteTransfer cap = new CutAndPasteTransfer();
cap.setForInput(null);
Desktop.addInternalFrame(cap, MessageManager.formatMessage(
- "label.alignment_output_command", new String[]
+ "label.alignment_output_command", new Object[]
{ e.getActionCommand() }), 600, 500);
String[] omitHidden = null;
jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
chooser.setFileView(new jalview.io.JalviewFileView());
chooser.setDialogTitle(MessageManager.formatMessage(
- "label.select_pdb_file_for", new String[]
+ "label.select_pdb_file_for", new Object[]
{ sequence.getDisplayId(false) }));
chooser.setToolTipText(MessageManager.formatMessage(
- "label.load_pdb_file_associate_with_sequence", new String[]
+ "label.load_pdb_file_associate_with_sequence", new Object[]
{ sequence.getDisplayId(false) }));
int value = chooser.showOpenDialog(null);
}
- // JBNote: commented out - these won't be instantiated here...!
- // public void RNAFold_actionPerformed() throws Exception
- // {
- // Predict2D P2D = new Predict2D();
- // P2D.getStructure2DFromRNAFold("toto");
- // }
- //
- // public void ContraFold_actionPerformed() throws Exception
- // {
- // Predict2D P2D = new Predict2D();
- // P2D.getStructure2DFromContraFold("toto");
- // }
+
public void enterPDB_actionPerformed()
{
String id = JOptionPane.showInternalInputDialog(Desktop.desktop,
System.arraycopy(features, 0, tfeatures, 0, rsize);
features = tfeatures;
seqs = rseqs;
- if (ap.seqPanel.seqCanvas.getFeatureRenderer().amendFeatures(seqs,
+ if (ap.getSeqPanel().seqCanvas.getFeatureRenderer().amendFeatures(seqs,
features, true, ap))
{
ap.alignFrame.setShowSeqFeatures(true);
{
EditCommand editCommand = new EditCommand(
MessageManager.getString("label.edit_sequences"),
- EditCommand.REPLACE, dialog.getName().replace(' ',
+ Action.REPLACE, dialog.getName().replace(' ',
ap.av.getGapCharacter()),
sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),
sg.getStartRes(), sg.getEndRes() + 1, ap.av.getAlignment());