Add comments to bean internal data
[proteocache.git] / datadb / compbio / beans / ProteinBean.java
1 package compbio.beans;
2
3 import java.util.ArrayList;
4 import java.util.LinkedHashMap;
5 import java.util.List;
6 import java.util.Map;
7
8 import compbio.cassandra.PredictionIndex;
9
10 /**
11  * POJO bean with information on a protein
12  * 
13  * @author Natasha Sherstneva
14  * 
15  * @version 1.0
16  * @since Jan 2014
17  */
18 public class ProteinBean implements PredictionIndex {
19         private String sequence; // protein sequence
20         private String jnetpred; // the main Jpred prediction sequence
21         private List<String> jobid;  // job IDd: all jobs with the protein
22         private LinkedHashMap<String, String> predictions; // predictions: Key - prediction ID, Value - prediction sequence
23         private List<String> subProt; // protein sequence divided in several parts
24                                                                         // for highlighting a particular part
25         private int size; // a number of predictions for the protein
26
27         public ProteinBean(String seq, Map<String, String> pred) {
28                 this.sequence = seq;
29                 this.predictions = new LinkedHashMap<String, String>();
30                 this.jobid = new ArrayList<String>();
31                 setPredictions(pred);
32                 setJnetpred(pred);
33         }
34
35         public void setSequence(String seq) {
36                 this.sequence = seq;
37         }
38
39         public void setPredictions(Map<String, String> pred) {
40                 if (predictions == null)
41                         predictions = new LinkedHashMap<String, String>();
42                 for (String index : predIndex) {
43                         this.predictions.put(index, pred.get(index));
44                 }
45                 this.size = predictions.size();
46         }
47
48         public String getSequence() {
49                 return sequence;
50         }
51
52         public String getJnetpred() {
53                 return jnetpred;
54         }
55
56         public void setJnetpred(Map<String, String> pred) {
57                 if (pred != null) {
58                         if (pred.containsKey("jnetpred"))
59                                 jnetpred = pred.get("jnetpred");
60                 }
61         }
62
63         public List<String> getJobid() {
64                 return jobid;
65         }
66
67         public void setJobid(String id) {
68                 this.jobid.add(id);
69         }
70
71         public int getSize() {
72                 return size;
73         }
74
75         public LinkedHashMap<String, String> getPredictions() {
76                 return predictions;
77         }
78
79         public void setSubProt(List<String> subProt) {
80                 this.subProt = subProt;
81         }
82
83         public List<String> getSubProt() {
84                 return subProt;
85         }
86
87 }