From: BobHanson Date: Sat, 6 Jun 2020 13:13:33 +0000 (-0500) Subject: JAL-3379 JalviewJS-API specs - preliminary X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=2b4e37d6f7fda9d0437bee9ca67f4839dc9b9fa4;p=jalview.git JAL-3379 JalviewJS-API specs - preliminary --- diff --git a/doc/JalviewJS-API.md b/doc/JalviewJS-API.md new file mode 100644 index 0000000..0f198d8 --- /dev/null +++ b/doc/JalviewJS-API.md @@ -0,0 +1,122 @@ +## public interface JalviewJSApi + +# full list of available methods: + + public boolean addPdbFile(AlignFrame alFrame, String sequenceId, String pdbEntryString, String pdbFile); + public String arrayToSeparatorList(String[] array); + public String getAlignment(String format); + public String getAlignment(String format, String suffix); + public String getAlignmentFrom(AlignFrame alf, String format); + public String getAlignmentFrom(AlignFrame alf, String format, String suffix); + public String getAlignmentOrder(); + public String getAlignmentOrderFrom(AlignFrame alf); + public String getAlignmentOrderFrom(AlignFrame alf, String sep); + public String getAnnotation(); + public String getAnnotationFrom(AlignFrame alf); + public Object getAppletParameter(String name, boolean asString); + public URL getCodeBase(); + public URL getDocumentBase(); + public String getFeatureGroups(); + public String getFeatureGroupsOfState(boolean visible); + public String getFeatureGroupsOfStateOn(AlignFrame alf, boolean visible); + public String getFeatureGroupsOn(AlignFrame alf); + public String getFeatures(String format); + public String getFeaturesFrom(AlignFrame alf, String format); + public Object getFrameForSource(VamsasSource source); + public jalview.renderer.seqfeatures.FeatureRenderer getNewFeatureRenderer(AlignViewportI vp); + public String getParameter(String name); + public String getSelectedSequences(); + public String getSelectedSequences(String sep); + public String getSelectedSequencesAsAlignment(String format, String suffix); + public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf, String format, String suffix); + public String getSelectedSequencesFrom(AlignFrame alf); + public String getSelectedSequencesFrom(AlignFrame alf, String sep); + public Object[] getSelectionForListener(SequenceGroup seqsel, ColumnSelection colsel, HiddenColumns hidden, SelectionSource source, Object alignFrame); + public String getSeparator(); + public AlignViewportI getViewport(); + public void highlight(String sequenceId, String position, String alignedPosition); + public void highlightIn(AlignFrame alf, String sequenceId, String position, String alignedPosition); + public AlignFrame loadAlignment(String text, String title); + public void loadAnnotation(String annotation); + public void loadAnnotationFrom(AlignFrame alf, String annotation); + public void loadFeatures(String features, boolean autoenabledisplay); + public boolean loadFeaturesFrom(AlignFrame alf, String features, boolean autoenabledisplay); + public boolean loadScoreFile(String sScoreFile) throws IOException; + public void newFeatureSettings(); + public void newStructureView(PDBEntry pdb, SequenceI[] seqs, String[] chains, DataSourceType protocol); + public Object openPcaPanel(AlignFrame af, String modelName); + public Object openTreePanel(AlignFrame af, String treeType, String modelName); + public String orderAlignmentBy(AlignFrame alf, String order, String undoName, String sep); + public String orderBy(String order, String undoName); + public String orderBy(String order, String undoName, String sep); + public Object parseArguments(String[] args); + public boolean parseFeaturesFile(String param, DataSourceType protocol); + public void removeSelectionListener(AlignFrame af, String listener); + public void scrollViewToColumnIn(AlignFrame alf, String leftHandColumn); + public void scrollViewToIn(AlignFrame alf, String topRow, String leftHandColumn); + public void scrollViewToRowIn(AlignFrame alf, String topRow); + public void select(String sequenceIds, String columns); + public void select(String sequenceIds, String columns, String sep); + public void selectIn(AlignFrame alf, String sequenceIds, String columns); + public void selectIn(AlignFrame alf, String sequenceIds, String columns, String sep); + public String[] separatorListToArray(String list); + public void setFeatureGroupState(String groups, boolean state); + public void setFeatureGroupState(String[] groups, boolean state); + public void setFeatureGroupStateOn(AlignFrame alf, String groups, boolean state); + public void setSelectionListener(AlignFrame af, String listener); + public void setSelectionListener(String listener); + public void setSeparator(String separator); + public void showOverview(); + public void updateForAnnotations(); + +# proposed alias list: + +- remove overloaded methods +- indicate null options +- use standard arrays; no need for special separators +- possibly return more actual objects, not just strings + + public boolean addPdbFile(AlignFrame alFrame, String sequenceId, String pdbEntryString, String pdbFile); + public String getAlignment(AlignFrame alf, String format, boolean includeStartEnd); + public String[] getAlignmentOrder(AlignFrame alf); + public String getAnnotation(AlignFrame alf); + public Object getAppletParameter(String name, boolean asString); + public URL getCodeBase(); + public URL getDocumentBase(); + public String[] getFeatureGroups(); + public String[] getFeatureGroupsOfState(boolean visible); + public String getFeatures(AlignFrame alf, String format); + public jalview.renderer.seqfeatures.FeatureRenderer getNewFeatureRenderer(AlignViewportI vp); + public String getParameter(String name); + public String[] getSelectedSequences(AlignFrame alf); + public String[] getSelectedSequencesAsAlignment(AlignFrame alf, String format, boolean includeStartEnd); + public Object[] getSelectionForListener(SequenceGroup seqsel, ColumnSelection colsel, HiddenColumns hidden, SelectionSource source, Object alignFrame); + public AlignViewportI getViewport(); + public void highlight(AlignFrame alf, String sequenceId, String position, String alignedPosition); + public AlignFrame loadAlignment(String text, String title); + public void loadAnnotation(AlignFrame alf, String annotation); + public boolean loadFeatures(AlignFrame alf, String features, boolean autoenabledisplay); + public boolean loadScoreFile(String sScoreFile) throws IOException; + public void newFeatureSettings(); + public void newStructureView(PDBEntry pdb, SequenceI[] seqs, String[] chains, DataSourceType protocol); + public Object openPcaPanel(AlignFrame af, String modelName); + public Object openTreePanel(AlignFrame af, String treeType, String modelName); + public String[] orderBy(AlignFrame alf, String order, String undoName); + public Object parseArguments(String[] args); + public boolean parseFeaturesFile(String param, DataSourceType protocol); + public void removeSelectionListener(AlignFrame af, String listener); + public void scrollViewTo(AlignFrame alf, String topRow, String leftHandColumn); + public void select(AlignFrame alf, String[] sequenceIds, String[] columns); + public void setFeatureGroupState(AlignFrame alf, String groups, boolean state); + public void setSelectionListener(AlignFrame af, String listener); + public void showOverview(); + public void updateForAnnotations(); + +# unknown methods/shouldn't be in interface? + + public String arrayToSeparatorList(String[] array); + public Object getFrameForSource(VamsasSource source); + public String getSeparator(); + public String[] separatorListToArray(String list); + public void setSeparator(String separator); + \ No newline at end of file diff --git a/src/jalview/api/JalviewJSApp.java b/src/jalview/api/JalviewJSApp.java index 2975317..879beff 100644 --- a/src/jalview/api/JalviewJSApp.java +++ b/src/jalview/api/JalviewJSApp.java @@ -113,10 +113,7 @@ public class JalviewJSApp implements JalviewJSApi // private boolean alignPDBStructures; // From JalviewLite; not implemented // - private Hashtable> jsmessages; - - private Hashtable jshashes; - + @Override public String getParameter(String name) { @@ -170,25 +167,6 @@ public class JalviewJSApp implements JalviewJSApi } @Override - public Hashtable getJSHashes() - { - return (jshashes == null ? (jshashes = new Hashtable<>()) : jshashes); - } - - @Override - public Hashtable> getJSMessages() - { - return (jsmessages == null ? (jsmessages = new Hashtable<>()) - : jsmessages); - } - - @Override - public Object getJSObject() - { - return Jalview.getInstance(); - } - - @Override public FeatureRenderer getNewFeatureRenderer(AlignViewportI vp) { return new jalview.gui.FeatureRenderer((AlignmentPanel) vp); @@ -271,20 +249,19 @@ public class JalviewJSApp implements JalviewJSApi return parseFeaturesFile(null, filename, protocol); } + /** + * @j2sAlias parseFeatureFile + * + * @param af + * @param filename + * @param protocol + * @return + */ public boolean parseFeaturesFile(AlignFrame af, String filename, DataSourceType protocol) { - return af.parseFeaturesFile(filename, protocol); - } - - @Override - public void setFeatureGroupState(String[] groups, boolean state) - { - setFeatureGroupState(null, groups, state); + return (af == null ? Jalview.getCurrentAlignFrame() : af).parseFeaturesFile(filename, protocol); } - public void setFeatureGroupState(AlignFrame af, String[] groups, boolean state) { - (af == null ? Jalview.getCurrentAlignFrame() : af).setFeatureGroupState(groups, state); - } /** * annotations, jpredfile, jnetfile * @@ -410,6 +387,11 @@ public class JalviewJSApp implements JalviewJSApi return getAlignmentFrom(null, format, null); } + /** + * suffix string "true"/"false" (default true) + * passed to AlnFile class controls whether /START-END is added to + * sequence names + */ @Override public String getAlignment(String format, String suffix) { @@ -575,14 +557,7 @@ public class JalviewJSApp implements JalviewJSApi return features; } - - @Override - public String getJsMessage(String messageclass, String viewId) - { - // TODO Auto-generated method stub - return null; - } - + /** * read sequence1...sequenceN as a raw alignment * @@ -612,7 +587,7 @@ public class JalviewJSApp implements JalviewJSApi * @see jalview.appletgui.js.JalviewLiteJsApi#getSelectedSequences() */ @Override - public String getSelectedSequences() + public SequenceI[] getSelectedSequences() { return getSelectedSequencesFrom(Jalview.getCurrentAlignFrame()); } @@ -622,7 +597,7 @@ public class JalviewJSApp implements JalviewJSApi * @see jalview.appletgui.js.JalviewLiteJsApi#getSelectedSequences(java.lang.String) */ @Override - public String getSelectedSequences(String sep) + public SequenceI[] getSelectedSequences(String sep) { return getSelectedSequencesFrom(Jalview.getCurrentAlignFrame(), sep); } @@ -673,37 +648,26 @@ public class JalviewJSApp implements JalviewJSApi * .AlignFrame) */ @Override - public String getSelectedSequencesFrom(AlignFrame alf) + public SequenceI[] getSelectedSequencesFrom(AlignFrame alf) { return getSelectedSequencesFrom(alf, null); } @Override - public String getSelectedSequencesFrom(AlignFrame alf, String sep) + public SequenceI[] getSelectedSequencesFrom(AlignFrame alf, String sep) { if (alf == null) { alf = Jalview.getCurrentAlignFrame(); } - StringBuffer result = new StringBuffer(""); - if (sep == null || sep.length() == 0) - { - sep = separator; // "+0x00AC; - } AlignViewport v = alf.getViewport(); if (v.getSelectionGroup() != null) { - SequenceI[] seqs = v.getSelectionGroup() + return v.getSelectionGroup() .getSequencesInOrder(v.getAlignment()); - - for (int i = 0; i < seqs.length; i++) - { - result.append(seqs[i].getName()); - result.append(sep); - } } - return result.toString(); + return null; } public Object[] getSelectionForListener(AlignFrame alf, @@ -1817,6 +1781,12 @@ public class JalviewJSApp implements JalviewJSApi } @Override + public void setFeatureGroupState(String[] groups, boolean state) + { + setFeatureGroupState(null, groups, state); + } + + @Override public void setFeatureGroupState(String groups, boolean state) { // JalviewLite API setFeatureGroupStateOn(null, groups, state); @@ -1826,19 +1796,24 @@ public class JalviewJSApp implements JalviewJSApi public void setFeatureGroupStateOn(final AlignFrame alf, final String groups, boolean state) { + setFeatureGroupState(alf, separatorListToArray(groups, separator), state); +// java.awt.EventQueue.invokeLater(new Runnable() +// { +// @Override +// public void run() +// { +// (alf == null ? Jalview.getCurrentAlignFrame() : alf) +// .setFeatureGroupState( +// separatorListToArray(groups, separator), state); +// } +// }); + } - java.awt.EventQueue.invokeLater(new Runnable() - { - @Override - public void run() - { - (alf == null ? Jalview.getCurrentAlignFrame() : alf) - .setFeatureGroupState( - separatorListToArray(groups, separator), state); - } - }); + public void setFeatureGroupState(AlignFrame af, String[] groups, boolean state) { + (af == null ? Jalview.getCurrentAlignFrame() : af).setFeatureGroupState(groups, state); } + @Override public void setSelectionListener(AlignFrame af, String listener) { diff --git a/src/jalview/bin/JalviewJSApi.java b/src/jalview/bin/JalviewJSApi.java index 7c9dee8..3f5dba0 100644 --- a/src/jalview/bin/JalviewJSApi.java +++ b/src/jalview/bin/JalviewJSApi.java @@ -12,7 +12,6 @@ import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.io.DataSourceType; -import jalview.io.NewickFile; import jalview.structure.SelectionSource; import jalview.structure.VamsasSource; @@ -44,8 +43,7 @@ public interface JalviewJSApi * structure for indicating when PDB parsing or sequenceId location * fails. */ - public abstract boolean addPdbFile(AlignFrame alFrame, String sequenceId, - String pdbEntryString, String pdbFile); + public boolean addPdbFile(AlignFrame alFrame, String sequenceId, String pdbEntryString, String pdbFile); public String arrayToSeparatorList(String[] array); @@ -54,7 +52,7 @@ public interface JalviewJSApi * an HTML page. * *
- * TODO: introduce abstract interface for + * TODO: introduce interface for * jalview.appletgui.AlignFrame
* * Most function arguments are strings, which contain serialised versions of @@ -80,7 +78,7 @@ public interface JalviewJSApi * @return */ - public abstract String getAlignment(String format); + public String getAlignment(String format); /** * get alignment as format with jalview start-end sequence suffix appended @@ -90,7 +88,7 @@ public interface JalviewJSApi * @return */ - public abstract String getAlignment(String format, String suffix); + public String getAlignment(String format, String suffix); /** * get alignment displayed in alf as format @@ -99,7 +97,7 @@ public interface JalviewJSApi * @param format * @return */ - public abstract String getAlignmentFrom(AlignFrame alf, String format); + public String getAlignmentFrom(AlignFrame alf, String format); /** * get alignment displayed in alf as format with or without the jalview @@ -110,8 +108,7 @@ public interface JalviewJSApi * @param suffix * @return */ - public abstract String getAlignmentFrom(AlignFrame alf, String format, - String suffix); + public String getAlignmentFrom(AlignFrame alf, String format, String suffix); /** * get a separator separated list of sequence IDs reflecting the order of the @@ -120,7 +117,7 @@ public interface JalviewJSApi * @return */ - public abstract String getAlignmentOrder(); + public String getAlignmentOrder(); /** * get a separator separated list of sequence IDs reflecting the order of the @@ -129,7 +126,7 @@ public interface JalviewJSApi * @param alf * @return */ - public abstract String getAlignmentOrderFrom(AlignFrame alf); + public String getAlignmentOrderFrom(AlignFrame alf); /** * get a sep separated list of sequence IDs reflecting the order of the @@ -140,7 +137,7 @@ public interface JalviewJSApi * - separator to use * @return */ - public abstract String getAlignmentOrderFrom(AlignFrame alf, String sep); + public String getAlignmentOrderFrom(AlignFrame alf, String sep); /** * get current alignment's annotation as an annotation file @@ -148,7 +145,7 @@ public interface JalviewJSApi * @return */ - public abstract String getAnnotation(); + public String getAnnotation(); /** * get alignment view alf's annotation as an annotation file @@ -156,7 +153,7 @@ public interface JalviewJSApi * @param alf * @return */ - public abstract String getAnnotationFrom(AlignFrame alf); + public String getAnnotationFrom(AlignFrame alf); public Object getAppletParameter(String name, boolean asString); @@ -170,7 +167,7 @@ public interface JalviewJSApi * @see jalview.appletgui.AlignFrame#getFeatureGroups(); */ - public abstract String getFeatureGroups(); + public String getFeatureGroups(); /** * @param visible @@ -178,7 +175,7 @@ public interface JalviewJSApi * @see jalview.appletgui.AlignFrame#getFeatureGroupsOfState(boolean); */ - public abstract String getFeatureGroupsOfState(boolean visible); + public String getFeatureGroupsOfState(boolean visible); /** * @param alf @@ -187,8 +184,7 @@ public interface JalviewJSApi * @return * @see jalview.appletgui.AlignFrame#getFeatureGroupsOfState(boolean); */ - public abstract String getFeatureGroupsOfStateOn(AlignFrame alf, - boolean visible); + public String getFeatureGroupsOfStateOn(AlignFrame alf, boolean visible); /** * @param alf @@ -196,7 +192,7 @@ public interface JalviewJSApi * @return * @see jalview.appletgui.AlignFrame#getFeatureGroups(); */ - public abstract String getFeatureGroupsOn(AlignFrame alf); + public String getFeatureGroupsOn(AlignFrame alf); /** * get the sequence features in the given format (Jalview or GFF); @@ -205,7 +201,7 @@ public interface JalviewJSApi * @return */ - public abstract String getFeatures(String format); + public String getFeatures(String format); /** * get the sequence features in alf in the given format (Jalview or GFF); @@ -214,28 +210,11 @@ public interface JalviewJSApi * @param format * @return */ - public abstract String getFeaturesFrom(AlignFrame alf, String format); + public String getFeaturesFrom(AlignFrame alf, String format); public Object getFrameForSource(VamsasSource source); - public Hashtable getJSHashes(); - - /** - * Retrieve fragments of a large packet of data made available by JalviewLite. - * - * @param messageclass - * @param viewId - * @return next chunk of message - */ - - public abstract String getJsMessage(String messageclass, String viewId); - - Hashtable> getJSMessages(); - - public Object getJSObject(); - - public jalview.renderer.seqfeatures.FeatureRenderer getNewFeatureRenderer( - AlignViewportI vp); + public jalview.renderer.seqfeatures.FeatureRenderer getNewFeatureRenderer(AlignViewportI vp); public String getParameter(String name); @@ -244,7 +223,7 @@ public interface JalviewJSApi * 'boolean not' character (""+0x00AC); or (¬); */ - public abstract String getSelectedSequences(); + public SequenceI[] getSelectedSequences(); /** * @param sep @@ -253,7 +232,7 @@ public interface JalviewJSApi * separator string */ - public abstract String getSelectedSequences(String sep); + public SequenceI[] getSelectedSequences(String sep); /** * get sequences selected in current AlignFrame and return their alignment in @@ -269,8 +248,7 @@ public interface JalviewJSApi * current selection */ - public abstract String getSelectedSequencesAsAlignment(String format, - String suffix); + public String getSelectedSequencesAsAlignment(String format, String suffix); /** * get sequences selected in alf and return their alignment in format 'format' @@ -285,8 +263,7 @@ public interface JalviewJSApi * @return selected sequences as flat file or empty string if there was no * current selection */ - public abstract String getSelectedSequencesAsAlignmentFrom(AlignFrame alf, - String format, String suffix); + public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf, String format, String suffix); /** * @param alf @@ -295,7 +272,7 @@ public interface JalviewJSApi * default separator sequence * */ - public abstract String getSelectedSequencesFrom(AlignFrame alf); + public SequenceI[] getSelectedSequencesFrom(AlignFrame alf); // BH incompatibility here -- JalviewLite created an AlignFrame; Jalview // creates an AlignmentPanel @@ -305,7 +282,7 @@ public interface JalviewJSApi // * @return // */ // - // public abstract AlignFrame newView(); + // public AlignFrame newView(); // // /** // * create a new view named name and return the AlignFrame instance @@ -314,7 +291,7 @@ public interface JalviewJSApi // * @return // */ // - // public abstract AlignFrame newView(String name); + // public AlignFrame newView(String name); // // /** // * create a new view on alf and return the AlignFrame instance @@ -322,7 +299,7 @@ public interface JalviewJSApi // * @param alf // * @return // */ - // public abstract AlignFrame newViewFrom(AlignFrame alf); + // public AlignFrame newViewFrom(AlignFrame alf); // // /** // * create a new view named name on alf @@ -331,7 +308,7 @@ public interface JalviewJSApi // * @param name // * @return // */ - // public abstract AlignFrame newViewFrom(AlignFrame alf, String name); + // public AlignFrame newViewFrom(AlignFrame alf, String name); /** * get list of selected sequence IDs separated by given separator @@ -343,12 +320,9 @@ public interface JalviewJSApi * @return String list of selected sequence IDs, each terminated by the given * separator */ - public abstract String getSelectedSequencesFrom(AlignFrame alf, - String sep); + public SequenceI[] getSelectedSequencesFrom(AlignFrame alf, String sep); - public Object[] getSelectionForListener(SequenceGroup seqsel, - ColumnSelection colsel, HiddenColumns hidden, - SelectionSource source, Object alignFrame); + public Object[] getSelectionForListener(SequenceGroup seqsel, ColumnSelection colsel, HiddenColumns hidden, SelectionSource source, Object alignFrame); /** * List separator string @@ -356,7 +330,7 @@ public interface JalviewJSApi * @return the separator */ - public abstract String getSeparator(); + public String getSeparator(); public AlignViewportI getViewport(); @@ -371,8 +345,7 @@ public interface JalviewJSApi * column or unaligned sequence position */ - public abstract void highlight(String sequenceId, String position, - String alignedPosition); + public void highlight(String sequenceId, String position, String alignedPosition); /** * @@ -384,8 +357,7 @@ public interface JalviewJSApi * false, blank or something else - indicate if position is an * alignment column or unaligned sequence position */ - public abstract void highlightIn(AlignFrame alf, String sequenceId, - String position, String alignedPosition); + public void highlightIn(AlignFrame alf, String sequenceId, String position, String alignedPosition); /** * @@ -396,7 +368,7 @@ public interface JalviewJSApi * @return null or new alignment frame */ - public abstract AlignFrame loadAlignment(String text, String title); + public AlignFrame loadAlignment(String text, String title); /** * add the given features or annotation to the current alignment @@ -404,7 +376,7 @@ public interface JalviewJSApi * @param annotation */ - public abstract void loadAnnotation(String annotation); + public void loadAnnotation(String annotation); /** * add the given features or annotation to the given alignment view @@ -412,8 +384,7 @@ public interface JalviewJSApi * @param alf * @param annotation */ - public abstract void loadAnnotationFrom(AlignFrame alf, - String annotation); + public void loadAnnotationFrom(AlignFrame alf, String annotation); /** * parse the given string as a jalview feature or GFF annotation file and @@ -426,8 +397,7 @@ public interface JalviewJSApi * be parsed from the string. */ - public abstract void loadFeatures(String features, - boolean autoenabledisplay); + public void loadFeatures(String features, boolean autoenabledisplay); /** * parse the given string as a jalview feature or GFF annotation file and @@ -441,15 +411,13 @@ public interface JalviewJSApi * be parsed from the string. * @return true if data parsed as features */ - public abstract boolean loadFeaturesFrom(AlignFrame alf, String features, - boolean autoenabledisplay); + public boolean loadFeaturesFrom(AlignFrame alf, String features, boolean autoenabledisplay); public boolean loadScoreFile(String sScoreFile) throws IOException; public void newFeatureSettings(); - public void newStructureView(PDBEntry pdb, SequenceI[] seqs, - String[] chains, DataSourceType protocol); + public void newStructureView(PDBEntry pdb, SequenceI[] seqs, String[] chains, DataSourceType protocol); /** * public static method for JalviewJS API to open a PCAPanel without @@ -474,8 +442,7 @@ public interface JalviewJSApi * @return null, or the string "label.you_need_at_least_n_sequences" if number * of sequences selected is inappropriate */ - public Object openTreePanel(AlignFrame af, String treeType, - String modelName); + public Object openTreePanel(AlignFrame af, String treeType, String modelName); /// in http://www.jalview.org/examples/jalviewLiteJs.html but missing here @@ -495,8 +462,7 @@ public interface JalviewJSApi * @return 'true' if alignment was actually reordered. empty string if * alignment did not contain sequences. */ - public abstract String orderAlignmentBy(AlignFrame alf, String order, - String undoName, String sep); + public String orderAlignmentBy(AlignFrame alf, String order, String undoName, String sep); // get a string array from a list @@ -511,7 +477,7 @@ public interface JalviewJSApi * alignment did not contain sequences. */ - public abstract String orderBy(String order, String undoName); + public String orderBy(String order, String undoName); /** * re-order the current alignment using the given list of sequence IDs @@ -526,7 +492,7 @@ public interface JalviewJSApi * alignment did not contain sequences. */ - public abstract String orderBy(String order, String undoName, String sep); + public String orderBy(String order, String undoName, String sep); /** * process commandline arguments after the JavaScript application has started @@ -534,7 +500,7 @@ public interface JalviewJSApi * @param args * @return */ - Object parseArguments(String[] args); + public Object parseArguments(String[] args); // public boolean getDefaultParameter(String name, boolean def); @@ -549,8 +515,7 @@ public interface JalviewJSApi * @param listener * (may be null); */ - public abstract void removeSelectionListener(AlignFrame af, - String listener); + public void removeSelectionListener(AlignFrame af, String listener); // public void setAlignPdbStructures(boolean defaultParameter); @@ -561,8 +526,7 @@ public interface JalviewJSApi * @param alf * @param leftHandColumn */ - public abstract void scrollViewToColumnIn(AlignFrame alf, - String leftHandColumn); + public void scrollViewToColumnIn(AlignFrame alf, String leftHandColumn); /** * adjust horizontal/vertical scroll to make the given location the top left @@ -572,8 +536,7 @@ public interface JalviewJSApi * @param topRow * @param leftHandColumn */ - public abstract void scrollViewToIn(AlignFrame alf, String topRow, - String leftHandColumn); + public void scrollViewToIn(AlignFrame alf, String topRow, String leftHandColumn); /** * adjust vertical scroll to make the given row the top one for given view @@ -581,7 +544,7 @@ public interface JalviewJSApi * @param alf * @param topRow */ - public abstract void scrollViewToRowIn(AlignFrame alf, String topRow); + public void scrollViewToRowIn(AlignFrame alf, String topRow); /** * select regions of the currrent alignment frame @@ -593,7 +556,7 @@ public interface JalviewJSApi * string */ - public abstract void select(String sequenceIds, String columns); + public void select(String sequenceIds, String columns); /** * select regions of the currrent alignment frame @@ -604,8 +567,7 @@ public interface JalviewJSApi * separator between toselect fields */ - public abstract void select(String sequenceIds, String columns, - String sep); + public void select(String sequenceIds, String columns, String sep); /** * select regions of the given alignment frame @@ -616,8 +578,7 @@ public interface JalviewJSApi * @param sep * separator between toselect fields */ - public abstract void selectIn(AlignFrame alf, String sequenceIds, - String columns); + public void selectIn(AlignFrame alf, String sequenceIds, String columns); /** * select regions of the given alignment frame @@ -628,12 +589,11 @@ public interface JalviewJSApi * @param sep * separator between toselect fields */ - public abstract void selectIn(AlignFrame alf, String sequenceIds, - String columns, String sep); + public void selectIn(AlignFrame alf, String sequenceIds, String columns, String sep); public String[] separatorListToArray(String list); - public abstract void setFeatureGroupState(String groups, boolean state); + public void setFeatureGroupState(String groups, boolean state); public void setFeatureGroupState(String[] groups, boolean state); @@ -648,10 +608,9 @@ public interface JalviewJSApi * @see jalview.appletgui.AlignFrame#setFeatureGroupState(java.lang.String[], * boolean); */ - public abstract void setFeatureGroupStateOn(AlignFrame alf, String groups, - boolean state); + public void setFeatureGroupStateOn(AlignFrame alf, String groups, boolean state); - public abstract void setSelectionListener(AlignFrame af, String listener); + public void setSelectionListener(AlignFrame af, String listener); /** * register a javascript function to handle any alignment selection events. @@ -666,7 +625,7 @@ public interface JalviewJSApi * single number or hyphenated range); that were selected);] */ - public abstract void setSelectionListener(String listener); + public void setSelectionListener(String listener); /** * List separator string @@ -675,9 +634,9 @@ public interface JalviewJSApi * the separator to set. empty string will reset separator to default */ - public abstract void setSeparator(String separator); + public void setSeparator(String separator); - void showOverview(); + public void showOverview(); public void updateForAnnotations();