Clover icon

jalviewX

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

File CovariationColourScheme.java

 

Coverage histogram

../../img/srcFileCovDistChart0.png
56% of files have more coverage

Code metrics

8
19
7
1
159
75
11
0.58
2.71
7
1.57

Classes

Class Line # Actions
CovariationColourScheme 39 19 11 34
0.00%
 

Contributing tests

No tests hitting this source file were found.

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.AlignmentAnnotation;
24    import jalview.datamodel.AnnotatedCollectionI;
25    import jalview.datamodel.SequenceCollectionI;
26    import jalview.datamodel.SequenceI;
27    import jalview.util.ColorUtils;
28   
29    import java.awt.Color;
30    import java.util.Hashtable;
31    import java.util.Map;
32   
33    /**
34    * Became RNAHelicesColour.java. Placeholder for true covariation color scheme
35    *
36    * @author Lauren Michelle Lui
37    * @version 2.5
38    */
 
39    public class CovariationColourScheme extends ResidueColourScheme
40    {
41    public Map<String, Color> helixcolorhash = new Hashtable<String, Color>();
42   
43    public Map<Integer, String> positionsToHelix = new Hashtable<Integer, String>();
44   
45    int numHelix = 0;
46   
47    public AlignmentAnnotation annotation;
48   
49    /**
50    * Returns a new instance of this colour scheme with which the given data may
51    * be coloured
52    */
 
53  0 toggle @Override
54    public ColourSchemeI getInstance(AnnotatedCollectionI coll,
55    Map<SequenceI, SequenceCollectionI> hrs)
56    {
57  0 return new CovariationColourScheme(coll.getAlignmentAnnotation()[0]);
58    }
59   
60    /**
61    * Creates a new CovariationColourScheme object.
62    */
 
63  0 toggle public CovariationColourScheme(AlignmentAnnotation annotation)
64    {
65  0 this.annotation = annotation;
66   
67  0 for (int x = 0; x < this.annotation._rnasecstr.length; x++)
68    {
69    // System.out.println(this.annotation._rnasecstr[x] + " Begin" +
70    // this.annotation._rnasecstr[x].getBegin());
71    // System.out.println(this.annotation._rnasecstr[x].getFeatureGroup());
72    // pairs.put(this.annotation._rnasecstr[x].getBegin(),
73    // this.annotation._rnasecstr[x].getEnd());
74   
75  0 positionsToHelix.put(this.annotation._rnasecstr[x].getBegin(),
76    this.annotation._rnasecstr[x].getFeatureGroup());
77  0 positionsToHelix.put(this.annotation._rnasecstr[x].getEnd(),
78    this.annotation._rnasecstr[x].getFeatureGroup());
79   
80  0 if (Integer.parseInt(
81    this.annotation._rnasecstr[x].getFeatureGroup()) > numHelix)
82    {
83  0 numHelix = Integer
84    .parseInt(this.annotation._rnasecstr[x].getFeatureGroup());
85    }
86   
87    }
88   
89  0 for (int j = 0; j <= numHelix; j++)
90    {
91  0 helixcolorhash.put(String.valueOf(j),
92    ColorUtils.generateRandomColor(Color.white));
93    }
94   
95    }
96   
97    /**
98    * DOCUMENT ME!
99    *
100    * @param n
101    * DOCUMENT ME!
102    *
103    * @return DOCUMENT ME!
104    */
 
105  0 toggle @Override
106    public Color findColour(char c)
107    {
108    // System.out.println("called"); log.debug
109    // Generate a random pastel color
110   
111  0 return ResidueProperties.purinepyrimidine[ResidueProperties.purinepyrimidineIndex[c]];// jalview.util.ColorUtils.generateRandomColor(Color.white);
112    }
113   
114    /**
115    * DOCUMENT ME!
116    *
117    * @param n
118    * DOCUMENT ME!
119    * @param j
120    * DOCUMENT ME!
121    *
122    * @return DOCUMENT ME!
123    */
 
124  0 toggle public Color findColour(char c, int j)
125    {
126  0 Color currentColour = Color.white;
127  0 String currentHelix = null;
128    // System.out.println(c + " " + j);
129  0 currentHelix = positionsToHelix.get(j);
130    // System.out.println(positionsToHelix.get(j));
131   
132  0 if (currentHelix != null)
133    {
134  0 currentColour = helixcolorhash.get(currentHelix);
135    }
136   
137    // System.out.println(c + " " + j + " helix " + currentHelix + " " +
138    // currentColour);
139  0 return currentColour;
140    }
141   
 
142  0 toggle @Override
143    public boolean isNucleotideSpecific()
144    {
145  0 return true;
146    }
147   
 
148  0 toggle @Override
149    public String getSchemeName()
150    {
151  0 return "Covariation";
152    }
153   
 
154  0 toggle @Override
155    public boolean isSimple()
156    {
157  0 return false;
158    }
159    }