Clover icon

jalviewX

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

File Blosum62ColourScheme.java

 

Coverage histogram

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

Code metrics

8
20
6
1
119
75
12
0.6
3.33
6
2

Classes

Class Line # Actions
Blosum62ColourScheme 33 20 12 2
0.941176594.1%
 

Contributing tests

This file is covered by 81 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.analysis.scoremodels.ScoreModels;
24    import jalview.api.analysis.PairwiseScoreModelI;
25    import jalview.datamodel.AnnotatedCollectionI;
26    import jalview.datamodel.SequenceCollectionI;
27    import jalview.datamodel.SequenceI;
28    import jalview.util.Comparison;
29   
30    import java.awt.Color;
31    import java.util.Map;
32   
 
33    public class Blosum62ColourScheme extends ResidueColourScheme
34    {
35    private static final Color LIGHT_BLUE = new Color(204, 204, 255);
36   
37    private static final Color DARK_BLUE = new Color(154, 154, 255);
38   
 
39  9 toggle public Blosum62ColourScheme()
40    {
41  9 super();
42    }
43   
44    /**
45    * Returns a new instance of this colour scheme with which the given data may
46    * be coloured
47    */
 
48  2 toggle @Override
49    public ColourSchemeI getInstance(AnnotatedCollectionI coll,
50    Map<SequenceI, SequenceCollectionI> hrs)
51    {
52  2 return new Blosum62ColourScheme();
53    }
54   
 
55  10 toggle @Override
56    public Color findColour(char res, int j, SequenceI seq,
57    String consensusResidue, float pid)
58    {
59  10 PairwiseScoreModelI sm = ScoreModels.getInstance().getBlosum62();
60   
61    /*
62    * compare as upper case; note consensusResidue is
63    * always computed as uppercase
64    */
65  10 if ('a' <= res && res <= 'z')
66    {
67  1 res -= ('a' - 'A');
68    }
69   
70  10 if (Comparison.isGap(res) || consensusResidue == null)
71    {
72  0 return Color.white;
73    }
74   
75  10 Color colour;
76   
77  10 if (consensusResidue.indexOf(res) > -1)
78    {
79  2 colour = DARK_BLUE;
80    }
81    else
82    {
83  8 float score = 0;
84   
85  8 for (char consensus : consensusResidue.toCharArray())
86    {
87  13 score += sm.getPairwiseScore(consensus, res);
88    }
89   
90  8 if (score > 0)
91    {
92  3 colour = LIGHT_BLUE;
93    }
94    else
95    {
96  5 colour = Color.white;
97    }
98    }
99  10 return colour;
100    }
101   
 
102  390 toggle @Override
103    public boolean isPeptideSpecific()
104    {
105  390 return true;
106    }
107   
 
108  202 toggle @Override
109    public String getSchemeName()
110    {
111  202 return JalviewColourScheme.Blosum62.toString();
112    }
113   
 
114  10 toggle @Override
115    public boolean isSimple()
116    {
117  10 return false;
118    }
119    }