import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingConstants;
-import javax.swing.tree.DefaultMutableTreeNode;
+/**
+ * A panel where the use may choose a database source, and enter one or more
+ * accessions, to retrieve entries from the database.
+ * <p>
+ * If the selected source is Uniprot or PDB, a free text search panel is opened
+ * instead to perform the search and selection.
+ */
public class SequenceFetcher extends JPanel implements Runnable
{
- JLabel dbeg = new JLabel();
-
- JDatabaseTree database;
-
- JButton databaseButt;
-
- JLabel jLabel1 = new JLabel();
-
- JCheckBox replacePunctuation = new JCheckBox();
-
- JButton ok = new JButton();
-
- JButton clear = new JButton();
-
- JButton example = new JButton();
-
- JButton close = new JButton();
-
- JButton back = new JButton();
-
- JPanel jPanel1 = new JPanel();
+ private static jalview.ws.SequenceFetcher sfetch = null;
- JTextArea textArea = new JTextArea();
+ JLabel exampleAccession;
- JScrollPane jScrollPane1 = new JScrollPane();
+ JComboBox<String> database;
- JPanel jPanel2 = new JPanel();
+ JCheckBox replacePunctuation;
- JPanel jPanel3 = new JPanel();
+ JButton okBtn;
- JPanel jPanel4 = new JPanel();
+ JButton exampleBtn;
- BorderLayout borderLayout1 = new BorderLayout();
+ JButton closeBtn;
- BorderLayout borderLayout2 = new BorderLayout();
+ JButton backBtn;
- BorderLayout borderLayout3 = new BorderLayout();
+ JTextArea textArea;
JInternalFrame frame;
AlignFrame alignFrame;
- StringBuffer result;
+ GFTSPanel parentSearchPanel;
- final String noDbSelected = "-- Select Database --";
+ IProgressIndicator progressIndicator;
- private static jalview.ws.SequenceFetcher sfetch = null;
-
- private static boolean _initingFetcher = false;
-
- private static Thread initingThread = null;
-
- public JTextArea getTextArea()
- {
- return textArea;
- }
+ volatile boolean _isConstructing = false;
/**
- * Blocking method that initialises and returns the shared instance of the
- * SequenceFetcher client
+ * Returns the shared instance of the SequenceFetcher client
*
- * @param guiWindow
- * - where the initialisation delay message should be shown
- * @return the singleton instance of the sequence fetcher client
+ * @return
*/
- public static jalview.ws.SequenceFetcher getSequenceFetcherSingleton(
- final IProgressIndicator guiWindow)
+ public static jalview.ws.SequenceFetcher getSequenceFetcherSingleton()
{
- if (_initingFetcher && initingThread != null && initingThread.isAlive())
- {
- if (guiWindow != null)
- {
- guiWindow.setProgressBar(
- MessageManager.getString(
- "status.waiting_sequence_database_fetchers_init"),
- Thread.currentThread().hashCode());
- }
- // initting happening on another thread - so wait around to see if it
- // finishes.
- while (_initingFetcher && initingThread != null
- && initingThread.isAlive())
- {
- try
- {
- Thread.sleep(10);
- } catch (Exception e)
- {
- }
- ;
- }
- if (guiWindow != null)
- {
- guiWindow.setProgressBar(
- MessageManager.getString(
- "status.waiting_sequence_database_fetchers_init"),
- Thread.currentThread().hashCode());
- }
- }
if (sfetch == null)
{
- _initingFetcher = true;
- initingThread = Thread.currentThread();
- /**
- * give a visual indication that sequence fetcher construction is occuring
- */
- if (guiWindow != null)
- {
- guiWindow.setProgressBar(
- MessageManager.getString(
- "status.init_sequence_database_fetchers"),
- Thread.currentThread().hashCode());
- }
-
- jalview.ws.SequenceFetcher sf = new jalview.ws.SequenceFetcher();
- if (guiWindow != null)
- {
- guiWindow.setProgressBar(null, Thread.currentThread().hashCode());
- }
- sfetch = sf;
- _initingFetcher = false;
- initingThread = null;
+ sfetch = new jalview.ws.SequenceFetcher();
}
return sfetch;
}
- private IProgressIndicator progressIndicator;
-
- private volatile boolean _isConstructing = false;
-
- private List<AlignFrame> newAlframes = null;
-
- public SequenceFetcher(IProgressIndicator guiIndic)
- {
- this(guiIndic, null, null);
- }
-
- public SequenceFetcher(IProgressIndicator guiIndic,
- final String selectedDb, final String queryString)
- {
- this._isConstructing = true;
- this.progressIndicator = guiIndic;
- final SequenceFetcher us = this;
- // launch initialiser thread
- Thread sf = new Thread(new Runnable()
- {
-
- @Override
- public void run()
- {
- if (getSequenceFetcherSingleton(progressIndicator) != null)
- {
- us.initGui(progressIndicator, selectedDb, queryString);
- us._isConstructing = false;
- }
- else
- {
- javax.swing.SwingUtilities.invokeLater(new Runnable()
- {
- @Override
- public void run()
- {
- JvOptionPane.showInternalMessageDialog(Desktop.desktop,
- MessageManager.getString(
- "warn.couldnt_create_sequence_fetcher_client"),
- MessageManager.getString(
- "label.couldnt_create_sequence_fetcher"),
- JvOptionPane.ERROR_MESSAGE);
- }
- });
-
- // raise warning dialog
- }
- }
- });
- sf.start();
- }
-
/**
- * blocking call which creates a new sequence fetcher panel, configures it and
- * presses the OK button with the given database and query.
+ * Constructor given a client to receive any status or progress messages
+ * (currently either the Desktop, or an AlignFrame panel)
*
- * @param database
- * @param query
+ * @param guiIndic
*/
- public static List<AlignFrame> fetchAndShow(String database, String query)
+ public SequenceFetcher(IProgressIndicator guiIndic)
{
- final SequenceFetcher sf = new SequenceFetcher(Desktop.instance,
- database, query);
- while (sf._isConstructing)
- {
- try
- {
- Thread.sleep(50);
- } catch (Exception q)
- {
- return Collections.emptyList();
- }
- }
- sf.newAlframes = new ArrayList<>();
- sf.run();
- return sf.newAlframes;
+ this(guiIndic, null, null);
}
- private class DatabaseAuthority extends DefaultMutableTreeNode
- {
-
- };
-
- private class DatabaseSource extends DefaultMutableTreeNode
- {
-
- };
-
/**
- * initialise the database and query for this fetcher panel
+ * Constructor with specified database and accession(s) to retrieve
*
+ * @param guiIndic
* @param selectedDb
- * - string that should correspond to a sequence fetcher
* @param queryString
- * - string that will be entered in the query dialog
- * @return true if UI was configured with valid database and query string
*/
- protected boolean setInitialQuery(String selectedDb, String queryString)
+ public SequenceFetcher(IProgressIndicator guiIndic,
+ final String selectedDb, final String queryString)
{
- if (selectedDb == null || selectedDb.trim().length() == 0)
- {
- return false;
- }
- try
- {
- List<DbSourceProxy> sp = sfetch.getSourceProxy(selectedDb);
- for (DbSourceProxy sourcep : sp)
- {
- if (sourcep.getTier() == 0)
- {
- database.selection = Arrays
- .asList(new DbSourceProxy[]
- { sourcep });
- break;
- }
- }
- if (database.selection == null || database.selection.size() == 0)
- {
- System.err.println(
- "Ignoring fetch parameter db='" + selectedDb + "'");
- return false;
- }
- textArea.setText(queryString);
- } catch (Exception q)
- {
- System.err.println("Ignoring fetch parameter db='" + selectedDb
- + "' and query='" + queryString + "'");
- return false;
- }
- return true;
- }
+ this.progressIndicator = guiIndic;
+ getSequenceFetcherSingleton();
+ this.guiWindow = progressIndicator;
- /**
- * called by thread spawned by constructor
- *
- * @param guiWindow
- * @param queryString
- * @param selectedDb
- */
- private void initGui(IProgressIndicator guiWindow, String selectedDb,
- String queryString)
- {
- this.guiWindow = guiWindow;
- if (guiWindow instanceof AlignFrame)
- {
- alignFrame = (AlignFrame) guiWindow;
- }
- database = new JDatabaseTree(sfetch);
- try
- {
- jbInit();
- /*
- * configure the UI with any query parameters we were called with
- */
- if (!setInitialQuery(selectedDb, queryString))
- {
- /*
- * none provided, so show the database chooser
- */
- database.waitForInput();
- }
- } catch (Exception ex)
+ if (progressIndicator instanceof AlignFrame)
{
- ex.printStackTrace();
+ alignFrame = (AlignFrame) progressIndicator;
}
+ jbInit(selectedDb);
+ textArea.setText(queryString);
+
frame = new JInternalFrame();
frame.setContentPane(this);
- if (Platform.isAMac())
- {
- Desktop.addInternalFrame(frame, getFrameTitle(), false, 400, 240);
- }
- else
- {
- Desktop.addInternalFrame(frame, getFrameTitle(), false, 400, 180);
- }
+ int height = Platform.isAMac() ? 240 : 180;
+ Desktop.addInternalFrame(frame, getFrameTitle(), true, 400, height);
}
private String getFrameTitle()
.getString("label.additional_sequence_fetcher"));
}
- GFTSPanel parentFTSframe = null;
- /**
- * change the buttons so they fit with the FTS panel.
- */
- public void embedWithFTSPanel(GFTSPanel toClose)
- {
- back.setVisible(true);
- parentFTSframe = toClose;
- }
- private void jbInit() throws Exception
+ private void jbInit(String selectedDb)
{
- this.setLayout(borderLayout2);
+ this.setLayout(new BorderLayout());
+ database = new JComboBox<>();
database.setFont(JvSwingUtils.getLabelFont());
- dbeg.setFont(new java.awt.Font("Verdana", Font.BOLD, 11));
- jLabel1.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11));
- jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
- jLabel1.setText(MessageManager
+ database.setPrototypeDisplayValue("ENSEMBLGENOMES ");
+ String[] sources = new jalview.ws.SequenceFetcher().getSupportedDb();
+ Arrays.sort(sources, String.CASE_INSENSITIVE_ORDER);
+ database.addItem(MessageManager.getString("action.select_ddbb"));
+ for (String source : sources)
+ {
+ database.addItem(source);
+ }
+ database.setSelectedItem(selectedDb);
+ if (database.getSelectedIndex() == -1)
+ {
+ database.setSelectedIndex(0);
+ }
+ database.setMaximumRowCount(database.getItemCount());
+ database.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ String currentSelection = (String) database.getSelectedItem();
+ updateExampleQuery(currentSelection);
+
+ if ("pdb".equalsIgnoreCase(currentSelection))
+ {
+ frame.dispose();
+ new PDBFTSPanel(SequenceFetcher.this);
+ }
+ else if ("uniprot".equalsIgnoreCase(currentSelection))
+ {
+ frame.dispose();
+ new UniprotFTSPanel(SequenceFetcher.this);
+ }
+ else
+ {
+ otherSourceAction();
+ }
+ }
+ });
+
+ exampleAccession = new JLabel("");
+ exampleAccession.setFont(new Font("Verdana", Font.BOLD, 11));
+ JLabel jLabel1 = new JLabel(MessageManager
.getString("label.separate_multiple_accession_ids"));
+ jLabel1.setFont(new Font("Verdana", Font.ITALIC, 11));
+ jLabel1.setHorizontalAlignment(SwingConstants.LEFT);
- replacePunctuation.setHorizontalAlignment(SwingConstants.CENTER);
- replacePunctuation
- .setFont(new java.awt.Font("Verdana", Font.ITALIC, 11));
- replacePunctuation.setText(
+ replacePunctuation = new JCheckBox(
MessageManager.getString("label.replace_commas_semicolons"));
- ok.setText(MessageManager.getString("action.ok"));
- ok.addActionListener(new ActionListener()
+ replacePunctuation.setHorizontalAlignment(SwingConstants.LEFT);
+ replacePunctuation.setFont(new Font("Verdana", Font.ITALIC, 11));
+ okBtn = new JButton(MessageManager.getString("action.ok"));
+ okBtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
ok_actionPerformed();
}
});
- clear.setText(MessageManager.getString("action.clear"));
+ JButton clear = new JButton(MessageManager.getString("action.clear"));
clear.addActionListener(new ActionListener()
{
@Override
}
});
- example.setText(MessageManager.getString("label.example"));
- example.addActionListener(new ActionListener()
+ exampleBtn = new JButton(MessageManager.getString("label.example"));
+ exampleBtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
example_actionPerformed();
}
});
- close.setText(MessageManager.getString("action.cancel"));
- close.addActionListener(new ActionListener()
+ closeBtn = new JButton(MessageManager.getString("action.cancel"));
+ closeBtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
close_actionPerformed(e);
}
});
- back.setText(MessageManager.getString("action.back"));
- back.addActionListener(new ActionListener()
+ backBtn = new JButton(MessageManager.getString("action.back"));
+ backBtn.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
- parentFTSframe.btn_back_ActionPerformed();
+ parentSearchPanel.btn_back_ActionPerformed();
}
});
// back not visible unless embedded
- back.setVisible(false);
+ backBtn.setVisible(false);
+
+ textArea = new JTextArea();
textArea.setFont(JvSwingUtils.getLabelFont());
textArea.setLineWrap(true);
textArea.addKeyListener(new KeyAdapter()
}
}
});
- jPanel3.setLayout(borderLayout1);
- borderLayout1.setVgap(5);
- jPanel1.add(back);
- jPanel1.add(example);
- jPanel1.add(clear);
- jPanel1.add(ok);
- jPanel1.add(close);
- jPanel2.setLayout(borderLayout3);
- databaseButt = /*database.getDatabaseSelectorButton();
- final JButton viewdbs =*/new JButton(
- MessageManager.getString("action.select_ddbb"));
- databaseButt.addActionListener(new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent arg0)
- {
- hidePanel();
- database.showDialog();
- }
- });
- databaseButt.setFont(JvSwingUtils.getLabelFont());
- database.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- String currentSelection = database.getSelectedItem();
- if (currentSelection == null)
- {
- close_actionPerformed(null);
- }
-
- showPanel();
-
- if ("pdb".equalsIgnoreCase(currentSelection))
- {
- pdbSourceAction();
- }
- else if ("uniprot".equalsIgnoreCase(currentSelection))
- {
- uniprotSourceAction();
- }
- else
- {
- otherSourceAction();
- }
- database.action = -1;
- }
- });
- dbeg.setText("");
- jPanel2.add(databaseButt, java.awt.BorderLayout.NORTH);
- jPanel2.add(dbeg, java.awt.BorderLayout.CENTER);
+ JPanel actionPanel = new JPanel();
+ actionPanel.add(backBtn);
+ actionPanel.add(exampleBtn);
+ actionPanel.add(clear);
+ actionPanel.add(okBtn);
+ actionPanel.add(closeBtn);
+
+ JPanel databasePanel = new JPanel();
+ databasePanel.setLayout(new BorderLayout());
+ databasePanel.add(database, BorderLayout.NORTH);
+ databasePanel.add(exampleAccession, BorderLayout.CENTER);
JPanel jPanel2a = new JPanel(new BorderLayout());
- jPanel2a.add(jLabel1, java.awt.BorderLayout.NORTH);
- jPanel2a.add(replacePunctuation, java.awt.BorderLayout.SOUTH);
- jPanel2.add(jPanel2a, java.awt.BorderLayout.SOUTH);
- // jPanel2.setPreferredSize(new Dimension())
- jPanel3.add(jScrollPane1, java.awt.BorderLayout.CENTER);
- this.add(jPanel1, java.awt.BorderLayout.SOUTH);
- this.add(jPanel3, java.awt.BorderLayout.CENTER);
- this.add(jPanel2, java.awt.BorderLayout.NORTH);
+ jPanel2a.add(jLabel1, BorderLayout.NORTH);
+ jPanel2a.add(replacePunctuation, BorderLayout.SOUTH);
+ databasePanel.add(jPanel2a, BorderLayout.SOUTH);
+
+ JPanel idsPanel = new JPanel();
+ idsPanel.setLayout(new BorderLayout(0, 5));
+ JScrollPane jScrollPane1 = new JScrollPane();
jScrollPane1.getViewport().add(textArea);
- }
+ idsPanel.add(jScrollPane1, BorderLayout.CENTER);
- private void pdbSourceAction()
- {
- databaseButt.setText(database.getSelectedItem());
- new PDBFTSPanel(this);
- frame.dispose();
+ this.add(actionPanel, BorderLayout.SOUTH);
+ this.add(idsPanel, BorderLayout.CENTER);
+ this.add(databasePanel, BorderLayout.NORTH);
}
- private void uniprotSourceAction()
+ /**
+ * Answers a semi-colon-delimited string with the example query or queries for
+ * the selected database
+ *
+ * @param db
+ * @return
+ */
+ protected String getExampleQueries(String db)
{
- databaseButt.setText(database.getSelectedItem());
- new UniprotFTSPanel(this);
- frame.dispose();
+ StringBuilder sb = new StringBuilder();
+ HashSet<String> hs = new HashSet<>();
+ for (DbSourceProxy dbs : sfetch.getSourceProxy(db))
+ {
+ String tq = dbs.getTestQuery();
+ if (hs.add(tq)) // not a duplicate source
+ {
+ if (sb.length() > 0)
+ {
+ sb.append(";");
+ }
+ sb.append(tq);
+ }
+ }
+ return sb.toString();
}
- private void otherSourceAction()
+ /**
+ * Action on selecting a database other than Uniprot or PDB is to enable or
+ * disable 'Replace commas', and await input in the query field
+ */
+ protected void otherSourceAction()
{
try
{
- databaseButt.setText(database.getSelectedItem()
- + (database.getSelectedSources().size() > 1 ? " (and "
- + database.getSelectedSources().size() + " others)"
- : ""));
- String eq = database.getExampleQueries();
- dbeg.setText(MessageManager.formatMessage("label.example_query_param",
- new String[]
- { eq }));
- // TODO this should be a property of the SequenceFetcher whether commas are and
- // colons are allowed in the IDs...
+ String eq = exampleAccession.getText();
+ // TODO this should be a property of the SequenceFetcher whether commas
+ // are allowed in the IDs...
boolean enablePunct = !(eq != null && eq.indexOf(",") > -1);
replacePunctuation.setEnabled(enablePunct);
} catch (Exception ex)
{
- dbeg.setText("");
+ exampleAccession.setText("");
replacePunctuation.setEnabled(true);
}
- jPanel2.repaint();
+ repaint();
}
+ /**
+ * Sets the text of the example query to incorporate the example accession
+ * provided by the selected database source
+ *
+ * @param selectedDatabase
+ * @return
+ */
+ protected String updateExampleQuery(String selectedDatabase)
+ {
+ String eq = getExampleQueries(selectedDatabase);
+ exampleAccession.setText(MessageManager
+ .formatMessage("label.example_query_param", new String[]
+ { eq }));
+ return eq;
+ }
+
+ /**
+ * Action on clicking the 'Example' button is to write the example accession
+ * as the query text field value
+ */
protected void example_actionPerformed()
{
- DbSourceProxy db = null;
- try
- {
- textArea.setText(database.getExampleQueries());
- } catch (Exception ex)
- {
- }
- jPanel3.repaint();
+ String eq = getExampleQueries((String) database.getSelectedItem());
+ textArea.setText(eq);
+ repaint();
}
+ /**
+ * Clears the query input field
+ */
protected void clear_actionPerformed()
{
textArea.setText("");
- jPanel3.repaint();
+ repaint();
}
- public void close_actionPerformed(ActionEvent e)
+ /**
+ * Action on Close button is to close this frame, and also (if it is embedded
+ * in a search panel) to close the search panel
+ *
+ * @param e
+ */
+ protected void close_actionPerformed(ActionEvent e)
{
try
{
frame.setClosed(true);
- if (parentFTSframe!=null)
+ if (parentSearchPanel != null)
{
- parentFTSframe.btn_cancel_ActionPerformed();
+ parentSearchPanel.btn_cancel_ActionPerformed();
}
} catch (Exception ex)
{
}
}
+ /**
+ * Action on OK is to start the fetch for entered accession(s)
+ */
public void ok_actionPerformed()
{
- databaseButt.setEnabled(false);
- example.setEnabled(false);
+ /*
+ * tidy inputs and check there is something to search for
+ */
+ String text = textArea.getText();
+ if (replacePunctuation.isEnabled() && replacePunctuation.isSelected())
+ {
+ text = text.replace(",", ";");
+ }
+ text = text.replaceAll("(\\s|[,; ])+", ";");
+ textArea.setText(text);
+ if (text.isEmpty())
+ {
+ // todo i18n
+ showErrorMessage(
+ "Please enter a (semi-colon separated list of) database id(s)");
+ resetDialog();
+ return;
+ }
+ exampleBtn.setEnabled(false);
textArea.setEnabled(false);
- ok.setEnabled(false);
- close.setEnabled(false);
- back.setEnabled(false);
+ okBtn.setEnabled(false);
+ closeBtn.setEnabled(false);
+ backBtn.setEnabled(false);
+
Thread worker = new Thread(this);
worker.start();
}
private void resetDialog()
{
- databaseButt.setEnabled(true);
- example.setEnabled(true);
+ exampleBtn.setEnabled(true);
textArea.setEnabled(true);
- ok.setEnabled(true);
- close.setEnabled(true);
- back.setEnabled(parentFTSframe != null);
+ okBtn.setEnabled(true);
+ closeBtn.setEnabled(true);
+ backBtn.setEnabled(parentSearchPanel != null);
}
@Override
public void run()
{
- String error = "";
- if (!database.hasSelection())
- {
- error += "Please select the source database\n";
- }
- // TODO: make this transformation more configurable
- com.stevesoft.pat.Regex empty;
- if (replacePunctuation.isEnabled() && replacePunctuation.isSelected())
- {
- empty = new com.stevesoft.pat.Regex(
- // replace commas and spaces with a semicolon
- "(\\s|[,; ])+", ";");
- }
- else
- {
- // just turn spaces and semicolons into single semicolons
- empty = new com.stevesoft.pat.Regex("(\\s|[; ])+", ";");
- }
- textArea.setText(empty.replaceAll(textArea.getText()));
- // see if there's anthing to search with
- if (!new com.stevesoft.pat.Regex("[A-Za-z0-9_.]")
- .search(textArea.getText()))
- {
- error += "Please enter a (semi-colon separated list of) database id(s)";
- }
- if (error.length() > 0)
- {
- showErrorMessage(error);
- resetDialog();
- return;
- }
- // TODO: Refactor to GUI independent code and write tests.
- // indicate if successive sources should be merged into one alignment.
boolean addToLast = false;
List<String> aresultq = new ArrayList<>();
List<String> presultTitle = new ArrayList<>();
List<AlignmentI> presult = new ArrayList<>();
List<AlignmentI> aresult = new ArrayList<>();
- Iterator<DbSourceProxy> proxies = database.getSelectedSources()
- .iterator();
+ List<DbSourceProxy> sources = sfetch
+ .getSourceProxy((String) database.getSelectedItem());
+ Iterator<DbSourceProxy> proxies = sources.iterator();
String[] qries;
List<String> nextFetch = Arrays
.asList(qries = textArea.getText().split(";"));
AlignFrame.DEFAULT_HEIGHT);
if (currentFileFormat != null)
{
- af.currentFileFormat = currentFileFormat; // WHAT IS THE DEFAULT
- // FORMAT FOR
- // NON-FormatAdapter Sourced
- // Alignments?
+ af.currentFileFormat = currentFileFormat;
}
List<SequenceI> alsqs = al.getSequences();
{
af.hideFeatureColumns(SequenceOntologyI.EXON, false);
}
- if (newAlframes != null)
- {
- newAlframes.add(af);
- }
Desktop.addInternalFrame(af, title, AlignFrame.DEFAULT_WIDTH,
AlignFrame.DEFAULT_HEIGHT);
}
/**
- * Make this panel visible (after a selection has been made in the database
- * chooser)
- */
- void showPanel()
- {
- frame.setVisible(true);
- }
-
- /**
* Hide this panel (on clicking the database button to open the database
* chooser)
*/
frame.setVisible(false);
}
- public void setDatabaseChooserVisible(boolean b)
+ public void setQuery(String ids)
+ {
+ textArea.setText(ids);
+ }
+
+ /**
+ * Called to modify the search panel for embedding as an alternative tab of a
+ * free text search panel. The database choice list is hidden (since the
+ * choice has been made), and a Back button is made visible (which reopens the
+ * Sequence Fetcher panel).
+ *
+ * @param parentPanel
+ */
+ public void embedIn(GFTSPanel parentPanel)
{
- databaseButt.setVisible(b);
+ database.setVisible(false);
+ backBtn.setVisible(true);
+ parentSearchPanel = parentPanel;
}
}
--- /dev/null
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2018.09.18 at 04:36:20 PM BST
+//
+
+package jalview.xml.binding.jalviewBH;
+
+import jalview.schemabinding.version2.AnnotationColourScheme;
+import jalview.schemabinding.version2.WebServiceParameterSet;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+/**
+ * <p>
+ * Java class for JalviewModel complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ *
+ * <pre>
+ * <complexType name="JalviewModel">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="creationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ * <element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="vamsasModel" type="{www.vamsas.ac.uk/jalview/version2}VAMSAS"/>
+ * <sequence>
+ * <element name="JSeq" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="pdbids" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org}pdbentry">
+ * <sequence>
+ * <element name="structureState" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="secondaryStructure" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="JGroup" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+ * <element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="Viewport" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * <element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+ * <attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * <attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="UserColours" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
+ * </sequence>
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="tree" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence minOccurs="0">
+ * <element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="FeatureSettings" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="setting" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+ * <element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="group" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(
+ name = "JalviewModel",
+ namespace = "www.jalview.org",
+ propOrder =
+ { "creationDate", "version", "vamsasModel", "jSeq", "jGroup", "viewport",
+ "userColours", "tree", "featureSettings" })
+public class JalviewModel
+{
+
+ @XmlElement(required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar creationDate;
+
+ @XmlElement(required = true)
+ protected String version;
+
+ @XmlElement(required = true)
+ protected VAMSAS vamsasModel;
+
+ @XmlElement(name = "JSeq")
+ protected List<JalviewModel.JSeq> jSeq;
+
+ @XmlElement(name = "JGroup")
+ protected List<JalviewModel.JGroup> jGroup;
+
+ @XmlElement(name = "Viewport")
+ protected List<JalviewModel.Viewport> viewport;
+
+ @XmlElement(name = "UserColours")
+ protected List<JalviewModel.UserColours> userColours;
+
+ protected List<JalviewModel.Tree> tree;
+
+
+ @XmlElement(nillable=true)
+ protected String bhTest = "bhtest";
+
+ @XmlElement(name = "FeatureSettings")
+ protected JalviewModel.FeatureSettings featureSettings;
+
+ /**
+ * Gets the value of the creationDate property.
+ *
+ * @return possible object is {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getCreationDate()
+ {
+ return creationDate;
+ }
+
+ /**
+ * Sets the value of the creationDate property.
+ *
+ * @param value
+ * allowed object is {@link XMLGregorianCalendar }
+ *
+ */
+ public void setCreationDate(XMLGregorianCalendar value)
+ {
+ this.creationDate = value;
+ }
+
+ /**
+ * Gets the value of the version property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getVersion()
+ {
+ return version;
+ }
+
+ /**
+ * Sets the value of the version property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setVersion(String value)
+ {
+ this.version = value;
+ }
+
+ /**
+ * Gets the value of the vamsasModel property.
+ *
+ * @return possible object is {@link VAMSAS }
+ *
+ */
+ public VAMSAS getVamsasModel()
+ {
+ return vamsasModel;
+ }
+
+ /**
+ * Sets the value of the vamsasModel property.
+ *
+ * @param value
+ * allowed object is {@link VAMSAS }
+ *
+ */
+ public void setVamsasModel(VAMSAS value)
+ {
+ this.vamsasModel = value;
+ }
+
+ /**
+ * Gets the value of the jSeq property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot.
+ * Therefore any modification you make to the returned list will be present
+ * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+ * for the jSeq property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getJSeq().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.JSeq }
+ *
+ *
+ */
+ public List<JalviewModel.JSeq> getJSeq()
+ {
+ if (jSeq == null)
+ {
+ jSeq = new ArrayList<JalviewModel.JSeq>();
+ }
+ return this.jSeq;
+ }
+
+ /**
+ * Gets the value of the jGroup property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot.
+ * Therefore any modification you make to the returned list will be present
+ * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+ * for the jGroup property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getJGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.JGroup }
+ *
+ *
+ */
+ public List<JalviewModel.JGroup> getJGroup()
+ {
+ if (jGroup == null)
+ {
+ jGroup = new ArrayList<JalviewModel.JGroup>();
+ }
+ return this.jGroup;
+ }
+
+ /**
+ * Gets the value of the viewport property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot.
+ * Therefore any modification you make to the returned list will be present
+ * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+ * for the viewport property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getViewport().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.Viewport }
+ *
+ *
+ */
+ public List<JalviewModel.Viewport> getViewport()
+ {
+ if (viewport == null)
+ {
+ viewport = new ArrayList<JalviewModel.Viewport>();
+ }
+ return this.viewport;
+ }
+
+ /**
+ * Gets the value of the userColours property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot.
+ * Therefore any modification you make to the returned list will be present
+ * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+ * for the userColours property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getUserColours().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.UserColours }
+ *
+ *
+ */
+ public List<JalviewModel.UserColours> getUserColours()
+ {
+ if (userColours == null)
+ {
+ userColours = new ArrayList<JalviewModel.UserColours>();
+ }
+ return this.userColours;
+ }
+
+ /**
+ * Gets the value of the tree property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a snapshot.
+ * Therefore any modification you make to the returned list will be present
+ * inside the JAXB object. This is why there is not a <CODE>set</CODE> method
+ * for the tree property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getTree().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.Tree }
+ *
+ *
+ */
+ public List<JalviewModel.Tree> getTree()
+ {
+ if (tree == null)
+ {
+ tree = new ArrayList<JalviewModel.Tree>();
+ }
+ return this.tree;
+ }
+
+ /**
+ * Gets the value of the featureSettings property.
+ *
+ * @return possible object is {@link JalviewModel.FeatureSettings }
+ *
+ */
+ public JalviewModel.FeatureSettings getFeatureSettings()
+ {
+ return featureSettings;
+ }
+
+ /**
+ * Sets the value of the featureSettings property.
+ *
+ * @param value
+ * allowed object is {@link JalviewModel.FeatureSettings }
+ *
+ */
+ public void setFeatureSettings(JalviewModel.FeatureSettings value)
+ {
+ this.featureSettings = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="setting" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+ * <element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="group" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "setting", "group" })
+ public static class FeatureSettings
+ {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModel.FeatureSettings.Setting> setting;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModel.FeatureSettings.Group> group;
+
+ /**
+ * Gets the value of the setting property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the setting property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSetting().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.FeatureSettings.Setting }
+ *
+ *
+ */
+ public List<JalviewModel.FeatureSettings.Setting> getSetting()
+ {
+ if (setting == null)
+ {
+ setting = new ArrayList<JalviewModel.FeatureSettings.Setting>();
+ }
+ return this.setting;
+ }
+
+ /**
+ * Gets the value of the group property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the group property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getGroup().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.FeatureSettings.Group }
+ *
+ *
+ */
+ public List<JalviewModel.FeatureSettings.Group> getGroup()
+ {
+ if (group == null)
+ {
+ group = new ArrayList<JalviewModel.FeatureSettings.Group>();
+ }
+ return this.group;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class Group
+ {
+
+ @XmlAttribute(name = "name", required = true)
+ protected String name;
+
+ @XmlAttribute(name = "display", required = true)
+ protected boolean display;
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value)
+ {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the display property.
+ *
+ */
+ public boolean isDisplay()
+ {
+ return display;
+ }
+
+ /**
+ * Sets the value of the display property.
+ *
+ */
+ public void setDisplay(boolean value)
+ {
+ this.display = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="2" minOccurs="0"/>
+ * <element name="matcherSet" type="{www.jalview.org/colours}FeatureMatcherSet" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="display" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="order" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="mincolour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="noValueColour" type="{www.jalview.org/colours}NoValueColour" default="Min" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="threshstate" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="max" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="min" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="colourByLabel" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="autoScale" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "attributeName", "matcherSet" })
+ public static class Setting
+ {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<String> attributeName;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected Object/*FeatureMatcherSet*/ matcherSet;
+
+ @XmlAttribute(name = "type", required = true)
+ protected String type;
+
+ @XmlAttribute(name = "colour", required = true)
+ protected int colour;
+
+ @XmlAttribute(name = "display", required = true)
+ protected boolean display;
+
+ @XmlAttribute(name = "order")
+ protected Float order;
+
+ @XmlAttribute(name = "mincolour")
+ protected Integer mincolour;
+
+ @XmlAttribute(name = "noValueColour")
+ protected Object/*NoValueColour*/ noValueColour;
+
+ @XmlAttribute(name = "threshold")
+ protected Float threshold;
+
+ @XmlAttribute(name = "threshstate")
+ protected Integer threshstate;
+
+ @XmlAttribute(name = "max")
+ protected Float max;
+
+ @XmlAttribute(name = "min")
+ protected Float min;
+
+ @XmlAttribute(name = "colourByLabel")
+ protected Boolean colourByLabel;
+
+ @XmlAttribute(name = "autoScale")
+ protected Boolean autoScale;
+
+ /**
+ * Gets the value of the attributeName property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the attributeName property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getAttributeName().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String
+ * }
+ *
+ *
+ */
+ public List<String> getAttributeName()
+ {
+ if (attributeName == null)
+ {
+ attributeName = new ArrayList<String>();
+ }
+ return this.attributeName;
+ }
+
+ /**
+ * Gets the value of the matcherSet property.
+ *
+ * @return possible object is {@link FeatureMatcherSet }
+ *
+ */
+ public Object/*FeatureMatcherSet*/ getMatcherSet()
+ {
+ return matcherSet;
+ }
+
+ /**
+ * Sets the value of the matcherSet property.
+ *
+ * @param value
+ * allowed object is {@link FeatureMatcherSet }
+ *
+ */
+ public void setMatcherSet(Object/*FeatureMatcherSet*/ value)
+ {
+ this.matcherSet = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setType(String value)
+ {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the colour property.
+ *
+ */
+ public int getColour()
+ {
+ return colour;
+ }
+
+ /**
+ * Sets the value of the colour property.
+ *
+ */
+ public void setColour(int value)
+ {
+ this.colour = value;
+ }
+
+ /**
+ * Gets the value of the display property.
+ *
+ */
+ public boolean isDisplay()
+ {
+ return display;
+ }
+
+ /**
+ * Sets the value of the display property.
+ *
+ */
+ public void setDisplay(boolean value)
+ {
+ this.display = value;
+ }
+
+ /**
+ * Gets the value of the order property.
+ *
+ * @return possible object is {@link Float }
+ *
+ */
+ public Float getOrder()
+ {
+ return order;
+ }
+
+ /**
+ * Sets the value of the order property.
+ *
+ * @param value
+ * allowed object is {@link Float }
+ *
+ */
+ public void setOrder(Float value)
+ {
+ this.order = value;
+ }
+
+ /**
+ * Gets the value of the mincolour property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getMincolour()
+ {
+ return mincolour;
+ }
+
+ /**
+ * Sets the value of the mincolour property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setMincolour(Integer value)
+ {
+ this.mincolour = value;
+ }
+
+ /**
+ * Gets the value of the noValueColour property.
+ *
+ * @return possible object is {@link NoValueColour }
+ *
+ */
+ public Object/*NoValueColour*/ getNoValueColour()
+ {
+ if (noValueColour == null)
+ {
+ return null/* NoValueColour */;// NoValueColour.MIN;
+ }
+ else
+ {
+ return noValueColour;
+ }
+ }
+
+ /**
+ * Sets the value of the noValueColour property.
+ *
+ * @param value
+ * allowed object is {@link NoValueColour }
+ *
+ */
+ public void setNoValueColour(Object/*NoValueColour*/ value)
+ {
+ this.noValueColour = value;
+ }
+
+ /**
+ * Gets the value of the threshold property.
+ *
+ * @return possible object is {@link Float }
+ *
+ */
+ public Float getThreshold()
+ {
+ return threshold;
+ }
+
+ /**
+ * Sets the value of the threshold property.
+ *
+ * @param value
+ * allowed object is {@link Float }
+ *
+ */
+ public void setThreshold(Float value)
+ {
+ this.threshold = value;
+ }
+
+ /**
+ * Gets the value of the threshstate property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getThreshstate()
+ {
+ return threshstate;
+ }
+
+ /**
+ * Sets the value of the threshstate property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setThreshstate(Integer value)
+ {
+ this.threshstate = value;
+ }
+
+ /**
+ * Gets the value of the max property.
+ *
+ * @return possible object is {@link Float }
+ *
+ */
+ public Float getMax()
+ {
+ return max;
+ }
+
+ /**
+ * Sets the value of the max property.
+ *
+ * @param value
+ * allowed object is {@link Float }
+ *
+ */
+ public void setMax(Float value)
+ {
+ this.max = value;
+ }
+
+ /**
+ * Gets the value of the min property.
+ *
+ * @return possible object is {@link Float }
+ *
+ */
+ public Float getMin()
+ {
+ return min;
+ }
+
+ /**
+ * Sets the value of the min property.
+ *
+ * @param value
+ * allowed object is {@link Float }
+ *
+ */
+ public void setMin(Float value)
+ {
+ this.min = value;
+ }
+
+ /**
+ * Gets the value of the colourByLabel property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isColourByLabel()
+ {
+ return colourByLabel;
+ }
+
+ /**
+ * Sets the value of the colourByLabel property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setColourByLabel(Boolean value)
+ {
+ this.colourByLabel = value;
+ }
+
+ /**
+ * Gets the value of the autoScale property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isAutoScale()
+ {
+ return autoScale;
+ }
+
+ /**
+ * Sets the value of the autoScale property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setAutoScale(Boolean value)
+ {
+ this.autoScale = value;
+ }
+
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="seq" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded"/>
+ * <element name="annotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * </sequence>
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="outlineColour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="displayBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="displayText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="colourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "seq", "annotationColours" })
+ public static class JGroup
+ {
+
+ @XmlElement(namespace = "www.jalview.org", required = true)
+ protected List<String> seq;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected AnnotationColourScheme annotationColours;
+
+ @XmlAttribute(name = "start")
+ protected Integer start;
+
+ @XmlAttribute(name = "end")
+ protected Integer end;
+
+ @XmlAttribute(name = "name")
+ protected String name;
+
+ @XmlAttribute(name = "colour")
+ protected String colour;
+
+ @XmlAttribute(name = "consThreshold")
+ protected Integer consThreshold;
+
+ @XmlAttribute(name = "pidThreshold")
+ protected Integer pidThreshold;
+
+ @XmlAttribute(name = "outlineColour")
+ protected Integer outlineColour;
+
+ @XmlAttribute(name = "displayBoxes")
+ protected Boolean displayBoxes;
+
+ @XmlAttribute(name = "displayText")
+ protected Boolean displayText;
+
+ @XmlAttribute(name = "colourText")
+ protected Boolean colourText;
+
+ @XmlAttribute(name = "textCol1")
+ protected Integer textCol1;
+
+ @XmlAttribute(name = "textCol2")
+ protected Integer textCol2;
+
+ @XmlAttribute(name = "textColThreshold")
+ protected Integer textColThreshold;
+
+ @XmlAttribute(name = "showUnconserved")
+ protected Boolean showUnconserved;
+
+ @XmlAttribute(name = "ignoreGapsinConsensus")
+ protected Boolean ignoreGapsinConsensus;
+
+ @XmlAttribute(name = "showConsensusHistogram")
+ protected Boolean showConsensusHistogram;
+
+ @XmlAttribute(name = "showSequenceLogo")
+ protected Boolean showSequenceLogo;
+
+ @XmlAttribute(name = "normaliseSequenceLogo")
+ protected Boolean normaliseSequenceLogo;
+
+ @XmlAttribute(name = "id")
+ protected String id;
+
+ /**
+ * Gets the value of the seq property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the seq property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSeq().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link String }
+ *
+ *
+ */
+ public List<String> getSeq()
+ {
+ if (seq == null)
+ {
+ seq = new ArrayList<String>();
+ }
+ return this.seq;
+ }
+
+ /**
+ * Gets the value of the annotationColours property.
+ *
+ * @return possible object is {@link AnnotationColourScheme }
+ *
+ */
+ public AnnotationColourScheme getAnnotationColours()
+ {
+ return annotationColours;
+ }
+
+ /**
+ * Sets the value of the annotationColours property.
+ *
+ * @param value
+ * allowed object is {@link AnnotationColourScheme }
+ *
+ */
+ public void setAnnotationColours(AnnotationColourScheme value)
+ {
+ this.annotationColours = value;
+ }
+
+ /**
+ * Gets the value of the start property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getStart()
+ {
+ return start;
+ }
+
+ /**
+ * Sets the value of the start property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setStart(Integer value)
+ {
+ this.start = value;
+ }
+
+ /**
+ * Gets the value of the end property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getEnd()
+ {
+ return end;
+ }
+
+ /**
+ * Sets the value of the end property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setEnd(Integer value)
+ {
+ this.end = value;
+ }
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(String value)
+ {
+ this.name = value;
+ }
+
+ /**
+ * Gets the value of the colour property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getColour()
+ {
+ return colour;
+ }
+
+ /**
+ * Sets the value of the colour property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setColour(String value)
+ {
+ this.colour = value;
+ }
+
+ /**
+ * Gets the value of the consThreshold property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getConsThreshold()
+ {
+ return consThreshold;
+ }
+
+ /**
+ * Sets the value of the consThreshold property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setConsThreshold(Integer value)
+ {
+ this.consThreshold = value;
+ }
+
+ /**
+ * Gets the value of the pidThreshold property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getPidThreshold()
+ {
+ return pidThreshold;
+ }
+
+ /**
+ * Sets the value of the pidThreshold property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setPidThreshold(Integer value)
+ {
+ this.pidThreshold = value;
+ }
+
+ /**
+ * Gets the value of the outlineColour property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getOutlineColour()
+ {
+ return outlineColour;
+ }
+
+ /**
+ * Sets the value of the outlineColour property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setOutlineColour(Integer value)
+ {
+ this.outlineColour = value;
+ }
+
+ /**
+ * Gets the value of the displayBoxes property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isDisplayBoxes()
+ {
+ return displayBoxes;
+ }
+
+ /**
+ * Sets the value of the displayBoxes property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setDisplayBoxes(Boolean value)
+ {
+ this.displayBoxes = value;
+ }
+
+ /**
+ * Gets the value of the displayText property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isDisplayText()
+ {
+ return displayText;
+ }
+
+ /**
+ * Sets the value of the displayText property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setDisplayText(Boolean value)
+ {
+ this.displayText = value;
+ }
+
+ /**
+ * Gets the value of the colourText property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isColourText()
+ {
+ return colourText;
+ }
+
+ /**
+ * Sets the value of the colourText property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setColourText(Boolean value)
+ {
+ this.colourText = value;
+ }
+
+ /**
+ * Gets the value of the textCol1 property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getTextCol1()
+ {
+ return textCol1;
+ }
+
+ /**
+ * Sets the value of the textCol1 property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setTextCol1(Integer value)
+ {
+ this.textCol1 = value;
+ }
+
+ /**
+ * Gets the value of the textCol2 property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getTextCol2()
+ {
+ return textCol2;
+ }
+
+ /**
+ * Sets the value of the textCol2 property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setTextCol2(Integer value)
+ {
+ this.textCol2 = value;
+ }
+
+ /**
+ * Gets the value of the textColThreshold property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getTextColThreshold()
+ {
+ return textColThreshold;
+ }
+
+ /**
+ * Sets the value of the textColThreshold property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setTextColThreshold(Integer value)
+ {
+ this.textColThreshold = value;
+ }
+
+ /**
+ * Gets the value of the showUnconserved property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowUnconserved()
+ {
+ return showUnconserved;
+ }
+
+ /**
+ * Sets the value of the showUnconserved property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowUnconserved(Boolean value)
+ {
+ this.showUnconserved = value;
+ }
+
+ /**
+ * Gets the value of the ignoreGapsinConsensus property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isIgnoreGapsinConsensus()
+ {
+ if (ignoreGapsinConsensus == null)
+ {
+ return true;
+ }
+ else
+ {
+ return ignoreGapsinConsensus;
+ }
+ }
+
+ /**
+ * Sets the value of the ignoreGapsinConsensus property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIgnoreGapsinConsensus(Boolean value)
+ {
+ this.ignoreGapsinConsensus = value;
+ }
+
+ /**
+ * Gets the value of the showConsensusHistogram property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isShowConsensusHistogram()
+ {
+ if (showConsensusHistogram == null)
+ {
+ return true;
+ }
+ else
+ {
+ return showConsensusHistogram;
+ }
+ }
+
+ /**
+ * Sets the value of the showConsensusHistogram property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowConsensusHistogram(Boolean value)
+ {
+ this.showConsensusHistogram = value;
+ }
+
+ /**
+ * Gets the value of the showSequenceLogo property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isShowSequenceLogo()
+ {
+ if (showSequenceLogo == null)
+ {
+ return false;
+ }
+ else
+ {
+ return showSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the showSequenceLogo property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowSequenceLogo(Boolean value)
+ {
+ this.showSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the normaliseSequenceLogo property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isNormaliseSequenceLogo()
+ {
+ if (normaliseSequenceLogo == null)
+ {
+ return false;
+ }
+ else
+ {
+ return normaliseSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the normaliseSequenceLogo property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setNormaliseSequenceLogo(Boolean value)
+ {
+ this.normaliseSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value)
+ {
+ this.id = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="features" type="{www.jalview.org}feature" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="pdbids" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org}pdbentry">
+ * <sequence>
+ * <element name="structureState" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="hiddenSequences" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
+ * <element name="rnaViewer" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="secondaryStructure" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attribute name="colour" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="start" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="hidden" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewreference" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(
+ name = "",
+ propOrder =
+ { "features", "pdbids", "hiddenSequences", "rnaViewer" })
+ public static class JSeq
+ {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<Object/*Feature*/> features;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModel.JSeq.Pdbids> pdbids;
+
+ @XmlElement(namespace = "www.jalview.org", type = Integer.class)
+ protected List<Integer> hiddenSequences;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModel.JSeq.RnaViewer> rnaViewer;
+
+ @XmlAttribute(name = "colour")
+ protected Integer colour;
+
+ @XmlAttribute(name = "start", required = true)
+ protected int start;
+
+ @XmlAttribute(name = "end", required = true)
+ protected int end;
+
+ @XmlAttribute(name = "id", required = true)
+ protected String id;
+
+ @XmlAttribute(name = "hidden")
+ protected Boolean hidden;
+
+ @XmlAttribute(name = "viewreference")
+ protected Boolean viewreference;
+
+ /**
+ * Gets the value of the features property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the features property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getFeatures().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Feature }
+ *
+ *
+ */
+ public List<Object/*Feature*/> getFeatures()
+ {
+ if (features == null)
+ {
+ features = new ArrayList<Object/*Feature*/>();
+ }
+ return this.features;
+ }
+
+ /**
+ * Gets the value of the pdbids property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the pdbids property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getPdbids().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.JSeq.Pdbids }
+ *
+ *
+ */
+ public List<JalviewModel.JSeq.Pdbids> getPdbids()
+ {
+ if (pdbids == null)
+ {
+ pdbids = new ArrayList<JalviewModel.JSeq.Pdbids>();
+ }
+ return this.pdbids;
+ }
+
+ /**
+ * Gets the value of the hiddenSequences property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the hiddenSequences property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getHiddenSequences().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link Integer }
+ *
+ *
+ */
+ public List<Integer> getHiddenSequences()
+ {
+ if (hiddenSequences == null)
+ {
+ hiddenSequences = new ArrayList<Integer>();
+ }
+ return this.hiddenSequences;
+ }
+
+ /**
+ * Gets the value of the rnaViewer property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the rnaViewer property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getRnaViewer().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.JSeq.RnaViewer }
+ *
+ *
+ */
+ public List<JalviewModel.JSeq.RnaViewer> getRnaViewer()
+ {
+ if (rnaViewer == null)
+ {
+ rnaViewer = new ArrayList<JalviewModel.JSeq.RnaViewer>();
+ }
+ return this.rnaViewer;
+ }
+
+ /**
+ * Gets the value of the colour property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getColour()
+ {
+ return colour;
+ }
+
+ /**
+ * Sets the value of the colour property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setColour(Integer value)
+ {
+ this.colour = value;
+ }
+
+ /**
+ * Gets the value of the start property.
+ *
+ */
+ public int getStart()
+ {
+ return start;
+ }
+
+ /**
+ * Sets the value of the start property.
+ *
+ */
+ public void setStart(int value)
+ {
+ this.start = value;
+ }
+
+ /**
+ * Gets the value of the end property.
+ *
+ */
+ public int getEnd()
+ {
+ return end;
+ }
+
+ /**
+ * Sets the value of the end property.
+ *
+ */
+ public void setEnd(int value)
+ {
+ this.end = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value)
+ {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the hidden property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isHidden()
+ {
+ return hidden;
+ }
+
+ /**
+ * Sets the value of the hidden property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setHidden(Boolean value)
+ {
+ this.hidden = value;
+ }
+
+ /**
+ * Gets the value of the viewreference property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isViewreference()
+ {
+ return viewreference;
+ }
+
+ /**
+ * Sets the value of the viewreference property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setViewreference(Boolean value)
+ {
+ this.viewreference = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org}pdbentry">
+ * <sequence>
+ * <element name="structureState" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "structureState" })
+ public static class Pdbids //extends Pdbentry
+ {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModel.JSeq.Pdbids.StructureState> structureState;
+
+ /**
+ * Gets the value of the structureState property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the structureState property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getStructureState().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.JSeq.Pdbids.StructureState }
+ *
+ *
+ */
+ public List<JalviewModel.JSeq.Pdbids.StructureState> getStructureState()
+ {
+ if (structureState == null)
+ {
+ structureState = new ArrayList<JalviewModel.JSeq.Pdbids.StructureState>();
+ }
+ return this.structureState;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="visible" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="alignwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="colourwithAlignPanel" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="colourByJmol" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class StructureState
+ {
+
+ @XmlValue
+ protected String value;
+
+ @XmlAttribute(name = "visible")
+ protected Boolean visible;
+
+ @XmlAttribute(name = "viewId")
+ protected String viewId;
+
+ @XmlAttribute(name = "alignwithAlignPanel")
+ protected Boolean alignwithAlignPanel;
+
+ @XmlAttribute(name = "colourwithAlignPanel")
+ protected Boolean colourwithAlignPanel;
+
+ @XmlAttribute(name = "colourByJmol")
+ protected Boolean colourByJmol;
+
+ @XmlAttribute(name = "type")
+ protected String type;
+
+ @XmlAttribute(name = "width")
+ protected Integer width;
+
+ @XmlAttribute(name = "height")
+ protected Integer height;
+
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the visible property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isVisible()
+ {
+ return visible;
+ }
+
+ /**
+ * Sets the value of the visible property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setVisible(Boolean value)
+ {
+ this.visible = value;
+ }
+
+ /**
+ * Gets the value of the viewId property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getViewId()
+ {
+ return viewId;
+ }
+
+ /**
+ * Sets the value of the viewId property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setViewId(String value)
+ {
+ this.viewId = value;
+ }
+
+ /**
+ * Gets the value of the alignwithAlignPanel property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isAlignwithAlignPanel()
+ {
+ if (alignwithAlignPanel == null)
+ {
+ return true;
+ }
+ else
+ {
+ return alignwithAlignPanel;
+ }
+ }
+
+ /**
+ * Sets the value of the alignwithAlignPanel property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setAlignwithAlignPanel(Boolean value)
+ {
+ this.alignwithAlignPanel = value;
+ }
+
+ /**
+ * Gets the value of the colourwithAlignPanel property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isColourwithAlignPanel()
+ {
+ if (colourwithAlignPanel == null)
+ {
+ return false;
+ }
+ else
+ {
+ return colourwithAlignPanel;
+ }
+ }
+
+ /**
+ * Sets the value of the colourwithAlignPanel property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setColourwithAlignPanel(Boolean value)
+ {
+ this.colourwithAlignPanel = value;
+ }
+
+ /**
+ * Gets the value of the colourByJmol property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isColourByJmol()
+ {
+ if (colourByJmol == null)
+ {
+ return true;
+ }
+ else
+ {
+ return colourByJmol;
+ }
+ }
+
+ /**
+ * Sets the value of the colourByJmol property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setColourByJmol(Boolean value)
+ {
+ this.colourByJmol = value;
+ }
+
+ /**
+ * Gets the value of the type property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * Sets the value of the type property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setType(String value)
+ {
+ this.type = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getWidth()
+ {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setWidth(Integer value)
+ {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getHeight()
+ {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setHeight(Integer value)
+ {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getXpos()
+ {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setXpos(Integer value)
+ {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getYpos()
+ {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setYpos(Integer value)
+ {
+ this.ypos = value;
+ }
+
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="secondaryStructure" maxOccurs="unbounded">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="viewId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="dividerLocation" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="selectedRna" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "secondaryStructure" })
+ public static class RnaViewer
+ {
+
+ @XmlElement(namespace = "www.jalview.org", required = true)
+ protected List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> secondaryStructure;
+
+ @XmlAttribute(name = "title")
+ protected String title;
+
+ @XmlAttribute(name = "viewId")
+ protected String viewId;
+
+ @XmlAttribute(name = "dividerLocation")
+ protected Integer dividerLocation;
+
+ @XmlAttribute(name = "selectedRna")
+ protected Integer selectedRna;
+
+ @XmlAttribute(name = "width")
+ protected Integer width;
+
+ @XmlAttribute(name = "height")
+ protected Integer height;
+
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the secondaryStructure property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the secondaryStructure property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getSecondaryStructure().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.JSeq.RnaViewer.SecondaryStructure }
+ *
+ *
+ */
+ public List<JalviewModel.JSeq.RnaViewer.SecondaryStructure> getSecondaryStructure()
+ {
+ if (secondaryStructure == null)
+ {
+ secondaryStructure = new ArrayList<JalviewModel.JSeq.RnaViewer.SecondaryStructure>();
+ }
+ return this.secondaryStructure;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTitle()
+ {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTitle(String value)
+ {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the viewId property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getViewId()
+ {
+ return viewId;
+ }
+
+ /**
+ * Sets the value of the viewId property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setViewId(String value)
+ {
+ this.viewId = value;
+ }
+
+ /**
+ * Gets the value of the dividerLocation property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getDividerLocation()
+ {
+ return dividerLocation;
+ }
+
+ /**
+ * Sets the value of the dividerLocation property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setDividerLocation(Integer value)
+ {
+ this.dividerLocation = value;
+ }
+
+ /**
+ * Gets the value of the selectedRna property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getSelectedRna()
+ {
+ return selectedRna;
+ }
+
+ /**
+ * Sets the value of the selectedRna property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setSelectedRna(Integer value)
+ {
+ this.selectedRna = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getWidth()
+ {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setWidth(Integer value)
+ {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getHeight()
+ {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setHeight(Integer value)
+ {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getXpos()
+ {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setXpos(Integer value)
+ {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getYpos()
+ {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setYpos(Integer value)
+ {
+ this.ypos = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="annotationId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gapped" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="viewerState" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class SecondaryStructure
+ {
+
+ @XmlAttribute(name = "title")
+ protected String title;
+
+ @XmlAttribute(name = "annotationId", required = true)
+ protected String annotationId;
+
+ @XmlAttribute(name = "gapped")
+ protected Boolean gapped;
+
+ @XmlAttribute(name = "viewerState")
+ protected String viewerState;
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTitle()
+ {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTitle(String value)
+ {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the annotationId property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getAnnotationId()
+ {
+ return annotationId;
+ }
+
+ /**
+ * Sets the value of the annotationId property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setAnnotationId(String value)
+ {
+ this.annotationId = value;
+ }
+
+ /**
+ * Gets the value of the gapped property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isGapped()
+ {
+ return gapped;
+ }
+
+ /**
+ * Sets the value of the gapped property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setGapped(Boolean value)
+ {
+ this.gapped = value;
+ }
+
+ /**
+ * Gets the value of the viewerState property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getViewerState()
+ {
+ return viewerState;
+ }
+
+ /**
+ * Sets the value of the viewerState property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setViewerState(String value)
+ {
+ this.viewerState = value;
+ }
+
+ }
+
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence minOccurs="0">
+ * <element name="title" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * <element name="newick" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="threshold" type="{http://www.w3.org/2001/XMLSchema}float" />
+ * <attribute name="showBootstrap" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDistances" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="markUnlinked" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="fitToWindow" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="currentTree" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "title", "newick" })
+ public static class Tree
+ {
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected String title;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected String newick;
+
+ @XmlAttribute(name = "fontName")
+ protected String fontName;
+
+ @XmlAttribute(name = "fontSize")
+ protected Integer fontSize;
+
+ @XmlAttribute(name = "fontStyle")
+ protected Integer fontStyle;
+
+ @XmlAttribute(name = "threshold")
+ protected Float threshold;
+
+ @XmlAttribute(name = "showBootstrap")
+ protected Boolean showBootstrap;
+
+ @XmlAttribute(name = "showDistances")
+ protected Boolean showDistances;
+
+ @XmlAttribute(name = "markUnlinked")
+ protected Boolean markUnlinked;
+
+ @XmlAttribute(name = "fitToWindow")
+ protected Boolean fitToWindow;
+
+ @XmlAttribute(name = "currentTree")
+ protected Boolean currentTree;
+
+ @XmlAttribute(name = "id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
+
+ @XmlAttribute(name = "width")
+ protected Integer width;
+
+ @XmlAttribute(name = "height")
+ protected Integer height;
+
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTitle()
+ {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTitle(String value)
+ {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the newick property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getNewick()
+ {
+ return newick;
+ }
+
+ /**
+ * Sets the value of the newick property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setNewick(String value)
+ {
+ this.newick = value;
+ }
+
+ /**
+ * Gets the value of the fontName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getFontName()
+ {
+ return fontName;
+ }
+
+ /**
+ * Sets the value of the fontName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setFontName(String value)
+ {
+ this.fontName = value;
+ }
+
+ /**
+ * Gets the value of the fontSize property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getFontSize()
+ {
+ return fontSize;
+ }
+
+ /**
+ * Sets the value of the fontSize property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setFontSize(Integer value)
+ {
+ this.fontSize = value;
+ }
+
+ /**
+ * Gets the value of the fontStyle property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getFontStyle()
+ {
+ return fontStyle;
+ }
+
+ /**
+ * Sets the value of the fontStyle property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setFontStyle(Integer value)
+ {
+ this.fontStyle = value;
+ }
+
+ /**
+ * Gets the value of the threshold property.
+ *
+ * @return possible object is {@link Float }
+ *
+ */
+ public Float getThreshold()
+ {
+ return threshold;
+ }
+
+ /**
+ * Sets the value of the threshold property.
+ *
+ * @param value
+ * allowed object is {@link Float }
+ *
+ */
+ public void setThreshold(Float value)
+ {
+ this.threshold = value;
+ }
+
+ /**
+ * Gets the value of the showBootstrap property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowBootstrap()
+ {
+ return showBootstrap;
+ }
+
+ /**
+ * Sets the value of the showBootstrap property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowBootstrap(Boolean value)
+ {
+ this.showBootstrap = value;
+ }
+
+ /**
+ * Gets the value of the showDistances property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowDistances()
+ {
+ return showDistances;
+ }
+
+ /**
+ * Sets the value of the showDistances property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowDistances(Boolean value)
+ {
+ this.showDistances = value;
+ }
+
+ /**
+ * Gets the value of the markUnlinked property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isMarkUnlinked()
+ {
+ return markUnlinked;
+ }
+
+ /**
+ * Sets the value of the markUnlinked property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setMarkUnlinked(Boolean value)
+ {
+ this.markUnlinked = value;
+ }
+
+ /**
+ * Gets the value of the fitToWindow property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isFitToWindow()
+ {
+ return fitToWindow;
+ }
+
+ /**
+ * Sets the value of the fitToWindow property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setFitToWindow(Boolean value)
+ {
+ this.fitToWindow = value;
+ }
+
+ /**
+ * Gets the value of the currentTree property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isCurrentTree()
+ {
+ return currentTree;
+ }
+
+ /**
+ * Sets the value of the currentTree property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setCurrentTree(Boolean value)
+ {
+ this.currentTree = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value)
+ {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getWidth()
+ {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setWidth(Integer value)
+ {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getHeight()
+ {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setHeight(Integer value)
+ {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getXpos()
+ {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setXpos(Integer value)
+ {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getYpos()
+ {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setYpos(Integer value)
+ {
+ this.ypos = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="UserColourScheme" type="{www.jalview.org/colours}JalviewUserColours"/>
+ * </sequence>
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "userColourScheme" })
+ public static class UserColours
+ {
+
+ @XmlElement(
+ name = "UserColourScheme",
+ namespace = "www.jalview.org",
+ required = true)
+ protected Object/*JalviewUserColours*/ userColourScheme;
+
+ @XmlAttribute(name = "id")
+ protected String id;
+
+ /**
+ * Gets the value of the userColourScheme property.
+ *
+ * @return possible object is {@link JalviewUserColours }
+ *
+ */
+ public Object/*JalviewUserColours*/ getUserColourScheme()
+ {
+ return userColourScheme;
+ }
+
+ /**
+ * Sets the value of the userColourScheme property.
+ *
+ * @param value
+ * allowed object is {@link JalviewUserColours }
+ *
+ */
+ public void setUserColourScheme(Object/*JalviewUserColours*/ value)
+ {
+ this.userColourScheme = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value)
+ {
+ this.id = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="AnnotationColours" type="{www.jalview.org}AnnotationColourScheme" minOccurs="0"/>
+ * <element name="hiddenColumns" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * <element name="calcIdParam" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+ * <attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * <attGroup ref="{www.jalview.org}swingwindow"/>
+ * <attribute name="conservationSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="pidSelected" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="bgColour" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="consThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="pidThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="showFullId" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="rightAlignIds" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showColourText" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showUnconserved" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showBoxes" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="wrapAlignment" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="renderGaps" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showSequenceFeatures" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showNPfeatureTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="showDbRefTooltip" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="followHighlight" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="followSelection" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showAnnotation" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="centreColumnLabels" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConservation" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showGroupConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="showConsensusHistogram" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="showSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="normaliseSequenceLogo" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="ignoreGapsinConsensus" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="startRes" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="startSeq" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="fontSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="fontStyle" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="scaleProteinAsCdna" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
+ * <attribute name="viewName" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="sequenceSetId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="gatheredViews" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * <attribute name="textCol1" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textCol2" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="textColThreshold" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ * <attribute name="complementId" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(
+ name = "",
+ propOrder =
+ { "annotationColours", "hiddenColumns", "calcIdParam" })
+ public static class Viewport
+ {
+
+ @XmlElement(name = "AnnotationColours", namespace = "www.jalview.org")
+ protected AnnotationColourScheme annotationColours;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModel.Viewport.HiddenColumns> hiddenColumns;
+
+ @XmlElement(namespace = "www.jalview.org")
+ protected List<JalviewModel.Viewport.CalcIdParam> calcIdParam;
+
+ @XmlAttribute(name = "conservationSelected")
+ protected Boolean conservationSelected;
+
+ @XmlAttribute(name = "pidSelected")
+ protected Boolean pidSelected;
+
+ @XmlAttribute(name = "bgColour")
+ protected String bgColour;
+
+ @XmlAttribute(name = "consThreshold")
+ protected Integer consThreshold;
+
+ @XmlAttribute(name = "pidThreshold")
+ protected Integer pidThreshold;
+
+ @XmlAttribute(name = "title")
+ protected String title;
+
+ @XmlAttribute(name = "showFullId")
+ protected Boolean showFullId;
+
+ @XmlAttribute(name = "rightAlignIds")
+ protected Boolean rightAlignIds;
+
+ @XmlAttribute(name = "showText")
+ protected Boolean showText;
+
+ @XmlAttribute(name = "showColourText")
+ protected Boolean showColourText;
+
+ @XmlAttribute(name = "showUnconserved")
+ protected Boolean showUnconserved;
+
+ @XmlAttribute(name = "showBoxes")
+ protected Boolean showBoxes;
+
+ @XmlAttribute(name = "wrapAlignment")
+ protected Boolean wrapAlignment;
+
+ @XmlAttribute(name = "renderGaps")
+ protected Boolean renderGaps;
+
+ @XmlAttribute(name = "showSequenceFeatures")
+ protected Boolean showSequenceFeatures;
+
+ @XmlAttribute(name = "showNPfeatureTooltip")
+ protected Boolean showNPfeatureTooltip;
+
+ @XmlAttribute(name = "showDbRefTooltip")
+ protected Boolean showDbRefTooltip;
+
+ @XmlAttribute(name = "followHighlight")
+ protected Boolean followHighlight;
+
+ @XmlAttribute(name = "followSelection")
+ protected Boolean followSelection;
+
+ @XmlAttribute(name = "showAnnotation")
+ protected Boolean showAnnotation;
+
+ @XmlAttribute(name = "centreColumnLabels")
+ protected Boolean centreColumnLabels;
+
+ @XmlAttribute(name = "showGroupConservation")
+ protected Boolean showGroupConservation;
+
+ @XmlAttribute(name = "showGroupConsensus")
+ protected Boolean showGroupConsensus;
+
+ @XmlAttribute(name = "showConsensusHistogram")
+ protected Boolean showConsensusHistogram;
+
+ @XmlAttribute(name = "showSequenceLogo")
+ protected Boolean showSequenceLogo;
+
+ @XmlAttribute(name = "normaliseSequenceLogo")
+ protected Boolean normaliseSequenceLogo;
+
+ @XmlAttribute(name = "ignoreGapsinConsensus")
+ protected Boolean ignoreGapsinConsensus;
+
+ @XmlAttribute(name = "startRes")
+ protected Integer startRes;
+
+ @XmlAttribute(name = "startSeq")
+ protected Integer startSeq;
+
+ @XmlAttribute(name = "fontName")
+ protected String fontName;
+
+ @XmlAttribute(name = "fontSize")
+ protected Integer fontSize;
+
+ @XmlAttribute(name = "fontStyle")
+ protected Integer fontStyle;
+
+ @XmlAttribute(name = "scaleProteinAsCdna")
+ protected Boolean scaleProteinAsCdna;
+
+ @XmlAttribute(name = "viewName")
+ protected String viewName;
+
+ @XmlAttribute(name = "sequenceSetId")
+ protected String sequenceSetId;
+
+ @XmlAttribute(name = "gatheredViews")
+ protected Boolean gatheredViews;
+
+ @XmlAttribute(name = "textCol1")
+ protected Integer textCol1;
+
+ @XmlAttribute(name = "textCol2")
+ protected Integer textCol2;
+
+ @XmlAttribute(name = "textColThreshold")
+ protected Integer textColThreshold;
+
+ @XmlAttribute(name = "id")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlID
+ @XmlSchemaType(name = "ID")
+ protected String id;
+
+ @XmlAttribute(name = "complementId")
+ protected String complementId;
+
+ @XmlAttribute(name = "width")
+ protected Integer width;
+
+ @XmlAttribute(name = "height")
+ protected Integer height;
+
+ @XmlAttribute(name = "xpos")
+ protected Integer xpos;
+
+ @XmlAttribute(name = "ypos")
+ protected Integer ypos;
+
+ /**
+ * Gets the value of the annotationColours property.
+ *
+ * @return possible object is {@link AnnotationColourScheme }
+ *
+ */
+ public AnnotationColourScheme getAnnotationColours()
+ {
+ return annotationColours;
+ }
+
+ /**
+ * Sets the value of the annotationColours property.
+ *
+ * @param value
+ * allowed object is {@link AnnotationColourScheme }
+ *
+ */
+ public void setAnnotationColours(AnnotationColourScheme value)
+ {
+ this.annotationColours = value;
+ }
+
+ /**
+ * Gets the value of the hiddenColumns property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the hiddenColumns property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getHiddenColumns().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.Viewport.HiddenColumns }
+ *
+ *
+ */
+ public List<JalviewModel.Viewport.HiddenColumns> getHiddenColumns()
+ {
+ if (hiddenColumns == null)
+ {
+ hiddenColumns = new ArrayList<JalviewModel.Viewport.HiddenColumns>();
+ }
+ return this.hiddenColumns;
+ }
+
+ /**
+ * Gets the value of the calcIdParam property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the calcIdParam property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getCalcIdParam().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JalviewModel.Viewport.CalcIdParam }
+ *
+ *
+ */
+ public List<JalviewModel.Viewport.CalcIdParam> getCalcIdParam()
+ {
+ if (calcIdParam == null)
+ {
+ calcIdParam = new ArrayList<JalviewModel.Viewport.CalcIdParam>();
+ }
+ return this.calcIdParam;
+ }
+
+ /**
+ * Gets the value of the conservationSelected property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isConservationSelected()
+ {
+ return conservationSelected;
+ }
+
+ /**
+ * Sets the value of the conservationSelected property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setConservationSelected(Boolean value)
+ {
+ this.conservationSelected = value;
+ }
+
+ /**
+ * Gets the value of the pidSelected property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isPidSelected()
+ {
+ return pidSelected;
+ }
+
+ /**
+ * Sets the value of the pidSelected property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setPidSelected(Boolean value)
+ {
+ this.pidSelected = value;
+ }
+
+ /**
+ * Gets the value of the bgColour property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getBgColour()
+ {
+ return bgColour;
+ }
+
+ /**
+ * Sets the value of the bgColour property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setBgColour(String value)
+ {
+ this.bgColour = value;
+ }
+
+ /**
+ * Gets the value of the consThreshold property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getConsThreshold()
+ {
+ return consThreshold;
+ }
+
+ /**
+ * Sets the value of the consThreshold property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setConsThreshold(Integer value)
+ {
+ this.consThreshold = value;
+ }
+
+ /**
+ * Gets the value of the pidThreshold property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getPidThreshold()
+ {
+ return pidThreshold;
+ }
+
+ /**
+ * Sets the value of the pidThreshold property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setPidThreshold(Integer value)
+ {
+ this.pidThreshold = value;
+ }
+
+ /**
+ * Gets the value of the title property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getTitle()
+ {
+ return title;
+ }
+
+ /**
+ * Sets the value of the title property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setTitle(String value)
+ {
+ this.title = value;
+ }
+
+ /**
+ * Gets the value of the showFullId property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowFullId()
+ {
+ return showFullId;
+ }
+
+ /**
+ * Sets the value of the showFullId property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowFullId(Boolean value)
+ {
+ this.showFullId = value;
+ }
+
+ /**
+ * Gets the value of the rightAlignIds property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isRightAlignIds()
+ {
+ return rightAlignIds;
+ }
+
+ /**
+ * Sets the value of the rightAlignIds property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setRightAlignIds(Boolean value)
+ {
+ this.rightAlignIds = value;
+ }
+
+ /**
+ * Gets the value of the showText property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowText()
+ {
+ return showText;
+ }
+
+ /**
+ * Sets the value of the showText property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowText(Boolean value)
+ {
+ this.showText = value;
+ }
+
+ /**
+ * Gets the value of the showColourText property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowColourText()
+ {
+ return showColourText;
+ }
+
+ /**
+ * Sets the value of the showColourText property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowColourText(Boolean value)
+ {
+ this.showColourText = value;
+ }
+
+ /**
+ * Gets the value of the showUnconserved property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isShowUnconserved()
+ {
+ if (showUnconserved == null)
+ {
+ return false;
+ }
+ else
+ {
+ return showUnconserved;
+ }
+ }
+
+ /**
+ * Sets the value of the showUnconserved property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowUnconserved(Boolean value)
+ {
+ this.showUnconserved = value;
+ }
+
+ /**
+ * Gets the value of the showBoxes property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowBoxes()
+ {
+ return showBoxes;
+ }
+
+ /**
+ * Sets the value of the showBoxes property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowBoxes(Boolean value)
+ {
+ this.showBoxes = value;
+ }
+
+ /**
+ * Gets the value of the wrapAlignment property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isWrapAlignment()
+ {
+ return wrapAlignment;
+ }
+
+ /**
+ * Sets the value of the wrapAlignment property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setWrapAlignment(Boolean value)
+ {
+ this.wrapAlignment = value;
+ }
+
+ /**
+ * Gets the value of the renderGaps property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isRenderGaps()
+ {
+ return renderGaps;
+ }
+
+ /**
+ * Sets the value of the renderGaps property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setRenderGaps(Boolean value)
+ {
+ this.renderGaps = value;
+ }
+
+ /**
+ * Gets the value of the showSequenceFeatures property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowSequenceFeatures()
+ {
+ return showSequenceFeatures;
+ }
+
+ /**
+ * Sets the value of the showSequenceFeatures property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowSequenceFeatures(Boolean value)
+ {
+ this.showSequenceFeatures = value;
+ }
+
+ /**
+ * Gets the value of the showNPfeatureTooltip property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowNPfeatureTooltip()
+ {
+ return showNPfeatureTooltip;
+ }
+
+ /**
+ * Sets the value of the showNPfeatureTooltip property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowNPfeatureTooltip(Boolean value)
+ {
+ this.showNPfeatureTooltip = value;
+ }
+
+ /**
+ * Gets the value of the showDbRefTooltip property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowDbRefTooltip()
+ {
+ return showDbRefTooltip;
+ }
+
+ /**
+ * Sets the value of the showDbRefTooltip property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowDbRefTooltip(Boolean value)
+ {
+ this.showDbRefTooltip = value;
+ }
+
+ /**
+ * Gets the value of the followHighlight property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isFollowHighlight()
+ {
+ if (followHighlight == null)
+ {
+ return true;
+ }
+ else
+ {
+ return followHighlight;
+ }
+ }
+
+ /**
+ * Sets the value of the followHighlight property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setFollowHighlight(Boolean value)
+ {
+ this.followHighlight = value;
+ }
+
+ /**
+ * Gets the value of the followSelection property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isFollowSelection()
+ {
+ if (followSelection == null)
+ {
+ return true;
+ }
+ else
+ {
+ return followSelection;
+ }
+ }
+
+ /**
+ * Sets the value of the followSelection property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setFollowSelection(Boolean value)
+ {
+ this.followSelection = value;
+ }
+
+ /**
+ * Gets the value of the showAnnotation property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isShowAnnotation()
+ {
+ return showAnnotation;
+ }
+
+ /**
+ * Sets the value of the showAnnotation property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowAnnotation(Boolean value)
+ {
+ this.showAnnotation = value;
+ }
+
+ /**
+ * Gets the value of the centreColumnLabels property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isCentreColumnLabels()
+ {
+ if (centreColumnLabels == null)
+ {
+ return false;
+ }
+ else
+ {
+ return centreColumnLabels;
+ }
+ }
+
+ /**
+ * Sets the value of the centreColumnLabels property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setCentreColumnLabels(Boolean value)
+ {
+ this.centreColumnLabels = value;
+ }
+
+ /**
+ * Gets the value of the showGroupConservation property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isShowGroupConservation()
+ {
+ if (showGroupConservation == null)
+ {
+ return false;
+ }
+ else
+ {
+ return showGroupConservation;
+ }
+ }
+
+ /**
+ * Sets the value of the showGroupConservation property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowGroupConservation(Boolean value)
+ {
+ this.showGroupConservation = value;
+ }
+
+ /**
+ * Gets the value of the showGroupConsensus property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isShowGroupConsensus()
+ {
+ if (showGroupConsensus == null)
+ {
+ return false;
+ }
+ else
+ {
+ return showGroupConsensus;
+ }
+ }
+
+ /**
+ * Sets the value of the showGroupConsensus property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowGroupConsensus(Boolean value)
+ {
+ this.showGroupConsensus = value;
+ }
+
+ /**
+ * Gets the value of the showConsensusHistogram property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isShowConsensusHistogram()
+ {
+ if (showConsensusHistogram == null)
+ {
+ return true;
+ }
+ else
+ {
+ return showConsensusHistogram;
+ }
+ }
+
+ /**
+ * Sets the value of the showConsensusHistogram property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowConsensusHistogram(Boolean value)
+ {
+ this.showConsensusHistogram = value;
+ }
+
+ /**
+ * Gets the value of the showSequenceLogo property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isShowSequenceLogo()
+ {
+ if (showSequenceLogo == null)
+ {
+ return false;
+ }
+ else
+ {
+ return showSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the showSequenceLogo property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setShowSequenceLogo(Boolean value)
+ {
+ this.showSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the normaliseSequenceLogo property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isNormaliseSequenceLogo()
+ {
+ if (normaliseSequenceLogo == null)
+ {
+ return false;
+ }
+ else
+ {
+ return normaliseSequenceLogo;
+ }
+ }
+
+ /**
+ * Sets the value of the normaliseSequenceLogo property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setNormaliseSequenceLogo(Boolean value)
+ {
+ this.normaliseSequenceLogo = value;
+ }
+
+ /**
+ * Gets the value of the ignoreGapsinConsensus property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isIgnoreGapsinConsensus()
+ {
+ if (ignoreGapsinConsensus == null)
+ {
+ return true;
+ }
+ else
+ {
+ return ignoreGapsinConsensus;
+ }
+ }
+
+ /**
+ * Sets the value of the ignoreGapsinConsensus property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setIgnoreGapsinConsensus(Boolean value)
+ {
+ this.ignoreGapsinConsensus = value;
+ }
+
+ /**
+ * Gets the value of the startRes property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getStartRes()
+ {
+ return startRes;
+ }
+
+ /**
+ * Sets the value of the startRes property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setStartRes(Integer value)
+ {
+ this.startRes = value;
+ }
+
+ /**
+ * Gets the value of the startSeq property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getStartSeq()
+ {
+ return startSeq;
+ }
+
+ /**
+ * Sets the value of the startSeq property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setStartSeq(Integer value)
+ {
+ this.startSeq = value;
+ }
+
+ /**
+ * Gets the value of the fontName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getFontName()
+ {
+ return fontName;
+ }
+
+ /**
+ * Sets the value of the fontName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setFontName(String value)
+ {
+ this.fontName = value;
+ }
+
+ /**
+ * Gets the value of the fontSize property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getFontSize()
+ {
+ return fontSize;
+ }
+
+ /**
+ * Sets the value of the fontSize property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setFontSize(Integer value)
+ {
+ this.fontSize = value;
+ }
+
+ /**
+ * Gets the value of the fontStyle property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getFontStyle()
+ {
+ return fontStyle;
+ }
+
+ /**
+ * Sets the value of the fontStyle property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setFontStyle(Integer value)
+ {
+ this.fontStyle = value;
+ }
+
+ /**
+ * Gets the value of the scaleProteinAsCdna property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isScaleProteinAsCdna()
+ {
+ if (scaleProteinAsCdna == null)
+ {
+ return true;
+ }
+ else
+ {
+ return scaleProteinAsCdna;
+ }
+ }
+
+ /**
+ * Sets the value of the scaleProteinAsCdna property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setScaleProteinAsCdna(Boolean value)
+ {
+ this.scaleProteinAsCdna = value;
+ }
+
+ /**
+ * Gets the value of the viewName property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getViewName()
+ {
+ return viewName;
+ }
+
+ /**
+ * Sets the value of the viewName property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setViewName(String value)
+ {
+ this.viewName = value;
+ }
+
+ /**
+ * Gets the value of the sequenceSetId property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getSequenceSetId()
+ {
+ return sequenceSetId;
+ }
+
+ /**
+ * Sets the value of the sequenceSetId property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setSequenceSetId(String value)
+ {
+ this.sequenceSetId = value;
+ }
+
+ /**
+ * Gets the value of the gatheredViews property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public Boolean isGatheredViews()
+ {
+ return gatheredViews;
+ }
+
+ /**
+ * Sets the value of the gatheredViews property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setGatheredViews(Boolean value)
+ {
+ this.gatheredViews = value;
+ }
+
+ /**
+ * Gets the value of the textCol1 property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getTextCol1()
+ {
+ return textCol1;
+ }
+
+ /**
+ * Sets the value of the textCol1 property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setTextCol1(Integer value)
+ {
+ this.textCol1 = value;
+ }
+
+ /**
+ * Gets the value of the textCol2 property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getTextCol2()
+ {
+ return textCol2;
+ }
+
+ /**
+ * Sets the value of the textCol2 property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setTextCol2(Integer value)
+ {
+ this.textCol2 = value;
+ }
+
+ /**
+ * Gets the value of the textColThreshold property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getTextColThreshold()
+ {
+ return textColThreshold;
+ }
+
+ /**
+ * Sets the value of the textColThreshold property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setTextColThreshold(Integer value)
+ {
+ this.textColThreshold = value;
+ }
+
+ /**
+ * Gets the value of the id property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the value of the id property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setId(String value)
+ {
+ this.id = value;
+ }
+
+ /**
+ * Gets the value of the complementId property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getComplementId()
+ {
+ return complementId;
+ }
+
+ /**
+ * Sets the value of the complementId property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setComplementId(String value)
+ {
+ this.complementId = value;
+ }
+
+ /**
+ * Gets the value of the width property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getWidth()
+ {
+ return width;
+ }
+
+ /**
+ * Sets the value of the width property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setWidth(Integer value)
+ {
+ this.width = value;
+ }
+
+ /**
+ * Gets the value of the height property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getHeight()
+ {
+ return height;
+ }
+
+ /**
+ * Sets the value of the height property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setHeight(Integer value)
+ {
+ this.height = value;
+ }
+
+ /**
+ * Gets the value of the xpos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getXpos()
+ {
+ return xpos;
+ }
+
+ /**
+ * Sets the value of the xpos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setXpos(Integer value)
+ {
+ this.xpos = value;
+ }
+
+ /**
+ * Gets the value of the ypos property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getYpos()
+ {
+ return ypos;
+ }
+
+ /**
+ * Sets the value of the ypos property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setYpos(Integer value)
+ {
+ this.ypos = value;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <extension base="{www.jalview.org/xml/wsparamset}WebServiceParameterSet">
+ * <attribute name="calcId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * <attribute name="needsUpdate" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * <attribute name="autoUpdate" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * </extension>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class CalcIdParam extends WebServiceParameterSet
+ {
+
+ @XmlAttribute(name = "calcId", required = true)
+ protected String calcId;
+
+ @XmlAttribute(name = "needsUpdate")
+ protected Boolean needsUpdate;
+
+ @XmlAttribute(name = "autoUpdate", required = true)
+ protected boolean autoUpdate;
+
+ /**
+ * Gets the value of the calcId property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getCalcId()
+ {
+ return calcId;
+ }
+
+ /**
+ * Sets the value of the calcId property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setCalcId(String value)
+ {
+ this.calcId = value;
+ }
+
+ /**
+ * Gets the value of the needsUpdate property.
+ *
+ * @return possible object is {@link Boolean }
+ *
+ */
+ public boolean isNeedsUpdate()
+ {
+ if (needsUpdate == null)
+ {
+ return false;
+ }
+ else
+ {
+ return needsUpdate;
+ }
+ }
+
+ /**
+ * Sets the value of the needsUpdate property.
+ *
+ * @param value
+ * allowed object is {@link Boolean }
+ *
+ */
+ public void setNeedsUpdate(Boolean value)
+ {
+ this.needsUpdate = value;
+ }
+
+ /**
+ * Gets the value of the autoUpdate property.
+ *
+ */
+ public boolean isAutoUpdate()
+ {
+ return autoUpdate;
+ }
+
+ /**
+ * Sets the value of the autoUpdate property.
+ *
+ */
+ public void setAutoUpdate(boolean value)
+ {
+ this.autoUpdate = value;
+ }
+
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <attribute name="start" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * <attribute name="end" type="{http://www.w3.org/2001/XMLSchema}int" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class HiddenColumns
+ {
+
+ @XmlAttribute(name = "start")
+ protected Integer start;
+
+ @XmlAttribute(name = "end")
+ protected Integer end;
+
+ /**
+ * Gets the value of the start property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getStart()
+ {
+ return start;
+ }
+
+ /**
+ * Sets the value of the start property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setStart(Integer value)
+ {
+ this.start = value;
+ }
+
+ /**
+ * Gets the value of the end property.
+ *
+ * @return possible object is {@link Integer }
+ *
+ */
+ public Integer getEnd()
+ {
+ return end;
+ }
+
+ /**
+ * Sets the value of the end property.
+ *
+ * @param value
+ * allowed object is {@link Integer }
+ *
+ */
+ public void setEnd(Integer value)
+ {
+ this.end = value;
+ }
+
+ }
+
+ }
+
+}
import jalview.gui.Desktop;
import jalview.gui.Jalview2XML;
import jalview.gui.JvOptionPane;
+import jalview.gui.SequenceFetcher;
import jalview.util.DBRefUtils;
import java.io.File;
import java.util.List;
import java.util.Map;
-import junit.extensions.PA;
-
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
+import junit.extensions.PA;
+
@Test(singleThreaded = true)
public class CrossRef2xmlTests extends Jalview2xmlBase
{
List<String> failedXrefMenuItems = new ArrayList<>();
List<String> failedProjectRecoveries = new ArrayList<>();
// only search for ensembl or Uniprot crossrefs
- List<String> limit=Arrays.asList(new String[] {
- DBRefUtils.getCanonicalName("ENSEMBL"),
- DBRefUtils.getCanonicalName("Uniprot")});
+ List<String> limit = Arrays
+ .asList(new String[]
+ { DBRefUtils.getCanonicalName("ENSEMBL"),
+ DBRefUtils.getCanonicalName("Uniprot") });
// for every set of db queries
// retrieve db query
// verify presence of expected xrefs
List<String> keyseq = new ArrayList<>();
Map<String, File> savedProjects = new HashMap<>();
-// for (String[] did : new String[][] { { "UNIPROT", "P00338" } })
-// {
- // pass counters - 0 - first pass, 1 means retrieve project rather than
- // perform action
- int pass1 = 0, pass2 = 0, pass3 = 0;
- // each do loop performs two iterations in the first outer loop pass, but
- // only performs one iteration on the second outer loop
- // ie. pass 1 = 0 {pass 2= 0 { pass 3 = 0,1 }, pass 2=1 { pass 3 = 0 }}, 1
- // { pass 2 = 0 { pass 3 = 0 } }
- do
+ // for (String[] did : new String[][] { { "UNIPROT", "P00338" } })
+ // {
+ // pass counters - 0 - first pass, 1 means retrieve project rather than
+ // perform action
+ int pass1 = 0, pass2 = 0, pass3 = 0;
+ // each do loop performs two iterations in the first outer loop pass, but
+ // only performs one iteration on the second outer loop
+ // ie. pass 1 = 0 {pass 2= 0 { pass 3 = 0,1 }, pass 2=1 { pass 3 = 0 }}, 1
+ // { pass 2 = 0 { pass 3 = 0 } }
+ do
+ {
+ String first = forSource + " " + forAccession;// did[0] + " " + did[1];
+ AlignFrame af = null;
+ boolean dna;
+ AlignmentI retral;
+ AlignmentI dataset;
+ SequenceI[] seqs;
+ List<String> ptypes = null;
+ if (pass1 == 0)
{
- String first = forSource + " " + forAccession;//did[0] + " " + did[1];
- AlignFrame af = null;
- boolean dna;
- AlignmentI retral;
- AlignmentI dataset;
- SequenceI[] seqs;
- List<String> ptypes = null;
- if (pass1 == 0)
- {
- // retrieve dbref
+ // retrieve dbref
- List<AlignFrame> afs = jalview.gui.SequenceFetcher.fetchAndShow(
+ SequenceFetcher sf = new SequenceFetcher(Desktop.instance,
forSource, forAccession);
- // did[0], did[1]);
- if (afs.size() == 0)
- {
- failedDBRetr.add("Didn't retrieve " + first);
- break;
- }
- keyseq.add(first);
- af = afs.get(0);
-
- // verify references for retrieved data
- AlignmentTest.assertAlignmentDatasetRefs(af.getViewport()
- .getAlignment(), "Pass (" + pass1 + "," + pass2 + ","
- + pass3 + "): Fetch " + first + ":");
- assertDatasetIsNormalisedKnownDefect(af.getViewport()
- .getAlignment(), "Pass (" + pass1 + "," + pass2 + ","
- + pass3 + "): Fetch " + first + ":");
- dna = af.getViewport().getAlignment().isNucleotide();
- retral = af.getViewport().getAlignment();
- dataset = retral.getDataset();
- seqs = retral.getSequencesArray();
-
- }
- else
+ sf.run();
+ AlignFrame[] afs = Desktop.getAlignFrames();
+ if (afs.length == 0)
{
- Desktop.instance.closeAll_actionPerformed(null);
- // recover stored project
- af = new FileLoader(false).LoadFileWaitTillLoaded(savedProjects
- .get(first).toString(), DataSourceType.FILE);
- System.out.println("Recovered view for '" + first + "' from '"
- + savedProjects.get(first).toString() + "'");
- dna = af.getViewport().getAlignment().isNucleotide();
- retral = af.getViewport().getAlignment();
- dataset = retral.getDataset();
- seqs = retral.getSequencesArray();
-
- // verify references for recovered data
- AlignmentTest.assertAlignmentDatasetRefs(af.getViewport()
- .getAlignment(), "Pass (" + pass1 + "," + pass2 + ","
- + pass3 + "): Recover " + first + ":");
- assertDatasetIsNormalisedKnownDefect(af.getViewport()
- .getAlignment(), "Pass (" + pass1 + "," + pass2 + ","
- + pass3 + "): Recover " + first + ":");
-
+ failedDBRetr.add("Didn't retrieve " + first);
+ break;
}
+ keyseq.add(first);
+ af = afs[0];
+
+ // verify references for retrieved data
+ AlignmentTest.assertAlignmentDatasetRefs(
+ af.getViewport().getAlignment(), "Pass (" + pass1 + ","
+ + pass2 + "," + pass3 + "): Fetch " + first + ":");
+ assertDatasetIsNormalisedKnownDefect(
+ af.getViewport().getAlignment(), "Pass (" + pass1 + ","
+ + pass2 + "," + pass3 + "): Fetch " + first + ":");
+ dna = af.getViewport().getAlignment().isNucleotide();
+ retral = af.getViewport().getAlignment();
+ dataset = retral.getDataset();
+ seqs = retral.getSequencesArray();
- // store project on first pass, compare next pass
- stringify(dbtoviewBit, savedProjects, first, af.alignPanel);
+ }
+ else
+ {
+ Desktop.instance.closeAll_actionPerformed(null);
+ // recover stored project
+ af = new FileLoader(false).LoadFileWaitTillLoaded(
+ savedProjects.get(first).toString(), DataSourceType.FILE);
+ System.out.println("Recovered view for '" + first + "' from '"
+ + savedProjects.get(first).toString() + "'");
+ dna = af.getViewport().getAlignment().isNucleotide();
+ retral = af.getViewport().getAlignment();
+ dataset = retral.getDataset();
+ seqs = retral.getSequencesArray();
+
+ // verify references for recovered data
+ AlignmentTest.assertAlignmentDatasetRefs(
+ af.getViewport().getAlignment(),
+ "Pass (" + pass1 + "," + pass2 + "," + pass3 + "): Recover "
+ + first + ":");
+ assertDatasetIsNormalisedKnownDefect(
+ af.getViewport().getAlignment(),
+ "Pass (" + pass1 + "," + pass2 + "," + pass3 + "): Recover "
+ + first + ":");
- ptypes = (seqs == null || seqs.length == 0) ? null : new CrossRef(
- seqs, dataset).findXrefSourcesForSequences(dna);
- filterDbRefs(ptypes, limit);
-
- // start of pass2: retrieve each cross-ref for fetched or restored
- // project.
- do // first cross ref and recover crossref loop
- {
+ }
+
+ // store project on first pass, compare next pass
+ stringify(dbtoviewBit, savedProjects, first, af.alignPanel);
+
+ ptypes = (seqs == null || seqs.length == 0) ? null
+ : new CrossRef(seqs, dataset)
+ .findXrefSourcesForSequences(dna);
+ filterDbRefs(ptypes, limit);
+
+ // start of pass2: retrieve each cross-ref for fetched or restored
+ // project.
+ do // first cross ref and recover crossref loop
+ {
- for (String db : ptypes)
+ for (String db : ptypes)
+ {
+ // counter for splitframe views retrieved via crossref
+ int firstcr_ap = 0;
+ // build next key so we an retrieve all views
+ String nextxref = first + " -> " + db + "{" + firstcr_ap + "}";
+ // perform crossref action, or retrieve stored project
+ List<AlignmentViewPanel> cra_views = new ArrayList<>();
+ CrossRefAction cra = null;
+
+ if (pass2 == 0)
+ { // retrieve and show cross-refs in this thread
+ cra = CrossRefAction.getHandlerFor(seqs, dna, db, af);
+ cra.run();
+ cra_views = (List<AlignmentViewPanel>) PA.getValue(cra,
+ "xrefViews");
+ if (cra_views.size() == 0)
+ {
+ failedXrefMenuItems.add(
+ "No crossrefs retrieved for " + first + " -> " + db);
+ continue;
+ }
+ assertNucleotide(cra_views.get(0),
+ "Nucleotide panel included proteins for " + first
+ + " -> " + db);
+ assertProtein(cra_views.get(1),
+ "Protein panel included nucleotides for " + first
+ + " -> " + db);
+ }
+ else
{
- // counter for splitframe views retrieved via crossref
- int firstcr_ap = 0;
- // build next key so we an retrieve all views
- String nextxref = first + " -> " + db + "{" + firstcr_ap + "}";
- // perform crossref action, or retrieve stored project
- List<AlignmentViewPanel> cra_views = new ArrayList<>();
- CrossRefAction cra = null;
-
- if (pass2 == 0)
- { // retrieve and show cross-refs in this thread
- cra = CrossRefAction.getHandlerFor(seqs, dna, db, af);
- cra.run();
- cra_views = (List<AlignmentViewPanel>) PA.getValue(cra,
- "xrefViews");
- if (cra_views.size() == 0)
- {
- failedXrefMenuItems.add("No crossrefs retrieved for "
- + first + " -> " + db);
- continue;
- }
- assertNucleotide(cra_views.get(0),
- "Nucleotide panel included proteins for " + first
- + " -> " + db);
- assertProtein(cra_views.get(1),
- "Protein panel included nucleotides for " + first
- + " -> " + db);
+ Desktop.instance.closeAll_actionPerformed(null);
+ pass3 = 0;
+ // recover stored project
+ File storedProject = savedProjects.get(nextxref);
+ if (storedProject == null)
+ {
+ failedProjectRecoveries
+ .add("Failed to store a view for '" + nextxref + "'");
+ continue;
}
- else
+
+ // recover stored project
+ AlignFrame af2 = new FileLoader(false).LoadFileWaitTillLoaded(
+ savedProjects.get(nextxref).toString(),
+ DataSourceType.FILE);
+ System.out
+ .println("Recovered view for '" + nextxref + "' from '"
+ + savedProjects.get(nextxref).toString() + "'");
+ // gymnastics to recover the alignPanel/Complementary alignPanel
+ if (af2.getViewport().isNucleotide())
{
- Desktop.instance.closeAll_actionPerformed(null);
- pass3 = 0;
- // recover stored project
- File storedProject = savedProjects.get(nextxref);
- if (storedProject == null)
- {
- failedProjectRecoveries.add("Failed to store a view for '"
- + nextxref + "'");
- continue;
- }
-
- // recover stored project
- AlignFrame af2 = new FileLoader(false)
- .LoadFileWaitTillLoaded(savedProjects.get(nextxref)
- .toString(), DataSourceType.FILE);
- System.out.println("Recovered view for '" + nextxref
- + "' from '" + savedProjects.get(nextxref).toString()
- + "'");
- // gymnastics to recover the alignPanel/Complementary alignPanel
- if (af2.getViewport().isNucleotide())
- {
- // top view, then bottom
- cra_views.add(af2.getViewport().getAlignPanel());
- cra_views.add(((jalview.gui.AlignViewport) af2
- .getViewport().getCodingComplement())
- .getAlignPanel());
-
- }
- else
- {
- // bottom view, then top
- cra_views.add(((jalview.gui.AlignViewport) af2
- .getViewport().getCodingComplement())
- .getAlignPanel());
- cra_views.add(af2.getViewport().getAlignPanel());
+ // top view, then bottom
+ cra_views.add(af2.getViewport().getAlignPanel());
+ cra_views.add(((jalview.gui.AlignViewport) af2.getViewport()
+ .getCodingComplement()).getAlignPanel());
- }
}
- HashMap<String, List<String>> xrptypes = new HashMap<>();
- // first save/verify views.
- for (AlignmentViewPanel avp : cra_views)
+ else
{
- nextxref = first + " -> " + db + "{" + firstcr_ap++ + "}";
- // verify references for this panel
- AlignmentTest.assertAlignmentDatasetRefs(avp.getAlignment(),
- "Pass (" + pass1 + "," + pass2 + "," + pass3
- + "): before start of pass3: " + nextxref
- + ":");
- assertDatasetIsNormalisedKnownDefect(avp.getAlignment(),
- "Pass (" + pass1 + "," + pass2 + "," + pass3
- + "): before start of pass3: " + nextxref
- + ":");
-
- SequenceI[] xrseqs = avp.getAlignment().getSequencesArray();
-
- List<String> _xrptypes = (seqs == null || seqs.length == 0) ? null
- : new CrossRef(xrseqs, dataset)
- .findXrefSourcesForSequences(avp
- .getAlignViewport().isNucleotide());
-
- stringify(dbtoviewBit, savedProjects, nextxref, avp);
- xrptypes.put(nextxref, _xrptypes);
+ // bottom view, then top
+ cra_views.add(((jalview.gui.AlignViewport) af2.getViewport()
+ .getCodingComplement()).getAlignPanel());
+ cra_views.add(af2.getViewport().getAlignPanel());
}
+ }
+ HashMap<String, List<String>> xrptypes = new HashMap<>();
+ // first save/verify views.
+ for (AlignmentViewPanel avp : cra_views)
+ {
+ nextxref = first + " -> " + db + "{" + firstcr_ap++ + "}";
+ // verify references for this panel
+ AlignmentTest.assertAlignmentDatasetRefs(avp.getAlignment(),
+ "Pass (" + pass1 + "," + pass2 + "," + pass3
+ + "): before start of pass3: " + nextxref
+ + ":");
+ assertDatasetIsNormalisedKnownDefect(avp.getAlignment(),
+ "Pass (" + pass1 + "," + pass2 + "," + pass3
+ + "): before start of pass3: " + nextxref
+ + ":");
+
+ SequenceI[] xrseqs = avp.getAlignment().getSequencesArray();
+
+ List<String> _xrptypes = (seqs == null || seqs.length == 0)
+ ? null
+ : new CrossRef(xrseqs, dataset)
+ .findXrefSourcesForSequences(
+ avp.getAlignViewport().isNucleotide());
+
+ stringify(dbtoviewBit, savedProjects, nextxref, avp);
+ xrptypes.put(nextxref, _xrptypes);
+
+ }
- // now do the second xref pass starting from either saved or just
- // recovered split pane, in sequence
- do // retrieve second set of cross refs or recover and verify
+ // now do the second xref pass starting from either saved or just
+ // recovered split pane, in sequence
+ do // retrieve second set of cross refs or recover and verify
+ {
+ firstcr_ap = 0;
+ for (AlignmentViewPanel avp : cra_views)
{
- firstcr_ap = 0;
- for (AlignmentViewPanel avp : cra_views)
+ nextxref = first + " -> " + db + "{" + firstcr_ap++ + "}";
+ for (String xrefdb : xrptypes.get(nextxref))
{
- nextxref = first + " -> " + db + "{" + firstcr_ap++ + "}";
- for (String xrefdb : xrptypes.get(nextxref))
- {
- List<AlignmentViewPanel> cra_views2 = new ArrayList<>();
- int q = 0;
- String nextnextxref = nextxref + " -> " + xrefdb + "{"
- + q + "}";
+ List<AlignmentViewPanel> cra_views2 = new ArrayList<>();
+ int q = 0;
+ String nextnextxref = nextxref + " -> " + xrefdb + "{" + q
+ + "}";
- if (pass3 == 0)
+ if (pass3 == 0)
+ {
+ SequenceI[] xrseqs = avp.getAlignment()
+ .getSequencesArray();
+ AlignFrame nextaf = Desktop
+ .getAlignFrameFor(avp.getAlignViewport());
+
+ cra = CrossRefAction.getHandlerFor(xrseqs,
+ avp.getAlignViewport().isNucleotide(), xrefdb,
+ nextaf);
+ cra.run();
+ cra_views2 = (List<AlignmentViewPanel>) PA.getValue(cra,
+ "xrefViews");
+ if (cra_views2.size() == 0)
{
- SequenceI[] xrseqs = avp.getAlignment()
- .getSequencesArray();
- AlignFrame nextaf = Desktop.getAlignFrameFor(avp
- .getAlignViewport());
-
- cra = CrossRefAction.getHandlerFor(xrseqs, avp
- .getAlignViewport().isNucleotide(), xrefdb,
- nextaf);
- cra.run();
- cra_views2 = (List<AlignmentViewPanel>) PA.getValue(
- cra, "xrefViews");
- if (cra_views2.size() == 0)
- {
- failedXrefMenuItems
- .add("No crossrefs retrieved for '"
- + nextxref + "' to " + xrefdb
- + " via '" + nextaf.getTitle() + "'");
- continue;
- }
- assertNucleotide(cra_views2.get(0),
- "Nucleotide panel included proteins for '"
- + nextxref + "' to " + xrefdb
- + " via '" + nextaf.getTitle() + "'");
- assertProtein(cra_views2.get(1),
- "Protein panel included nucleotides for '"
- + nextxref + "' to " + xrefdb
- + " via '" + nextaf.getTitle() + "'");
-
+ failedXrefMenuItems.add("No crossrefs retrieved for '"
+ + nextxref + "' to " + xrefdb + " via '"
+ + nextaf.getTitle() + "'");
+ continue;
}
- else
+ assertNucleotide(cra_views2.get(0),
+ "Nucleotide panel included proteins for '"
+ + nextxref + "' to " + xrefdb + " via '"
+ + nextaf.getTitle() + "'");
+ assertProtein(cra_views2.get(1),
+ "Protein panel included nucleotides for '"
+ + nextxref + "' to " + xrefdb + " via '"
+ + nextaf.getTitle() + "'");
+
+ }
+ else
+ {
+ Desktop.instance.closeAll_actionPerformed(null);
+ // recover stored project
+ File storedProject = savedProjects.get(nextnextxref);
+ if (storedProject == null)
{
- Desktop.instance.closeAll_actionPerformed(null);
- // recover stored project
- File storedProject = savedProjects.get(nextnextxref);
- if (storedProject == null)
- {
- failedProjectRecoveries
- .add("Failed to store a view for '"
- + nextnextxref + "'");
- continue;
- }
- AlignFrame af2 = new FileLoader(false)
- .LoadFileWaitTillLoaded(
- savedProjects.get(nextnextxref)
- .toString(),
- DataSourceType.FILE);
- System.out.println("Recovered view for '"
- + nextnextxref + "' from '"
- + savedProjects.get(nextnextxref).toString()
- + "'");
- // gymnastics to recover the alignPanel/Complementary
- // alignPanel
- if (af2.getViewport().isNucleotide())
- {
- // top view, then bottom
- cra_views2.add(af2.getViewport().getAlignPanel());
- cra_views2.add(((jalview.gui.AlignViewport) af2
- .getViewport().getCodingComplement())
- .getAlignPanel());
-
- }
- else
- {
- // bottom view, then top
- cra_views2.add(((jalview.gui.AlignViewport) af2
- .getViewport().getCodingComplement())
- .getAlignPanel());
- cra_views2.add(af2.getViewport().getAlignPanel());
- }
- Assert.assertEquals(cra_views2.size(), 2);
- Assert.assertNotNull(cra_views2.get(0));
- Assert.assertNotNull(cra_views2.get(1));
+ failedProjectRecoveries
+ .add("Failed to store a view for '"
+ + nextnextxref + "'");
+ continue;
}
+ AlignFrame af2 = new FileLoader(false)
+ .LoadFileWaitTillLoaded(savedProjects
+ .get(nextnextxref).toString(),
+ DataSourceType.FILE);
+ System.out
+ .println("Recovered view for '" + nextnextxref
+ + "' from '" + savedProjects
+ .get(nextnextxref).toString()
+ + "'");
+ // gymnastics to recover the alignPanel/Complementary
+ // alignPanel
+ if (af2.getViewport().isNucleotide())
+ {
+ // top view, then bottom
+ cra_views2.add(af2.getViewport().getAlignPanel());
+ cra_views2.add(((jalview.gui.AlignViewport) af2
+ .getViewport().getCodingComplement())
+ .getAlignPanel());
- for (AlignmentViewPanel nextavp : cra_views2)
+ }
+ else
{
- nextnextxref = nextxref + " -> " + xrefdb + "{" + q++
- + "}";
-
- // verify references for this panel
- AlignmentTest.assertAlignmentDatasetRefs(
- nextavp.getAlignment(), "" + "Pass (" + pass1
- + "," + pass2 + "): For "
- + nextnextxref + ":");
- assertDatasetIsNormalisedKnownDefect(
- nextavp.getAlignment(), "" + "Pass (" + pass1
- + "," + pass2 + "): For "
- + nextnextxref + ":");
-
- stringify(dbtoviewBit, savedProjects, nextnextxref,
- nextavp);
- keyseq.add(nextnextxref);
+ // bottom view, then top
+ cra_views2.add(((jalview.gui.AlignViewport) af2
+ .getViewport().getCodingComplement())
+ .getAlignPanel());
+ cra_views2.add(af2.getViewport().getAlignPanel());
}
- } // end of loop around showing all xrefdb for crossrf2
-
- } // end of loop around all viewpanels from crossrf1
- } while (pass2 == 2 && pass3++ < 2);
- // fetchdb->crossref1->crossref-2->verify for xrefs we
- // either loop twice when pass2=0, or just once when pass2=1
- // (recovered project from previous crossref)
-
- } // end of loop over db-xrefs for crossref-2
-
- // fetchdb-->crossref1
- // for each xref we try to retrieve xref, store and verify when
- // pass1=0, or just retrieve and verify when pass1=1
- } while (pass1 == 1 && pass2++ < 2);
- // fetchdb
- // for each ref we
- // loop twice: first, do the retrieve, second recover from saved project
-
- // increment pass counters, so we repeat traversal starting from the
- // oldest saved project first.
- if (pass1 == 0)
- {
- // verify stored projects for first set of cross references
- pass1 = 1;
- // and verify cross-references retrieved from stored projects
- pass2 = 0;
- pass3 = 0;
- }
- else
- {
- pass1++;
- }
- } while (pass1 < 3);
+ Assert.assertEquals(cra_views2.size(), 2);
+ Assert.assertNotNull(cra_views2.get(0));
+ Assert.assertNotNull(cra_views2.get(1));
+ }
+
+ for (AlignmentViewPanel nextavp : cra_views2)
+ {
+ nextnextxref = nextxref + " -> " + xrefdb + "{" + q++
+ + "}";
+
+ // verify references for this panel
+ AlignmentTest.assertAlignmentDatasetRefs(
+ nextavp.getAlignment(),
+ "" + "Pass (" + pass1 + "," + pass2 + "): For "
+ + nextnextxref + ":");
+ assertDatasetIsNormalisedKnownDefect(
+ nextavp.getAlignment(),
+ "" + "Pass (" + pass1 + "," + pass2 + "): For "
+ + nextnextxref + ":");
+
+ stringify(dbtoviewBit, savedProjects, nextnextxref,
+ nextavp);
+ keyseq.add(nextnextxref);
+ }
+ } // end of loop around showing all xrefdb for crossrf2
+
+ } // end of loop around all viewpanels from crossrf1
+ } while (pass2 == 2 && pass3++ < 2);
+ // fetchdb->crossref1->crossref-2->verify for xrefs we
+ // either loop twice when pass2=0, or just once when pass2=1
+ // (recovered project from previous crossref)
+
+ } // end of loop over db-xrefs for crossref-2
+
+ // fetchdb-->crossref1
+ // for each xref we try to retrieve xref, store and verify when
+ // pass1=0, or just retrieve and verify when pass1=1
+ } while (pass1 == 1 && pass2++ < 2);
+ // fetchdb
+ // for each ref we
+ // loop twice: first, do the retrieve, second recover from saved project
+
+ // increment pass counters, so we repeat traversal starting from the
+ // oldest saved project first.
+ if (pass1 == 0)
+ {
+ // verify stored projects for first set of cross references
+ pass1 = 1;
+ // and verify cross-references retrieved from stored projects
+ pass2 = 0;
+ pass3 = 0;
+ }
+ else
+ {
+ pass1++;
+ }
+ } while (pass1 < 3);
if (failedXrefMenuItems.size() > 0)
{
{
System.err.println(s);
}
- Assert.fail("Didn't recover projects for some retrievals (did they retrieve ?) ("
- + failedProjectRecoveries.size() + " counts)");
+ Assert.fail(
+ "Didn't recover projects for some retrievals (did they retrieve ?) ("
+ + failedProjectRecoveries.size() + " counts)");
}
if (failedDBRetr.size() > 0)
{
}
else
{
- System.out
- .println("Ignored exception for known defect: JAL-2179 : "
- + message);
+ System.out.println("Ignored exception for known defect: JAL-2179 : "
+ + message);
}
}
AlignmentViewPanel alignmentViewPanel, String message)
{
List<SequenceI> nonType = new ArrayList<>();
- for (SequenceI sq : alignmentViewPanel.getAlignViewport()
- .getAlignment().getSequences())
+ for (SequenceI sq : alignmentViewPanel.getAlignViewport().getAlignment()
+ .getSequences())
{
if (sq.isProtein() != expectProtein)
{
}
else
{
- Assert.assertEquals(sbr.toString(), dbt, "stringify mismatch for "
- + xrefpath);
+ Assert.assertEquals(sbr.toString(), dbt,
+ "stringify mismatch for " + xrefpath);
}
}
}