package org.gmod.schema.feature;
import org.gmod.schema.cfg.FeatureType;
import org.gmod.schema.mapped.CvTerm;
import org.gmod.schema.mapped.Organism;
import org.apache.log4j.Logger;
import javax.persistence.Entity;
import javax.persistence.Transient;
@Entity
@FeatureType(cv="sequence", term="signal_peptide")
public class SignalPeptide extends PolypeptideRegion {
private static final Logger logger = Logger.getLogger(SignalPeptide.class);
// Constructors
SignalPeptide() {
// Deliberately empty default constructor
}
public SignalPeptide(Organism organism, CvTerm cvTerm, String uniqueName) {
super(organism, cvTerm, uniqueName, true /*analysis*/, false /*obsolete*/);
}
/**
* Get the probability of this cleavage site, as predicted by some
* algorithm such as DGPI.
*
* @return a string containing the probability of this cleavage site,
* or null if there is none.
*/
@Transient
public String getProbability() {
String cleavageSiteProbability = this.getProperty("genedb_misc", "cleavage_site_probability");
if (cleavageSiteProbability == null) {
logger.error(String.format("Signal peptide '%s' has no cleavage_site_probability",
this.getUniqueName()));
}
return cleavageSiteProbability;
}
}