package compbio.beans; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import compbio.cassandra.PredictionIndex; /** * POJO bean with information on a protein * * @author Natasha Sherstneva * * @version 1.0 * @since Jan 2014 */ public class ProteinBean implements PredictionIndex { private String sequence; // protein sequence private String jnetpred; // the main Jpred prediction sequence private List jobid; // job IDd: all jobs with the protein private LinkedHashMap predictions; // predictions: Key - prediction ID, Value - prediction sequence private List subProt; // protein sequence divided in several parts // for highlighting a particular part private int size; // a number of predictions for the protein public ProteinBean(String seq, Map pred) { this.sequence = seq; this.predictions = new LinkedHashMap(); this.jobid = new ArrayList(); setPredictions(pred); setJnetpred(pred); } public void setSequence(String seq) { this.sequence = seq; } public void setPredictions(Map pred) { if (predictions == null) predictions = new LinkedHashMap(); for (String index : predIndex) { this.predictions.put(index, pred.get(index)); } this.size = predictions.size(); } public String getSequence() { return sequence; } public String getJnetpred() { return jnetpred; } public void setJnetpred(Map pred) { if (pred != null) { if (pred.containsKey("jnetpred")) jnetpred = pred.get("jnetpred"); } } public List getJobid() { return jobid; } public void setJobid(String id) { this.jobid.add(id); } public int getSize() { return size; } public LinkedHashMap getPredictions() { return predictions; } public void setSubProt(List subProt) { this.subProt = subProt; } public List getSubProt() { return subProt; } }