2 # Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 # Copyright (C) $$Year-Rel$$ The Jalview Authors
5 # This file is part of Jalview.
7 # Jalview is free software: you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License
9 # as published by the Free Software Foundation, either version 3
10 # of the License, or (at your option) any later version.
12 # Jalview is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty
14 # of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 # PURPOSE. See the GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 # The Jalview Authors are detailed in the 'AUTHORS' file.
22 optimise rendering - use same model as alignment but with vertical binary sweep to select range of annotation to render:
23 Vertical interval list
24 . run length compress the sizes -> n_i * v_height_i -> label each node - total and accumulated total vertical pos (under current visibility settings ?)
25 --> ins/delete/hide/show of one or more contiguous individual rows causes local -> global update of position sums.
28 indexOf(VPosition in annotation display window),
29 VPositionOf(AnnotationI)
32 i. Hide/show by whole annotation set id
33 ii. move to top/bottom
36 1. Summarising annotation
42 - Proportion of sequences with most frequent symbol
44 [ option to drill down and subselect based on particular symbol or subdivide by all symbols ]
46 3. Clustering based on annotation
48 use built in PCA calculation to do scalar product based analysis of one or many annotation vectors.
49 Sliding window over alignment doing pca at each point. Analyse trajectories through PCA ? (see maximum/minimum and stretches of local similarity)
52 * ''' ACCESS ALL MENUS '''
53 -> allow context popup to show all window submenus
55 { Parent window -> file,edit,etc }
56 { Desktop -> File, Tools, ... }
57 { other areas more distant - e.g. sequence/annotation ID popup from middle of alignment/annotation area }