JAL-629 Tidy up tests and replaced methods before merge to develop
[jalview.git] / src / jalview / datamodel / SeqDistanceContactMatrix.java
1 package jalview.datamodel;
2
3 import java.awt.Color;
4 import java.util.BitSet;
5 import java.util.HashMap;
6 import java.util.List;
7
8 /**
9  * Dummy contact matrix based on sequence distance
10  * 
11  * @author jprocter
12  *
13  */
14 public class SeqDistanceContactMatrix implements ContactMatrixI
15 {
16   private static final String SEQUENCE_DISTANCE = "SEQUENCE_DISTANCE";
17
18   private int width = 0;
19
20   public SeqDistanceContactMatrix(int width)
21   {
22     this.width = width;
23   }
24
25   @Override
26   public float getMin()
27   {
28     return 0f;
29   }
30
31   @Override
32   public float getMax()
33   {
34     return width;
35   }
36
37   @Override
38   public ContactListI getContactList(final int column)
39   {
40     if (column < 0 || column >= width)
41     {
42       return null;
43     }
44     return new ContactListImpl(new ContactListProviderI()
45     {
46
47       int p = column;
48
49       // @Override
50       // public Color getColorForScore(int column)
51       // {
52       // return jalview.util.ColorUtils.getGraduatedColour(Math.abs(column-p),
53       // 0, Color.white, width, Color.magenta);
54       // }
55       // @Override
56       // public Color getColorForRange(int from_column, int to_column)
57       // {
58       // return jalview.util.ColorUtils.getGraduatedColour(
59       // Math.abs(to_column + from_column - 2 * p) / 2, 0, Color.white, width,
60       // Color.magenta);
61       // }
62
63       @Override
64       public int getContactHeight()
65       {
66         return width;
67
68       }
69
70       @Override
71       public int getPosition()
72       {
73         return p;
74       }
75
76       @Override
77       public double getContactAt(int column)
78       {
79         return Math.abs(column - p);
80       }
81     });
82   }
83
84   @Override
85   public boolean hasReferenceSeq()
86   {
87     // TODO Auto-generated method stub
88     return false;
89   }
90
91   @Override
92   public SequenceI getReferenceSeq()
93   {
94     // TODO Auto-generated method stub
95     return null;
96   }
97
98   @Override
99   public String getAnnotDescr()
100   {
101     return "Sequence distance matrix";
102   }
103
104   @Override
105   public String getAnnotLabel()
106   {
107     return "Sequence Distance";
108   }
109
110   @Override
111   public String getType()
112   {
113     return SEQUENCE_DISTANCE;
114   }
115
116   @Override
117   public int getWidth()
118   {
119     return width;
120   }
121
122   @Override
123   public int getHeight()
124   {
125     return width;
126   }
127   private List<BitSet> groups=null;
128   @Override
129   public void updateGroups(List<BitSet> colGroups)
130   {
131     groups = colGroups;
132   }
133   @Override
134   public boolean hasGroups()
135   {
136     return groups!=null;
137   }
138   @Override
139   public List<BitSet> getGroups()
140   {
141     return groups;
142   }  
143
144   HashMap<BitSet,Color> colorMap = new HashMap<>();
145   @Override 
146   public Color getColourForGroup(BitSet bs)
147   {
148     if (bs==null) {
149       return Color.white;
150     }
151     Color groupCol=colorMap.get(bs);
152     if (groupCol==null)
153     {
154       return Color.white;
155     }
156     return groupCol;
157   }
158   @Override 
159   public void setColorForGroup(BitSet bs,Color color)
160   {
161     colorMap.put(bs,color);
162   }
163 }