001package org.biopax.paxtools.pattern.miner;
002
003import org.biopax.paxtools.pattern.Match;
004import org.biopax.paxtools.pattern.util.Blacklist;
005
006import java.util.Set;
007
008/**
009 * This interface tells that the miner supports SIF output.
010 * @author Ozgun Babur
011 */
012public interface SIFMiner extends Miner
013{
014        /**
015         * Gets the label of the source node.
016         * @return source label
017         */
018        public String getSourceLabel();
019
020        /**
021         * Gets the label of the target node.
022         * @return target label
023         */
024        public String getTargetLabel();
025
026        /**
027         * Gets the type of the interaction.
028         * @return interaction type
029         */
030        public SIFType getSIFType();
031
032        /**
033         * Creates SIF interactions for the given match.
034         * @param m match to use for SIF creation
035         * @param fetcher ID generator from BioPAX object
036         * @return SIF interaction
037         */
038        public Set<SIFInteraction> createSIFInteraction(Match m, IDFetcher fetcher);
039
040        /**
041         * Sets the blacklist that can be used during the search.
042         * @param blacklist the blacklist
043         */
044        public void setBlacklist(Blacklist blacklist);
045
046        /**
047         * Sets the idFetcher that helps to fasten the search.
048         * @param idFetcher ID generator from BioPAX object
049         */
050        public void setIDFetcher(IDFetcher idFetcher);
051}