import jalview.io.AppletFormatAdapter;
import jalview.io.DataSourceType;
import jalview.io.FileFormatI;
+import jalview.io.FileFormats;
import jalview.io.FileParse;
import jalview.io.IdentifyFile;
import jalview.io.JPredFile;
import jalview.javascript.MouseOverStructureListener;
import jalview.structure.SelectionListener;
import jalview.structure.StructureSelectionManager;
+import jalview.util.ColorUtils;
import jalview.util.HttpUtils;
import jalview.util.MessageManager;
* @author $author$
* @version $Revision: 1.92 $
*/
-public class JalviewLite extends Applet implements
- StructureSelectionManagerProvider, JalviewLiteJsApi
+public class JalviewLite extends Applet
+ implements StructureSelectionManagerProvider, JalviewLiteJsApi
{
private static final String TRUE = "true";
final StructureSelectionManagerProvider me = this;
final int pos = apos;
// use vamsas listener to broadcast to all listeners in scope
- if (alignedPosition != null
- && (alignedPosition.trim().length() == 0 || alignedPosition
- .toLowerCase().indexOf("false") > -1))
+ if (alignedPosition != null && (alignedPosition.trim().length() == 0
+ || alignedPosition.toLowerCase().indexOf("false") > -1))
{
java.awt.EventQueue.invokeLater(new Runnable()
{
from--;
} catch (NumberFormatException ex)
{
- System.err
- .println("ERROR: Couldn't parse first integer in range element column selection string '"
+ System.err.println(
+ "ERROR: Couldn't parse first integer in range element column selection string '"
+ cl + "' - format is 'from-to'");
return;
}
to--;
} catch (NumberFormatException ex)
{
- System.err
- .println("ERROR: Couldn't parse second integer in range element column selection string '"
+ System.err.println(
+ "ERROR: Couldn't parse second integer in range element column selection string '"
+ cl + "' - format is 'from-to'");
return;
}
}
else
{
- System.err
- .println("ERROR: Couldn't parse integer from point selection element of column selection string '"
+ System.err.println(
+ "ERROR: Couldn't parse integer from point selection element of column selection string '"
+ cl + "'");
return;
}
SequenceI rs = sel.getSequenceAt(0);
start = rs.findIndex(start);
end = rs.findIndex(end);
- if (csel != null)
- {
- List<Integer> cs = csel.getSelected();
- // note - the following actually clears cs as well, since
- // csel.getSelected returns a reference. Need to check if we need to
- // have a concurrentModification exception thrown here
- csel.clear();
- for (Integer selectedCol : cs)
- {
- csel.addElement(rs.findIndex(selectedCol));
- }
+ List<Integer> cs = new ArrayList<>(csel.getSelected());
+ csel.clear();
+ for (Integer selectedCol : cs)
+ {
+ csel.addElement(rs.findIndex(selectedCol));
}
}
sel.setStartRes(start);
@Override
public void run()
{
- alf.select(sel, csel);
+ alf.select(sel, csel,
+ alf.getAlignViewport().getAlignment().getHiddenColumns());
}
});
}
* String, java.lang.String)
*/
@Override
- public String getSelectedSequencesAsAlignment(String format, String suffix)
+ public String getSelectedSequencesAsAlignment(String format,
+ String suffix)
{
return getSelectedSequencesAsAlignmentFrom(getDefaultTargetFrame(),
format, suffix);
*/
@Override
public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf,
- FileFormatI format, String suffix)
+ String format, String suffix)
{
try
{
+ FileFormatI theFormat = FileFormats.getInstance().forName(format);
boolean seqlimits = suffix.equalsIgnoreCase(TRUE);
if (alf.viewport.getSelectionGroup() != null)
{
// JBPNote: getSelectionAsNewSequence behaviour has changed - this
// method now returns a full copy of sequence data
// TODO consider using getSequenceSelection instead here
- String reply = new AppletFormatAdapter().formatSequences(format,
+ String reply = new AppletFormatAdapter().formatSequences(theFormat,
new Alignment(alf.viewport.getSelectionAsNewSequence()),
seqlimits);
return reply;
}
- } catch (Exception ex)
+ } catch (IllegalArgumentException ex)
{
ex.printStackTrace();
- return "Error retrieving alignment in " + format + " format. ";
+ return "Error retrieving alignment, possibly invalid format specifier: "
+ + format;
}
return "";
}
{
boolean seqlimits = suffix.equalsIgnoreCase(TRUE);
- String reply = new AppletFormatAdapter().formatSequences(format,
+ FileFormatI theFormat = FileFormats.getInstance().forName(format);
+ String reply = new AppletFormatAdapter().formatSequences(theFormat,
alf.viewport.getAlignment(), seqlimits);
return reply;
- } catch (Exception ex)
+ } catch (IllegalArgumentException ex)
{
ex.printStackTrace();
- return "Error retrieving alignment in " + format + " format. ";
+ return "Error retrieving alignment, possibly invalid format specifier: "
+ + format;
}
}
setMouseoverListener(currentAlignFrame, listener);
}
- private Vector<jalview.javascript.JSFunctionExec> javascriptListeners = new Vector<jalview.javascript.JSFunctionExec>();
+ private Vector<jalview.javascript.JSFunctionExec> javascriptListeners = new Vector<>();
/*
* (non-Javadoc)
listener = listener.trim();
if (listener.length() == 0)
{
- System.err
- .println("jalview Javascript error: Ignoring empty function for mouseover listener.");
+ System.err.println(
+ "jalview Javascript error: Ignoring empty function for mouseover listener.");
return;
}
}
if (debug)
{
System.err.println("Added a mouseover listener for "
- + ((af == null) ? "All frames" : "Just views for "
- + af.getAlignViewport().getSequenceSetId()));
+ + ((af == null) ? "All frames"
+ : "Just views for "
+ + af.getAlignViewport().getSequenceSetId()));
System.err.println("There are now " + javascriptListeners.size()
+ " listeners in total.");
}
listener = listener.trim();
if (listener.length() == 0)
{
- System.err
- .println("jalview Javascript error: Ignoring empty function for selection listener.");
+ System.err.println(
+ "jalview Javascript error: Ignoring empty function for selection listener.");
return;
}
}
if (debug)
{
System.err.println("Added a selection listener for "
- + ((af == null) ? "All frames" : "Just views for "
- + af.getAlignViewport().getSequenceSetId()));
+ + ((af == null) ? "All frames"
+ : "Just views for "
+ + af.getAlignViewport().getSequenceSetId()));
System.err.println("There are now " + javascriptListeners.size()
+ " listeners in total.");
}
listener = listener.trim();
if (listener.length() == 0)
{
- System.err
- .println("jalview Javascript error: Ignoring empty function for selection listener.");
+ System.err.println(
+ "jalview Javascript error: Ignoring empty function for selection listener.");
return;
}
}
{
Object lstn = javascriptListeners.elementAt(ms);
JsCallBack lstner = (JsCallBack) lstn;
- if ((af == null || lstner.getAlignFrame() == af)
- && (listener == null || lstner.getListenerFunction().equals(
- listener)))
+ if ((af == null || lstner.getAlignFrame() == af) && (listener == null
+ || lstner.getListenerFunction().equals(listener)))
{
javascriptListeners.removeElement(lstner);
msSize--;
* java.lang.String, java.lang.String)
*/
@Override
- public void mouseOverStructure(final String pdbResNum,
- final String chain, final String pdbfile)
+ public void mouseOverStructure(final String pdbResNum, final String chain,
+ final String pdbfile)
{
final StructureSelectionManagerProvider me = this;
java.awt.EventQueue.invokeLater(new Runnable()
chain, pdbfile);
if (debug)
{
- System.err.println("mouseOver for '" + pdbResNum
- + "' in chain '" + chain + "' in structure '" + pdbfile
- + "'");
+ System.err
+ .println("mouseOver for '" + pdbResNum + "' in chain '"
+ + chain + "' in structure '" + pdbfile + "'");
}
} catch (NumberFormatException e)
{
{
try
{
- alf.scrollTo(new Integer(topRow).intValue(), new Integer(
- leftHandColumn).intValue());
+ alf.scrollTo(new Integer(topRow).intValue(),
+ new Integer(leftHandColumn).intValue());
} catch (Exception ex)
{
} catch (Exception ex)
{
- System.err
- .println("Couldn't parse integer arguments (leftHandColumn='"
+ System.err.println(
+ "Couldn't parse integer arguments (leftHandColumn='"
+ leftHandColumn + "')");
ex.printStackTrace();
}
{
try
{
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- url.openStream()));
+ BufferedReader reader = new BufferedReader(
+ new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null)
{
} catch (Exception ex)
{
- System.err
- .println("Warning: No JalviewLite javascript callbacks available.");
+ System.err.println(
+ "Warning: No JalviewLite javascript callbacks available.");
if (debug)
{
ex.printStackTrace();
}
else
{
- throw new Error(
- MessageManager
- .getString("error.invalid_separator_parameter"));
+ throw new Error(MessageManager
+ .getString("error.invalid_separator_parameter"));
}
}
int r = 255;
{
// do onInit with the JS executor thread
new JSFunctionExec(this).executeJavascriptFunction(true,
- initjscallback, null, "Calling oninit callback '"
- + initjscallback + "'.");
+ initjscallback, null,
+ "Calling oninit callback '" + initjscallback + "'.");
} catch (Exception e)
{
System.err.println("Exception when executing _oninit callback '"
g.fillRect(0, 0, getSize().width, getSize().height);
g.setColor(Color.red);
g.drawString(
- MessageManager.getString("label.jalview_cannot_open_file"),
- 5, 15);
+ MessageManager.getString("label.jalview_cannot_open_file"), 5,
+ 15);
g.drawString("\"" + file + "\"", 5, 30);
}
else if (embedded)
}
if (!jmolAvailable)
{
- System.out
- .println("Jmol not available - Using MCview for structures");
+ System.out.println(
+ "Jmol not available - Using MCview for structures");
}
} catch (java.lang.ClassNotFoundException ex)
{
jmolAvailable = false;
if (debug)
{
- System.err
- .println("Skipping Jmol check. Will use MCView (probably)");
+ System.err.println(
+ "Skipping Jmol check. Will use MCView (probably)");
}
}
checkedForJmol = true;
*/
private void startLoading()
{
- dbgMsg("Loading thread started with:\n>>file\n" + _file + ">>endfile");
+ dbgMsg("Loading thread started with:\n>>file\n" + _file
+ + ">>endfile");
dbgMsg("Loading started.");
if (protocol == DataSourceType.PASTE)
{
- newAlignFrame.setTitle(MessageManager.formatMessage(
- "label.sequences_from", new Object[] { applet
- .getDocumentBase().toString() }));
+ newAlignFrame.setTitle(MessageManager
+ .formatMessage("label.sequences_from", new Object[]
+ { applet.getDocumentBase().toString() }));
}
newAlignFrame.statusBar.setText(MessageManager.formatMessage(
- "label.successfully_loaded_file",
- new Object[] { resolvedFile }));
+ "label.successfully_loaded_file", new Object[]
+ { resolvedFile }));
return newAlignFrame;
}
dbgMsg(">>>Dump finished.");
} catch (Exception e)
{
- System.err
- .println("Exception when trying to dump the content of the file parameter.");
+ System.err.println(
+ "Exception when trying to dump the content of the file parameter.");
e.printStackTrace();
}
}
* related to JAL-434
*/
- applet.setAlignPdbStructures(getDefaultParameter("alignpdbfiles",
- false));
+ applet.setAlignPdbStructures(
+ getDefaultParameter("alignpdbfiles", false));
/*
* <param name="PDBfile" value="1gaq.txt PDB|1GAQ|1GAQ|A PDB|1GAQ|1GAQ|B
* PDB|1GAQ|1GAQ|C">
Vector pdbs = new Vector();
// create a lazy matcher if we're asked to
jalview.analysis.SequenceIdMatcher matcher = (applet
- .getDefaultParameter("relaxedidmatch", false)) ? new jalview.analysis.SequenceIdMatcher(
- alignFrame.getAlignViewport().getAlignment()
- .getSequencesArray()) : null;
+ .getDefaultParameter("relaxedidmatch", false))
+ ? new jalview.analysis.SequenceIdMatcher(
+ alignFrame.getAlignViewport().getAlignment()
+ .getSequencesArray())
+ : null;
String param;
do
String sequence = applet.getParameter("PDBSEQ");
if (sequence != null)
{
- seqs = new SequenceI[] { matcher == null ? (Sequence) alignFrame
- .getAlignViewport().getAlignment().findName(sequence)
+ seqs = new SequenceI[] { matcher == null
+ ? (Sequence) alignFrame.getAlignViewport()
+ .getAlignment().findName(sequence)
: matcher.findIdMatch(sequence) };
}
else
{
param = st.nextToken();
- List<SequenceI> tmp = new ArrayList<SequenceI>();
- List<String> tmp2 = new ArrayList<String>();
+ List<SequenceI> tmp = new ArrayList<>();
+ List<String> tmp2 = new ArrayList<>();
while (st.hasMoreTokens())
{
tmp2.add(st2.nextToken());
seqstring = st2.nextToken();
}
- tmp.add(matcher == null ? (Sequence) alignFrame
- .getAlignViewport().getAlignment()
- .findName(seqstring) : matcher.findIdMatch(seqstring));
+ tmp.add(matcher == null
+ ? (Sequence) alignFrame.getAlignViewport()
+ .getAlignment().findName(seqstring)
+ : matcher.findIdMatch(seqstring));
}
seqs = tmp.toArray(new SequenceI[tmp.size()]);
if (seqs[i] != null)
{
((Sequence) seqs[i]).addPDBId(pdb);
- StructureSelectionManager.getStructureSelectionManager(
- applet).registerPDBEntry(pdb);
+ StructureSelectionManager
+ .getStructureSelectionManager(applet)
+ .registerPDBEntry(pdb);
}
else
{
{
// this may not really be a problem but we give a warning
// anyway
- System.err
- .println("Warning: Possible input parsing error: Null sequence for attachment of PDB (sequence "
+ System.err.println(
+ "Warning: Possible input parsing error: Null sequence for attachment of PDB (sequence "
+ i + ")");
}
}
PDBEntry[] pdb = new PDBEntry[pdbs.size()];
String[][] chains = new String[pdbs.size()][];
String[] protocols = new String[pdbs.size()];
- for (int pdbsi = 0, pdbsiSize = pdbs.size(); pdbsi < pdbsiSize; pdbsi++)
+ for (int pdbsi = 0, pdbsiSize = pdbs
+ .size(); pdbsi < pdbsiSize; pdbsi++)
{
Object[] o = (Object[]) pdbs.elementAt(pdbsi);
pdb[pdbsi] = (PDBEntry) o[0];
{
boolean result = false;
String param = applet.getParameter("jnetfile");
+ if (param == null)
+ {
+ // jnet became jpred around 2016
+ param = applet.getParameter("jpredfile");
+ }
if (param != null)
{
try
JnetAnnotationMaker.add_annotation(predictions,
alignFrame.viewport.getAlignment(), 0, false);
// false == do not add sequence profile from concise output
- SequenceI repseq = alignFrame.viewport.getAlignment()
- .getSequenceAt(0);
- alignFrame.viewport.getAlignment().setSeqrep(repseq);
- ColumnSelection cs = new ColumnSelection();
- cs.hideInsertionsFor(repseq);
- alignFrame.viewport.setColumnSelection(cs);
+
+ alignFrame.viewport.getAlignment().setupJPredAlignment();
+
alignFrame.alignPanel.fontChanged();
alignFrame.alignPanel.setScrollValues(0, 0);
result = true;
}
else
{
- System.err
- .println("Annotations were not added from annotation file '"
+ System.err.println(
+ "Annotations were not added from annotation file '"
+ param + "'");
}
}
{
if (debug)
{
- System.err
- .println("Attempting to load T-COFFEE score file from the scoreFile parameter");
+ System.err.println(
+ "Attempting to load T-COFFEE score file from the scoreFile parameter");
}
result = alignFrame.loadScoreFile(sScoreFile);
if (!result)
{
- System.err
- .println("Failed to parse T-COFFEE parameter as a valid score file ('"
+ System.err.println(
+ "Failed to parse T-COFFEE parameter as a valid score file ('"
+ sScoreFile + "')");
}
} catch (Exception e)
{
return initialAlignFrame;
}
- System.err
- .println("Implementation error: Jalview Applet API cannot work out which AlignFrame to use.");
+ System.err.println(
+ "Implementation error: Jalview Applet API cannot work out which AlignFrame to use.");
return null;
}
}
if (debug)
{
- System.err.println("Empty Array from '" + separator
- + "' separated List");
+ System.err.println(
+ "Empty Array from '" + separator + "' separated List");
}
return null;
}
}
if (debug)
{
- System.err.println("Returning '" + separator
- + "' separated List:\n");
+ System.err
+ .println("Returning '" + separator + "' separated List:\n");
System.err.println(v);
}
return v.toString();
}
if (debug)
{
- System.err.println("Returning empty '" + separator
- + "' separated List\n");
+ System.err.println(
+ "Returning empty '" + separator + "' separated List\n");
}
return "" + separator;
}
@Override
public String getFeatureGroups()
{
- String lst = arrayToSeparatorList(getDefaultTargetFrame()
- .getFeatureGroups());
+ String lst = arrayToSeparatorList(
+ getDefaultTargetFrame().getFeatureGroups());
return lst;
}
@Override
public String getFeatureGroupsOfState(boolean visible)
{
- return arrayToSeparatorList(getDefaultTargetFrame()
- .getFeatureGroupsOfState(visible));
+ return arrayToSeparatorList(
+ getDefaultTargetFrame().getFeatureGroupsOfState(visible));
}
/*
// callInitCallback();
}
- private Hashtable<String, long[]> jshashes = new Hashtable<String, long[]>();
+ private Hashtable<String, long[]> jshashes = new Hashtable<>();
- private Hashtable<String, Hashtable<String, String[]>> jsmessages = new Hashtable<String, Hashtable<String, String[]>>();
+ private Hashtable<String, Hashtable<String, String[]>> jsmessages = new Hashtable<>();
public void setJsMessageSet(String messageclass, String viewId,
String[] colcommands)
Hashtable<String, String[]> msgset = jsmessages.get(messageclass);
if (msgset == null)
{
- msgset = new Hashtable<String, String[]>();
+ msgset = new Hashtable<>();
jsmessages.put(messageclass, msgset);
}
msgset.put(viewId, colcommands);
{
return defcolour;
}
- Color col = jalview.schemes.ColourSchemeProperty
- .getAWTColorFromName(colprop);
+ Color col = ColorUtils.parseColourString(colprop);
if (col == null)
{
- try
- {
- col = new jalview.schemes.UserColourScheme(colprop).findColour('A');
- } catch (Exception ex)
- {
- System.err.println("Couldn't parse '" + colprop
- + "' as a colour for " + colparam);
- col = null;
- }
+ System.err.println("Couldn't parse '" + colprop + "' as a colour for "
+ + colparam);
}
return (col == null) ? defcolour : col;
-
}
public void openJalviewHelpUrl()
String codebase = localref.toString();
String localfile = localref.getFile();
resolvedPath = codebase.substring(0,
- codebase.length() - localfile.length())
- + targetPath;
+ codebase.length() - localfile.length()) + targetPath;
return resolvedPath;
}
}
if (debug)
{
- System.err.println("resolveUrlForLocalOrAbsolute returning "
- + resolvedPath);
+ System.err.println(
+ "resolveUrlForLocalOrAbsolute returning " + resolvedPath);
}
return resolvedPath;
}
// form valid URL
// Should really use docbase, not codebase.
URL prepend;
- url = resolveUrlForLocalOrAbsolute(
- url,
- prepend = getDefaultParameter("resolvetocodebase", false) ? getCodeBase()
+ url = resolveUrlForLocalOrAbsolute(url,
+ prepend = getDefaultParameter("resolvetocodebase", false)
+ ? getCodeBase()
: getDocumentBase());
if (debug)
{
- System.err
- .println("Show url (prepended "
- + prepend
- + " - toggle resolvetocodebase if code/docbase resolution is wrong): "
- + url);
+ System.err.println("Show url (prepended " + prepend
+ + " - toggle resolvetocodebase if code/docbase resolution is wrong): "
+ + url);
}
}
else