001/*
002 *                    BioJava development code
003 *
004 * This code may be freely distributed and modified under the
005 * terms of the GNU Lesser General Public Licence.  This should
006 * be distributed with the code.  If you do not have a copy,
007 * see:
008 *
009 *      http://www.gnu.org/copyleft/lesser.html
010 *
011 * Copyright for this code is held jointly by the individual
012 * authors.  These should be listed in @author doc comments.
013 *
014 * For more information on the BioJava project and its aims,
015 * or to join the biojava-l mailing list, visit the home page
016 * at:
017 *
018 *      http://www.biojava.org/
019 *
020 * Created on May 27, 2010
021 * Author: Jianjiong Gao
022 *
023 */
024
025package org.biojava.nbio.protmod;
026
027import java.util.Set;
028
029/**
030 * This interface defines information about a specific protein
031 * modification.
032 *
033 * @author Jianjiong Gao
034 * @since 3.0
035 */
036public interface ProteinModification {
037
038        /**
039         *
040         * @return modification id.
041         */
042        public String getId();
043
044        /**
045         *
046         * @return Protein Data Bank Chemical Component ID.
047         */
048        public String getPdbccId();
049
050        /**
051         *
052         * @return Protein Data Bank Chemical Component name.
053         */
054        public String getPdbccName();
055
056        /**
057         *
058         * @return RESID ID.
059         */
060        public String getResidId();
061
062        /**
063         *
064         * @return RESID name.
065         */
066        public String getResidName();
067
068        /**
069         *
070         * @return PSI-MOD ID.
071         */
072        public String getPsimodId();
073
074        /**
075         *
076         * @return PSI-MOD name.
077         */
078        public String getPsimodName();
079
080        /**
081         *
082         * @return Systematic name.
083         */
084        public String getSystematicName();
085
086        /**
087         *
088         * @return Description.
089         */
090        public String getDescription();
091
092        /**
093         *
094         * @return a set of keywords.
095         */
096        public Set<String> getKeywords();
097
098        /**
099         *
100         * @return {@link ModificationCondition}
101         */
102        public ModificationCondition getCondition();
103
104        /**
105         *
106         * @return formula of the modified residue.
107         */
108        public String getFormula();
109
110        /**
111         *
112         * @return the modification category.
113         */
114        public ModificationCategory getCategory();
115
116        /**
117         *
118         * @return the modification occurrence type.
119         */
120        public ModificationOccurrenceType getOccurrenceType();
121
122}