+
+ /**
+ * @return true if a reference sequence is set and should be displayed
+ */
+ public boolean isDisplayReferenceSeq();
+
+ /**
+ * @return set the flag for displaying reference sequences when they are
+ * available
+ */
+ public void setDisplayReferenceSeq(boolean displayReferenceSeq);
+
+ /**
+ * @return true if colourschemes should render according to reference sequence
+ * rather than consensus if available
+ */
+ public boolean isColourByReferenceSeq();
+
+ /**
+ * @return true set flag for deciding if colourschemes should render according
+ * to reference sequence rather than consensus if available
+ */
+ public void setColourByReferenceSeq(boolean colourByReferenceSeq);
+
+ void setSequenceColour(SequenceI seq, Color col);
+
+ Color getSequenceColour(SequenceI seq);
+
+ void updateSequenceIdColours();
+
+ SequenceGroup getSelectionGroup();
+
+ /**
+ * get the currently selected sequence objects or all the sequences in the
+ * alignment. TODO: change to List<>
+ *
+ * @return array of references to sequence objects
+ */
+ SequenceI[] getSequenceSelection();
+
+ void clearSequenceColours();
+
+ /**
+ * This method returns the visible alignment as text, as seen on the GUI, ie
+ * if columns are hidden they will not be returned in the result. Use this for
+ * calculating trees, PCA, redundancy etc on views which contain hidden
+ * columns.
+ *
+ * @return String[]
+ */
+ CigarArray getViewAsCigars(boolean selectedRegionOnly);
+
+ /**
+ * return a compact representation of the current alignment selection to pass
+ * to an analysis function
+ *
+ * @param selectedOnly
+ * boolean true to just return the selected view
+ * @return AlignmentView
+ */
+ AlignmentView getAlignmentView(boolean selectedOnly);
+
+ /**
+ * return a compact representation of the current alignment selection to pass
+ * to an analysis function
+ *
+ * @param selectedOnly
+ * boolean true to just return the selected view
+ * @param markGroups
+ * boolean true to annotate the alignment view with groups on the
+ * alignment (and intersecting with selected region if selectedOnly
+ * is true)
+ * @return AlignmentView
+ */
+ AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups);
+
+ /**
+ * This method returns the visible alignment as text, as seen on the GUI, ie
+ * if columns are hidden they will not be returned in the result. Use this for
+ * calculating trees, PCA, redundancy etc on views which contain hidden
+ * columns.
+ *
+ * @return String[]
+ */
+ String[] getViewAsString(boolean selectedRegionOnly);
+
+ void setSelectionGroup(SequenceGroup sg);
+
+ char getGapCharacter();
+
+ void setColumnSelection(ColumnSelection cs);
+
+ void setConservation(Conservation cons);
+
+ /**
+ * get a copy of the currently visible alignment annotation
+ * @param selectedOnly if true - trim to selected regions on the alignment
+ * @return an empty list or new alignment annotation objects shown only visible columns trimmed to selected region only
+ */
+ List<AlignmentAnnotation> getVisibleAlignmentAnnotation(
+ boolean selectedOnly);
+
+ FeaturesDisplayedI getFeaturesDisplayed();
+
+ String getSequenceSetId();