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 CSCOThroughControllingSmallMoleculeMiner extends ControlsStateChangeOfMiner 015{ 016 /** 017 * Constructor that sets name and description. 018 */ 019 public CSCOThroughControllingSmallMoleculeMiner() 020 { 021 super("-through-controlling-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.controlsStateChangeThroughControllerSmallMolecule(blacklist); 033 } 034 035 @Override 036 public String[] getMediatorLabels() 037 { 038 return new String[]{"upper Control", "upper Conversion", "Control", "Conversion", 039 "controller PE"}; 040 } 041 042 @Override 043 public String getSourceLabel() 044 { 045 return "upper controller ER"; 046 } 047 048 @Override 049 public String getTargetLabel() 050 { 051 return "changed ER"; 052 } 053 054 @Override 055 public String[] getSourcePELabels() 056 { 057 return new String[]{"upper controller simple PE", "upper controller PE"}; 058 } 059 060 @Override 061 public String[] getTargetPELabels() 062 { 063 return new String[]{"input PE", "input simple PE", "output PE", "output simple PE"}; 064 } 065}