Clover icon

jalviewX

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

File PIDColourScheme.java

 

Coverage histogram

../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

10
15
5
1
106
61
12
0.8
3
5
2.4

Classes

Class Line # Actions
PIDColourScheme 32 15 12 0
1.0100%
 

Contributing tests

This file is covered by 85 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.SequenceGroup;
26    import jalview.datamodel.SequenceI;
27    import jalview.util.Comparison;
28   
29    import java.awt.Color;
30    import java.util.Map;
31   
 
32    public class PIDColourScheme extends ResidueColourScheme
33    {
34    private static final Color[] pidColours = { new Color(100, 100, 255),
35    new Color(153, 153, 255), new Color(204, 204, 255), };
36   
37    private static final float[] thresholds = { 80, 60, 40, };
38   
39    SequenceGroup group;
40   
 
41  15 toggle public PIDColourScheme()
42    {
43    }
44   
 
45  5222 toggle @Override
46    public Color findColour(char c, int j, SequenceI seq,
47    String consensusResidue, float pid)
48    {
49    /*
50    * compare as upper case; note consensusResidue is
51    * always computed as uppercase
52    */
53  5222 if ('a' <= c && c <= 'z')
54    {
55  1 c -= ('a' - 'A');
56    }
57   
58  5222 if (consensusResidue == null || Comparison.isGap(c))
59    {
60  1614 return Color.white;
61    }
62   
63  3608 Color colour = Color.white;
64   
65    /*
66    * test whether this is the consensus (or joint consensus) residue
67    */
68  3608 boolean matchesConsensus = consensusResidue.contains(String.valueOf(c));
69  3608 if (matchesConsensus)
70    {
71  7249 for (int i = 0; i < thresholds.length; i++)
72    {
73  6341 if (pid > thresholds[i])
74    {
75  1541 colour = pidColours[i];
76  1541 break;
77    }
78    }
79    }
80   
81  3608 return colour;
82    }
83   
 
84  203 toggle @Override
85    public String getSchemeName()
86    {
87  203 return JalviewColourScheme.PID.toString();
88    }
89   
90    /**
91    * Returns a new instance of this colour scheme with which the given data may
92    * be coloured
93    */
 
94  3 toggle @Override
95    public ColourSchemeI getInstance(AnnotatedCollectionI coll,
96    Map<SequenceI, SequenceCollectionI> hrs)
97    {
98  3 return new PIDColourScheme();
99    }
100   
 
101  10 toggle @Override
102    public boolean isSimple()
103    {
104  10 return false;
105    }
106    }