Clover icon

Coverage Report

  1. Project Clover database Wed Nov 13 2024 18:27:33 GMT
  2. Package jalview.json.binding.biojson.v1

File AlignmentPojo.java

 

Coverage histogram

../../../../../img/srcFileCovDistChart8.png
20% of files have more coverage

Code metrics

0
14
15
1
159
114
15
1.07
0.93
15
1

Classes

Class Line # Actions
AlignmentPojo 33 14 15
0.724137972.4%
 

Contributing tests

This file is covered by 3 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.json.binding.biojson.v1;
22   
23    import java.util.ArrayList;
24    import java.util.HashMap;
25    import java.util.List;
26    import java.util.Map;
27   
28    import com.github.reinert.jjschema.Attributes;
29   
30    @Attributes(
31    title = "BioJSON",
32    description = "A specification for the representation and exchange of bioinformatics data")
 
33    public class AlignmentPojo
34    {
35    @Attributes(
36    required = true,
37    description = "Serial version identifier for <b>BioJSON</b> schema")
38    private String svid = "1.0";
39   
40    @Attributes(
41    required = true,
42    minItems = 1,
43    description = "An array of Sequences which makes up the Alignment")
44    private List<SequencePojo> seqs = new ArrayList<SequencePojo>();
45   
46    @Attributes(
47    required = false,
48    minItems = 0,
49    exclusiveMaximum = true,
50    description = "Alignment annotations stores symbols and graphs usually rendered </br>"
51    + "below the alignment and often reflect properties of the alignment </br>as a whole.")
52    private List<AlignmentAnnotationPojo> alignAnnotation = new ArrayList<AlignmentAnnotationPojo>();
53   
54    @Attributes(
55    required = false,
56    minItems = 0,
57    description = "A sequence group is a rectangular region of an alignment <br>bounded by startRes and endRes positions in the alignment <br>coordinate system for a set of sequences")
58    private List<SequenceGrpPojo> seqGroups = new ArrayList<SequenceGrpPojo>();
59   
60    @Attributes(
61    required = false,
62    minItems = 0,
63    description = "Sequence features are properties of the individual sequences, <br>they do not change with the alignment, but are shown mapped<br> on to specific residues within the alignment")
64    private List<SequenceFeaturesPojo> seqFeatures = new ArrayList<SequenceFeaturesPojo>();
65   
66    @Attributes(
67    required = false,
68    enums =
69    { "None", "User Defined", "Clustal", "Zappo", "Taylor", "Nucleotide",
70    "Pyrimidine", "Purine", "Turn", "Helix", "Strand", "Buried",
71    "Hydro", "T-Coffee Scores", "RNA Interaction type", "Blosum62",
72    "RNA Helices", "% Identity" },
73    description = "The <a href=\"#colourScheme\">Colour Scheme</a> applied to the alignment")
74    private String colourScheme;
75   
76    @Attributes(
77    required = true,
78    maxItems = 0,
79    description = "AppSettings stores key=value pairs of custom application specific <br>"
80    + "settings (i.e visualisation settings, etc) for different applications<br>"
81    + "that consume or generate BioJSON")
82    Map<String, Object> appSettings = new HashMap<String, Object>();
83   
 
84  8 toggle public AlignmentPojo()
85    {
86    }
87   
 
88  68 toggle public List<SequencePojo> getSeqs()
89    {
90  68 return seqs;
91    }
92   
 
93  0 toggle public void setSeqs(ArrayList<SequencePojo> seqs)
94    {
95  0 this.seqs = seqs;
96    }
97   
 
98  50 toggle public Map<String, Object> getAppSettings()
99    {
100  50 return appSettings;
101    }
102   
 
103  0 toggle public void setAppSettings(Map<String, Object> appSettings)
104    {
105  0 this.appSettings = appSettings;
106    }
107   
 
108  8 toggle public List<AlignmentAnnotationPojo> getAlignAnnotation()
109    {
110  8 return alignAnnotation;
111    }
112   
 
113  8 toggle public void setAlignAnnotation(
114    List<AlignmentAnnotationPojo> alignAnnotation)
115    {
116  8 this.alignAnnotation = alignAnnotation;
117    }
118   
 
119  14 toggle public List<SequenceGrpPojo> getSeqGroups()
120    {
121  14 return seqGroups;
122    }
123   
 
124  0 toggle public void setSeqGroups(List<SequenceGrpPojo> seqGroups)
125    {
126  0 this.seqGroups = seqGroups;
127    }
128   
 
129  8 toggle public List<SequenceFeaturesPojo> getSeqFeatures()
130    {
131  8 return seqFeatures;
132    }
133   
 
134  8 toggle public void setSeqFeatures(List<SequenceFeaturesPojo> seqFeatures)
135    {
136  8 this.seqFeatures = seqFeatures;
137    }
138   
 
139  8 toggle public String getSvid()
140    {
141  8 return svid;
142    }
143   
 
144  8 toggle public void setGlobalColorScheme(String globalColorScheme)
145    {
146  8 this.appSettings.put("globalColorScheme", globalColorScheme);
147    }
148   
 
149  8 toggle public String getColourScheme()
150    {
151  8 return colourScheme;
152    }
153   
 
154  0 toggle public void setColourScheme(String colourScheme)
155    {
156  0 this.colourScheme = colourScheme;
157    }
158   
159    }