001package org.biopax.paxtools.model.level3; 002 003import java.util.Set; 004 005 006/** 007 * Definition: The support for a particular assertion, such as the existence of an interaction or pathway. 008 * 009 * Usage: At least one of confidence, evidenceCode, or experimentalForm must be instantiated when creating an 010 * evidence instance. XREF may reference a publication describing the experimental evidence using a publicationXref 011 * or may store a description of the experiment in an experimental description database using a unificationXref (if 012 * the referenced experiment is the same) or relationshipXref (if it is not identical, 013 * but similar in some way e.g. similar in protocol). Evidence is meant to provide more information than just an xref 014 * to the source paper. 015 * 016 * Examples: A description of a molecular binding assay that was used to detect a protein-protein interaction. 017 */ 018public interface Evidence extends UtilityClass, XReferrable 019{ 020 021 022 /** 023 * Confidence in the containing instance. Usually a statistical measure. 024 * @return a set of scores representing confidence 025 */ 026 Set<Score> getConfidence(); 027 028 /** 029 * Confidence in the containing instance. Usually a statistical measure. 030 * @param confidence a new confidence measure to add 031 */ 032 void addConfidence(Score confidence); 033 034 /** 035 * Confidence in the containing instance. Usually a statistical measure. 036 * @param confidence a confidence measure to be removed. 037 */ 038 void removeConfidence(Score confidence); 039 040 041 /** 042 * A pointer to a term in an external controlled vocabulary, such as the GO, PSI-MI or BioCyc 043 * evidence codes, that describes the nature of the support, such as 'traceable author statement' 044 * or 'yeast two-hybrid'. 045 * Contents of this set should not be modified. Use add/remove methods instead. 046 * @return a set of evidence codes for this evidence type. 047 */ 048 Set<EvidenceCodeVocabulary> getEvidenceCode(); 049 050 /** 051 * A pointer to a term in an external controlled vocabulary, such as the GO, PSI-MI or BioCyc 052 * evidence codes, that describes the nature of the support, such as 'traceable author statement' 053 * or 'yeast two-hybrid'. 054 * @param evidenceCode a new evidence code for this evidence. 055 */ 056 void addEvidenceCode(EvidenceCodeVocabulary evidenceCode); 057 058 /** 059 * A pointer to a term in an external controlled vocabulary, such as the GO, PSI-MI or BioCyc 060 * evidence codes, that describes the nature of the support, such as 'traceable author statement' 061 * or 'yeast two-hybrid'. 062 * @param evidenceCode to be removed 063 */ 064 void removeEvidenceCode(EvidenceCodeVocabulary evidenceCode); 065 066 067 /** 068 * Contents of this set should not be modified. Use add/remove methods instead. 069 * @return The experimental forms associated with an evidence instance. 070 */ 071 Set<ExperimentalForm> getExperimentalForm(); 072 073 /** 074 * Adds an experimental form. 075 * @param experimentalForm associated with an evidence instance. 076 */ 077 void addExperimentalForm(ExperimentalForm experimentalForm); 078 079 /** 080 * Removes an experimental form. 081 * @param experimentalForm associated with an evidence instance. 082 */ 083 void removeExperimentalForm(ExperimentalForm experimentalForm); 084 085}