/* * 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.molbio; import org.biojava.bio.seq.StrandedFeature; /** * RestrictionSite represents the recognition site of a * restriction enzyme. * * @author Keith James * @since 1.3 */ public interface RestrictionSite extends StrandedFeature { /** * getPosition returns the common, forward strand cut * site. Note that some enzymes cut in more than one * position. Such supplementary sites may be calculated by * retrieving the RestrictionEnzyme instance and * using its methods to calculate the position. * * @return an int indicating the base immediately * before the cleavage site on the forward strand. */ public int getPosition(); /** * getEnzyme returns the enzyme which cuts at this * site. A sequence which is the target for several different * enzymes is expected to have a corresponding * RestrictionSite feature for each. * * @return a RestrictionEnzyme. */ public RestrictionEnzyme getEnzyme(); /** * Template for construction of * RestrictionSites. */ public static class Template extends StrandedFeature.Template { /** * enzyme RestrictionEnzyme field. */ public RestrictionEnzyme enzyme; } }