001package org.biopax.paxtools.model.level2;
002
003import java.util.Set;
004
005/**
006 * A physical entity whose structure is comprised of other physical entities
007 * bound to each other non-covalently, at least one of which is a macromolecule
008 * (e.g. protein, DNA, or RNA). Complexes must be stable enough to function as
009 * a biological unit; in general, the temporary association of an enzyme with
010 * its substrate(s) should not be considered or represented as a complex. A
011 * complex is the physical product of an interaction (complexAssembly) and is
012 * not itself considered an interaction.
013 * <b>Comment:</b> In general, complexes should not be defined recursively so
014 * that smaller complexes exist within larger complexes, i.e. a complex should
015 * not be a COMPONENT of another complex (see comments on the COMPONENT
016 * property). The boundaries on the size of complexes described by this class
017 * are not defined here, although elements of the cell as large and dynamic as,
018 * e.g., a mitochondrion would typically not be described using this class
019 * (later versions of this ontology may include a cellularComponent class to
020 * represent these). The strength of binding and the topology of the components
021 * cannot be described currently, but may be included in future versions of the
022 * ontology, depending on community need.
023 *
024 * <b>Examples:</b> Ribosome, RNA polymerase II. Other examples of this class
025 * include complexes of multiple protein monomers and complexes of proteins and
026 *  small molecules.
027 */
028public interface complex extends physicalEntity
029{
030
031
032    Set<physicalEntityParticipant> getCOMPONENTS();
033
034    void setCOMPONENTS(Set<physicalEntityParticipant> COMPONENTS);
035
036    void addCOMPONENTS(physicalEntityParticipant COMPONENTS);
037
038    void removeCOMPONENTS(physicalEntityParticipant COMPONENTS);
039
040
041    bioSource getORGANISM();
042
043    void setORGANISM(bioSource ORGANISM);
044}