This class describes sites of interest (such as binding sites, modification sites, cleavage sites) on a polypeptide. Instances of this class define a region of interest on a polypeptide, plus, optionally, one or more states associated with the region. Different subclasses are used to specify single amino acid sites, linear regions, and regions involving noncontiguous segments of an amino-acid chain. For example, an instance F of this class could define an amino acid residue that can be phosphorylated, plus the fact that this residue can take on two possible states: PHOSPHORYLATED and UNPHOSPHORYLATED. The feature instance itself does not describe the state of a particular protein. Instead, we would represent the phosphorylated and unphosphorylated forms of a protein by creating two instances of class Polypeptides. Both of those instances would link to the same feature F via the FEATURES slot. However, in the two proteins, F would be annotated differently to indicate the state of that feature. One protein would use an annotation label STATE with the value PHOSPHORYLATED to denote that the residue is phosphorylated, while the other would use the same annotation label STATE with the value UNPHOSPHORYLATED.