package jalview.bin;
import jalview.api.AlignCalcWorkerI;
-import jalview.api.AlignFrameI;
import jalview.api.AlignViewportI;
import jalview.api.JalviewApp;
import jalview.api.StructureSelectionManagerProvider;
* @param args
* open <em>filename</em>
*/
+ @SuppressWarnings("unused")
public static void main(String[] args)
{
- // Platform.startJavaLogging();
+ if (false)
+ {
+ Platform.startJavaLogging();
+ }
getInstance().doMain(args);
}
* .AlignFrame)
*/
@Override
- public String getSelectedSequencesFrom(AlignFrameI alf)
+ public String getSelectedSequencesFrom(AlignFrame alf)
{
if (alf == null)
{
* .AlignFrame, java.lang.String)
*/
@Override
- public String getSelectedSequencesFrom(AlignFrameI alf, String sep)
+ public String getSelectedSequencesFrom(AlignFrame alf, String sep)
{
if (alf == null)
{
}
@Override
- public void highlightIn(AlignFrameI alf, String sequenceId,
+ public void highlightIn(AlignFrame alf, String sequenceId,
String position, String alignedPosition)
{
if (alf == null)
}
@Override
- public void selectIn(AlignFrameI alf, String sequenceIds, String columns)
+ public void selectIn(AlignFrame alf, String sequenceIds, String columns)
{
selectIn(alf, sequenceIds, columns, null);
}
@Override
- public void selectIn(AlignFrameI alf, String sequenceIds, String columns,
+ public void selectIn(AlignFrame alf, String sequenceIds, String columns,
String sep)
{
if (alf == null)
}
@Override
- public String getSelectedSequencesAsAlignmentFrom(AlignFrameI alf,
+ public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf,
String format, String sep)
{
if (alf == null)
}
@Override
- public String getAlignmentOrderFrom(AlignFrameI alf)
+ public String getAlignmentOrderFrom(AlignFrame alf)
{
return getAlignmentFrom(alf, null);
}
@Override
- public String getAlignmentOrderFrom(AlignFrameI alf, String sep)
+ public String getAlignmentOrderFrom(AlignFrame alf, String sep)
{
if (alf == null)
{
}
@Override
- public String orderAlignmentBy(AlignFrameI alf, String order,
+ public String orderAlignmentBy(AlignFrame alf, String order,
String undoName, String sep)
{
if (alf == null)
}
@Override
- public String getAlignmentFrom(AlignFrameI alf, String format)
+ public String getAlignmentFrom(AlignFrame alf, String format)
{
return getAlignmentFrom(alf, format, null);
}
}
@Override
- public String getAlignmentFrom(AlignFrameI alf, String format,
+ public String getAlignmentFrom(AlignFrame alf, String format,
String suffix)
{
return appLoader.getAlignmentFrom(alf, format, suffix);
}
@Override
- public void loadAnnotationFrom(AlignFrameI alf, String annotation)
+ public void loadAnnotationFrom(AlignFrame alf, String annotation)
{
if (alf == null)
{
}
@Override
- public boolean loadFeaturesFrom(AlignFrameI alf, String features,
+ public boolean loadFeaturesFrom(AlignFrame alf, String features,
boolean autoenabledisplay)
{
if (alf == null)
}
@Override
- public String getFeaturesFrom(AlignFrameI alf, String format)
+ public String getFeaturesFrom(AlignFrame alf, String format)
{
if (alf == null)
{
}
@Override
- public String getAnnotationFrom(AlignFrameI alf)
+ public String getAnnotationFrom(AlignFrame alf)
{
if (alf == null)
{
return appLoader.getAnnotationFrom(alf);
}
- @Override
- public AlignFrameI newView()
- {
- return newViewFrom(null, null);
- }
-
- @Override
- public AlignFrameI newView(String name)
- {
- return newViewFrom(null, name);
- }
-
- @Override
- public AlignFrameI newViewFrom(AlignFrameI alf)
- {
- return newViewFrom(alf, null);
- }
+ // @Override
+ // public AlignFrame newView()
+ // {
+ // return newViewFrom(null, null);
+ // }
+ //
+ // @Override
+ // public AlignFrame newView(String name)
+ // {
+ // return newViewFrom(null, name);
+ // }
+ //
+ // @Override
+ // public AlignFrame newViewFrom(AlignFrame alf)
+ // {
+ // return newViewFrom(alf, null);
+ // }
- @Override
- public AlignFrameI newViewFrom(AlignFrameI alf, String name)
- {
- if (alf == null)
- {
- alf = getCurrentAlignFrame();
- }
- return appLoader.newViewFrom(alf, name);
- }
+ // @Override
+ // public AlignFrame newViewFrom(AlignFrame alf, String name)
+ // {
+ // if (alf == null)
+ // {
+ // alf = getCurrentAlignFrame();
+ // }
+ // return appLoader.newViewFrom(alf, name);
+ // }
@Override
- public AlignFrameI loadAlignment(String text, String title)
+ public AlignFrame loadAlignment(String text, String title)
{
return appLoader.loadAlignment(text, AlignFrame.DEFAULT_WIDTH,
AlignFrame.DEFAULT_HEIGHT, title);
}
@Override
- public boolean addPdbFile(AlignFrameI alFrame, String sequenceId,
+ public boolean addPdbFile(AlignFrame alFrame, String sequenceId,
String pdbEntryString, String pdbFile)
{
if (alFrame == null)
}
@Override
- public void scrollViewToIn(AlignFrameI alf, String topRow,
+ public void scrollViewToIn(AlignFrame alf, String topRow,
String leftHandColumn)
{
if (alf == null)
}
@Override
- public void scrollViewToRowIn(AlignFrameI alf, String topRow)
+ public void scrollViewToRowIn(AlignFrame alf, String topRow)
{
if (alf == null)
{
}
@Override
- public void scrollViewToColumnIn(AlignFrameI alf, String leftHandColumn)
+ public void scrollViewToColumnIn(AlignFrame alf, String leftHandColumn)
{
if (alf == null)
{
}
@Override
- public String getFeatureGroupsOn(AlignFrameI alf)
+ public String getFeatureGroupsOn(AlignFrame alf)
{
if (alf == null)
{
}
@Override
- public String getFeatureGroupsOfStateOn(AlignFrameI alf, boolean visible)
+ public String getFeatureGroupsOfStateOn(AlignFrame alf, boolean visible)
{
if (alf == null)
{
}
@Override
- public void setFeatureGroupStateOn(AlignFrameI alf, String groups,
+ public void setFeatureGroupStateOn(AlignFrame alf, String groups,
boolean state)
{
if (alf == null)
}
@Override
- public String getSelectedSequencesAsAlignmentFrom(AlignFrameI alf,
+ public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf,
String format, boolean suffix)
{
if (alf == null)
}
@Override
- public void setMouseoverListener(AlignFrameI af, String listener)
+ public void setMouseoverListener(AlignFrame af, String listener)
{
// TODO Auto-generated method stub
}
@Override
- public void setSelectionListener(AlignFrameI af, String listener)
+ public void setSelectionListener(AlignFrame af, String listener)
{
// TODO Auto-generated method stub
}
@Override
- public void removeJavascriptListener(AlignFrameI af, String listener)
+ public void removeJavascriptListener(AlignFrame af, String listener)
{
// TODO Auto-generated method stub
package jalview.bin;
-import jalview.api.AlignFrameI;
import jalview.api.JalviewApp;
import jalview.api.StructureSelectionManagerProvider;
import jalview.datamodel.Alignment;
return arrayToSeparatorList(array, separator);
}
- public String getSelectedSequencesFrom(AlignFrameI alf, String sep)
+ public String getSelectedSequencesFrom(AlignFrame alf, String sep)
{
StringBuffer result = new StringBuffer("");
if (sep == null || sep.length() == 0)
{
sep = separator; // "+0x00AC;
}
- AlignViewport v = ((AlignFrame) alf).getViewport();
+ AlignViewport v = alf.getViewport();
if (v.getSelectionGroup() != null)
{
SequenceI[] seqs = v.getSelectionGroup()
return result.toString();
}
- public void setFeatureGroupStateOn(final AlignFrameI alf,
+ public void setFeatureGroupStateOn(final AlignFrame alf,
final String groups, boolean state)
{
java.awt.EventQueue.invokeLater(new Runnable()
@Override
public void run()
{
- ((AlignFrame) alf).setFeatureGroupState(
+ alf.setFeatureGroupState(
separatorListToArray(groups, separator), state);
}
});
}
- public String getFeatureGroupsOfStateOn(AlignFrameI alf, boolean visible)
+ public String getFeatureGroupsOfStateOn(AlignFrame alf, boolean visible)
{
return arrayToSeparatorList(
- ((AlignFrame) alf).getFeatureGroupsOfState(visible));
+ alf.getFeatureGroupsOfState(visible));
}
- public void scrollViewToIn(final AlignFrameI alf, final String topRow,
+ public void scrollViewToIn(final AlignFrame alf, final String topRow,
final String leftHandColumn)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
try
{
- ((AlignFrame) alf).scrollTo(new Integer(topRow).intValue(),
- new Integer(leftHandColumn).intValue());
+ alf.scrollTo(Integer.valueOf(topRow).intValue(),
+ Integer.valueOf(leftHandColumn).intValue());
} catch (Exception ex)
{
});
}
- public void scrollViewToRowIn(final AlignFrameI alf, final String topRow)
+ public void scrollViewToRowIn(final AlignFrame alf, final String topRow)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
try
{
- ((AlignFrame) alf).scrollToRow(new Integer(topRow).intValue());
+ alf.scrollToRow(Integer.valueOf(topRow).intValue());
} catch (Exception ex)
{
});
}
- public void scrollViewToColumnIn(final AlignFrameI alf,
+ public void scrollViewToColumnIn(final AlignFrame alf,
final String leftHandColumn)
{
java.awt.EventQueue.invokeLater(new Runnable()
{
try
{
- ((AlignFrame) alf)
- .scrollToColumn(new Integer(leftHandColumn).intValue());
+ alf
+ .scrollToColumn(
+ Integer.valueOf(leftHandColumn).intValue());
} catch (Exception ex)
{
}
- public boolean addPdbFile(AlignFrameI alf, String sequenceId,
+ public boolean addPdbFile(AlignFrame alf, String sequenceId,
String pdbEntryString, String pdbFile)
{
- AlignFrame alFrame = (AlignFrame) alf;
+ AlignFrame alFrame = alf;
SequenceI toaddpdb = alFrame.getViewport().getAlignment()
.findName(sequenceId);
boolean needtoadd = false;
return true;
}
- public AlignFrameI loadAlignment(String text, int width, int height,
+ public AlignFrame loadAlignment(String text, int width, int height,
String title)
{
AlignmentI al = null;
return null;
}
- public String getFeatureGroupsOn(AlignFrameI alf)
+ public String getFeatureGroupsOn(AlignFrame alf)
{
return arrayToSeparatorList(
- ((AlignFrame) alf).getFeatureGroups());
+ alf.getFeatureGroups());
}
- public void highlightIn(final AlignFrameI alf, final String sequenceId,
+ public void highlightIn(final AlignFrame alf, final String sequenceId,
final String position, final String alignedPosition)
{
// TODO: could try to highlight in all alignments if alf==null
jalview.analysis.SequenceIdMatcher matcher = new jalview.analysis.SequenceIdMatcher(
- ((AlignFrame) alf).getViewport().getAlignment()
+ alf.getViewport().getAlignment()
.getSequencesArray());
final SequenceI sq = matcher.findIdMatch(sequenceId);
if (sq != null)
int apos = -1;
try
{
- apos = new Integer(position).intValue();
+ apos = Integer.valueOf(position).intValue();
apos--;
} catch (NumberFormatException ex)
{
}
}
- public void selectIn(final AlignFrameI alf, String sequenceIds,
+ public void selectIn(final AlignFrame alf, String sequenceIds,
String columns, String sep)
{
if (sep == null || sep.length() == 0)
String[] cols = JalviewAppLoader.separatorListToArray(columns, sep);
final SequenceGroup sel = new SequenceGroup();
final ColumnSelection csel = new ColumnSelection();
- AlignmentI al = ((AlignFrame) alf).getViewport().getAlignment();
+ AlignmentI al = alf.getViewport().getAlignment();
jalview.analysis.SequenceIdMatcher matcher = new jalview.analysis.SequenceIdMatcher(
- ((AlignFrame) alf).getViewport().getAlignment()
+ alf.getViewport().getAlignment()
.getSequencesArray());
int start = 0, end = al.getWidth(), alw = al.getWidth();
boolean seqsfound = true;
int from = -1, to = -1;
try
{
- from = new Integer(cl.substring(0, p)).intValue();
+ from = Integer.valueOf(cl.substring(0, p)).intValue();
from--;
} catch (NumberFormatException ex)
{
}
try
{
- to = new Integer(cl.substring(p + 1)).intValue();
+ to = Integer.valueOf(cl.substring(p + 1)).intValue();
to--;
} catch (NumberFormatException ex)
{
int r = -1;
try
{
- r = new Integer(cl).intValue();
+ r = Integer.valueOf(cl).intValue();
r--;
} catch (NumberFormatException ex)
{
@Override
public void run()
{
- ((AlignFrame) alf).select(sel, csel, ((AlignFrame) alf)
+ alf.select(sel, csel, alf
.getCurrentView().getAlignment().getHiddenColumns());
}
});
}
}
- public String getAlignmentOrderFrom(AlignFrameI alf, String sep)
+ public String getAlignmentOrderFrom(AlignFrame alf, String sep)
{
- AlignmentI alorder = ((AlignFrame) alf).getViewport().getAlignment();
+ AlignmentI alorder = alf.getViewport().getAlignment();
String[] order = new String[alorder.getHeight()];
for (int i = 0; i < order.length; i++)
{
return arrayToSeparatorList(order, sep);
}
- public String getSelectedSequencesAsAlignmentFrom(AlignFrameI alf,
+ public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf,
String format, String suffix)
{
try
{
- AlignViewport vp = ((AlignFrame) alf).getViewport();
+ AlignViewport vp = alf.getViewport();
FileFormatI theFormat = FileFormats.getInstance().forName(format);
boolean seqlimits = (suffix == null
|| suffix.equalsIgnoreCase("true"));
return "";
}
- public String orderAlignmentBy(AlignFrameI alf, String order,
+ public String orderAlignmentBy(AlignFrame alf, String order,
String undoName, String sep)
{
if (sep == null || sep.length() == 0)
if (ids != null && ids.length > 0)
{
jalview.analysis.SequenceIdMatcher matcher = new jalview.analysis.SequenceIdMatcher(
- ((AlignFrame) alf).getViewport().getAlignment()
+ alf.getViewport().getAlignment()
.getSequencesArray());
int s = 0;
sqs = new SequenceI[ids.length];
final String _undoName = undoName;
// TODO: deal with synchronization here: cannot raise any events until after
// this has returned.
- return ((AlignFrame) alf).sortBy(aorder, _undoName) ? "true" : "";
+ return alf.sortBy(aorder, _undoName) ? "true" : "";
}
- public String getAlignmentFrom(AlignFrameI alf, String format,
+ public String getAlignmentFrom(AlignFrame alf, String format,
String suffix)
{
try
FileFormatI theFormat = FileFormats.getInstance().forName(format);
String reply = new AppletFormatAdapter().formatSequences(theFormat,
- ((AlignFrame) alf).getViewport().getAlignment(), seqlimits);
+ alf.getViewport().getAlignment(), seqlimits);
return reply;
} catch (IllegalArgumentException ex)
{
}
}
- public void loadAnnotationFrom(AlignFrameI alf, String annotation)
+ public void loadAnnotationFrom(AlignFrame alf, String annotation)
{
if (new AnnotationFile().annotateAlignmentView(
- ((AlignFrame) alf).getViewport(), annotation,
+ alf.getViewport(), annotation,
DataSourceType.PASTE))
{
- ((AlignFrame) alf).alignPanel.fontChanged();
- ((AlignFrame) alf).alignPanel.setScrollValues(0, 0);
+ alf.alignPanel.fontChanged();
+ alf.alignPanel.setScrollValues(0, 0);
}
else
{
- ((AlignFrame) alf).parseFeaturesFile(annotation,
+ alf.parseFeaturesFile(annotation,
DataSourceType.PASTE);
}
}
- public boolean loadFeaturesFrom(AlignFrameI alf, String features,
+ public boolean loadFeaturesFrom(AlignFrame alf, String features,
boolean autoenabledisplay)
{
- boolean ret = ((AlignFrame) alf).parseFeaturesFile(features,
+ boolean ret = alf.parseFeaturesFile(features,
DataSourceType.PASTE);
if (!ret)
{
}
if (autoenabledisplay)
{
- ((AlignFrame) alf).getViewport().setShowSequenceFeatures(true);
+ alf.getViewport().setShowSequenceFeatures(true);
// this next was for a checkbox in JalviewLite
// ((AlignFrame) alf).getViewport().sequenceFeatures.setState(true);
}
return true;
}
- public String getFeaturesFrom(AlignFrameI alf, String format)
+ public String getFeaturesFrom(AlignFrame alf, String format)
{
- AlignFrame f = ((AlignFrame) alf);
+ AlignFrame f = (alf);
String features;
FeaturesFile formatter = new FeaturesFile();
}
- public String getAnnotationFrom(AlignFrameI alf)
+ public String getAnnotationFrom(AlignFrame alf)
{
- AlignFrame f = (AlignFrame) alf;
+ AlignFrame f = alf;
String annotation = new AnnotationFile()
.printAnnotationsForView(f.getViewport());
return annotation;
}
- public AlignFrameI newViewFrom(AlignFrameI alf, String name)
- {
- return (AlignFrameI) ((AlignFrame) alf).newView(name, true);
- }
-
+ // public AlignFrame newViewFrom(AlignFrame alf, String name)
+ // {
+ // return (AlignFrame) alf.newView(name, true);
+ // }
+ //
public String[] separatorListToArray(String list)
{
return separatorListToArray(list, separator);
}
- public Object[] getSelectionForListener(AlignFrameI currentFrame,
+ public Object[] getSelectionForListener(AlignFrame currentFrame,
SequenceGroup seqsel, ColumnSelection colsel,
HiddenColumns hidden, SelectionSource source, Object alignFrame)
{
if (source != null)
{
if (source instanceof AlignViewport
- && ((AlignFrame) currentFrame).getViewport() == source)
+ && currentFrame.getViewport() == source)
{
// should be valid if it just generated an event!
- src = (AlignFrame) currentFrame;
+ src = currentFrame;
}
}
package jalview.bin;
import jalview.gui.AlignFrame;
-import jalview.javascript.JalviewLiteJsApi;
/**
* JAL-3369 JalviewJS API BH 2019.07.17
* @author hansonr
*
*/
-public interface JalviewJSApi extends JalviewLiteJsApi
+public interface JalviewJSApi
{
void showOverview();
*/
public Object openPcaPanel(AlignFrame af, String modelName);
+ /**
+ * The following public methods may be called externally, eg via javascript in
+ * an HTML page.
+ *
+ * <br>
+ * <em>TODO: introduce abstract interface for
+ * jalview.appletgui.AlignFrame</em><br>
+ *
+ * Most function arguments are strings, which contain serialised versions of
+ * lists. Lists of things are separated by a separator character - either the
+ * default or a user supplied one. Ranges and positions on an alignment or
+ * sequence can be specified as a list, where an item containing a single
+ * number is a single position, and an item like 1-2 specifies columns 1 and 2
+ * as a range.
+ */
+
+ // /**
+ // * @author jimp
+ // *
+ // */
+ // public interface JalviewLiteJsApi
+ // {
+
+ /**
+ * @return String list of selected sequence IDs, each terminated by the
+ * 'boolean not' character (""+0x00AC); or (¬);
+ */
+
+ public abstract String getSelectedSequences();
+
+ /**
+ * @param sep
+ * separator string or null for default
+ * @return String list of selected sequence IDs, each terminated by given
+ * separator string
+ */
+
+ public abstract String getSelectedSequences(String sep);
+
+ /**
+ * @param alf
+ * AlignFrame containing selection
+ * @return String list of selected sequence IDs, each terminated by current
+ * default separator sequence
+ *
+ */
+ public abstract String getSelectedSequencesFrom(AlignFrame alf);
+
+ /**
+ * get list of selected sequence IDs separated by given separator
+ *
+ * @param alf
+ * window containing selection
+ * @param sep
+ * separator string to use - default is 'boolean not'
+ * @return String list of selected sequence IDs, each terminated by the given
+ * separator
+ */
+ public abstract String getSelectedSequencesFrom(AlignFrame alf,
+ String sep);
+
+ /**
+ *
+ * @param sequenceId
+ * id of sequence to highlight
+ * @param position
+ * integer position [ tobe implemented or range ] on sequence
+ * @param alignedPosition
+ * true/false/empty string - indicate if position is an alignment
+ * column or unaligned sequence position
+ */
+
+ public abstract void highlight(String sequenceId, String position,
+ String alignedPosition);
+
+ /**
+ *
+ * @param sequenceId
+ * id of sequence to highlight
+ * @param position
+ * integer position [ tobe implemented or range ] on sequence
+ * @param alignedPosition
+ * 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);
+
+ /**
+ * select regions of the currrent alignment frame
+ *
+ * @param sequenceIds
+ * String separated list of sequence ids or empty string
+ * @param columns
+ * String separated list { column range or column, ..} or empty
+ * string
+ */
+
+ public abstract void select(String sequenceIds, String columns);
+
+ /**
+ * select regions of the currrent alignment frame
+ *
+ * @param toselect
+ * String separated list { column range, seq1...seqn sequence ids }
+ * @param sep
+ * separator between toselect fields
+ */
+
+ public abstract void select(String sequenceIds, String columns,
+ String sep);
+
+ /**
+ * select regions of the given alignment frame
+ *
+ * @param alf
+ * @param toselect
+ * String separated list { column range, seq1...seqn sequence ids }
+ * @param sep
+ * separator between toselect fields
+ */
+ public abstract void selectIn(AlignFrame alf, String sequenceIds,
+ String columns);
+
+ /**
+ * select regions of the given alignment frame
+ *
+ * @param alf
+ * @param toselect
+ * String separated list { column range, seq1...seqn sequence ids }
+ * @param sep
+ * separator between toselect fields
+ */
+ public abstract void selectIn(AlignFrame alf, String sequenceIds,
+ String columns, String sep);
+
+ /**
+ * get sequences selected in current AlignFrame and return their alignment in
+ * format 'format' either with or without suffix
+ *
+ * @param alf
+ * - where selection is
+ * @param format
+ * - format of alignment file
+ * @param suffix
+ * - "true" to append /start-end string to each sequence ID
+ * @return selected sequences as flat file or empty string if there was no
+ * current selection
+ */
+
+ public abstract String getSelectedSequencesAsAlignment(String format,
+ String suffix);
+
+ /**
+ * get sequences selected in alf and return their alignment in format 'format'
+ * either with or without suffix
+ *
+ * @param alf
+ * - where selection is
+ * @param format
+ * - format of alignment file
+ * @param suffix
+ * - "true" to append /start-end string to each sequence ID
+ * @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);
+
+ /**
+ * get a separator separated list of sequence IDs reflecting the order of the
+ * current alignment
+ *
+ * @return
+ */
+
+ public abstract String getAlignmentOrder();
+
+ /**
+ * get a separator separated list of sequence IDs reflecting the order of the
+ * alignment in alf
+ *
+ * @param alf
+ * @return
+ */
+ public abstract String getAlignmentOrderFrom(AlignFrame alf);
+
+ /**
+ * get a sep separated list of sequence IDs reflecting the order of the
+ * alignment in alf
+ *
+ * @param alf
+ * @param sep
+ * - separator to use
+ * @return
+ */
+ public abstract String getAlignmentOrderFrom(AlignFrame alf,
+ String sep);
+
+ /**
+ * re-order the current alignment using the given list of sequence IDs
+ *
+ * @param order
+ * - sep separated list
+ * @param undoName
+ * - string to use when referring to ordering action in undo buffer
+ * @return 'true' if alignment was actually reordered. empty string if
+ * alignment did not contain sequences.
+ */
+
+ public abstract String orderBy(String order, String undoName);
+
+ /**
+ * re-order the current alignment using the given list of sequence IDs
+ * separated by sep
+ *
+ * @param order
+ * - sep separated list
+ * @param undoName
+ * - string to use when referring to ordering action in undo buffer
+ * @param sep
+ * @return 'true' if alignment was actually reordered. empty string if
+ * alignment did not contain sequences.
+ */
+
+ public abstract String orderBy(String order, String undoName,
+ String sep);
+
+ /**
+ * re-order the given alignment using the given list of sequence IDs separated
+ * by sep
+ *
+ * @param alf
+ * @param order
+ * - sep separated list
+ * @param undoName
+ * - string to use when referring to ordering action in undo buffer
+ * @param sep
+ * @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);
+
+ /**
+ * get alignment as format (format names FASTA, BLC, CLUSTAL, MSF, PILEUP,
+ * PFAM - see jalview.io.AppletFormatAdapter for full list);
+ *
+ * @param format
+ * @return
+ */
+
+ public abstract String getAlignment(String format);
+
+ /**
+ * get alignment displayed in alf as format
+ *
+ * @param alf
+ * @param format
+ * @return
+ */
+ public abstract String getAlignmentFrom(AlignFrame alf, String format);
+
+ /**
+ * get alignment as format with jalview start-end sequence suffix appended
+ *
+ * @param format
+ * @param suffix
+ * @return
+ */
+
+ public abstract String getAlignment(String format, String suffix);
+
+ /**
+ * get alignment displayed in alf as format with or without the jalview
+ * start-end sequence suffix appended
+ *
+ * @param alf
+ * @param format
+ * @param suffix
+ * @return
+ */
+ public abstract String getAlignmentFrom(AlignFrame alf, String format,
+ String suffix);
+
+ /**
+ * add the given features or annotation to the current alignment
+ *
+ * @param annotation
+ */
+
+ public abstract void loadAnnotation(String annotation);
+
+ /**
+ * add the given features or annotation to the given alignment view
+ *
+ * @param alf
+ * @param annotation
+ */
+ public abstract void loadAnnotationFrom(AlignFrame alf,
+ String annotation);
+
+ /**
+ * parse the given string as a jalview feature or GFF annotation file and
+ * optionally enable feature display on the current AlignFrame
+ *
+ * @param features
+ * - gff or features file
+ * @param autoenabledisplay
+ * - when true, feature display will be enabled if any features can
+ * be parsed from the string.
+ */
+
+ public abstract void loadFeatures(String features,
+ boolean autoenabledisplay);
+
+ /**
+ * parse the given string as a jalview feature or GFF annotation file and
+ * optionally enable feature display on the given AlignFrame.
+ *
+ * @param alf
+ * @param features
+ * - gff or features file
+ * @param autoenabledisplay
+ * - when true, feature display will be enabled if any features can
+ * be parsed from the string.
+ * @return true if data parsed as features
+ */
+ public abstract boolean loadFeaturesFrom(AlignFrame alf, String features,
+ boolean autoenabledisplay);
+
+ /**
+ * get the sequence features in the given format (Jalview or GFF);
+ *
+ * @param format
+ * @return
+ */
+
+ public abstract String getFeatures(String format);
+
+ /**
+ * get the sequence features in alf in the given format (Jalview or GFF);
+ *
+ * @param alf
+ * @param format
+ * @return
+ */
+ public abstract String getFeaturesFrom(AlignFrame alf, String format);
+
+ /**
+ * get current alignment's annotation as an annotation file
+ *
+ * @return
+ */
+
+ public abstract String getAnnotation();
+
+ /**
+ * get alignment view alf's annotation as an annotation file
+ *
+ * @param alf
+ * @return
+ */
+ public abstract String getAnnotationFrom(AlignFrame alf);
+
+ // BH incompatibility here -- JalviewLite created an AlignFrame; Jalview
+ // creates an AlignmentPanel
+ // /**
+ // * create a new view and return the AlignFrame instance
+ // *
+ // * @return
+ // */
+ //
+ // public abstract AlignFrame newView();
+ //
+ // /**
+ // * create a new view named name and return the AlignFrame instance
+ // *
+ // * @param name
+ // * @return
+ // */
+ //
+ // public abstract AlignFrame newView(String name);
+ //
+ // /**
+ // * create a new view on alf and return the AlignFrame instance
+ // *
+ // * @param alf
+ // * @return
+ // */
+ // public abstract AlignFrame newViewFrom(AlignFrame alf);
+ //
+ // /**
+ // * create a new view named name on alf
+ // *
+ // * @param alf
+ // * @param name
+ // * @return
+ // */
+ // public abstract AlignFrame newViewFrom(AlignFrame alf, String name);
+
+ /**
+ *
+ * @param text
+ * alignment file as a string
+ * @param title
+ * window title
+ * @return null or new alignment frame
+ */
+
+ public abstract AlignFrame loadAlignment(String text, String title);
+
+ /**
+ * register a javascript function to handle any alignment mouseover events
+ *
+ * @param listener
+ * name of javascript function (called with arguments
+ * [jalview.appletgui.AlignFrame,String(sequence id);,String(column
+ * in alignment);, String(position in sequence);]
+ */
+
+ public abstract void setMouseoverListener(String listener);
+
+ /**
+ * register a javascript function to handle mouseover events
+ *
+ * @param af
+ * (null or specific AlignFrame for which events are to be listened
+ * for);
+ * @param listener
+ * name of javascript function
+ */
+ public abstract void setMouseoverListener(AlignFrame af,
+ String listener);
+
+ /**
+ * register a javascript function to handle any alignment selection events.
+ * Events are generated when the user completes a selection event, or when the
+ * user deselects all selected regions.
+ *
+ * @param listener
+ * name of javascript function (called with arguments
+ * [jalview.appletgui.AlignFrame, String(sequence set id);,
+ * String(separator separated list of sequences which were
+ * selected);, String(separator separated list of column ranges (i.e.
+ * single number or hyphenated range); that were selected);]
+ */
+
+ public abstract void setSelectionListener(String listener);
+
+ public abstract void setSelectionListener(AlignFrame af,
+ String listener);
+
+ /**
+ * register a javascript function to handle events normally routed to a Jmol
+ * structure viewer.
+ *
+ * @param listener
+ * - javascript function (arguments are variable, see
+ * jalview.javascript.MouseOverStructureListener for full details);
+ * @param modelSet
+ * - separator separated list of PDB file URIs that this viewer is
+ * handling. These files must be in the same order they appear in
+ * Jmol (e.g. first one is frame 1, second is frame 2, etc);.
+ * @see jalview.javascript.MouseOverStructureListener
+ */
+
+ public abstract void setStructureListener(String listener,
+ String modelSet);
+
+ /**
+ * remove any callback using the given listener function and associated with
+ * the given AlignFrame (or null for all callbacks);
+ *
+ * @param af
+ * (may be null);
+ * @param listener
+ * (may be null);
+ */
+ public abstract void removeJavascriptListener(AlignFrame af,
+ String listener);
+
+ /**
+ * send a mouseover message to all the alignment windows associated with the
+ * given residue in the pdbfile
+ *
+ * @param pdbResNum
+ * @param chain
+ * @param pdbfile
+ */
+
+ public abstract void mouseOverStructure(String pdbResNum, String chain,
+ String pdbfile);
+
+ /**
+ * bind a pdb file to a sequence in the given AlignFrame.
+ *
+ * @param alFrame
+ * - null or specific AlignFrame. This specifies the dataset that
+ * will be searched for a seuqence called sequenceId
+ * @param sequenceId
+ * - sequenceId within the dataset.
+ * @param pdbEntryString
+ * - the short name for the PDB file
+ * @param pdbFile
+ * - pdb file - either a URL or a valid PDB file.
+ * @return true if binding was as success TODO: consider making an exception
+ * structure for indicating when PDB parsing or sequenceId location
+ * fails.
+ */
+ public abstract boolean addPdbFile(AlignFrame alFrame, String sequenceId,
+ String pdbEntryString, String pdbFile);
+
+ /**
+ * adjust horizontal/vertical scroll to make the given location the top left
+ * hand corner for the given view
+ *
+ * @param alf
+ * @param topRow
+ * @param leftHandColumn
+ */
+ public abstract void scrollViewToIn(AlignFrame alf, String topRow,
+ String leftHandColumn);
+
+ /**
+ * adjust vertical scroll to make the given row the top one for given view
+ *
+ * @param alf
+ * @param topRow
+ */
+ public abstract void scrollViewToRowIn(AlignFrame alf, String topRow);
+
+ /**
+ * adjust horizontal scroll to make the given column the left one in the given
+ * view
+ *
+ * @param alf
+ * @param leftHandColumn
+ */
+ public abstract void scrollViewToColumnIn(AlignFrame alf,
+ String leftHandColumn);
+
+ /**
+ *
+ * @return
+ * @see jalview.appletgui.AlignFrame#getFeatureGroups();
+ */
+
+ public abstract String getFeatureGroups();
+
+ /**
+ * @param alf
+ * AlignFrame to get feature groups on
+ * @return
+ * @see jalview.appletgui.AlignFrame#getFeatureGroups();
+ */
+ public abstract String getFeatureGroupsOn(AlignFrame alf);
+
+ /**
+ * @param visible
+ * @return
+ * @see jalview.appletgui.AlignFrame#getFeatureGroupsOfState(boolean);
+ */
+
+ public abstract String getFeatureGroupsOfState(boolean visible);
+
+ /**
+ * @param alf
+ * align frame to get groups of state visible
+ * @param visible
+ * @return
+ * @see jalview.appletgui.AlignFrame#getFeatureGroupsOfState(boolean);
+ */
+ public abstract String getFeatureGroupsOfStateOn(AlignFrame alf,
+ boolean visible);
+
+ /**
+ * @param groups
+ * tab separated list of group names
+ * @param state
+ * true or false
+ * @see jalview.appletgui.AlignFrame#setFeatureGroupState(java.lang.String[],
+ * boolean);
+ */
+ public abstract void setFeatureGroupStateOn(AlignFrame alf,
+ String groups,
+ boolean state);
+
+
+ public abstract void setFeatureGroupState(String groups, boolean state);
+
+ /**
+ * List separator string
+ *
+ * @return the separator
+ */
+
+ public abstract String getSeparator();
+
+ /**
+ * List separator string
+ *
+ * @param separator
+ * the separator to set. empty string will reset separator to default
+ */
+
+ public abstract void setSeparator(String separator);
+
+ /**
+ * 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);
+
+ /// in http://www.jalview.org/examples/jalviewLiteJs.html but missing here
+
+ // get selected sequences as alignment as format with or without start-end
+ // suffix
+
+ public String getSelectedSequencesAsAlignment(String format,
+ boolean suffix);
+
+ // get selected sequences as alignment from given view as format with or
+ // without start-end suffix
+ public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf,
+ String format, boolean suffix);
+
+
+ public String arrayToSeparatorList(String[] array);
+
+ // get a string array from a list
+
+ public String[] separatorListToArray(String list);
+
+ // debug flag - controls output to standard out
+ public static boolean debug = false;
+
}
public static final String AUTOASSOCIATE_PDBANDSEQS = "AUTOASSOCIATE_PDBANDSEQS";
+ public static final String BLOSUM62_PCA_FOR_NUCLEOTIDE = "BLOSUM62_PCA_FOR_NUCLEOTIDE";
+
public static final String CENTRE_COLUMN_LABELS = "CENTRE_COLUMN_LABELS";
public static final String CHIMERA_PATH = "CHIMERA_PATH";
public static final List<String> groupURLLinks; // not implemented
- public static final String BLOSUM62_PCA_FOR_NUCLEOTIDE = "BLOSUM62_PCA_FOR_NUCLEOTIDE";
-
public static final String SHOW_IDENTITY = "SHOW_IDENTITY";
public static final String SHOW_FULLSCREEN = "SHOW_FULLSCREEN";