001package org.biopax.paxtools.model.level3;
002
003/**
004 * Definition: A covalently modified feature on a sequence, relevant to an interaction,
005 * such as a post-translational modification. The difference between this class and BindingFeature is that this is
006 * covalent and BindingFeature is non-covalent.
007 *
008 * Rationale: In Biology, identity of DNA, RNA and Protein entities are defined around a wildtype sequence. Covalent
009 * modifications to this basal sequence are represented using modificaton features. Since small molecules are
010 * identified based on their chemical structure, not sequence, a covalent modification to a small molecule would
011 * result in a different molecule.
012 *
013 * Examples: A phosphorylation feature on a protein that enables the binding of an SH2 domain.
014 *
015 * Usagee: The added groups should be simple and stateless, such as phosphate or methyl groups and are captured
016 * by the modificationType controlled vocabulary. In other cases, such as covalently linked proteins,
017 * use CovalentBindingFeature instead. SmallMolecules can only have covalentBindingFeatures.
018 */
019public interface ModificationFeature extends EntityFeature
020{
021        /**
022         * @return Description and classification of the feature.
023         */
024        SequenceModificationVocabulary getModificationType();
025
026        /**
027         * @param featureType Description and classification of the feature.
028         */
029        void setModificationType(SequenceModificationVocabulary featureType);
030
031}
032