001package org.biopax.paxtools.model.level3;
002
003
004/**
005 * <b>Definition</b>: A continuant that encodes information that can be inherited through replication.
006 *
007 * <b>Rationale</b>: Gene is an abstract continuant that can be best described as a "schema", a common conception commonly used by biologists to demark a component within genome. In BioPAX, Gene is considered a generalization over eukaryotic and prokaryotic genes and is used only in genetic interactions.  Gene is often confused with DNA and RNA fragments, however, these are considered the physical encoding of a gene.  N.B. Gene expression regulation makes use of DNA and RNA physical entities and not this class.
008 *
009 * <b>Usage</b>: Gene should only be used for describing GeneticInteractions.
010 */
011public interface Gene extends Entity {
012
013    /**
014     * An organism, e.g. 'Homo sapiens'. This is the organism that the entity is found in. Pathways may
015     * not have an organism associated with them, for instance, reference pathways from KEGG.
016     * Sequence-based entities (DNA, protein, RNA) may contain an xref to a sequence database that
017     * contains organism information, in which case the information should be consistent with the value
018     * for ORGANISM.
019     *
020     * @return the organism for this gene.
021     */
022    BioSource getOrganism();
023
024    /**
025     * An organism, e.g. 'Homo sapiens'. This is the organism that the entity is found in. Pathways may
026     * not have an organism associated with them, for instance, reference pathways from KEGG.
027     * Sequence-based entities (DNA, protein, RNA) may contain an xref to a sequence database that
028     * contains organism information, in which case the information should be consistent with the value
029     * for ORGANISM.
030     *
031     * @param source new organism for this gene
032     */
033    void setOrganism(BioSource source);
034}