Clover icon

jalviewX

  1. Project Clover database Wed Oct 31 2018 15:13:58 GMT
  2. Package jalview.schemes

File ScoreColourScheme.java

 

Coverage histogram

../../img/srcFileCovDistChart9.png
12% of files have more coverage

Code metrics

8
19
5
1
127
60
9
0.47
3.8
5
1.8

Classes

Class Line # Actions
ScoreColourScheme 37 19 9 6
0.812581.2%
 

Contributing tests

This file is covered by 17 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
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.
11    *
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.
16    *
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.
20    */
21    package jalview.schemes;
22   
23    import jalview.datamodel.AnnotatedCollectionI;
24    import jalview.datamodel.SequenceCollectionI;
25    import jalview.datamodel.SequenceI;
26    import jalview.util.Comparison;
27   
28    import java.awt.Color;
29    import java.util.Map;
30   
31    /**
32    * DOCUMENT ME!
33    *
34    * @author $author$
35    * @version $Revision$
36    */
 
37    public class ScoreColourScheme extends ResidueColourScheme
38    {
39    public double min;
40   
41    public double max;
42   
43    public double[] scores;
44   
45    /**
46    * Creates a new ScoreColourScheme object.
47    *
48    * @param scores
49    * DOCUMENT ME!
50    * @param min
51    * DOCUMENT ME!
52    * @param max
53    * DOCUMENT ME!
54    */
 
55  67 toggle public ScoreColourScheme(int symbolIndex[], double[] scores, double min,
56    double max)
57    {
58  67 super(symbolIndex);
59   
60  67 this.scores = scores;
61  67 this.min = min;
62  67 this.max = max;
63   
64    // Make colours in constructor
65    // Why wasn't this done earlier?
66  67 int iSize = scores.length;
67  67 colors = new Color[scores.length];
68  1613 for (int i = 0; i < iSize; i++)
69    {
70    /*
71    * scale score between min and max to the range 0.0 - 1.0
72    */
73  1546 float score = (float) (scores[i] - (float) min) / (float) (max - min);
74   
75  1546 if (score > 1.0f)
76    {
77  0 score = 1.0f;
78    }
79   
80  1546 if (score < 0.0f)
81    {
82  104 score = 0.0f;
83    }
84  1546 colors[i] = makeColour(score);
85    }
86    }
87   
 
88  17764 toggle @Override
89    public Color findColour(char c, int j, SequenceI seq)
90    {
91  17764 if (Comparison.isGap(c))
92    {
93  5598 return Color.white;
94    }
95  12166 return super.findColour(c);
96    }
97   
98    /**
99    * DOCUMENT ME!
100    *
101    * @param c
102    * DOCUMENT ME!
103    *
104    * @return DOCUMENT ME!
105    */
 
106  0 toggle public Color makeColour(float c)
107    {
108  0 return new Color(c, (float) 0.0, (float) 1.0 - c);
109    }
110   
 
111  1 toggle @Override
112    public String getSchemeName()
113    {
114  1 return "Score";
115    }
116   
117    /**
118    * Returns a new instance of this colour scheme with which the given data may
119    * be coloured
120    */
 
121  0 toggle @Override
122    public ColourSchemeI getInstance(AnnotatedCollectionI coll,
123    Map<SequenceI, SequenceCollectionI> hrs)
124    {
125  0 return new ScoreColourScheme(symbolIndex, scores, min, max);
126    }
127    }