001package org.biopax.paxtools.io.sif; 002 003import org.biopax.paxtools.model.BioPAXElement; 004import org.biopax.paxtools.model.Model; 005 006import java.util.List; 007import java.util.Map; 008 009/** 010 * This interface defines a rule which can be run on BioPAX model to derive 011 * simple interactions. All new rules should implement this interface. 012 * User: demir Date: Dec 28, 2007 Time: 3:49:46 PM 013 */ 014public interface InteractionRule 015{ 016 /** 017 * This method populates the interactionSet with simple interactions that can 018 * be derived from the model based on this rule. 019 * @param set to be populated 020 * @param entity this must be a physicalEntity for L2, and PhysicalEntity for L3 021 * @param model BioPAX model 022 */ 023 public void inferInteractions( 024 InteractionSet set, 025 BioPAXElement entity, 026 Model model); 027 028 /** 029 * Gets a list of the rule types that this class implements. 030 * @return supported rules 031 */ 032 public List<BinaryInteractionType> getRuleTypes(); 033 034 /** 035 * Uses the parameter map as options for the rule. Each rule defines its possible keys for the 036 * options map. Values are always Boolean. 037 * @param options options map 038 */ 039 public void initOptions(Map options); 040}