001package org.biopax.paxtools.model.level3;
002
003
004/**
005 * Definition: The biological source of an entity (e.g. protein, RNA or DNA). Some entities are
006 * considered source-neutral (e.g. small molecules), and the biological source of others can be
007 * deduced from their constituentss (e.g. complex, pathway). Examples: HeLa cells, human, and mouse
008 * liver tissue.
009 */
010public interface BioSource extends UtilityClass, Named
011{
012
013        /**
014         * A cell type, e.g. 'HeLa'. This should reference a term in a controlled vocabulary of cell types.
015         * Best practice is to refer to <a href="http://www.obofoundry.org/cgi-bin/detail.cgi?id=cell">OBOCell
016         * Ontology</a>.
017         * @return cell type if this biosource is a cell line or a specific tissue. Null otherwise.
018         */
019        CellVocabulary getCellType();
020
021        /**
022         * A cell type, e.g. 'HeLa'. This should reference a term in a controlled vocabulary of cell types.
023         * Best practice is to refer to <a href="http://www.obofoundry.org/cgi-bin/detail.cgi?id=cell">OBOCell
024         * Ontology</a>.
025         * @param cellType if this biosource is a cell line or a specific tissue. Null for n/a.
026         */
027        void setCellType(CellVocabulary cellType);
028
029
030        /**
031         * An external controlled vocabulary of tissue types. A reference to the  
032         * <a href="http://www.brenda-enzymes.info/">BRENDA</a>
033         * @return An external controlled vocabulary of tissue types.
034         */
035        TissueVocabulary getTissue();
036
037        /**
038         * An external controlled vocabulary of tissue types. A reference to the  
039         * <a href="http://www.brenda-enzymes.info/">BRENDA</a>
040         * @param tissue An external controlled vocabulary of tissue types.
041         */
042        void setTissue(TissueVocabulary tissue);
043}