001package org.biopax.paxtools.pattern.miner;
002
003import org.biopax.paxtools.pattern.Pattern;
004import org.biopax.paxtools.pattern.PatternBox;
005import org.biopax.paxtools.pattern.util.Blacklist;
006
007import java.util.HashSet;
008import java.util.Set;
009
010/**
011 * Miner for the controls-state-change pattern.
012 * @author Ozgun Babur
013 */
014public class CSCOThroughBindingSmallMoleculeMiner extends ControlsStateChangeOfMiner
015{
016        /**
017         * Constructor that sets name and description.
018         */
019        public CSCOThroughBindingSmallMoleculeMiner()
020        {
021                super("-through-binding-small-mol", "The first protein produces a non-ubique small " +
022                        "molecule, and this small molecule controls state of the second protein.");
023        }
024
025        /**
026         * Constructs the pattern.
027         * @return pattern
028         */
029        @Override
030        public Pattern constructPattern()
031        {
032                return PatternBox.controlsStateChangeThroughBindingSmallMolecule(blacklist);
033        }
034
035        @Override
036        public String[] getMediatorLabels()
037        {
038                return new String[]{"upper Control", "upper Conversion", "Conversion", "SM"};
039        }
040
041        @Override
042        public String getSourceLabel()
043        {
044                return "upper controller ER";
045        }
046
047        @Override
048        public String getTargetLabel()
049        {
050                return "changed ER";
051        }
052
053        @Override
054        public String[] getSourcePELabels()
055        {
056                return new String[]{"upper controller simple PE", "upper controller PE"};
057        }
058
059        @Override
060        public String[] getTargetPELabels()
061        {
062                return new String[]{"input PE", "input simple PE", "output PE", "output simple PE"};
063        }
064}