/* * Copyright (c) 2003-2012 Fred Hutchinson Cancer Research Center * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.fhcrc.cpl.viewer.database.dbclasses; import org.apache.log4j.Logger; import org.fhcrc.cpl.toolbox.proteomics.Protein; import org.fhcrc.cpl.toolbox.proteomics.filehandler.ProtXmlReader; import java.util.Set; import java.util.HashSet; /** * Command linemodule for plotting the mass calibration of a feature file */ public class ProteinDBC { protected static Logger _log = Logger.getLogger(ProteinDBC.class); protected int id; protected Protein protein = null; protected Set<GeneDBC> genes = null; protected Set<ProteinGroupDBC> proteinGroups = null; protected Set<PeptideDBC> peptides = null; protected BioSequenceDBC bioSequence = null; public ProteinDBC() { proteinGroups = new HashSet<ProteinGroupDBC>(); peptides = new HashSet<PeptideDBC>(); genes = new HashSet<GeneDBC>(); //interim protein until one is set protein = new Protein("","".getBytes()); } public ProteinDBC(Protein toolsProtein) { this(); protein = toolsProtein; } public ProteinDBC(String header) { this(new Protein(header, new byte[0])); } /** * TODO: is this correct? * @param xmlProtein */ public ProteinDBC(ProtXmlReader.Protein xmlProtein) { this(new Protein(xmlProtein.getProteinName(), null)); } public String toString() { if (protein == null) return "Unknown Protein"; return "Protein: " + protein.getLookup(); } public String getHeader() { String proteinHeader = protein.getHeader(); if ("".equals(proteinHeader)) return null; return proteinHeader; } public void setHeader(String header) { protein.setHeader(header); } public String getLookup() { String proteinLookup = protein.getLookup(); if ("".equals(proteinLookup)) return null; return proteinLookup; } public void setLookup(String lookup) { protein.setLookup(lookup); } public int getId() { return id; } public void setId(int id) { this.id = id; } public Set<GeneDBC> getGenes() { return genes; } public void setGenes(Set<GeneDBC> genes) { this.genes = genes; } public void addGene(GeneDBC gene) { genes.add(gene); } public void setProteinGroups(Set<ProteinGroupDBC> proteinGroups) { this.proteinGroups = proteinGroups; } public void addProteinGroup(ProteinGroupDBC proteinGroup) { proteinGroups.add(proteinGroup); } public Set<PeptideDBC> getPeptides() { return peptides; } public void setPeptides(Set<PeptideDBC> peptides) { this.peptides = peptides; } public void addPeptide(PeptideDBC peptide) { peptides.add(peptide); } public Set<ProteinGroupDBC> getProteinGroups() { return proteinGroups; } public Protein getProtein() { return protein; } public void setProtein(Protein protein) { this.protein = protein; } public BioSequenceDBC getBioSequence() { return bioSequence; } public void setBioSequence(BioSequenceDBC bioSequence) { this.bioSequence = bioSequence; } }