001package org.biopax.paxtools.pattern.miner;
002
003import org.biopax.paxtools.pattern.Pattern;
004import org.biopax.paxtools.pattern.PatternBox;
005
006/**
007 * Miner for the consumption-controlled-by pattern.
008 * @author Ozgun Babur
009 */
010public class ConsumptionControlledByMiner extends AbstractSIFMiner
011{
012        /**
013         * Constructor that sets name and description.
014         */
015        public ConsumptionControlledByMiner()
016        {
017                super(SIFEnum.CONSUMPTION_CONTROLLED_BY);
018        }
019
020        /**
021         * Constructor for extension purposes.
022         *
023         * @param type SIF type
024         */
025        protected ConsumptionControlledByMiner(SIFType type)
026        {
027                super(type);
028        }
029
030        /**
031         * Constructs the pattern.
032         * @return pattern
033         */
034        @Override
035        public Pattern constructPattern()
036        {
037                return PatternBox.controlsMetabolicCatalysis(blacklist, true);
038        }
039
040        @Override
041        public String getSourceLabel()
042        {
043                return "part SMR";
044        }
045
046        @Override
047        public String getTargetLabel()
048        {
049                return "controller ER";
050        }
051
052        @Override
053        public String[] getMediatorLabels()
054        {
055                return new String[]{"Control", "Conversion"};
056        }
057
058        @Override
059        public String[] getSourcePELabels()
060        {
061                return new String[]{"controller simple PE", "controller PE"};
062        }
063
064        @Override
065        public String[] getTargetPELabels()
066        {
067                return new String[]{"part PE", "part SM"};
068        }
069}