001package org.biopax.paxtools.model.level3; 002 003import org.biopax.paxtools.util.AutoComplete; 004 005public interface BindingFeature extends EntityFeature 006{ 007 008 /** 009 * A binding feature represents a "half" of the bond between two entities. This property points to 010 * another binding feature which represents the other half. The bond can be covalent or 011 * non-covalent. 012 * 013 * @return paired binding feature. 014 */ 015 @AutoComplete(forward = false) 016 BindingFeature getBindsTo(); 017 018 /** 019 * A binding feature represents a "half" of the bond between two entities. This property points to 020 * another binding feature which represents the other half. The bond can be covalent or 021 * non-covalent. 022 * 023 * @param bindsTo paired binding feature. 024 */ 025 void setBindsTo(BindingFeature bindsTo); 026 027 028 /** 029 * IntraMolecular flag is true iff this binding feature represents a bond within the same molecule, for example a 030 * disulfide bond within the same molecule. 031 * A true value true implies that this.isEntityFeatureOf() == this.getBindsTo.isEntityFeatureOf() although the 032 * inverse is not true e.g a chain of actin proteins. 033 * @return true iff this binding feature represents a bond within the same molecule. 034 */ 035 Boolean getIntraMolecular(); 036 037 /** 038 * IntraMolecular flag is true iff this binding feature represents a bond within the same molecule, for example a 039 * disulfide bond within the same molecule. 040 * A true value implies that this.isEntityFeatureOf() == this.getBindsTo.isEntityFeatureOf() although the 041 * inverse is not true e.g a chain of actin proteins. 042 * @param intramolecular whether if this binding feature represents a bond within the same molecule. 043 */ 044 void setIntraMolecular(Boolean intramolecular); 045 046}