From: Jim Procter Date: Mon, 18 May 2020 14:26:30 +0000 (+0100) Subject: Merge branch 'alpha/JAL-3362_Jalview_212_alpha' into alpha/merge_212_JalviewJS_2112 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=c794c5033adeee182b03a5ea92c0a7495a29661f;p=jalview.git Merge branch 'alpha/JAL-3362_Jalview_212_alpha' into alpha/merge_212_JalviewJS_2112 resolved conflicts and adapted to some upstream changes. no detailed functional testing as yet (see next commit :) ) Conflicts: resources/lang/Messages.properties resources/lang/Messages_es.properties src/jalview/api/AlignViewportI.java src/jalview/bin/Jalview.java src/jalview/datamodel/Sequence.java src/jalview/datamodel/SequenceI.java src/jalview/gui/AlignFrame.java src/jalview/gui/JvSwingUtils.java src/jalview/gui/OverviewPanel.java src/jalview/gui/PopupMenu.java src/jalview/gui/SplitFrame.java src/jalview/gui/WsJobParameters.java src/jalview/io/AlignmentFileReaderI.java src/jalview/io/FileLoader.java src/jalview/io/StockholmFile.java src/jalview/jbgui/GAlignFrame.java src/jalview/jbgui/GPreferences.java src/jalview/renderer/AnnotationRenderer.java src/jalview/viewmodel/AlignmentViewport.java src/jalview/ws/jws2/Jws2Discoverer.java test/jalview/analysis/AAFrequencyTest.java test/jalview/gui/AlignFrameTest.java test/jalview/gui/AlignViewportTest.java --- c794c5033adeee182b03a5ea92c0a7495a29661f diff --cc resources/lang/Messages.properties index 1762a06,b18f46f..bf9cc18 --- a/resources/lang/Messages.properties +++ b/resources/lang/Messages.properties @@@ -1334,13 -1352,79 +1346,86 @@@ label.most_bound_molecules = Most Boun label.most_polymer_residues = Most Polymer Residues label.cached_structures = Cached Structures label.free_text_search = Free Text Search +label.annotation_name = Annotation Name +label.annotation_description = Annotation Description +label.edit_annotation_name_description = Edit Annotation Name/Description +label.alignment = alignment +label.pca = PCA +label.create_image_of = Create {0} image of {1} +label.click_to_edit = Click to edit, right-click for menu + label.hmmalign = hmmalign + label.use_hmm = HMM profile to use + label.use_sequence = Sequence to use + label.hmmbuild = hmmbuild + label.hmmsearch = hmmsearch + label.jackhmmer = jackhmmer + label.installation = Installation + label.hmmer_location = HMMER Binaries Installation Location + label.cygwin_location = Cygwin Binaries Installation Location (Windows) + label.information_annotation = Information Annotation + label.ignore_below_background_frequency = Ignore Below Background Frequency + label.information_description = Information content, measured in bits + warn.no_hmm = No Hidden Markov model found.\nRun hmmbuild or load an HMM file first. + label.no_sequences_found = No matching sequences, or an error occurred. + label.hmmer = HMMER + label.trim_termini = Trim Non-Matching Termini + label.trim_termini_desc = If true, non-matching regions on either end of the resulting alignment are removed. + label.no_of_sequences = Number of sequences returned + label.reporting_cutoff = Reporting Cut-off + label.inclusion_threshold = Inlcusion Threshold + label.freq_alignment = Use alignment background frequencies + label.freq_uniprot = Use Uniprot background frequencies + label.hmmalign_options = hmmalign options + label.hmmsearch_options = hmmsearch options + label.jackhmmer_options = jackhmmer options + label.executable_not_found = The ''{0}'' executable file was not found + warn.command_failed = {0} failed + label.invalid_folder = Invalid Folder + label.number_of_results = Number of Results to Return + label.number_of_iterations = Number of jackhmmer Iterations + label.auto_align_seqs = Automatically Align Fetched Sequences + label.new_returned = new sequences returned + label.use_accessions = Return Accessions + label.check_for_new_sequences = Return Number of New Sequences + label.evalue = E-Value + label.reporting_seq_evalue = Reporting Sequence E-value Cut-off + label.reporting_seq_score = Reporting Sequence Score Threshold + label.reporting_dom_evalue = Reporting Domain E-value Cut-off + label.reporting_dom_score = Reporting Domain Score Threshold + label.inclusion_seq_evalue = Inclusion Sequence E-value Cut-off + label.inclusion_seq_score = Inclusion Sequence Score Threshold + label.inclusion_dom_evalue = Inclusion Domain E-value Cut-off + label.inclusion_dom_score = Inclusion Domain Score Threshold + label.number_of_results_desc = The maximum number of hmmsearch results to display + label.number_of_iterations_desc = The number of iterations jackhmmer will complete when searching for new sequences + label.auto_align_seqs_desc = If true, all fetched sequences will be aligned to the hidden Markov model with which the search was performed + label.check_for_new_sequences_desc = Display number of new sequences returned from hmmsearch compared to the previous alignment + label.use_accessions_desc = If true, the accession number of each sequence is returned, rather than that sequence's name + label.reporting_seq_e_value_desc = The E-value cutoff for returned sequences + label.reporting_seq_score_desc = The score threshold for returned sequences + label.reporting_dom_e_value_desc = The E-value cutoff for returned domains + label.reporting_dom_score_desc = The score threshold for returned domains + label.inclusion_seq_e_value_desc = Sequences with an E-value less than this cut-off are classed as significant + label.inclusion_seq_score_desc = Sequences with a bit score greater than this threshold are classed as significant + label.inclusion_dom_e_value_desc = Domains with an E-value less than this cut-off are classed as significant + label.inclusion_dom_score_desc = Domains with a bit score greater than this threshold are classed as significant + label.add_database = Add Database + label.this_alignment = This alignment + warn.invalid_format = This is not a valid database file format. The current supported formats are Fasta, Stockholm and Pfam. + label.database_for_hmmsearch = The database hmmsearch will search through + label.use_reference = Use Reference Annotation + label.use_reference_desc = If true, hmmbuild will keep all columns defined as a reference position by the reference annotation + label.hmm_name = Alignment HMM Name + label.hmm_name_desc = The name given to the HMM for the alignment + warn.no_reference_annotation = No reference annotation found + label.hmmbuild_for = Build HMM for + label.hmmbuild_for_desc = Build an HMM for the selected sets of sequences + label.alignment = Alignment + label.groups_and_alignment = All groups and alignment + label.groups = All groups + label.selected_group = Selected group + label.use_info_for_height = Use Information Content as Letter Height + action.search = Search label.backupfiles_confirm_delete = Confirm delete label.backupfiles_confirm_delete_old_files = Delete the following older backup files? (see the Backups tab in Preferences for more options) label.backupfiles_confirm_save_file = Confirm save file diff --cc resources/lang/Messages_es.properties index d3c3355,f0a3095..0dee36d --- a/resources/lang/Messages_es.properties +++ b/resources/lang/Messages_es.properties @@@ -1330,13 -1334,7 +1329,14 @@@ label.most_bound_molecules = Más Molécu label.most_polymer_residues = Más Residuos de Polímeros label.cached_structures = Estructuras en Caché label.free_text_search = Búsqueda de texto libre +label.annotation_name = Nombre de la anotación +label.annotation_description = Descripción de la anotación +label.edit_annotation_name_description = Editar el nombre/descripción de la anotación +label.alignment = alineamiento +label.pca = ACP +label.create_image_of = Crear imagen {0} de {1} +label.click_to_edit = Haga clic para editar, clic en el botón derecho para ver el menú + action.search = Buscar label.backupfiles_confirm_delete = Confirmar borrar label.backupfiles_confirm_delete_old_files = ¿Borrar los siguientes archivos? (ver la pestaña 'Copias' de la ventana de Preferencias para más opciones) label.backupfiles_confirm_save_file = Confirmar guardar archivo diff --cc src/jalview/analysis/Dna.java index 8bf0c24,9611a4c..4cc5697 --- a/src/jalview/analysis/Dna.java +++ b/src/jalview/analysis/Dna.java @@@ -28,7 -28,7 +28,6 @@@ import jalview.datamodel.AlignmentAnnot import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; import jalview.datamodel.DBRefEntry; --import jalview.datamodel.DBRefSource; import jalview.datamodel.FeatureProperties; import jalview.datamodel.GraphLine; import jalview.datamodel.Mapping; diff --cc src/jalview/api/AlignViewportI.java index 065be75,e5bf0be..c487bdc --- a/src/jalview/api/AlignViewportI.java +++ b/src/jalview/api/AlignViewportI.java @@@ -499,19 -505,24 +507,33 @@@ public interface AlignViewportI extend @Override void setProteinFontAsCdna(boolean b); - TreeModel getCurrentTree(); + void setHmmProfiles(ProfilesI info); - void setCurrentTree(TreeModel tree); + ProfilesI getHmmProfiles(); + + /** + * Registers and starts a worker thread to calculate Information Content + * annotation, if it is not already registered + * + * @param ap + */ + void initInformationWorker(AlignmentViewPanel ap); + + boolean isInfoLetterHeight(); + - abstract TreeModel getCurrentTree(); ++ public abstract TreeModel getCurrentTree(); - abstract void setCurrentTree(TreeModel tree); + /** + * Answers a data bean containing data for export as configured by the + * supplied options + * + * @param options + * @return + */ + AlignmentExportData getAlignExportData(AlignExportSettingsI options); + ++ public abstract void setCurrentTree(TreeModel tree); + /** * @param update * - set the flag for updating structures on next repaint diff --cc src/jalview/appletgui/AlignViewport.java index 0324d8c,e2c8d27..0fa569e --- a/src/jalview/appletgui/AlignViewport.java +++ b/src/jalview/appletgui/AlignViewport.java @@@ -52,8 -52,16 +52,14 @@@ public class AlignViewport extends Alig public jalview.bin.JalviewLite applet; - boolean MAC = false; - private AnnotationColumnChooser annotationColumnSelectionState; + java.awt.Frame nullFrame; + + protected FeatureSettings featureSettings = null; + + private float heightScale = 1, widthScale = 1; + public AlignViewport(AlignmentI al, JalviewLite applet) { super(al); diff --cc src/jalview/appletgui/AnnotationPanel.java index 3dae998,2b50c32..af951f2 --- a/src/jalview/appletgui/AnnotationPanel.java +++ b/src/jalview/appletgui/AnnotationPanel.java @@@ -28,7 -28,7 +28,6 @@@ import jalview.renderer.AwtRenderPanelI import jalview.schemes.ResidueProperties; import jalview.util.Comparison; import jalview.util.MessageManager; --import jalview.util.Platform; import jalview.viewmodel.ViewportListenerI; import jalview.viewmodel.ViewportRanges; diff --cc src/jalview/appletgui/TitledPanel.java index feeaf83,b2a996a..5d3ab94 --- a/src/jalview/appletgui/TitledPanel.java +++ b/src/jalview/appletgui/TitledPanel.java @@@ -20,13 -20,13 +20,10 @@@ */ package jalview.appletgui; --import java.awt.Frame; import java.awt.Graphics; import java.awt.Insets; --import java.awt.Label; import java.awt.Panel; --import java.awt.event.WindowAdapter; --import java.awt.event.WindowEvent; ++ public class TitledPanel extends Panel { diff --cc src/jalview/bin/Jalview.java index cdd8cc1,d437f1b..08b4a1b --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@@ -104,30 -97,22 +104,30 @@@ public class Jalvie static { - // grab all the rights we can the JVM - Policy.setPolicy(new Policy() + if (!Platform.isJS()) + /** + * Java only + * + * @j2sIgnore + */ { - @Override - public PermissionCollection getPermissions(CodeSource codesource) - { - Permissions perms = new Permissions(); - perms.add(new AllPermission()); - return (perms); - } - - @Override - public void refresh() + // grab all the rights we can for the JVM - Policy.setPolicy(new Policy() - { - @Override - public PermissionCollection getPermissions(CodeSource codesource) - { - Permissions perms = new Permissions(); - perms.add(new AllPermission()); - return (perms); - } - - @Override - public void refresh() - { - } - }); ++ Policy.setPolicy(new Policy() + { - } - }); ++ @Override ++ public PermissionCollection getPermissions(CodeSource codesource) ++ { ++ Permissions perms = new Permissions(); ++ perms.add(new AllPermission()); ++ return (perms); ++ } ++ ++ @Override ++ public void refresh() ++ { ++ } ++ }); + } } /** @@@ -202,54 -187,10 +202,54 @@@ */ public static void main(String[] args) { - // setLogging(); // BH - for event debugging in JavaScript ++// setLogging(); // BH - for event debugging in JavaScript instance = new Jalview(); instance.doMain(args); +} + + private static void logClass(String name) - { - // BH - for event debugging in JavaScript ++ { ++ // BH - for event debugging in JavaScript + ConsoleHandler consoleHandler = new ConsoleHandler(); + consoleHandler.setLevel(Level.ALL); + Logger logger = Logger.getLogger(name); + logger.setLevel(Level.ALL); + logger.addHandler(consoleHandler); } + @SuppressWarnings("unused") + private static void setLogging() + { + + /** + * @j2sIgnore + * + */ + { + System.out.println("not in js"); + } + - // BH - for event debugging in JavaScript (Java mode only) ++ // BH - for event debugging in JavaScript (Java mode only) + if (!Platform.isJS()) + /** + * Java only + * + * @j2sIgnore + */ - { - Logger.getLogger("").setLevel(Level.ALL); ++ { ++ Logger.getLogger("").setLevel(Level.ALL); + logClass("java.awt.EventDispatchThread"); + logClass("java.awt.EventQueue"); + logClass("java.awt.Component"); + logClass("java.awt.focus.Component"); + logClass("java.awt.focus.DefaultKeyboardFocusManager"); - } ++ } + + } + + + + /** * @param args */ diff --cc src/jalview/datamodel/Sequence.java index 552349f,25e9611..009a290 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@@ -72,26 -54,23 +73,30 @@@ public class Sequence extends ASequenc private char[] sequence; - String description; + private String description; + + private int start; + + private int end; - int start; + private Vector pdbIds; - int end; + private String vamsasId; + HiddenMarkovModel hmm; + + boolean isHMMConsensusSequence = false; + - Vector pdbIds; + private DBModList dbrefs; // controlled access - String vamsasId; - - DBRefEntry[] dbrefs; + /** + * a flag to let us know that elements have changed in dbrefs + * + * @author Bob Hanson + */ + private int refModCount = 0; - RNA rna; + private RNA rna; /** * This annotation is displayed below the alignment but the positions are tied diff --cc src/jalview/datamodel/SequenceI.java index 933f332,5cddade..72ce22c --- a/src/jalview/datamodel/SequenceI.java +++ b/src/jalview/datamodel/SequenceI.java @@@ -582,8 -587,12 +592,15 @@@ public interface SequenceI extends ASeq * iterator over regions * @return first residue not contained in regions */ - int firstResidueOutsideIterator(Iterator it); ++ + public int firstResidueOutsideIterator(Iterator it); + + /** + * Answers true if this sequence has an associated Hidden Markov Model + * + * @return + */ + boolean hasHMMProfile(); } + diff --cc src/jalview/ext/ensembl/EnsemblFeatures.java index e28cc7f,99ebc69..4d6c1a9 --- a/src/jalview/ext/ensembl/EnsemblFeatures.java +++ b/src/jalview/ext/ensembl/EnsemblFeatures.java @@@ -27,9 -27,8 +27,7 @@@ import jalview.datamodel.SequenceFeatur import jalview.datamodel.SequenceI; import jalview.io.gff.SequenceOntologyI; import jalview.util.JSONUtils; - import jalview.util.Platform; --import java.io.BufferedReader; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; diff --cc src/jalview/ext/ensembl/EnsemblInfo.java index 97ad242,6920549..895598f --- a/src/jalview/ext/ensembl/EnsemblInfo.java +++ b/src/jalview/ext/ensembl/EnsemblInfo.java @@@ -22,9 -22,8 +22,7 @@@ package jalview.ext.ensembl import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefSource; - import jalview.util.JSONUtils; --import java.io.BufferedReader; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; diff --cc src/jalview/ext/ensembl/EnsemblXref.java index eedfe97,77768a6..27ca642 --- a/src/jalview/ext/ensembl/EnsemblXref.java +++ b/src/jalview/ext/ensembl/EnsemblXref.java @@@ -23,9 -23,8 +23,7 @@@ package jalview.ext.ensembl import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; import jalview.util.DBRefUtils; - import jalview.util.JSONUtils; --import java.io.BufferedReader; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; diff --cc src/jalview/gui/AlignFrame.java index 7818748,1152a6e..4114298 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@@ -20,58 -20,6 +20,56 @@@ */ package jalview.gui; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DropTargetDragEvent; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.FocusAdapter; +import java.awt.event.FocusEvent; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; +import java.awt.print.PageFormat; +import java.awt.print.PrinterJob; +import java.beans.PropertyChangeEvent; +import java.io.File; +import java.io.FileWriter; +import java.io.PrintWriter; +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Deque; - import java.util.Enumeration; - import java.util.Hashtable; +import java.util.List; +import java.util.Vector; + +import javax.swing.ButtonGroup; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JComponent; +import javax.swing.JEditorPane; +import javax.swing.JInternalFrame; +import javax.swing.JLabel; +import javax.swing.JLayeredPane; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.SwingUtilities; + +import ext.vamsas.ServiceHandle; import jalview.analysis.AlignmentSorter; import jalview.analysis.AlignmentUtils; import jalview.analysis.CrossRef; @@@ -150,10 -102,64 +155,20 @@@ import jalview.viewmodel.AlignmentViewp import jalview.viewmodel.ViewportRanges; import jalview.ws.DBRefFetcher; import jalview.ws.DBRefFetcher.FetchFinishedListenerI; + import jalview.ws.api.ServiceWithParameters; import jalview.ws.jws1.Discoverer; import jalview.ws.jws2.Jws2Discoverer; - import jalview.ws.jws2.jabaws2.Jws2Instance; + import jalview.ws.params.ArgumentI; + import jalview.ws.params.ParamDatastoreI; + import jalview.ws.params.WsParamSetI; import jalview.ws.seqfetcher.DbSourceProxy; + import jalview.ws.slivkaws.SlivkaWSDiscoverer; - -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Rectangle; -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.StringSelection; -import java.awt.datatransfer.Transferable; -import java.awt.dnd.DnDConstants; -import java.awt.dnd.DropTargetDragEvent; -import java.awt.dnd.DropTargetDropEvent; -import java.awt.dnd.DropTargetEvent; -import java.awt.dnd.DropTargetListener; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; -import java.awt.event.MouseEvent; -import java.awt.print.PageFormat; -import java.awt.print.PrinterJob; -import java.beans.PropertyChangeEvent; -import java.io.File; -import java.io.FileWriter; + import java.io.IOException; -import java.io.PrintWriter; -import java.net.URL; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Deque; + import java.util.HashSet; -import java.util.List; + import java.util.Set; -import java.util.Vector; + -import javax.swing.ButtonGroup; -import javax.swing.JCheckBoxMenuItem; -import javax.swing.JEditorPane; + import javax.swing.JFileChooser; -import javax.swing.JInternalFrame; -import javax.swing.JLayeredPane; -import javax.swing.JMenu; -import javax.swing.JMenuItem; + import javax.swing.JOptionPane; -import javax.swing.JScrollPane; -import javax.swing.SwingUtilities; /** * DOCUMENT ME! @@@ -191,7 -195,6 +205,10 @@@ public class AlignFrame extends GAlignF */ String fileName = null; ++ /** ++ * TODO: remove reference to 'FileObject' in AlignFrame - not correct mapping ++ */ + File fileObject; /** * Creates a new AlignFrame object with specific width and height. @@@ -1485,25 -1692,26 +1758,26 @@@ @Override public void associatedData_actionPerformed(ActionEvent e) + throws IOException, InterruptedException { - // Pick the tree file - JalviewFileChooser chooser = new JalviewFileChooser( + final JalviewFileChooser chooser = new JalviewFileChooser( jalview.bin.Cache.getProperty("LAST_DIRECTORY")); chooser.setFileView(new JalviewFileView()); - chooser.setDialogTitle( - MessageManager.getString("label.load_jalview_annotations")); - chooser.setToolTipText( - MessageManager.getString("label.load_jalview_annotations")); - - int value = chooser.showOpenDialog(null); - - if (value == JalviewFileChooser.APPROVE_OPTION) + String tooltip = MessageManager.getString("label.load_jalview_annotations"); + chooser.setDialogTitle(tooltip); + chooser.setToolTipText(tooltip); + chooser.setResponseHandler(0, new Runnable() { - String choice = chooser.getSelectedFile().getPath(); - jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice); - loadJalviewDataFile(choice, null, null, null); - } + @Override + public void run() + { + String choice = chooser.getSelectedFile().getPath(); + jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice); + loadJalviewDataFile(chooser.getSelectedFile(), null, null, null); + } + }); + chooser.showOpenDialog(this); } /** @@@ -4705,11 -4920,12 +5029,13 @@@ * * @param file * either a filename or a URL string. + * @throws InterruptedException + * @throws IOException */ - public void loadJalviewDataFile(String file, DataSourceType sourceType, + public void loadJalviewDataFile(Object file, DataSourceType sourceType, FileFormatI format, SequenceI assocSeq) { + // BH 2018 was String file try { if (sourceType == null) diff --cc src/jalview/gui/PopupMenu.java index 2a7fb9f,0fd5feb..2fd5180 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@@ -68,7 -65,7 +69,8 @@@ import jalview.datamodel.SequenceFeatur import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.gui.ColourMenuHelper.ColourChangeListener; +import jalview.gui.JalviewColourChooser.ColourChooserListener; + import jalview.io.CountReader; import jalview.io.FileFormatI; import jalview.io.FileFormats; import jalview.io.FormatAdapter; diff --cc src/jalview/gui/SliderPanel.java index 46b47a2,f98139b..dcc42ea --- a/src/jalview/gui/SliderPanel.java +++ b/src/jalview/gui/SliderPanel.java @@@ -26,7 -26,7 +26,6 @@@ import jalview.jbgui.GSliderPanel import jalview.renderer.ResidueShaderI; import jalview.util.MessageManager; --import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.beans.PropertyVetoException; diff --cc src/jalview/gui/SplitFrame.java index e8f30b7,c5a0083..81f0134 --- a/src/jalview/gui/SplitFrame.java +++ b/src/jalview/gui/SplitFrame.java @@@ -1100,4 -1101,4 +1101,4 @@@ public class SplitFrame extends GSplitF { return featureSettingsUI != null && !featureSettingsUI.isClosed(); } --} ++} diff --cc src/jalview/gui/WsJobParameters.java index 976e551,f7906e5..0ddb9ff --- a/src/jalview/gui/WsJobParameters.java +++ b/src/jalview/gui/WsJobParameters.java @@@ -953,244 -906,7 +906,6 @@@ public class WsJobParameters extends JP paramPane.revalidate(); revalidate(); } -- - /** - * testing method - grab a service and parameter set and show the window - * - * @param args - * @j2sIgnore - */ - public static void main(String[] args) - { - jalview.ws.jws2.Jws2Discoverer disc = jalview.ws.jws2.Jws2Discoverer - .getDiscoverer(); - int p = 0; - if (args.length > 0) - { - Vector services = new Vector<>(); - services.addElement(args[p++]); - Jws2Discoverer.getDiscoverer().setServiceUrls(services); - } - try - { - disc.run(); - } catch (Exception e) - { - System.err.println("Aborting. Problem discovering services."); - e.printStackTrace(); - return; - } - Jws2Instance lastserv = null; - for (Jws2Instance service : disc.getServices()) - { - lastserv = service; - if (p >= args.length || service.serviceType.equalsIgnoreCase(args[p])) - { - if (lastserv != null) - { - List prl = null; - Preset pr = null; - if (++p < args.length) - { - PresetManager prman = lastserv.getPresets(); - if (prman != null) - { - pr = prman.getPresetByName(args[p]); - if (pr == null) - { - // just grab the last preset. - prl = prman.getPresets(); - } - } - } - else - { - PresetManager prman = lastserv.getPresets(); - if (prman != null) - { - prl = prman.getPresets(); - } - } - Iterator en = (prl == null) ? null : prl.iterator(); - while (en != null && en.hasNext()) - { - if (en != null) - { - if (!en.hasNext()) - { - en = prl.iterator(); - } - pr = en.next(); - } - { - System.out.println("Testing opts dupes for " - + lastserv.getUri() + " : " + lastserv.getActionText() - + ":" + pr.getName()); - List