/* * BioJava development code * * This code may be freely distributed and modified under the * terms of the GNU Lesser General Public Licence. This should * be distributed with the code. If you do not have a copy, * see: * * http://www.gnu.org/copyleft/lesser.html * * Copyright for this code is held jointly by the individual * authors. These should be listed in @author doc comments. * * For more information on the BioJava project and its aims, * or to join the biojava-l mailing list, visit the home page * at: * * http://www.biojava.org/ * */ package org.biojava.bio.seq.impl; import org.biojava.bio.molbio.RestrictionEnzyme; import org.biojava.bio.molbio.RestrictionSite; import org.biojava.bio.seq.FeatureHolder; import org.biojava.bio.seq.Sequence; /** * SimpleRestrictionSite represents the recognition site * of a restriction enzyme. * * @author Keith James * @since 1.3 */ public class SimpleRestrictionSite extends SimpleStrandedFeature implements RestrictionSite { private RestrictionEnzyme enzyme; private int position; /** * Creates a new SimpleRestrictionSite. * * @param sourceSeq a Sequence. * @param parent a FeatureHolder. * @param template a RestrictionSite.Template. */ public SimpleRestrictionSite(Sequence sourceSeq, FeatureHolder parent, RestrictionSite.Template template) { super(sourceSeq, parent, template); this.enzyme = template.enzyme; position = template.location.getMin() + template.enzyme.getDownstreamCut()[0]; } public int getPosition() { return position; } public RestrictionEnzyme getEnzyme() { return enzyme; } public String toString() { return super.toString() + " " + enzyme; } }